八.网络协议学习笔记 传输层
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字节
这个字段有流量控制功能,告知对方下一次允许发送的数据大小