王道-计算机网络-运输层
1.概述
只有主机才有的层次
运输层为应用层提供通信服务,使用网络层的服务.
功能
- 提供进程与进程之间的逻辑通信
- 复用和分用
- 对收到的报文进行差错检测
- 传输层的两种协议
1.1 传输层的两种协议
1.2 传输层的寻址和端口
套接字
2.UDP协议
2.1 概述
UDP只在IP数据报上添加了很少的功能,即复用分用和差错检测功能
特点
2.2 首部格式
分用时,找不到对应的目的端口,就丢弃报文,并给发送方发送ICMP"窗口不可达"差错报告报文.
2.3 UDP校验
3.TCP协议
3.1 TCP协议特点和报文段格式
特点
首部格式
3.2 TCP连接管理
TCP建立连接的方式采用客户服务器方式,主动发起连接建立的进程叫做客户,而被动等待连接建立的进程叫服务器.
3.2.1 连接的建立(三次握手)
SYN洪范攻击
避免方法:SYN cookie
3.2.2 连接的释放(四次挥手)
为什么要有time_wait?
-
避免A的ACK报文丢失后,B重传FIN报文无法进行处理,导致B无法关闭连接,B会一直发送FIN报文段,如果之后A还需要同B建立连接,那么这些重传的FIN就会干扰新的连接.
-
保证最后一个报文到达
-
防止已失效的报文连接请求
3.3 TCP可靠传输
TCP使用累计确认
重传时间如何设定?
TCP采用自适应算法,动态改变重传时间RTTs(加权平均往返时间)
3.3.1 冗余ACK(冗余确认)
3.4 TCP流量控制
让发送方发慢点,要让接收方来得及接收.
TCP使用滑动窗口来实现流量控制
样例
3.5 TCP拥塞控制
3.5.1 拥塞
3.5.2 拥塞控制的四种算法
假定条件
慢开始和拥塞避免
ssthresh:慢开始门限
快重传和快恢复