考研笔记-计算机之计算机网络:各协议层实现的功能“表”述
- 2026-09-24 16:31:28
表-各协议层实现的功能 | ||||||||||||||
协议层 | 协议 | 实现功能 | ||||||||||||
数据面向对象 | 通信方式 | 复用和分用 | 分割和重组 | 面向连接 | 差错控制 | 流量控制 | 拥塞控制 | |||||||
可靠传输 | 编号 | 确认 | 重传 | 检错 | 纠错 | |||||||||
应用层 | ||||||||||||||
运输层 | UDP | 报文 | 一对一/一对多/多对多 | Y | N | N | N | N | N | N | Y | N | N | N |
TCP | 字节 | 一对一 | Y | Y | Y | Y | Y | Y | Y | Y | Y(重传) | Y | Y | |
网络层 | IPv4 | 字节 | Y | Y | N | N | N | N | N | Y(首部) | N | N | Y(ICMP) | |
数据链路层 | PPP | 比特/字节 | 一对一 | N | Y | N | N | N | N | Y | N | N | N | |
CSMA/CD | 字节? | 一对一/一对多 | N | N | N | N | N | Y(冲突) | Y | N | N | N | ||
物理层 | 比特 | N | ? | N | N | N | N | N | N | N | N | |||
说明: 1) UDP协议面向报文是指UDP对应用层交下来的报文既不合并,也不拆分,UDP向IP层或应用层进程一次交付一个完整的报文,这也是称之为用户数据报的原因; TCP协议面向字节是指TCP把应用程序交下来的数据看成仅仅是一连串无结构的字节流; 2) PPP协议是面向连接的协议(因为PPP是用于点对点信道的协议); 3) PPP协议用于使用拨号电话线接入因特网,CSMA/CD协议用于使用以太网接入因特网; 4) 面向连接和可靠传输不是完全相关的,面向连接既可用于电路交换也可用于分组交换,既可用于可靠传输(如TCP)也可用于不可靠传输(如PPP); 5) 编号可用于实现丢失、重复和失序等三种错误的检测; 6) 传输差错类型
7) IPv6中取消了检验和字段; |
表-可靠传输协议 | ||||||
可靠传输协议 | 收发方 | 机制 | 方法 | 实现 | 动作 | 收发窗口 |
GBN协议 | 发送方 | 重传 | 超时重传 | 发送方对最早未被确认的分组设定时器(发送方只设一个定时器) | 1) 收到上层数据,若数据序号位于发送窗口之内,则立即发送;若数据序号位于发送窗口之后,则忽略;若数据序号位于发送窗口之前,则缓存; 2) 计时超时,重传最早未被确认的分组及在其之后已经发送的分组; 3) 收到确认,发送窗口前移并使窗口的后沿与已确认的最后一个序号的下一序号对齐,若有已缓存但未被发送的分组位于发送窗口,则发送这些分组;若仍有已发送但未被确认的分组,则为当前最早未被确认的分组设定时器,若没有未被确认的分组,则关闭定时器。 | 发送窗口中的序号仅包含两类: 1) 对应已发送但未被确认的分组; 2) 对应可以被立即发送但未被使用的分组; |
接收方 | 确认 | 累积确认 | 对按序到达的最后一个分组发送确认 | 1) 对按序到达的最后一个分组发送确认,同时将已收到的分组按序交付给上层,接收窗口前移; 2) 对失序到达的分组,直接丢弃。 | 接收窗口中的序号仅包含两类: 1) 对应按序到达但尚未交付的分组; 2) 对应期望到达但尚未到达的分组; | |
SR 协议 | 发送方 | 重传 | 超时重传 | 对每一个发送的分组均设定时器(发送方设多个定时器) | 1) 收到上层数据,若数据序号位于发送窗口之内,则立即发送;若数据序号位于发送窗口之后,则忽略;若数据序号位于发送窗口之前,则缓存; 2) 计时超时,重传该定时器对应的未被确认的分组; 3) 收到确认,发送窗口前移并使窗口的后沿与已连续确认的最后一个序号的下一序号对齐,若有已缓存但未被发送的分组位于发送窗口,则发送这些分组,并为其设置定时器。 | 发送窗口中的序号仅包含三类: 1) 对应已发送但未被确认的分组; 2) 对应已发送且已被确认的分组; 3) 对应可以被立即发送但未被使用的分组; |
接收方 | 确认 | 选择确认 | 对收到的每一个分组(不论是否按序到达)均进行确认 | 1) 接收分组的序号位于接收窗口内,则接受该分组,同时发送一个对该分组的确认,并将按序到达的分组按序交付给上一层; 2) 接收分组的序号位于当前接收窗口后沿之后的一个接收窗口大小的空间 [rcv_base-N, rcv_base-1]内,发送关于该分组的一个确认; 3) 其他情况,忽略该分组 | 窗口大小必须小于或等于序号空间大小的一半。 接收窗口中的序号仅包含三类: 1) 对应按序到达但尚未交付的分组; 2) 对应未按序到达的分组; 3) 对应期望到达但尚未到达的分组; | |
说明: 1) 可靠传输是通过“停止等待”(对发送方而言)实现的,即发送方每发送完一个分组就停止发送,等待对方的确认。GBN协议和SR协议均是基于“停止等待”实现(对其进行改进)的。 2) GBN(Go-Back-N,回退N)协议和SR(Select Repeat,选择重传)协议均属于ARQ(Automatic Repeat Request,自动重传请求)协议,即重传的请求是自动(通过超时定时)进行的,接收方不需要请求发送方重传某个分组。其中,GBN协议属于连续ARQ协议。 |
表-(TCP)报文段发送、交付和确认的实现方式 | ||
动作 | 方式 | 实现 |
发送 | 空间控制 | 缓存的发送数据已达到发送窗口大小的一半或已达到报文段的最大长度时,将当前缓存中的数据(长度不超过MSS)装入报文段发送出去 |
时间控制 | 计时器定时到或收到对前一已发送报文段的确认(Nagle算法),将当前缓存中的数据(长度不超过MSS)装入报文段发送出去; | |
命令控制 | 由应用进程通过设置推送(push)操作,明确要求TCP立即发送一个报文段 | |
交付 | ||
确认 | 专门确认 | 即通过发送一个不含数据的确认报文段进行专门确认 |
捎带确认 | 将通过发送一个含有数据的确认报文段进行捎带确认 | |
说明: 1) 专门确认和捎带确认是实现方式,而选择确认和累积确认是确认机制,选择确认和累积确认既可通过专门确认实现,也可通过捎带确认实现。 |
表-(TCP)流量控制与拥塞控制 | ||
(TCP)流量控制与拥塞控制 | 流量控制 | 拥塞控制 |
定义 | 流量控制就是让发送方的发送速率不要太快,要让接收方来得及接收 | 拥塞控制就是防止过多的数据注入到网络中,这样可以使网络中的路由器或链路不致过载 |
解决问题 | 端到端的问题(接收端控制发送端) | 网络全局性问题(网络中的所有主机和路由器控制发送端) |
实现方法 | 发送方根据接收方接收窗口的大小调整自己的发送窗口,并保证发送端的发送窗口小于接收端的接收窗口swndS≤rwndR | 发送方根据当前的网络状况调整自己的拥塞窗口,并保证发送端的发送窗口小于发送端的拥塞窗口swndS≤cwndS |
联系 | 流量控制和拥塞控制均是通过控制发送端来实现的,若想同时实现流量控制和拥塞控制,应让发送方的发送窗口的上限值取接收方的接收窗口和发送方的拥塞窗口的较小者,即swndS≤{rwndR, cwndS} | |
说明: 1) 在计算机网络中的链路容量(即带宽)、交换结点中的缓存和处理机等,都是网络的资源。在某段时间,若对网络中某一资源的需求超过了该资源所能提供的可用部分,网络性能就要变坏,这种情况就叫做拥塞。网络拥塞的条件关系式为“∑(对资源的需求)>可用资源”。 |