网络协议学习

八.网络协议学习笔记 传输层

2021-07-04  本文已影响0人  crazyfox

传输层(Transport)

传输层有2个协议

TCP(Transmission Control Protocol)传输控制协议

UDP(User Datagram Protocol)用户数据报协议

###                        TCP                                     UDP

连接性                   面向连接                                     无连接

可靠性           可靠传输,不丢包                                 不可靠,尽力交付,可能丢包

首部占有空间           大                                             小

传输速率              慢                                                快

资源消耗               大                                              小

应用场景         浏览器,文件,邮件                                   音视频通话,直播

应用层协议         HTTP,HTTPS,FTP,SMTP,DNS                                DNS

UDP-数据格式

###

UDP长度(Length)

16位,首部长度+数据长度

UDP-检验和(Checksum)

检验和计算内容:伪首部+首部+数据

伪首部:仅在计算检验和时起作用,不会传给网络层

image.jpeg

端口(Port)

UDP首部中端口占2字节

端口号取值返回0-65535

TCP-数据格式

image.jpeg

数据偏移:

占4位,取值范围0x0101-0x1111

乘以4:首部长度(Header Length)

首部长度20-60字节

保留:

占6位

TCP-一个细节

UDP首部有16位的字段记录了UDP报文的长度(首部+数据)

TCP首部有4位的字段记录了TCP报文段段首部长度

传输层的数据长度=网络层的总长度-网络层的首部长度-传输层的首部长度

TCP-检验和(Checksum)

跟UDP一样,TCP检验和的计算内容:伪首部+首部+数据

伪首部:占用12字节,仅在计算检验和时起作用,不会传给网络层

TCP-标志位(Flags)

1.URG(Urgent)

URG=1,紧急指针字段才有效,表明报文有紧急数据,应尽快传输

2.ACK(Acknowledgment)

ACK=1,确认号字段才有效

3.PSH(Push)

4.RST(Reset)

当RST=1,表明连接出错,必须释放,重新连接

5.SYN(Synchronization)

当SYN=1,ACK=0,表明这是建立连接的请求

对方同意连接,返回SYN=1,ACK=1

6.FIN(Finish)

FIN=1,表明数据发送完毕,要求释放连接

TCP-序号,确认号,窗口

序号(Sequence Number)

占4字节

首先,传输过程中每个字节都有一个编号

建立连接后,序号代表:这一次传给对方的TCP数据部分的第一个字节的编号

确认号(Acknowledgment Number)

占4字节

建立连接后,确认号代表:期望对方下次传过来的TCP数据部分的第一个字节的编号

窗口(Window)

占2字节

这个字段有流量控制功能,告知对方下一次允许发送的数据大小

上一篇 下一篇

猜你喜欢

热点阅读