传输层的作用: IP层提供点到点的连接; 传输层提供端到端的连接。
传输层的协议
1. TCP(Transmission Control Protocol) 传输控制协议
可靠的,面向连接的协议
传输效率低
2. UDP(User Datagram Protocol) 用户数据报协议
不可靠的,无连接的服务
传输效率高
TCP的主要内容? 或 TCP的工作原理?
1. 连接与断开
2.流量控制
3. 拥塞控制
4. 差错控制
5.计时器
TCP 的帧格式
TCP的连接,三次握手
时序图如下:
TCP的四次断开
时序图如下:
TCP流控机制-滑动窗口
拥塞控制
TCP 差错控制
3种方式 校验和 确认 超时
TCP怎么重传数据段?
通过 重传计时器 实现。 a --> b 如果a在重传计时器超时之前没有接收到ack; a重传数据,并将重传计时器复位。
TCP 的坚持计时器是什么作用? 为了防止零窗口死锁
a -> b ; a给b发送 大量数据 ,结果b 缓冲区满了,a还有数据没传完,b要给a 发送 win =0 确认(Ack win=0);
a 收到 ,并启动坚持计时器; a在超时之前收到通知窗口大小的ack, 则a继续发送数据; a在超时之前没有收到
窗口大小通知 的ack ,则a 发送探测段提醒对方,我没收到通知窗口的ack 或者丢失了,不管啥原因我没收到
TCP 的保活计时器? 为了防止两个TCP连接之间长时间的空闲。
server端 的保活计时器吧(?) 建立tcp连接就开启保活计时器,超过一定时间server端 发送 探测数据段 ,接连发送 10个
还是没有收到客户端的相应 ,server端就要接受这个链接。
TCP 的时间等待计时器 干什么的?
连接终止期间,当发送了最后一个ack后,不立即关闭连接,而是等待一段时间。