tcp是什么,tcp协议详解
计算机网络在IT行业的重要性
IT即互联网技术,从事的工作和网络有很大的关系,前端要负责和后台(服务器)进行交互,其必然得经过网络,所以懂点网络知识有很大的帮助。
网络模型数据处理过程
传输层协议的作用
提供了一种端到端(end to end)的连接,一般为前端和后台服务器的连接
由于网络层只管传递数据,并不关心成功与否,TCP协议在数据丢失、损坏的情况下保证数据的可靠性
传输层协议的分类
传输控制协议TCP(Transimision Control Protocal):
可靠的、面向连接的协议
传输效率低
用户数据报协议UDP(User Datagram Protocal):
不可靠的、无连接的服务
传输效率高
TCP
TCP的功能
为了保证TCP是可靠的、面向连接的协议,具备以下功能:
将数据进行分段打包传输,如果不将数据分段打包传输,那么会导致每次传输的数据特别大,而带宽是一定的,所以很容易造成拥塞。想象一下,一辆火车跑在公路上的感觉。
对每个数据包编号控制顺序,因为数据进行了分段打包传输,而网络中的路线不止一条,而且某些路线会有延迟的情况,没有编号,那么如何保证到达的数据是原来的模样。想象一下,将一副大拼图从一个地方,分多条路运往另外一个地方,并且没有编号。
运输中丢失、重发和丢弃处理,由于网络中的路线会有延迟,并且存在丢包现象,所以会有重发等机制来保证数据的完整性。
流量控制避免拥塞,避免发送速率过快,让接收方来不及接收,导致发生丢包。
TCP首部
源端口号和目的端口号:用来存放发送端和接收端加上IP协议首部的源端IP及终端IP,确认一个唯一的TCP连接。
32位序号:TCP用序列号对数据包进行标记,以便在到达目的地后重新重装,假设当前的序列号为 s,发送数据长度为l,则下次发送数据时的序列号为s+l。在建立连接时通常由计算机生成一个随机数作为序列号的初始值。
32位确认序号:ACK为1时有效,上次成功收到的数据字节序号+1(如接收到的为1024--2048,则返回2049),也是下一次发送端要发送数据的序列号。4位首部长度:TCP 首部的长度,单位为 4 字节。如果没有可选字段,那么这里的值就是 5。表示TCP首部的长度为 20 字节。
6个保留位:
URG => 紧急指针;
ACK => 为1表示确认序号有效;
本文地址:百科问答频道 https://www.neebe.cn/wenda/938567.html,易企推百科一个免费的知识分享平台,本站部分文章来网络分享,本着互联网分享的精神,如有涉及到您的权益,请联系我们删除,谢谢!