名词解释
1. 运输层协议:为运行在不同主机上的应用进程之间提供了逻辑通信功能
2. 运输层多路复用:从源主机的不同套接字中收集分组,并为分组封装上首部信息从而生成报文段,然后将报文段传递到网络层的工作
3. 运输层多路分解:将运输层报文段中的数据交付到正确的套接字的工作
4. 拥塞端口(congwin):额外的变量,
辨析
1. 运输层和网络层?
运输层为运行在不同主机上的进程之间提供了逻辑通信,而网络层则提供了主机之间的逻辑通信
2. UDP报文段结构?
3. 应用数据:应用层数据
检验和:提供了差错检测功能,即检验和用于确定当UDP报文段从源到达目的时,其中的比特是否发生改变,做法是对报文段中的所有16比特字的和进行反码运算,求和时遇到的任何溢出都要回卷,得到的结果放在UDP报文段中的检验和字段。
4. 检验和?
发送方的UDP对报文段中的所有16比特字的和进行反码运算,求和时遇到的任何溢出都要被回卷(可以先加如果有必要回卷的进行回卷再进行反码运算)
在接收方,把检验和与所有的16比特字进行相加,如果分组无差错,则结果全部为1。如果出现了0,则分组中出现了差错。
5. 自动重传请求(ARQ)?
差错检测:使接收方检测到何时出现了比特差错。这项技术要求有额外的比特。
接收方反馈:肯定确认(ACk),否定确认(NAK)
重传:接收方收到有差错的分组时,发送方将重传该分组
6. 滑动窗口协议(GBN协议)?
停等协议:
7. 选择重传(SR)?
通过让发送方仅重传那些它怀疑在接收方出错(即丢失或受损)的分组而避免了不必要的重传
8. TCP连接管理?
① 客户机端的TCP首先向服务器端的TCP发送一个特殊的TCP报文段。该报文段中不包含应用层数据,该报文段被称为SYN报文段,报文段中的首部中的一个标志位(SYN比特)被置为1。该报文段会被封装在一个IP数据报中,并发送给服务器。
② 一旦包含TCP SYN报文段的IP数据报到达服务器主机,服务器会从该数据报中提取出TCP SYN报文段,为该TCP连接分配TCP缓存和变量,并向客户机TCP发送允许连接的报文段
③ 在收到SYNACK报文段后,客户机也要给该连接分配缓存和变量。客户机主机还会向服务器发送另外一个报文段,这个报文段对服务器的允许连接的报文段进行了确认。
9. TCP拥塞控制算法的?
① 加性增、乘性减 ② 慢启动 ③ 对超时事件做出反应
阈值:用来确定慢启动将启动并且拥塞避免将开始的窗口长度
状态 | 事件 | TCP发送方拥塞控制动作 | 注释 |
慢启动(SS) | 收到前面未确认数据的ACK | CongWin = CongWin + MSS, if(CongWin > Threshold)设置状态为“拥塞避免”CongWin = CongWin + MSS/CongWin | 使每过RTT,CongWin翻倍 |
拥塞避免(CA) | 收到前面未确认数据的ACK | CongWin = CongWin + MSS·MSS/CongWin | 加性增,每过RTT使CongWin增加1个MSS |
SS或CA | 由3个冗余ACK检测到的丢包事件 | Threshold = CongWin/2,CongWin = Threshold,设置状态为“拥塞避免” | 快速恢复,实现乘性减。CongWin将不低于1个MSS |
SS或CA | 超时 | Threshold = CongWin/2,CongWin = Threshold,设置状态为“慢启动” | 进入慢启动 |
SS或CA | 冗余ACK | 对确认的报文段增加冗余ACK计数 | CongWin和Threshold不变 |