第五章 传输层 计算机网络(王道考研)

第五章 传输层 计算机网络(王道考研)

概述

功能

TCP vs UDP

寻址与端口

常用端口

Socket

两个socket组成一个TCP连接

复用与分用

复用:上层向下层发送数据
分用:接受下层返回的数据

UDP协议

UDP首部格式

UDP校验

TCP协议特点和报文段格式

特点

TCP报文段首部格式

控制位

我的理解

URG 赶紧发送,优先级最高

ACK 确认位 连接建立设置为1,确认号有效是为1,要先请求一次返回才能带这个ACK=1

PSH 赶紧接受,给上层应用处理,不用等缓存满了再来。
RST 连接出现问题
SYN 同步 连接请求和连接确认的情况
FIN 借宿位

窗口

紧急指针
紧急数据的字节数(另外有普通数据)

填充是全部0填充

TCP连接管理

TCP连接建立

三次握手

SYN洪泛攻击

不进行第三次握手,导致TCP连接处于半连接状态,服务器也会因为收不到客户端返回的确认,也会不断重复发送ACK给客户端,不断消耗服务器的资源,导致服务器的CPU和内存,导致死机。
方法:设置SYN cookie

TCP连接释放

四次握手

FIN字段是结束连接时的结束请求和结束确认
第四次挥手的等待2MSL是为了最后的报文段能传到服务器端,如果丢失可以重传

TCP可靠传输

确认

可以单独发送确认报文段,或者是包含在其他报文段一起发送

TCP使用累计确认,按照缓存中第一个欠缺的报文段来发出缺少的报文段,进行重传。

重传

超时重传

重传时间

快速重传

等太久了!

TCP流量控制

发送窗口

等待接收方的确认,从而窗口才会移动,窗口的长度会根据服务器端的请求进行更改,窗口长度为0时,发送端不能发送数据
可能会发生类似死锁的情况,互相等待。

解决方法
可以定时发送给接受端,让接受端重新发送一个新的发送窗口大小。

TCP拥塞控制

阻塞窗口(类似于高速路的收费站,限制车重)可以理解成是每个TCP发送数据都要经过的地方,发送窗口的大小取阻塞窗口和接受窗口的最小值。

塞车情况


拥塞控制针对于多个发送方的情况

拥塞控制算法

满开始和阻塞避免

不断轮回的

MSS最大报文段长度

ssthresh 慢启动阀值

快重传和快恢复

冗余ACK发生时,就开始进行快恢复

传输层总结

原文地址:https://www.cnblogs.com/linzworld/p/13233044.html