ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

传输层协议

2021-11-09 14:02:16  阅读:186  来源: 互联网

标签:协议 字节 报文 TCP 发送 序号 传输层 连接


一:传输层TCP协议及报文结构
TCP是一种面向连接的、可靠的、面向字节的传输层通信协议,在IP报文中的协议号为6。一般用于对可靠性要求较高的应用。
在这里插入图片描述
① 源端口和目的端口:是传输层与应用层的服务接口。
② 序号:TCP连接传送的数据流中的每一个字节都被编上一个序号。首部中序号字段的值指的是本报文段所发送的数据的第一个字节的序号。
③ 确认号:是期望收到对方下一个报文段的数据的第一个字节的序
④ 数据偏移:它指出报文段的数据起始处距离TCP报文段的起始处有多远。实际上就是TCP报文段首部的长度。
⑤ 保留:保留为今后使用。一般设置为0。
⑥ 控制位:URG ACK PSH RST SYN FIN,共6个,每一个标志位表示一个控制功能。
URG:紧急指针标志,系统报文段中有紧急数据应尽快传送。
ACK:确认序号标志
PSH:尽快的将其交付给接收应用进程,而不再等到整个接收缓存都填满后再向上交付
RST:重置连接标志,表明TCP连接中出现严重差错,必须释放连接。复位比特还用来拒绝一个非法的报文段或拒绝打开一个连接。
SYN:表示这是一个连接请求或连接接收报文。
FIN:当FIN=1时,表明此报文段的发送端的数据已发送完毕,并要求释放传输连接。

(3)千兆以太网
LLC子层使用802.2标准,MAC子层使用802.3标准,物理层标准中最小帧长512B,最大帧长1518B。
物理层常用介质:
① 1000 Base-LX:多模光纤半双工时光纤最大长度316m,全双工时光纤最大长度550m,单模光纤时半双工时光纤最大长度316m,全双工时光纤最大长度5000m,8B/10B编码。
② 1000 Base-SX:62.5μm多模光纤半双工和全双时工光纤最大长度均为275m,50μm多模光纤时,半双工和全双工时光纤最大长度均为
550m,8B/10B编码。
③ 1000 Base-CX:特殊的屏蔽双绞线,半双工时双绞线最大长度25m,全双工时双绞线最大长度50m,8B/10B编码。
④ 1000 Base-T:4对5类非屏蔽双绞线,全双工双时绞线最大长度100m,PAM5编码。
⑦窗口:滑动窗口大小,用来控制对方发送的数据量,单位是字节,指明对方发送窗口的上限。窗口大小是一个16bit字段,因而窗口大小
最大为65535。
⑧ 校验和:奇偶校验,校验的范围包括首部和数据两个部分,计算校验和时需要在报文段前加上12字节的伪首部。
⑨ 紧急指针:指出本报文段中紧急数据最后一个字节的序号。
⑩ 选项和填充:最常见的可选字段是最长报文大小,又称为MSS,它表示本端所能接受的最大报文段的长度。通过填充位,保证TCP头是32的整数倍。

二:TCP握手
在这里插入图片描述
三:TCP连接状态
(1)CLOSED:关闭状态,没有连接
(2)LISTEN:侦听并等待对端的TCP连接请求
(3)SYN-SENT:发送SYN连接请求后,等待对端回复SYN请求
(4)SYN-RECEIVED:收到来自对端的SYN请求,并回复SYN请求后,等待对端响应SYN请求的ACK消息
(5)ESTABLISHED:代表连接建立,双方在这个状态下进行TCP数据交互
(6)CLOSE-WAIT:等待本地用户(进程)发送FIN关闭请求给对端
(7)CLOSING:双方同时发送FIN关闭请求时,会进入CLOSING状态,等待对端发送FIN报文的响应ACK消息
(8)TIME-WAIT:该状态是为了确保对端收到了FIN请求的ACK响应。-----被动关闭

四:TCP四大机制
(1)流量控制机制
使用滑动窗口机制实现,窗口最大为65535。发送方的发送窗口不能超过接收方给出的接收窗口的数值。窗口单位是字节,不是报文段。发送方根据接收方通知自己可以接收数据的大小来调整自己的发送窗口大小,如果发送方收到接收方的窗口大小为0的TCP数据报,那么发送方将停止发送数据,等到接收方发送窗口大小不为0的数据报的到来。TCP最基本的传输可靠性来源于确认重传机制,TCP的滑动窗口机制也是建立在确认重传基础上的。

(2)拥塞控制机制
拥塞控制机制主要在网络的传输层,包括慢启动和拥塞避免。TCP刚建立连接时将拥塞窗口cwnd设为1个报文大小,收到接收方TCP返回的ACK报文,以2的n次方式放大拥塞窗口,直到拥塞窗口cwnd大于等于慢启动阈值ssthresh,则进入拥塞避免阶段,TCP采用线性增加方式放大拥塞窗口,直到发送超时,慢启动阈值会减半到超时时窗口大小的一半,后面重复步骤。
在这里插入图片描述
(3)字节编号确认机制
TCP是面向字节的。TCP将所要传送的报文看成是字节组成的数据流,并使每一个字节对应于一个序号。在连接建立时,双方要商定初始序号。TCP每次发送的报文段的首部中的序号字段数值表示该报文段中的数据部分的第一个字节的序号。TCP的确认是对接收到的报文段的最高序号表示确认,接收端返回的确认号是已收到的最高序号加1,因此确认号表示接收端期望下次收到的报文段中的第一个数据字节的序号。例如,主机A发送的当前数据序号是400,数据长度是100,则接收端收到后会返回一个确认号是501的确认号给主机A。

(4)重传机制
①停等ARQ
当数据包没有成功被接收点接收时候,接收点不会发送ACK。这样发送点在等待一定时间后,重新发送数据包。
②连续ARQ协议
连续发送一组数据包,然后再等待这些数据包的ACK。
③回退n帧的ARQ
当发送方接收到接收方的状态报告指示报文出错后,回退到出错的数据包,重新发送错误帧及之后所有数据包。
④选择重传ARQ
发送端只重新发送没有ACK的数据包。

五:传输层UDP协议及报文结构
UDP是一种无面向连接、不可靠的、面向字节的传输层通信协议,主机不需维持连接状态,不会降低发送速率。在IP报文中的协议号为17。一般多用于不需要确认机制可靠机制,而是只关心传输效率,UDP的可靠性由应用层来提供。校验和字段为非强制字段。
在这里插入图片描述
六:常用端口号
TCP 20:FTP数据端口
TCP 21:FTP连接端口
TCP 22:安全的SSH服务
TCP 23:telnet服务
TCP 25:简单邮件传输协议SMTP
TCP 80:超文本传输协议HTTP
TCP 110:邮局协议pop3
TCP 161:简单网络管理协议SNMP
TCP 179:边界网关协议BGP
TCP 363:RSVP预留协议隧道
TCP 443:安全的超文本传输协议HTTPs
UDP 53:DNS服务
UDP 67:DHCP服务
UDP 161:简单网络管理协议SNMP
UDP 162:SNMP trap
UDP 520:RIP协议

标签:协议,字节,报文,TCP,发送,序号,传输层,连接
来源: https://blog.csdn.net/weixin_43094619/article/details/121226326

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有