一、传输层协议: TCP UDP
传输层是提供端口号到端口号的链接
网络层是提供点到点的链接(点指路由器)
TCP传输控制协议: 面向连接可靠的协议,但传输速度慢;
UDP用户数据报协议:面向非连接不可靠的协议,但传输速度快;
TCP报头封装格式
源端口号(16) 目标端口号(16) 4字节
序列号(32) 4字节
确认号(32) 4字节
首部长度(4) 保留位(6)六大控制位(SYN,ACK,RST,FIN,URG,PSH,)(6) 端口大小(16) 4字节
校验和(16) 紧急指针(16) 4字节
可选项
数据
源端口号:发送端主机的端口号
目标端口号:接收端主机的端口号
序列号:TCP数据报的编号
确认号:接收方主机对发送方报文的确认编号,(发送方的序列号+1)
首部长度:TCP数据报的长度(20-60字节)
保留位:
控制位: SYN=1 发起连接
ACK=1 确认连接
FIN=1 中断连接
RST=1 重置链接
URG=1 开启紧急指针
PSH=1 开启数据缓冲
窗口大小:发送数据前,双方协商每次发送数据的大小
校验和:提供校验
紧急指针:优先级发送
可选项:备注(0-40字节)
二、TCP建立的三次握手和断开的四次挥手:
TCP的三次握手(序列号:seq)
主机A 主机B
第一次 序列号100,SYN=1
第二次 确认:确认号:101,ACK=1
请求:序列号300,SYN=1
第三次 序列号101,确认号=301,控制位=1
TCP的四次分手
主机A 主机B
第一次 序列号:100,FIN=1,ACK=1
第二次 序列号:300,确认号101,ACK=1
第三次 序列号:300,确认号101,FIN=1,ACK=1
第四次 序列号:101,确认号301,ACK=1
TCP的计时器
1、TCP的重传计时器:发送数据后开启重传计时器(时间为60s),如果时间内没有收到接收方的确认报文,则重传数据;
2、TCP保活计时器:客户端跟服务器建立好链接后,服务器会开启时间为2小时的保活计时器,在两小时内如果客户端没
有任何活动,服务器会每隔75秒给客户发送一个探测数据段,发送10个,如果客户端还是没有任何活动则断开链接;
3、TCP的时间等待计时器:客户机发送完最后一次分手报文后,开启一个时间等待计时器,时间不固定,在此时间内,
如果没有再次收到对方的分手报文,则断开链接。
基于TCP的应用层协议:FTP(21)、Telnet(23)、DNS(53)、HTTP(80)。
UDP(用户数据报协议)的封装格式
源端口号(16) 目标端口号(16) 4字节
UDP长度(16) UDP校验和(16) 4字节
数据
基于UDP的应用层协议:TFTP(69)、NTP(123)、DNS(53)、RPC(111)。