
课程咨询: 400-996-5531 / 投诉建议: 400-111-8989
认真做教育 专心促就业
tcp协议是目前大多数web前端开发程序员需要熟练掌握的一个编程知识点,而本文我们就通过案例分析来了解一下,tcp协议基础知识分享。
1、源端口号、目标端口号
TCP的报文里是没有源ip和目标ip的,只有源端口号和目标端口号,因为那是IP层协议的事情。
2、序列号
TCP是面向字节流的协议,通过TCP传输的字节流的每个字节都分配了序号,序列号指的是本报文段一个字节的序列号。用来解决网络包乱序问题。
3、确认号
TCP使用确认号来告知对方下一个期望接收的序列号,小于此确认号的所有字节都已经收到。用来解决丢包的问题。
4、窗口字段
发送本报文段的一方的接收窗口的大小,即接收缓存的可用空间大小,这用来表示接收方的接收能力。
这个字段用来控制发送方的数据发送量,这就是所谓的流量控制。
5、检验和字段
用来检查整个TCP报文段在传输过程中是否出现了误码,如果接收方检测到校验和有差错,则该TCP报文段会被直接丢弃。
6、控制位
ACK:确认位,该位为1时,「确认应答」的字段变为有效,TCP规定除了初建立连接时的SYN包之外该位必须设置为1。
SYN:同步标志位,用于TCP“三次握手”建立连接,该位为1时,表示希望建立连接,并在其「序列号」的字段进行序列号初始值的设定。
FIN:终止标志位,该位为1时,表示今后不会再有数据发送,希望断开连接。
三、序列号与确认应答机制
TCP为发送的每个字节都分配了序号,并将每个报文段的一个序号放到部的序列号上,以便接收的一方按照顺序还原。
确认应答机制就是接收方收到TCP报文段后就会返回一个确认应答消息,表示这个序列号以前的数据已经收到。
如果在一定时间内未收到接收方的确认消息,发送方就会意识到消息可能丢失,需要进行重传。
【免责声明】:本内容转载于网络,转载目的在于传递信息。文章内容为作者个人意见,本平台对文中陈述、观点保持中立,不对所包含内容的准确性、可靠性与完整性提供形式地保证。请读者仅作参考。更多内容请加danei456学习了解。欢迎关注“达内在线”参与分销,赚更多好礼。