计算机网络【第五章-传输层】

目录

一、传输层概述

传输层的寻址与端口

二、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拥塞控制(全局性)

拥塞控制的四种算法

①慢开始和拥塞避免

②快重传和快恢复

三、UDP协议

UDP数据报格式

相关推荐
焦思懿--19期--工职大4 小时前
VMWare和物理机之间文件传输
linux·服务器·网络·电脑
爱偷懒的。。4 小时前
基于 WebSocket 协议的实时弹幕通信机制分析-抖音
网络·python·websocket·网络协议·学习·js
心.c6 小时前
深入理解HTTP协议的本质
网络·网络协议·http
国科安芯6 小时前
核辐射检测仪中的抗辐照MCU芯片应用探索与挑战应对
网络·人工智能·单片机·嵌入式硬件·安全·fpga开发
不吃鱼的羊6 小时前
Communication Stack简介
网络
手握风云-6 小时前
JavaEE 初阶第二十八期:HTTP协议深度揭秘(二)
网络·网络协议·http
C嘎嘎嵌入式开发7 小时前
(5)100天python从入门到拿捏------流程控制语句
服务器·网络·python
DeafReady7 小时前
SRC漏洞挖以及掘提交平台
网络·安全
Jul1en_7 小时前
HTTP初识
网络·网络协议·http