1 传输层概述
2 传输层的功能
3 传输层的两个协议(总览)
3.1 TCP协议(详述见6)
传送数据之前必须建立连接,数据传送结束后要释放连接。不提供广播或多播服务。由于TCP要提供可靠的面向连接的传输服务,因此不可避免增加了许多开销:确认、流量控制、计时器及连接管理等。 可靠,面向连接,时延大,适用于大文件。
3.2 UDP协议(详述见5)
无连接的用户数据报协议UDP传送数据之前不需要建立连接,收到UDP报文后也不需要给出任何确认。不可靠,面向无连接,时延小,适用于小文件。
4 传输层的寻址和端口
5 UDP协议
UDP只在IP数据报服务之上增加了很少功能,即复用分用和差错检测功能。
5.1 UDP特点
- UDP是无连接的,减少开销和发送数据之前的时延。
- UDP使用最大努力交付,即不保证可靠交付。
- UDP是面向报文的,适合一次性传输少量数据的网络应用。
- UDP无拥塞控制,适合很多实时应用。
- UDP首部开销小,8B,TCP20B。
5.2 UDP首部
5.3 UDP校验
6 TCP协议
6.1 TCP特点
6.2 TCP的传输过程
6.3 TCP首部
6个控制位: 紧急位URG:URG=1时,标明此报文段中有紧急数据,是高优先级的数据,应尽快传送,不用在缓存里排队,配合紧 急指针字段使用。 复位RST:RST=1时,表明TCP连接中出现严重差错,必须释放连接,然后再重新建立传输链接。 确认位ACK:ACK=1时,确认号有效,在连接建立后所有传送的报文段都必须把ACK置为1。 推送位PSH:PSH=1时,接收方尽快交付接收应用进程,不再等到缓存填满再向上交付。 同步位SYN:SYN=1时,表明是一个连接请求/连接接受报文。 终止位FIN:FIN=1时,表明此报文段发送方数据已发完,要求释放连接。
窗口:指的是发送本报文段的一方的接收窗口,即现在允许对方发送的数据量。 检验和:检验首部+数据,检验时要加上12B伪首部,第四个字段为6。 紧急指针:URG=1时才有意义,指出本报文段中紧急数据的字节数。 选项:最大报文段长度MSS、窗口扩大、时间戳、选择确认
6.4 TCP连接管理
6.4.1 建立连接(三次握手)
tips:利用这种连接的特性,攻击者可以使用SYN洪泛攻击
6.4.2 连接释放(四次挥手)
6.5 TCP可靠传输
6.5.1 序号
将数据分组,对一组组报文段编号
6.5.2 确认
确定是否收到需要的报文段
6.5.3 重传
6.6 TCP流量控制
6.7 TCP拥塞控制
6.7.1 拥塞控制四种算法
6.7.2 慢开始和拥塞避免
6.7.3 快重传和快恢复
|