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

目录

一、传输层概述

传输层的寻址与端口

二、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数据报格式

相关推荐
zyu6710 小时前
03-Docker存储和网络
网络·docker·容器
Arciab11 小时前
51单片机_LCD1602液晶显示
网络·嵌入式硬件·51单片机
DX_水位流量监测12 小时前
大坝安全监测之渗流渗压位移监测设备技术解析
大数据·运维·服务器·网络·人工智能·安全
电商API&Tina12 小时前
京东 API 数据采集接口接入与行业分析
运维·服务器·网络·数据库·django·php
童话的守望者13 小时前
dc8靶场通关
网络
寂寞恋上夜13 小时前
异步任务怎么设计:轮询/WebSocket/回调(附PRD写法)
网络·人工智能·websocket·网络协议·markdown转xmind·deepseek思维导图
Tao____13 小时前
基于Ruoyi开发的IOT物联网平台
java·网络·物联网·mqtt·网络协议
chao_66666614 小时前
解决 PowerShell 中文乱码问题
网络·学习·powershell
喵了meme15 小时前
Linux学习日记24:Linux网络编程基础
linux·网络·学习
Yan-英杰15 小时前
BoostKit OmniAdaptor 源码深度解析
网络·人工智能·网络协议·tcp/ip·http