首页 >工作总结 > 内容

关于计网的一点复习资料

2023年9月22日 00:21

本科在读,刚考完计网,自己整理了点东西,可读性不高,看个热闹吧,然后被爆杀真的很无语,每天都有想不到的被爆杀环节,毁灭吧累了。然后没写什么题(因为都写在纸上了),大部分都是概念性的东西,能拿来背一下罢了。

正文直接贴过来了

一.各种协议:
1.应用层:FTP,SMTP,POP3,HTTP,DNS
2.传输层:TCP,UDP,ARQ
3.网络层:ICMP,ARP,RARP,IP,IGMP
4.数据链路层:PPP,HDLC
5.物理层:Rj45,802.3

二.计算机网络体系结构
1.各种定义与概念:
·世界上第一个计算机网络:ARPANet,美国军方研发。
·通信子网包括物理、链路、网络,资源子网包括应用、表示、会话,子网接口是传输层。
·计算机网络定义:互联的、自治的计算机系统的集合,广义上指能实现远程信息处理的or能进一步达到资源共享的系统,
·用户透明性定义:计算机网络是一个能为用户自动管理资源的网络操作系统,能够调用用户需要的资源,整个网络像一个大的计算机系统一样对用户透明。
·自治计算机:能进行自我管理、控制、维护的计算机,终端不算自治计算机。
·功能:数据通信(最基本,包括连接、传输、差错、流量控制,路由选择,多路复用等功能),资源共享(数据、软硬件资源),分布式处理(多台计算机各自承担同一工作的不同部分,比如Hadoop平台),信息综合处理,负载均衡,提高可靠性(替代机)。
·分布式计算机系统:各台计算机对用户均透明,用户输入命令可以运行程序,但不知道哪个计算机在运行。
·计算机网络标准化:互联网草案->建立RFC文档标准->通过草案标准->成为互联网标准。第三个标准其实已经取消。
·为何分层:问题大且问题复杂,网络结构大时必须分层,但分层太多资源又会浪费。
·实体:任何可以发送or接收信息的软硬件进程,通常是一个特定的软件模块,相当于活动对象。对等层:不同机器上的同一层。对等实体:同一层上的实体。
·协议是水平的,服务是垂直单向的。协议由语义(构成协议元素的解释)语法(数据与控制信息的结构或格式)同步(时间执行顺序)组成。服务是下层为相邻上层提供的功能调用,分为面向连接(事先建立连接)的服务和面向无连接(事先不建立连接,把每个带有目的地址的包传送到线路上)的服务,有应答服务(接收方收到数据后返回应答)和无应答服务,可靠(网络可以检错纠错应答,保证数据正确到达目的地)服务和不可靠服务。注意,只有能被高一级实体看见的才叫做服务,所以并不是同一级的都叫服务。而且,每一层提供的服务都是下面服务的总和,最高层向用户提供服务。上一层只能通过相邻层的接口使用下一层的服务,不能调用其他层的服务,即下一层提供服务的实现细节对上一层透明。
·透明:只知道什么功能,怎么调用,不知道内部怎么实现。
·第一个分层模型:IBM的SNA。
·会话层:在两个节点之间建立、维护、释放面向用户的连接(ADSP,ASP协议),指使传输层干活,校验数据同步。对会话进行控制与管理。
·表示层:数据格式转换、数据加解密、数据加解压。处理两个内部数据表示结构不同的通信系统之间交换信息的表示格式。
·计算机网络物理组成:硬件分为主机、通信处理机(前端处理器)、通信线路、交换设备;软件分为实现资源共享的软件和方便用户使用的各种工具软件;协议即规则。工作方式组成:边缘部分与核心部分,边缘部分由所有连接在互联网上,供用户直接使用的主机组成,用来进行通信和资源共享;核心部分由网络和连接这些网络的路由器组成,边缘部分提供连通性和交换服务。功能组成分为通信子网和资源子网,通信子网由各种传输介质、通信设备和相应的网络协议组成,实现联网计算机之间的数据通信;资源子网由主机、终端、各种软件资源、信息资源组成,负责全网的数据处理服务,向网络用户提供各种网络资源与服务,实现资源共享和数据处理。
·OSI传输、网络、链路层都有差错控制,重复了,不好用。
·应用层提供系统与用户的接口,传输层负责进程间通信,网络层封装成分组并交付,链路层封装成帧,物理层透明传输比特流。

2.接口:服务数据单元SDU,协议控制信息PCI,接口控制信息ICI,协议数据单元PDU,接口数据单元IDU。n-SDU + n-PCI = n-PDU,n-PDU = (n-1)-SDU,n-SDU + n-ICI = n-IDU

3.分类方法:基本分法是按照分布范围和传输技术
·按分布范围:广域网WAN,城域网MAN,局域网LAN,个人区域网PAN,接入网AN
·按拓扑结构:星型,总线型,环型,网状型
·按传输技术:广播式网络,点对点网络
·按使用者:公用网,专用网
·按数据交换技术:电路,报文,分组
·按是否支持共享:可共享,不共享

4.参考模型:(第层:传输设备)
·OSI模型:物联网淑慧使用,TCP/IP共四层,看做五层。OSI是法定的支持异构网络系统,有服务、接口、协议的概念,产生在协议发明之前,不偏向特定协议,传输层仅面向连接,协议有很好的隐藏性。
·TCP/IP模型:没明确区分服务、接口、协议的概念,产生在协议发明之后,网络层仅面向无连接。

5.性能指标:
·时延:分为发送时延(传输时延),主机or路由器发送数据帧需要的时间,从发送数据帧第一位到结束最后一位,等于数据帧长度/发送速率;传播时延,信道长度/电磁波在信道上的传播速度;处理时延,主机or路由器接受分组时处理所需时间;排队时延,输入输出队列中等待的时间。总时延四个求和即可。接收时延也有,但实际上包含在发送、接收时延当中。一般排队、处理时延可忽略,高速网络链路提高的是数据发送速率而不是比特在链路上的传播速度,提高发送速率只减小发送时延。
·时延带宽积:传播时延*带宽,某链路中最多传多少bit,相当于容量,又叫做以比特为单位的链路长度。
·往返时间:RTT大,收到确认前发的越多。等于2*传播时延+处理时延(可忽略)。
·利用率:分为信道利用率和网络利用率,信道利用率指信道百分之几的时间是被利用的(有数据通过),网络利用率是全网络信道利用率的加权平均值。信道利用率不是越大越好,利用率越高,转发时延会越长。利用率U=1-D0/D,D0为闲时时延,D为当前时延。就是容易堵车。

三.物理层:(定义标准,确定与传输媒体接口有关的特性)
1.各种定义与概念:

·信号:数据的电气或电磁形式的表现,其实还是数据,变了变样子而已,数据是运送信息的实体。
·规程就是物理层协议。
·信号的模拟与数字形式:模拟信号连续变化,数字信号只能是有限的离散值。
·基带信号与宽带信号:基带信号其实就是01电压表示数字信号,宽带信号就是调制基带信号成为模拟信号;基带传输是指在数字信道传输,宽带传输是指在模拟信道传输。
·串行传输与并行传输:一个一个比特传输(按序、远距离传输)、多比特多信道同时传输(近距离传输,未必按序)。
·同步通信与异步通信:接收端与发送方时钟频率相等、按字节为单位增加首尾比特,10bit一组进行传输。前者贵但效率高,后者便宜开销大,用一般精度时钟即可。
·单工、半双工、全双工:类比电视、对讲机、电话。但是要注意,半双工和全双工都需要两条信道,只不过半双工是回合制对话。
·波特率与比特率:都用来描述速率,波特率是码元传输速率,单位时间内传输的码元个数(或者说是脉冲个数or信号变化次数,与进制无关),单位波特(Baud)。比特率是每秒传输的比特数。(前提:有噪声)
·码元:在使用时间域(或简称为时域)的波形表示数字信号时,代表不同离散数值的基本波形。粗浅的说,其实就是几进制表示。1码元带n比特信息时,比特率=n*波特率。(前提:有噪声)
·基带信号(即基本频带信号):来自信源的信号。像计算机输出的代表各种文字或图像文件的数据信号都属于基带信号。
·带通信号:把基带信号经过载波调制后,把信号的频率范围搬移到较高的频段以便在信道中传输(即仅在一段频率范围内能够通过信道)。
·带宽:有两种,别搞混了,一种是频率极差,一种是单位时间从网络中某一点到另一点能通过的最高数据率(bit/s)
·导向性传输介质 & 非导向性传输介质:导向性的就是双绞线、同轴电缆、光纤,第一个又分无屏蔽和屏蔽双绞线(就是普通双绞线+金属丝屏蔽层,抗电磁干扰)
·物理层接口特性:机械特性:接口形状尺寸、引脚数目和排列、固定和锁定装置;电气特性:接口电缆的各条线的电压范围;功能特性:某条线上出现某一电平的电压的意义;过程特性:对于不同功能的各种事件出现的可能的顺序。


2.奈奎斯特定理 & 香农定理:
·采样定理:首先是采样定理,采样的意思就是把连续的信号截成离散的,还得保证截下来的信息是完整的。这个采样频率是2f,f是原始信号的最大频率。比如音乐采样一般是大于等于4wHz
·奈奎斯特定理:其实也是采样定理,因为带宽有限,所以高频分量不能通过(振动太快,分不清了),信号会衰减,会发生码间串扰。在无噪声情况下,能不码间串扰的最大数据传输速率是2f*log2N,2f是码元最高传输速率,后面的是码元对应几个比特,f:理想(无噪声)低通(低频不失真)信道的带宽。这里就出现了问题,虽然码元最大传输速率是2f,但是如果一个码元编码得足够好,可以传输无数个比特,所以比特传输率实际上是无限。
·香农定理:首先是信噪比,信噪比(dB)=10log10(S/N)(dB),注意,如果给了信噪比,dB为单位,那就是左边,S/N的话就是右边,表示的是信号平均功率与噪声平均功率之比。之后是香农公式C=W*log2(1+S/N),其中W是信道带宽,所以有噪声时提高信噪比或带宽。
·奈奎斯特定理实际上说明波特率受限,香农公式实际上说明比特率受限。当然,真正计算的时候,需要两个公式取最小值。并且,由香农公式可知,只要信息的传输速率低于信道的极限传输速率,就一定可以找到某方法实现无差错传输。另外注意,这里的都是极限传输速率,提高编码也能加快有噪声情况下的比特率,但影响不到极限值而已。

3.数据传输方式:
·电路交换:比特流直达终点,预先建立线路,通信时延小,实时性强,有序传输,模拟数字通吃,操作简单,有专用性不怕撞。但是建立连接时间长,信道利用率低,没统一标准(不同终端难以通信,也难以差错控制),灵活性差(一个节点bug就全完了),呼叫时可能会拥塞。
·报文交换:按报文传输数据,报文带有目的地址和源地址等信息,节点存储转发。无需建立连接,动态分配线路(怎么走自己选),故障处理可靠,利用率高(不固定占用),多目标服务(一次发给多个)。但是存储转发存在转发时延,且它对报文大小没有限制,因此需要较大的存储缓存空间。这种方式常用于早起电报通信网,现被取代。
·分组交换:将长报文分隔为若干较短的分组,然后逐个发送,有分组检查,因此不透明。流水线并行,所需缓冲区小且大小固定,加速了传输速度,且由于分组短,出错的概率会减少,重发量也会减少。但是它还是有传输时延,数据报服务时可能失序、丢失、重复,虚电路还要建立释放电路,中间可能会撞。
·如果传输数据量很大,传送时间远大于呼叫时间,用电路交换。通路由许多链路组成,用分组。要是数据很短,转发路径又少,用报文。分组也适合突发式通信,后两者信道利用率高。

4.数据报 & 虚电路(网络层提供服务):
·数据报:首先源主机逐个转发分组到交换机,交换机将分组缓存,查找转发表,找一个可行的进行转发,直到所有分组到达目的主机。这个可以同时发,提高吞吐量,不撞就行。特点:不需要建立连接,不可靠;吞吐量大,可同时;可更新转发表,故障适应强;不独占链路,资源利用率高。
·虚电路:建立虚连接,数据传输,释放虚连接(用户请求,网络释放)。特点:有路径,减少找路时间;按序到达;坏一个节点就全坏;分组首部无目的地址,而是虚电路标识符。

5.中继器 & 集线器:
·中继器再生数字信号,放大器再生模拟信号,都是起放大信号的作用。中继器两端连的必须是相同的网段,不能是子网,两端的媒体可以不同,协议必须相同。为什么会有中继器?双绞线传输信号时,功率衰减可能会导致失真。
·集线器就是多端口中继器,那也是相同的网段,是同一个局域网(各工作站之间还是CSMA/CD协议),不隔离冲突域。星型拓扑结构,收到信息广播给其他端口,匹配目的端口。这就有问题了,万一一块发送,网络就堵了,所以实际上这种情况一旦发生,效率就很低。比如本来带宽是n,m台主机同时工作,粗略地说每个主机的带宽就是n/m。
·冲突域:一个网络中两个主机通信可能会发生冲突。

四.数据链路层:()
重点:流量控制、可靠传输、CSMA/CD,争用期与截断二进制算法,网桥概念与原理,差错控制,CRC,海明码,MAC帧格式。
1.各种定义与概念:
·功能:链路管理,帧同步,差错控制,透明传输。
·帧定界:
·一般来说,传输中产生的差错由噪声引起,分为全局的信道固有噪声,可以提高信噪比(比如改进传感器,信噪比高,则信息平均功率大,噪声平均功率小,失真小,到达接收端01不会因为不明显而译码错误,误码率低),占次要地位;还有部分的外界冲击噪声,可以提高编码能力,占主要地位。
·局域网LAN(以太网就是一种局域网,总线结构,计算机共享总线,广播发送,CSMA/CD技术,无连接,无确认,不可靠,让TCP确保差错纠正):较小范围内的互联网络,为一个单位所拥有,范围和站点数量有限,有更高的数据率,更低的时延和更小的误码率。具有广播功能(广域网就不行),便于扩展演变,可靠可用,各站之间平等而非主从。主要技术要素包括网络拓扑结构(星型、环形、总线型、树形),传输介质(双绞线、铜缆、光纤),介质控制访问方法(最重要,控制局域网的技术特性,CSMA/CD、令牌总线、令牌环,令牌环作用于环形网络,前两种总线型网络)。
·数据链路层不重传,但为什么以太网有重传机制:重传的是还没发出去就看见错了的,或者知道碰撞了,就重传,因为越高层重传越慢。
·传输介质:粗缆(10Base5),细缆(10Base2),双绞线(10Base-T),光纤(10Base-F),10的意思是数据传输速率10Mbit/s,Base表示基带信号,曼彻斯特编码,5 or 2表示每段电缆最长500/200(185)m,T表示双绞线,F表示光纤。
·100Mbit/s为高速以太网,比如100Base-T(星型拓扑,全双工,不使用CSMA/CD,不过半双工还需要使用CSMA/CD协议,最短帧长不变,帧间时间间隔变为0.96ms,一个网段中最大电缆长度减小为100m),1Gbit/s为吉比特以太网(千兆以太网,CSMA/CD与全双工半双工同上,采用载波延伸,最短帧长仍为64B,但争用期变为512B,浪费资源?分组突发),10Gbit/s为10吉比特以太网,只使用光纤,只全双工。
·无线局域网:物理层三种实现方法:跳频扩频FHSS,直接序列扩频DSS,红外线IR。MAC层在物理层之上,包括两个子层,分布协调功能子层和点协调功能子层。由于CSMA/CD冲突检测开销大,所以一般还是CSMA/CA,还加了确认机制。
·令牌环网工作原理:网络空闲时,令牌循环传递;到了要发送数据的节点就修改标志位(忙/闲),附加自己需要传输的数据,令牌变为数据帧,被发出去;环路传递,一边存数据,一边对比地址取数据;转到源地址处检查一下是否有误,有的话重发,没有就回收;传完后重新产生一个令牌,传递给下一个节点,交出发送数据帧的权限。
·广域网:覆盖范围很广的长距离网络(一般跨区域,点对点,局域网广播,涉及网络层),由节点交换机(完成分组转发功能)和连接这些交换机的链路组成,一般不叫互联网广域网。广域网强调资源共享,局域网强调数据传输,一般协议用在网络层,路由表构造转发表,分组根据转发表转发。局域网交换机变广域网,他俩路由器变因特网。
·PPP帧:不可靠传输,包括三部分(一个将IP数据报封装到串行链路的办法,一个链路控制协议LCP,一个网络控制协议NCP,前者建立维护释放连接,后者配置释放网络层协议)。帧格式为7EFF03+2B协议号(0021为IP数据报,C021为PPP链路控制数据,8021为网络控制数据),不超过1500B的数据(点对点,不需要CSMA/CD),和2B的FCS,7E结尾。连续两个帧只需要一个7E,因为都连着。PPP面向字节,填充异步字节,同步0比特,字节时,7E变7D5E,7D变7D5D,0x20以下(0xt)的变7D(t+20)。
·HDLC:可靠传输,面向比特,适用于链路的非平衡配置(一个主站控制链路的工作)和平衡配置(链路两端的两个站都是复合站,每个站平等的发起数据传输,不需要得到对方站的允许)。帧格式包括8bit的标志字段,8bit的地址字段(全1广播,全0无效;平衡确认站地址,非平衡次站地址),8bit的控制字段,有信息帧I传输数据信息or捎带技术进行确认应答,监督帧S流量控制差错控制、确认、请求重发、请求暂停,无编号帧U链路建立拆除等(无间隙)。
·网桥:局域网扩展(局域网互联,物理层用的中继器和集线器不能提高吞吐量,不能连接不同以太网技术的局域网,还扩大了冲突域,数据链路层用网桥,有过滤帧的功能)。网桥从一个端口收到帧后,暂存到缓存,如果不在同一网段,无差错的话就查转发表发出去,同一网段就不会发到另一个网段。优点:过滤通信量,扩大物理范围,可靠,互联不同物理层、MAC子层,不同速率的以太网。缺点:存储转发有时延,MAC子层无流量控制,不同MAC子层的网段拼起来时延大,有时候会传播过多广播信息导致广播风暴。
·网桥分为透明网桥(即插即用,不用人工配置转发表,选择的不是最佳路由,会自学习,没有地址就广播+更新<源地址,接口,时间>,有就转发。记录时间是防止拓扑变化,站点更改适配器导致地址改变,同时也能保证在转发表中只保留最新状态的网络拓扑信息。网络中转圈?使用生成树解决,无环)和源选径网桥(选择最佳路由,路由选择由发送数据帧的源站负责,网桥只负责接收转发帧,预发送一个发送帧,沿着可能的路由传输并记录,返回源站后找一个最好的路由,这么干也可以确定网络可以通过的帧的最大长度。跳数少?时间短?)。
·交换机最大的优点:每个端口节点占用的带宽不会因为端口节点增加而减少,总带宽甚至会变大。两种交换方式:直通式只检查目的地址,随收随发;存储转发式收到后先存在高速缓存中,检查无误后找转发表转发出去。此外,无碎片转发是交换机得到前64B后就转发,小于64B的不转发,检查前64B。工作原理:类似网桥,检测源and目的MAC地址,与内部的动态查找表比较,转发。
·交换机、网桥、路由器隔离冲突域,路由器隔离广播域。交换机就是个多端口网桥,全双工模式,每一对通信都无冲突,因为全双工,所以如果n个端口一起通信,带宽直接*2n,半双工*n,不说的话一般是半双工;网桥俩端口,一般连网段,最多允许俩计算机同时通信,存储转发;交换机有好几个端口,能直接连主机 or hub,多对计算机同时通信,存储 or 直通转发,还能硬件加速。一个网段是一个冲突域,一个局域网是一个广播域。
·虚拟局域网:解决交换机互联时无法限制广播的问题,将一个大广播域分为几个小广播域。(得益于交换机的升级)
·现在一般用星型拓扑,无源的总线型以太网容易出故障。早期以太网因为可靠的星型拓扑很贵,人们认为无源的总线结构更可靠。
·传统以太网为DIX Ethernet V2标准局域网,还有一个是IEEE 802.3标准。

2.四种组帧方法:字符计数法(加上自己几个字节),字节填充的首尾界符法(加一个ESC转义,普通不转义的传输文本文件没啥问题,发送方填充,接收方截断),比特填充的首尾标志法(零比特填充法,每五个1加一个0,首尾六个1连着),物理编码违例法(比如曼彻斯特编码中间不跳变)。注意,使用首尾界符法时,并不是所有的帧都需要开始和结束定界符,MAC帧因为帧和帧之间有空隙,所以以太网实际上不需要帧结束符。PPP帧用来帧定界的字段是0x7E,ESC的ASCII码是0x1B,用于普通帧的透明传输。

3.差错控制:(位错01变,帧错的话老三样)
·奇偶校验码分为奇校验和偶校验,添加一位校验码后1的个数是奇数/偶数。分为水平、垂直、水平垂直奇偶检验。50%纠错率。
·循环冗余码:先加0,然后二进制除法即可。有r检测位的多项式可以检测小于等于r位的突发错误。长度达于r+1逃脱的概率是1/2r。循环冗余码只能做到无差错接收,不是可靠传输,也能做到纠错,但是一般不提。
·纠错编码有海明码:具有一位纠错能力,先确定数据位位数k,再确定校验码位数r,在确定校验码位置,确定数据位位置,求校验位的值。这里求位数用公式2r>=k+r+1,k为数据位位数,r为校验位位数。
·注意,有个公式L-1=D+C,D是检错位数,C是纠错位数,要D>=C,L是海明距,海明距反应两个码字不一样的程度,两字节对齐后有几位不相同。

4.流量控制:(本应该是传输层的功能)
·两种方式:停止等待(收到ACK后发送下一帧)和滑动窗口(发送窗口收到ACK则窗口前移,接受窗口收到数据就前移,发不了了就强行关闭网络层,收不了了就丢弃,接收和发送窗口大小相互独立,收一个前移一个)流量控制。
·两类差错:位错(CRC),帧错。可靠传输(发什么就收到什么,确认帧(没有数据部分的控制帧,因为全双工通信,有时捎带在一个回复帧里,称为捎带确认)+超时重传(设置超时计时器,没收到确认帧就重传,原因有传输过程丢失or接收方发现错误丢弃)(使用这俩机制叫做自动请求重发ARQ策略))和无差错接收不同。使用确认和超时重传比较简单,但是信道利用率低,L/C/T,L为长度,T为发送时延,C为传输速度。数据帧和确认帧必须编号,发的时候必须留副本。
·滑动窗口机制:停止等待其实就是最原始的滑动窗口机制,收发均为1。接收窗口为1时,一定可以按顺序接收(后退N帧,就一个帧序号,接收到才会前移)。选择重传都要大于1。
·累计确认:每接收到K个帧返回一个ACK,对于超时的需要单独发送ACK。
·停止等待协议:出的差错有两种,一种是数据帧损坏或丢失,可以使用计时器,无ACK到了时间就重发;另一种是确认帧损坏或丢失,这会导致发送方不断发送,可以头部加个编号,接收方根据编号确定收不收(确认帧没有序号一样工作,因为现在链路层比较稳定,传输时间稳定在一个范围,一般有序号)。
·后退N帧协议:一个重要问题,发送窗口尺寸大于1小于2的n次方(若为2的n次方,一次性发完后一次性接收,但ACK全丢,收到个0,不知道是新0还是旧0),n为帧编号的比特数。某个帧出错时,接收方丢弃这个帧和后续帧,浪费也不小。
·选择重传协议:若有一帧出错,则其后续帧先存到缓冲区,要求发送方重发错误帧,收到重传帧后,一起发给主机,避免传输以前本来已经正确到达的帧,提高了信道利用率,但增加了缓冲空间。选择重传的最大发送窗口是2的n-1次方,如果大了,若全发来,结果ACK全丢,再发个0,不知道是哪个了。通常发送窗口大小等于接收窗口大小
·发送缓存与接收缓存:按序到达且没有交付给主机的存在接收缓存,

5.介质访问控制:分为信道划分访问控制(静态)、随机访问介质控制、轮询访问介质控制。
·为什么复用信道:为了通过共享信道、最大限度提高信道利用率。
·多路复用:在一条介质上同时携带多个传输信号。
·频分复用:分成不同频率的信道,每个子信道分配的带宽可以不同,一般还要设置保护信道防止信道之间干扰。时分复用:分同步(固定的时间传输)和异步(不固定的时间传输,又叫统计时分复用,动态时间分配)。波分复用:光的频分复用,用分波器等物理设备。码分复用:又叫码分多址,共享信道频率和时间,用码片表示,任意不同码片的内积为0(正交),自身内积为1,自身*取反为-1,内积乘起来然后除以个数即可。代价高,小局域网不适用。码分多址CDMA用在物理层,不存在对数据帧确认。
·因为CDMA使用的码片正交,所以同时使用同样的频带通信不会造成干扰,有很强的抗干扰能力,类似于白噪声,不容易被发现,缺点是太占带宽。
·随机接入:所有用户都根据自己的意愿随机发送信息,容易产生冲突,导致所有的都发送失败,因此引入CSMA/CD。受控接入:得到某权限才能发数据,包括ALOHA、CSMA、CSMA/CD、CSMA/CA协议,都是通过争用才能获取信道使用权的争用型协议。
·ALOHA:不监听信道,想发就发,一段时间没回复就重发,信道利用率不高,因此引入时分ALOHA,划分间隔相同的时间,到了时间才发。CSMA:每次都载波侦听技术看看是否空闲,分1-坚持CSMA(空闲就发,不空闲继续监听),p-坚持CSMA(以p的概率发送数据,1-p延迟一段时间再监听),非坚持CSMA(空闲就发,不空闲延迟一段随机时间再监听),一个不好的地方是,就算撞了,CSMA也要发完,总线的利用率会降低。
·CSMA/CD协议(适用于有线网络):带冲突检测的载波侦听多路访问协议,他对CSMA的改进是在发的时候也监听信道,如果发现撞了(发送时收到了数据),就推迟一会再发(截断二进制退避算法),发一串阻塞信号,用以通知总线上的其他站点别发了。先听后发,边听边发,冲突停发,随机重发。争用期:端到端的往返时间2t,重传时间为r*2t,r属于{0,2i-1},i到10就不加了,到16就不发了,以太网规定争用期为51.2μs(实际上单程时延比一般小,加了点别的),争用期可以发64B,如果前64B不冲突,后面也不冲突。网络速率提高时,减小争用期和帧间间隔即可,还是64B。非受限协议:不用停下来等确认帧,一直发送,故忽略传播时延。
·CSMA/CA协议(适用于无线网络):在CSMA上增加了冲突避免功能,会受到确认,有确认就说明没冲突。
·轮询:用在负载重的网络,实际上是星型的,逻辑上是环形的,无碰撞,通过监控站(令牌,一个特殊格式的帧,只有一个)轮询后决定是否占信道。问题:令牌开销,等待延迟,单点故障。

6.以太网MAC帧:无连接不可靠,局域网中每台计算机都有一个唯一的MAC地址,48bit,前24bit厂商代码,后24bit厂商自行分配的网卡序列号。由于总线广播,网卡每收到一个都要看看是不是给自己的,不是就丢掉。
·组成部分:8B前导码(物理层),用于发送端和接收端时钟同步,分为7B的前同步码和1B的帧开始定界符;6B目的MAC地址(可使用广播/组播地址);6B源MAC地址;2B类型(表示交给哪个协议实体处理);4B校验码(不校验前导码);数据部分,46-1500B,CSMA/CD限制一帧至少64B,有18B的首部尾部,还差46B,最大的1500是规定。设置最小帧长区分因为噪声和碰撞而终止的短帧,设置最大帧长防止一个帧独占链路,其他都要等着。

五.网络层:(把分组从源端传送到目的端,为分组交换网上的不同主机提供通信服务,传输单位为数据报)
1.基本概念:
·IP:异构网络互连,好像一个网络,但看不到异构细节,比如超时控制,路由选择协议等。
·网络层以上的设备是网关,网络层是路由器。路由器连的才叫互联网,中继器网桥只叫扩大网络。
·路由器功能:路由选择、分组转发。
·尽最大努力交付:大概率<按时,不失序,不重复,不丢失>,除非路由器检验出首部检验和有错误;或者网络通信量太大,缓存满了。
·SND:一种动态弹性的网络体系结构,高带宽。网络可编程,控制平面和数据平面分离,逻辑上集中管理。体系结构包括SDN网络应用,北向接口,SDN控制器。南向接口,SDN数据平面。
·IP组播:D类地址,应用于UDP,因为要一发多,组播地址标识一组主机,由于不像广播那样发好多份,而是复制,所以要资源消耗要少,可以运行组播协议的路由器叫组播路由器,只能作为目的地址,如果ping组播,永远无响应,并不是所有D类都是组播地址。组播有两种,一种是本局域网上硬件组播,一种是因特网范围内组播。组播地址to MAC地址:先化为二进制,再把左数第九位取0,后23位取16进制,前面加上01-00-5E。注意,一般不会出现撞了的情况(28位to 23位),因为一个是太多了,一个是虽然可以接收,但上层可以做出判断,丢弃不属于自己的数据报。
·移动IP:互联网接入点可能会变化,这要求移动节点需要一种标识唯一标志自己,也需要这种标识不会被用来路由。使用转交地址,让移动节点以固定的网络IP地址,实现跨越不同网段的漫游功能,且基于网络IP的网络权限在漫游过程中不发生任何改变。实现移动IP需要具有永久IP地址的移动节点、本地代理(一个端口与移动节点本地链路相连的路由器,根据移动用户的转交地址,利用隧道技术转交数据报)、外地代理(移动节点漫游链路上的路由器,通知本地用户代理自己的路由地址,是移动节点漫游链路的默认路由器)。实现它需要代理搜索技术(确定自己是否在漫游)、申请转交地址(从外部代理获取临时地址)、登录(认证登录,建立隧道)、隧道(本地代理与外部代理之间临时建立的的双向通道)。
·动态IP与移动IP的区别:前者表示可以DHCP获得一个动态IP地址,不需要用户自己配置,每次都不一样。
·移动IP通信过程:在本地网时按TCP/IP通信;移动IP为移动主机设置了一个主地址一个转交地址,本地网使用主地址,外网使用转交地址,回到本地网时使用主地址。转交地址是用户在外地网时向本地代理注册的当前的位置地址,可以是外部代理地址或者动态配置的一个地址,本地代理接收注册后构建一条通往转交地址的隧道,封装发送,终点处接触隧道封装。外网用户用外网路由器或者外代理发送IP数据报。
·路由器实际上是一种多端口输入多端口输出的专用计算机,任务是连接不同的网络转发分组,分为路由选择部分和分组转发部分,前者根据选择的路由选择协议构造维护路由表,核心部件是路由选择处理器;后者由输入端口、输出端口、交换结构组成,是路由器的关键部件,将分组从一个输入端口转移到合适的输出端口,有三种交换方法:存储器交换、总线交换、互联网网络交换。
·分组转发:路由器根据转发表将IP数据报从合适的端口转发出去。路由选择:按照分布式算法,根据从相邻路由器得到的网络拓扑结构,动态改变合适的路由。路由器由路由选择算法得出,转发表由路由表构造。
·路由转发工作流程: 路由器从下而上接收分组,进入网络层后,如果接收的分组是交换路由信息的RIP或者OSPF分组,则按照目的地址查转发表,根据结果通过交换结构发到合适的输出端口。查表时再来就要存在输入输出队列里,要是队列满了再来的分组就丢失了。

2.路由算法:分为静态路由算法(非自适应,手动配置)和动态路由算法(自适应,距离-向量路由算法RIP、链路状态路由算法OSPF)

3.IPv4:
·IPv4分组:20B的固定首部,共60B,后面是可选字段和填充。版本号4位,标志IPv4还是IPv6,通信双方版本必须一致;首部长度4位,首4,4*15正好;1B区分服务;2B总长度,包括首部和数据部分,基本长度是1B,能表示65535B,IP数据报最大长度1500B,再长就要切割了;2B标识,同一数据报的分片使用同一标识。3位标志,前两位MF和DF有意义,MF用来标记是不是最后一片,为了合并数据报,DF为1时表示不能分片,要是太长了就丢了,发个ICMP报文,填写路由器最大传输单位;13位片位移,片位移是8B的整数倍,因为总长度16位,片位移13位,必须要有1位当3位用;生存时间TTL占8位;首部校验和16位,只检验首部,不检验数据部分;4B源地址4B目的地址。(总1首4片8)
·默认路由:0.0.0.0,不能作为目的地址。得到下一条路由器的IP地址后,不是直接将地址写入数据报,而是使用ARP转化为MAC地址再找下一条路由器(还是用MAC找的,同理,从物理层找交换机,从链路层找路由器也是靠MAC地址,所以MAC地址是物理层和链路层使用的地址)。IP数据报传输过程中,首部长度一般不变,首部字段(TTL、标志、检验和)可变。
·IP不定长的好处:满足不同应用的需要,大部分IP数据报数据部分长度远大于首部长度,占比较小,效率可以提高。
·虚拟分组:也就是IP数据报,名称由来:物理网络转发帧只是看数据报的首部地址,看不见内部数据部分。
·IPv4地址:ABCDE类地址,点分十进制,A的网络号前八位,第一位是0,全0为保留地址,意为本网络,127保留为本地软件环回测试,可以指派126个网络数,网络地址全0,广播地址全1,每个网络2的24次方-2个主机;B的前两位是10,网络号前16位,B类网络号不存在全0,不过128.0.0.0一般不指派,所以减1就好,主机数-2;C类前三位110,前24位为网络号,不过192.0.0.0一般不指派,减1,主机数-2;D类1110多播/组播地址;E类1111,保留为后续使用。(ABCDE前几位划分的好处:便于确定哪些是前缀,便于分类)
·特殊地址:直接广播地址:主机号全1,网络号无所谓,全0广播本地,特定网络号的网络中每个主机都收到并处理,只能做目的地址;受限广播地址:255.255.255.255,当前网络都收到,仅限于本地局域网,因为路由器阻断了广播,属于E类地址;本网络的当前主机:0.0.0.0。此网络特定主机:网络号全0,主机号特定;环回地址:127.?.?.?,测试机器的软件,分组永远不离开这个机器,简单的返回到协议软件,因此此地址可以用来测试IP软件,A类地址。
·IP地址唯一且分等级的好处:IP地址管理机构分配IP地址时只分配网络号,剩下的主机号由得到网络号的单位自行分配,管理方便;路由器仅根据目的主机连接的网络号转发分组,不考虑目的主机号,使路由表项目数大幅度减少,优化存储。
·IP地址是标志一个主机(路由器)和一条链路的接口,一个主机连接到两个网络上时,需要有两个相应的IP地址,网络号一定不同,叫做多端口主机,比如路由器每个端口都有一个不同网络号的IP地址。不管是局域网还是广域网,只要都分配到了网络号,他俩就是平等的。
·链路层广播和网络层广播的区别:链路层是在以太网上实现对局域网上的所有主机的MAC帧广播;IP广播用IP通过因特网实现的对一个目的网络上所有主机的IP数据报进行广播。

4.NAT协议:诞生原因:有的机构只需要与内部主机通信,太浪费IP号。NAT和CIDR只是优化IPv4分配方法。
·专用地址:A类一个,10.0.0.0-10.255.255.255;B类16个,172.16.0.0-172.31.0.0;C类256个,192.168.0.0-192.168.255.255。称为专用网,专用IP地址又叫做可重用地址,NAT的作用是将专用网内部使用的本地IP地址转换为有效的外部全球IP地址,使得整个专用网只需要一个全球IP地址与因特网联通。使用NAT技术就是安装NAT软件,NAT不能根本上解决IP地址耗尽的问题,真正需要的是IPv6。方法:查表,找不到就丢掉。
·子网划分与子网掩码:划分原因:两级IP地址设计的IP地址空间利用率可能会很低,两级地址不灵活,一个物理网络分配一个网络号会使路由表太大,性能变坏。划分方式:<网络号>,<子网号>,<主机号>,根据IP分组的目的网络号先找到连接在本单位网络上的路由器,路由器收到IP分组后,按照目的网络号和子网号找到目的子网,最后交付给目的主机。注意:子网号不可以用全0和全1,但是CIDR可以。
·子网掩码:告诉主机或路由器是否对ABC网络进行了划分,前1后0。和IP地址与运算得到网络地址。分组转发算法:从分组首部提取目的IP地址D;判断是否为直接交付,子网掩码与操作,看是否与相应网络地址匹配,匹配的话就直接交付,不匹配就间接交付;若路由表里有D的特定主机路由,将分组传送给下一跳;之后对路由表中的每一行的子网掩码和D按位与,若和改行目的地址匹配,就发出去,如果都不匹配,就发给默认路由,没有的话就报告转发分组报错。
·CIDR技术,/0表示默认路由,/32表示广播地址,/31表示只有两个,只能用于点对点。消除了传统的ABC类地址以及划分子网的概念,使用各种长度的网络前缀代替地址中的网络号和子网号,所以变成了两级编址<网络前缀><主机号>,一个CIDR地址块可以很多地址,这种地址的聚合一般称为路由聚合(超网)。全0和全1 的主机号地址一般不使用。当然,这么干在查找时可能有不止一个查询结果,找一个匹配程度最高的选项进行转发。前缀后缀和前面的网络号和主机号类似,前缀找目的网络,后缀找目的主机。
·ARP:将IP地址转换为链路层需要的MAC地址。原理:每个主机中都有一个ARP高速缓存,里面存放着所在局域网的各个主机和路由器到MAC地址的映射表,ARP动态维护这个表,为什么要这么做呢,因为局域网内部只看得懂MAC地址。有就发,MAC帧写MAC,无便广播(请求广播,回应单播),等相应后写ARP写MAC。注意,如果不在同一个局域网上,就先ARP在本局域网找个路由器,分组发给它,然后再转发给另一个网络。总结起来就是四种情况,本网络主机to主机直接解析;不同网络ARP找路由器;本网络路由器to主机直接ARP找主机;不同网络路由器to主机也是找路由器。ARP只能对连接在同一网络上的主机or路由器进行地址解析。
·ICMP协议:差错报告,网络探寻,分为ICMP差错报文,ICMP询问报文。差错报文有四种,终点不可达(路由器主机不能交付数据报)、源站抑制(拥塞)、超时(TTL=0,或预计时间内收不全)、参数问题(首部不正确)、路由重定向(路由器地址改变了)。ICMP询问报文有回送、时间戳、掩码地址请求和回答报文,路由器询问和通告报文(一搭配使用测试连通性,ping;二用来时钟同步、测量时间;三四几乎不用;tracert可以跟踪分组经过的路由)。不应该发送ICMP的情况:ICMP错了(不套娃),分片的只发第一个(不多发),有组播地址(一到多)的数据报不发,环回或0.0.0.0不发。ICMP报文要包括报文类型和代码,将错误的数据报首部放入报文,知道哪个数据报错了,再把数据部分前8B放进去,这8B是TCP/UDP端口号,这样可以定位哪个进程爆了。ICMP报文包括1B类型,1B代码(比如不可达有很多种,网络主机协议,标识哪一种不可达),2B校验和,4B根据类型定,剩下的是数据部分,长度根据类型定,再加上首部变为IP数据报。ICMP差错报告报文的数据部分包括IP首部+ICMP前8B首部+数据报首部+IP数据前8字节。注意:首部检验和不对的话不发ICMP,直接丢,因为首部错了可能是源地址错了,没必要发。
·IPv6:128位,首部长度为8B的倍数,资源可以预分配,即插即用自动配置,和IPv4不兼容,和TCP等传输、应用层协议兼容,只是因为变长了改了一部分地方。扩展首部,去掉了IPv4的可选字段,不对扩展首部检查,更快;不用DHCP协议,只在主机处分片,IPv4在主机路由器都可以分片。总结:地址变多、首部简化、支持选项。报文格式:4位版本号6,1B通信量类表示优先级,0最低,8-15高优先级;20位流标号,属于同一个流的数据报流标号相同;16位有效载荷长度,除IP基本首部意外的字段,最大64KB;1B下一个首部,相当于IPv4的协议字段or可选字段;1B跳数限制;128位源地址和目的地址。IPv6支持单播、组播、任播(1 to 1(in N)),0表示,只能一个::。

5.路由选择协议:内部网关协议IGP(RIP和OSPF)和外部网关协议EGP(BGP-4)网络内用内部,不同网络间用外部。
·RIP协议:应用层协议,UDP传输,目的是找跳数最少的路径,且跳数限制在15跳以内,16则认为不可达,适合比较小的自治系统(路由环路问题)。特点:只和相邻路由器交换信息;交换的信息是当前路由器知道的全部信息,也就是自己的路由表;一般每30s交换一次信息;3min收不到相邻路由器的更新路由表,设置为不可达,再2min收不到更新报文,就删除。发的时候都加1,收到的时候如果没有的加上,小的替换,相同的更新。报文格式:分为首部+路由部分,4B首部,其中包括1B命令,表示请求or相应,1B版本,表示版本1 or版本2,2B填充0;一条路由信息20B,UDP限制512B,其中8B首部,恰好还有504B,25个项,不需要顺序化,不需要编号。好消息收敛快,坏消息收敛慢,网络规模小,大了的话传表开销太大了。
·OSPF最短路径优化:大型系统通信,且需要提高收敛速度,分布式,网络拓扑变化时才会洪泛发送链路状态信息(两路由器之间的时延),最后每个自治系统内部都会维持一个链路状态数据库,装着自治系统的网络拓扑图,迪杰斯特拉算最短路径,路由表中不存全部路径,只存下一跳,直接用IP传输(把信息直接作为IP的数据部分)。注意,OSPF的特点:向所有路由器洪泛发送信息;信息是相邻路由器链路状态,只是路由器知道的部分信息;链路状态是邻居和链路开销;链路状态变化时才发消息。每30min更新一次链路状态,一般相应网络变化的时间小于100ms,规模大的时候OSPF会先分成更小的规模,一般小于200个路由器。
·OSPF分组类型:问候分组(可达性,10s一次,红泛发送,同时发送度量)、数据库描述分组(给邻站自己数据库里的消息)、链路状态请求分组(向对方请求发送某些链路项目的详细信息)、链路状态更新分组(拓扑变化后,洪泛法向全网更新链路状态)、链路状态确认分组(对链路更新分组的确认)。
·边界网关BGP协议:用了图的最小生成树,采用路径-向量距离选择协议,找一条比较好的路由。每一个自治系统的管理员选择至少一个路由器作为BGP发言人,BGP报文封装在TCP中。BGP交换路由信息的节点数量级是自治系统数的量级,比网络数少很多。边界路由器只有少数的几个,BGP支持CIDR,路由表应该包括目的网络前缀,下一跳路由器一起到达目的网络需要经过的各个自治系统的序列。一开始交换整个路由表,后来只改变变化的路由表。BGP四种报文:打开(与相邻的BGP发言人建立关系)、更新(发送某一路由的信息,列出要撤销的多条路由)、保活(确认打开报文,周期性证实邻站关系)、通知(发送检测的差错)。
·RIP、OSPF、BGP总述:路由表内容分别为目的网络,下一跳,距离;目的网络,下一跳,距离;目的网络,完整路径。算法分别是距离-向量协议;链路状态协议;路径-向量协议。最优通路依据分别是跳数。费用;多种策略。传送方式分别是UDP;IP数据报;TCP。交换内容分别为自己的路由表;邻居的链路状态;第一次路由表,之后变化的部分。

六.传输层:(提供两主机之间进程与进程之间的逻辑通信,即端到端通信)
1.各种定义与概念:
·传输层是面向通信部分的最高层,用户功能中的最低层。
·一般来说,默认传输层是可靠的,虽然可不可靠看协议,比如数据链路层用了HDLC就说是可靠的,用了PPP又说是不可靠的。UDP确实也是不可靠的(但也可以选择是丢弃还是向应用层报告错误),TCP是可靠的,但因为现在数据链路层和网络层一般都不可靠,还是这么默认传输层可靠了了。
·传输层功能:提供应用进程之间的逻辑通信、差错检测、无(有)连接的服务、复用分用(复用是不同进程可以用同一协议传输数据,分用是接收方传输层剥去报文首部后可以把数据正确交付给目的应用进程)。对于有链接服务,还有连接管理,流量控制,拥塞控制等功能。
·选择协议:根据实际应用,实时性选UDP,准确性选TCP,不过TCP因为有确认、滑动窗口、计时器等机制,效率没UDP高。UDP也适合传小文件。
·传输层按端口号寻址,端口号只有本地意义,共65536个,1024个保留端号(0-1023,新应用程序出现时,指派一个保留端口),48128个登记端号(1024-49151,为没有保留端口的进程分配,需要在IANA登记,防止重复),16384个短暂端口(49152-65535,客户运行时使用),前两个是服务端端口,最后一个是客户端端口。
·套接字:socket = (主机IP,端口号),唯一标识进程。

2.TCP & UDP:
·UDP无连接无确认,不可靠,头部短,开销小。TCP有链接有确认,可靠,头部长开销大,不提供广播多播服务。
·TCP和UDP报文只是IP数据报的数据部分,路由器不可见。
·TCP的连接和网络层虚电路的区别:前者时候端到端逻辑通信,对路由器不可见,后者路由器可见。
·对于每一条TCP连接,模块中都有一个TCB存储连接所用的源端口,目的端口,目的IP,序号,应答序号,对方的和自己的窗口大小,TCP状态等。

3.TCP & UDP报文格式:
·UDP只在IP数据报的服务上增加了端口(用于找到进程)和差错检测功能,首部只有8个字节,没有拥塞控制,堵了也不减慢发送速率,支持广播组播。
·UDP数据报有2B源端口,2B目的端口,2B长度(但一般限制应用数据小于512B),2B校验和,用来检验伪首部,UDP数据报首部和数据,计算校验和时临时生成伪首部。UDP面向报文转发,报文给多长就发多长,所以应用层给报文的时候应该控制长度,否则太长网络层效率就会降低,太短头部占比就大了。
·UDP检验:伪首部包括源/目的IP地址字段、全0字段、协议字段17、UDP长度字段,伪首部仅计算校验和,不向下传送也不向上提交。校验时如果不是偶数字节,就要补一个填充位。如果是检验完是错误的,就丢弃或者往上发错误报告,伪首部可以检查源/目的端口号,UDP用户数据报的数据部分,检查IP数据报的源/目的IP地址。检错能力不强但简单。每4B反码求和,反码求和,取反相加,最高位进位则+1。
·TCP首部默认一共有20B,还有40B的选项与填充(TCP首部长度为4的倍数)。开头依旧是源端口和目的端口,各2B;序号占4B,按字节进行编号,保证按序交付;确认号占4B,等于n则表示前n-1个都已经收到了,就是累计确认;数据偏移占4B,表示首部长度,正好能表示60B,0000不算,设置它的原因是有选项部分,所以实际上不定长,不设置的话不知道从哪里开始;保留字段占6位,置为0,设置它的原因是为了拓展新功能;紧急URG等于1时,表示需要尽快传送数据,和紧急指针配套使用;ACK等于1时,确认号才有效,一旦连接建立,ACK均为1;PSH推送比特为1时,表示信息需要尽快交付给应用进程,不需要等缓冲区满了再交付(需要先写进缓存,区别URG,URG直接不用进缓存);RST复位比特为1时,TCP出现严重错误,需要先释放连接再建立连接;SYN同步比特为1时,表示是连接请求or连接接收报文,建立连接时使用(SYN报文不能携带数据,但是要占一个序号x);FIN终止比特为1时,表示发送端的数据发送完成,释放连接;窗口字段8B控制对方发送数据的最大值;检验和字段2B,检验首部和数据部分,这里也要加伪首部,不过把UDP伪首部里的第四个字段的17改成6即可(TCP协议号为6);紧急指针占2B,指出最后一个字节的序号(?为什么是2B);选项字段可变,比如有最大报文段长度MSS(缓存上限);填充:首4。

4.连接建立:
·过程:客户端应用层进程首先通知客户端的TCP要发送数据了,然后客户机TCP向服务器发送请求SYN报文段,选择序号为x;服务器收到数据报后,由SYN等于1判断这是个建立连接的请求,如果同意,发挥确认报文,SYN=ACK=1,确认号等于x+1,序号随机选为y;客户端收到报文段后发送确认,ACK=1,确认号为y+1,客户端服务器通知上层,连接已经建立,服务器收到后,也通知上层,这个报文可以携带数据也可以不携带数据,不携带的话不需要消耗序列号。
·为什么不能选择相同固定的初始序号?如果频繁建立连接,假设都选择1,如果有滞留的TCP报文段,客户端就需要重传报文段,重传后的到了,释放了,释放之后重传前的又到了,这时候是个新连接,可能会接受老数据(当成新消息)。
·第三次握手的意义:一方面让双方都知道都已经准备发/收数据,一方面协商初始序列号。改成两次后还可能导致死锁,如果第二次的丢了,服务器发数据,客户端以为服务器没准备好,不收,那就收不到了,也就没有ACK了,服务器又会不断重发。

5.连接释放:
·过程:类比连接建立
·第四次挥手的意义:
·为什么第四次挥手要等2MSL:如果A不等2MSL,要是丢失了,B传不过来确认,A就关了,B关不了,A还传不过去。而且等2MSL可以等所有的报文都传完,防止出现已失效的连接请求报文段。(?)

6.可靠传输:
·选择确认SACK:后退N帧协议中,如果不按序到达,就丢弃后面的,在SR中,先把后面有序的帧存在接受缓冲器中,等前面的失序的帧发过来以后再一起交付,这里用到了SACK(怎么用?)
·重传:发一个报文段就设置一个计时器,计时器到时间没确认就重发。
·自适应计算重传时间(只有TCP需要这玩意,UDP不确认不重传没有必要):RTTS =(1-a)* RTTS + a * RTT;RTO = RTTS + 4RTTD;RTTD =(1-b)* RTTD + b * |RTTS - RTT|,第一次的RTTD = 1/2 RTTS。注意,超时重传时间RTO应该至少大于2RTTS,因为如果重传后收到ACK,不知道到底是哪个传过来的(不确定丢没丢)。Karn算法:报文重传后,不算做往返时间样本。修正Karn算法:每重传一次就增大一次RTO,一般是乘2。
·若无故障无差错,TCP可靠交付是否多余:不多余,IP数据报独立选路由,可能会失序;可能转圈TTL变0被丢弃;堵塞时可能会丢弃数据报。

7.流量控制:(调整确认报文中窗口大小)(防止来不及接收而被迫丢弃)
·发送窗口=min(接收窗口,拥塞窗口)
·注意,TCP不停止等待,只要不是超时了,就会一直发,而不会停下来等着
·关于窗口大小为0:确实是满了,但满了以后发送方需要每隔一段时间发1B的数据试探一下,看看回了没,如果依然是0,就继续等,重新设置计时器。
·控制TCP报文段的发送时机的三种方法:第一种缓冲区够了MSS就发,第二种PUSH发送,第三种计时器时间到了。

8.拥塞控制:(因为资源不够用,需求大于可用资源,所以需要抑制发送速率)
·注意:流量控制是点对点控制,拥塞控制是控制整个网络。
·目的:使网络可以承受现有负荷量
·特点:涉及网络中所有主机、路由器、降低网络传输性能的所有因素,分组丢失是网络拥塞的前兆(不是原因,原因就是需求大于可用),有时拥塞算法本身就是引起性能恶化甚至死锁的原因。加上合适的拥塞控制后,就不容易死锁拥塞了,但代价是提供的负载较小时,吞吐量反而比没拥塞控制的要小。
·开环/闭环控制:开环的意思是事先预想发生的情况,闭环的意思是根据反馈监测可能在什么时候发生拥塞(未发生,监测何时会发生),或拥塞信息传送到可进行处理的地方(发生了,找补救),或直接调整运行解决问题(补救)。
·四种算法:慢开始算法,开始时设置cwnd=1MMS(一个最大报文段长度),每次收到回复都加1,则每经过一个传输轮次,就翻一倍,到达阈值后,进入拥塞避免算法,加法增大直到拥塞,阈值变为拥塞时值的一半,cwnd变1(其实不管拥塞避免还是慢开始,只要拥塞都会变成一半)。快重传算法是收到三个连续的重复就重发。快恢复是乘法减小,直接减到1/2。
·另一种快重传是收了n个(n大于等于3),就设置阈值为一半,再设置cwnd为(阈值+n)。

七.应用层(对应用程序的通信提供服务)
1.基本概念:
·功能:文件的传输、访问、管理,虚拟终端、电子邮件、查询服务、远程作业登录。
·C/S模型:服务器S提供计算,永久提供服务,永久性访问地址或域名,客户端C请求计算,与服务器通信,使用服务器提供的服务,间歇性接入网络,可能使用动态的ip地址,不与其他客户机直接通信,而是由服务器转交。C/S模型中各计算机地位不平等,服务器可以限制用户权力,整个网络管理由少部分服务器承担,可扩展性不好,因为受服务器硬件和带宽限制,支持的客户数有限,服务器坏了就全完了。
·P2P模型:建立平等的对等连接通信,可以直接通信,没有永远在线的服务器。本质上还是C/S模型,只是对等连接中的每一个主机既是客户端又是服务器。特点:可以把任务分配到各个节点上,扩展性好,网络更加健壮,中间节点失效网络依旧完整。
·电子邮件格式:由信封和内容组成,规定了内容中的首部格式,写好后有系统自动提取放在信封上,这些首部一般包含一些关键字+冒号,比如主题。地址格式:收件人邮箱名@邮箱所在主机的域名。

2.DNS域名系统:(分为三个部分:层次域名空间,域名服务器,解析器)
·实现域名到网址的转换,即解析功能。域名可以替代IP地址访问网页。
·层次域名空间:...三级域名.二级域名.顶级域名(www.abc.com),级别最低的写在左边,不区分大小写。
·域名服务器:一个服务器管辖的地方叫区,区设置相应的权限域名服务器,保存该区中所有主机域名到IP地址的映射。域名服务器分为四种类型,分别是根域名服务器(知道所有的顶级域名服务器的域名和IP地址,本地域名服务器解析不了域名时,先找根域名服务器,根域名服务器指出去哪里进行查询),顶级域名服务器(管理在该顶级域名服务器注册的所有二级域名),权限域名服务器(负责一个区的服务器,如果它还不能解析,就发给用户再找哪一个权限域名服务器),本地/默认域名服务器(主机发出DNS查询请求时,先发给本地域名服务器,使用本地连接需要填的DNS服务器就是本地DNS服务器的地址)。域名服务器有主有辅,主坏辅上,定期备份更新。
·域名解析过程:有两种,递归查询和迭代查询,主机向本地域名服务器查询是递归查询,本地域名服务器向根域名服务器是迭代查询(也可以递归查询)。迭代查询相当于广搜,三个都搜一遍。
·连接在因特网上的主机全名一定是唯一的,IP地址也是唯一的,但一个主机可以对应多个IP地址(共同分担,负载平衡),多个域名也可以对应一个IP地址。
·ARP和DNS有什么相似之处与区别之处?相似之处仅仅是形式上由主机发送请求,然后从相应的服务器收到所需的回答,然后这俩还经常在一起用。ARP在网络层把主机or路由器的32位地址解析为48位的以太网硬件地址。
·名字的高速缓存:每个域名服务器都维护一个高速缓存,存放最近用过的名字,以及从何处获得名字映射信息的记录,减少根域名服务器的负荷,域名服务器为每项都设置计时器,到时间就清除,被查到的话可以增加时间上限。
·域名系统查找主机IP地址与电话系统用114查找某单位电话号码相比,异同之处?相同:都需要进行电话/地址转换,一个从用户名转来,一个从域名转来;不同:查电话时,离得远需要加区号,查IP时,再远也不需要。

3.FTP系统:(交互式访问,TCP可靠传输,C/S模型,传输二进制/ASCII)
·FTP的服务器进程分为主进程,接受新的请求,以及若干从属进程,处理单个请求。主进程工作步骤:打开21端口,等待连接,连接请求,从属进程处理请求,请求完成,回到等待请求状态。注意,主线程和从属进程是并发的关系。
·控制连接与数据连接:文件传输时要建立的两个连接,控制连接用来传输控制命令和响应(登录,更改目录,切换数据传输模式等),数据连接传输实际的文件内容。控制连接始终打开,数据连接根据文件的传送状态选择开关。控制连接在21号端口,数据连接在20号端口(主动方式是20,被动的时候是大于1023的端口),不过一般21和20用于监听,实际操作拿临时端口换出(x和x-1)。

4.电子邮件:(包括三个构件,用户代理,邮件服务器,电子邮件使用的协议)
·发送接收顺序:发信人调用用户代理编辑邮件,用户代理用SMTP把邮件发送给发送端邮件服务器,然后放入邮件缓存序列等待传送,发送端邮件服务器的SMTP客户进程发现缓存序列中的邮件,就向运行在接收端邮件服务器的SMTP服务器进程发起TCP连接的建立,建立后SMTP客户进程向远程SMTP服务器发送邮件,邮件发送完毕后关闭TCP连接,收到邮件后放入用户邮箱,收信人调用用户代理用POP3或IMAP协议接收邮件。全程TCP连接。
·MIME(通用因特网邮件扩充):产生原因:SMTP仅支持7位ASCII码邮件。继续使用当前的格式,但增加了邮件主体的结构,定义了传送非ASCII码的编码规则。quoted-printable编码:用一个等号加两个数字字符表示非ASCII码字符,两个数字为此字符的十六进制,适用于非ASCII码较少的情况。Base64编码:把二进制代码划分为24位等长单元,再分为4个6位组,每一个6位组ASCII码,26大,26小,10数,+,/;用==或=表示最后一组的代码有8位或16位,开销为33%。
·SMTP:规定两个通信的SMTP进程如何交换信息,TCP连接,先建立,再传送,最后释放,不需要中间的邮件服务器。
·POP3:C/S模式,简单的功能有限的邮件读取协议,读完就会删掉。明文传输,并不安全。
·IMAP:网际报文存储协议,用户主机的IMAP客户程序打开IMAP服务器的邮箱时,可以看见邮箱首部(主题/发件人),需要打开时,才上传到计算机,还支持预览一部分头部,有用时下载读取。
·总结:邮件发送:连接建立,服务器to客户端,客户端to服务器,两端地址初始化,客户端发数据(最后用一个仅包含一个.的行结束),服务器确认收到。邮件接收(端口号110):建立连接,确认连接建立,客户端输入账密登录,读取邮件个数与内容,确定删除邮件or保存到服务器。
·现在一般都基于WWW,HTTP-SMTP-HTTP,缓存地区可以是厂商代理的邮箱服务器。

5.WWW万维网与HTTP:
·万维网:大规模的联机式信息储藏所,用连接方法可以方便的从一个站点访问另一个站点,还提供了各类搜索引擎,C/S模式。
·万维网组成:使用统一资源定位符URL唯一标志WWW上的各种文档,URL格式一般为<协议>://<主机域名or IP地址>:<端口号>/<路径>,URL大小写没有要求。(HTTP和FTP的URL?)
·浏览器为用户计算机上的万维网客户程序,万维网文档驻留的计算机运行服务器程序,这个计算机叫做万维网服务器,客户程序向服务器发出请求,服务器返回想要的文档,完整的工作流程:Web用户使用浏览器(指定URL)与Web服务器建立连接,发送浏览请求;Web服务器将URL转化为文件路径,返回信息给Web浏览器;通信完成,关闭连接。
·HTTP:面向事务的应用层协议,服务器默认监听80端口。浏览器访问WWW服务器流程:对WWW服务器域名解析,获得IP地址后,浏览器通过TCP像服务器发送连接建立请求,建立连接,浏览器向服务器发送要求获得某一Web界面的HTTP请求,服务器收到HTTP请求后,构建所请求的Web页的必需信息,之后通过HTTP响应返回给浏览器。
·HTTP的请求报文和响应报文:从客户端到服务器or从服务器到客户端,HTTP面向正文,都是ASCII码段,每个字段长度都不确定。报文有三个部分组成,开始行(请求行or状态行),首部行,实体主体。请求行为 方法 URL 版本 CRLF,前三个中间有空格,状态行为 版本 状态码 短语 CRLF,也是空格;首部行说明浏览器、服务器or报文主体的一些信息;实体主体在请求报文一般不用,响应报文也可能不用。HTTP工作方式分为持久连接和非持久连接,非持久连接指每一个网页元素对象的传输都需要单独建立一个TCP连接;持久连接是指服务器发送响应后还保持这条连接。
·HTTP请求报文中几个常用方法:GET(读取URL标识的信息),HEAD(读取URL标识的信息的首部),POST(给服务器添加信息,比如注释),CONNECT(请求代理服务器)。
·域名转换:DNS-TCP/UDP;文件传输:FTP-TCP or TFTP-UDP;路由选择协议:RIP-UDP;网络管理:SNMP-UDP;IP地址配置:DHCP-UDP;电子邮件:SMTP-TCP;万维网:HTTP-TCP。

6.DHCP:动态给主机分配IP地址,即插即用,应用层协议,报文UDP传输。主机启动时,源地址0.0.0.0,目的地址全1,发个报文,DHCP回复提供报文,在IP池里取一个IP给它。临时性,有租用期,可以续租,可以地址重用,广播方式交付。DHCP服务器可能不止一个,取最快的。过程:客户端广播DHCP发现消息,DHCP服务器广播DHCP提供消息,提供IP和配置信息,客户端同意,广播DHCP请求消息,DHCP收到后广播DHCP确认消息。


参考文章:https://blog.csdn.net/m0_53849546/article/details/125191891

郑重声明:本文版权归原作者所有,转载文章仅为传播更多信息之目的,如作者信息标记有误,请第一时候联系我们修改或删除,在此表示感谢。

特别提醒:

1、请用户自行保存原始数据,为确保安全网站使用完即被永久销毁,如何人将无法再次获取。

2、如果上次文件较大或者涉及到复杂运算的数据,可能需要一定的时间,请耐心等待一会。

3、请按照用户协议文明上网,如果发现用户存在恶意行为,包括但不限于发布不合适言论妄图

     获取用户隐私信息等行为,网站将根据掌握的情况对用户进行限制部分行为、永久封号等处罚。

4、如果文件下载失败可能是弹出窗口被浏览器拦截,点击允许弹出即可,一般在网址栏位置设置

5、欢迎将网站推荐给其他人,网站持续更新更多功能敬请期待,收藏网站高效办公不迷路。

      



登录后回复

共有0条评论