计算机网络【第五章-传输层】
目录
一、传输层概述
传输层的寻址与端口
二、TCP协议
1、TCP数据报格式
2、TCP连接管理
1、连接建立(三次握手)
2、TCP连接释放(四次挥手)
3、TCP流量控制(局部性)
4、TCP拥塞控制(全局性)
拥塞控制的四种算法
三、UDP协议
UDP数据报格式
一、传输层概述
传输层的寻址与端口
端口:主机中的应用进程的唯一标识(端口号)
端口号:只有本地意义,不同计算机的相同端口没有联系;长度为16字节
套接字:主机IP地址+端口号,唯一标识网络中的一个主机的一个进程
二、TCP协议
1、TCP数据报格式
①序号:TCP将文件拆为字节流,每个字节一个标号,序号表示本报文段第一个字节的序号
②确认号:期望收到对方下一个报文段的第一个字节的序号
③数据偏移:表示首部长度,以4字节为单位
④紧急位URG=1时,表明报文段有紧急数据,有高优先级,不用排队
⑤确认位ACK=1时,确认号有效
⑥(不考)推送位PSH=1时,接收方优先交付该进程
⑦(不考)复位RST=1时,表明连接出错,须重新建立链接
⑧同步位SYN=1时,表明这是一个连接请求/连接接受报文
⑨终止位FIN=1时,表明此报文段发送方数据已发完,要求释放连接
⑩窗口:发送本报文段的一方的接收窗口,即现在允许对方发送的数据量
⑪紧急指针:URG=1时有意义,指出本报文段中紧急数据的字节数
2、TCP连接管理
1、连接建立(三次握手)
①客户端发送请求
客户端向服务器发送一个同步序列号(SYN)包,发起连接
②服务器回应并准备
服务器收到后,同时发送确认(ACK)和自己的同步(SYN)包作为回应
③客户端最终确认
客户端再次发送确认(ACK),双方成功建立可靠连接
💡SYN洪泛攻击
黑客伪造大量虚假IP,向服务器多次发送第一次握手的SYN,服务器会为每一个请求分配资源并回复第二次握手的SYN-ACK,然后等待永远不会到来的第三次握手的ACK
这些半开的连接会耗尽服务器的连接队列资源,导致无法响应合法用户的连接请求,造成服务拒绝
2、TCP连接释放(四次挥手)
① 客户端主动关闭
主动关闭的一方(通常是客户端)发送终止(FIN)包
② 服务器确认收到
服务器收到FIN后,发送确认(ACK)包,表明已收到关闭请求
③ 服务器被动关闭
服务器处理完剩余数据后,发送终止(FIN)包,表示准备关闭
④ 客户端最终确认
客户端收到服务器的FIN后,发送最终确认(ACK),服务器收到后,连接正式关闭
3、TCP流量控制(局部性)
1.TCP利用滑动窗口实现流量控制
2.接收方根据自己接收缓存大小,动态调整发送方的发送窗口大小(接收方用确认报文段将接收窗口大小通知给发送方,发送方的发送窗口取接收窗口和拥塞窗口的最小值)
3.(拥塞窗口由发送方根据所处网络情况设置)
4、TCP拥塞控制(全局性)
拥塞控制的四种算法
①慢开始和拥塞避免
②快重传和快恢复