20222/10/7:更新思维导图
传输层协议
引入
传输层两个协议
传输层的寻址与端口
知识总结与回顾
UDP协议
用户数据报协议UDP概述
如果使用UDP协议,网络层和传输层都不保证可靠交付,可靠交付由应用层保证。
UDP首部格式
UDP校验
知识总结与回顾
TCP协议特点和TCP报文段
TCP协议的特点
虚连接:TCP协议的连接不是实际的连接(加上各种首部,有完整的封装和解封装过程),而是两个进程中类似点对点的连接。
为了保证可靠传输,已发送但还没有收到确认的数据也要放入发送缓存,超时后还没收到确认就要重发;同理,不按序到达数据也要在接收缓存中排好序再交付给进程,这也是为了保证可靠传输。
TCP面向字节流主要体现在TCP的数据部分字节个数不定,内容也不定。
TCP报文段首部格式
填充字段:保证整个首部是4B的整数倍
TCP连接管理
引入
TCP的连接建立
ack为确认号,由于前两回合没有携带数据,所以序号seq为一个随机数。
SYN洪泛攻击
TCP的连接释放
为什么要等待2MSL:如果第四回合客户端发送的确认报文段丢失了,服务器端没有收到,服务器端就会重传第三回合发送的连接释放报文段,客户端收到后就会重新发送一次确认报文段。如果没有等待,而是客户端发送完确认报文段直接关闭,那如果确认报文段中途丢失导致服务器端无法正常接收到,服务器端就会以为是自己第三回合发送的连接释放报文段有问题,从而会一直重复发送该报文段,而此时客户端已经关闭又无法接收到,就会造成类似于“死锁”的现象,服务器端无法正常关闭连接。
知识总结与回顾
TCP可靠传输
确认
虽然说TCP是面向字节流的,但在TCP缓存中多个字节也会以报文段的形式进行发送
确认可以是在特定的时间发送一个单独的确认报文段,也可以是在有数据要进行传输时进行捎带确认。
重传
知识总结与回顾
TCP流量控制
若接收方发送的窗口字段为0,则接收方将接受缓存中的数据上交给应用层进行数据处理,待处理一部分后或全部处理完后再通知发送方可以继续发送数据了。
持续计时器是为了防止主机b发送的报文段在路上丢失,导致主机a和主机b互相等待的现象。类似于超时重传机制,都是为了防止报文段丢失的现象。
知识总结与回顾
TCP拥塞控制
引入
流量控制是点对对端到端的控制,而拥塞控制是全局性的。二者的成因也有差别,拥塞控制是因为网络发生堵塞导致数据无法及时送到,而流量控制是因为发送方发送数据速度过快导致接收方来不及接
拥塞控制4种算法
接收窗口和拥塞窗口的不同主要体现在设置方不同和反映内容不同。接收窗口由接收方设定,反映接收方容量;拥塞窗口由发送方设定,反映网络当前容量。
慢开始和拥塞避免
ssthresh:指的是慢开始门限
新的慢开始门限值大小是上一次发生网络拥塞的拥塞窗口值的一半。
快重传和快恢复
新的门限值为收到3个冗余ack时的拥塞窗口值的一半