2)TCP把连接作为最基本的抽象,每条TCP连接有两个端点,TCP连接的端点不是主机,不是主机的IP地址,不是应用进程,也不是传输层的协议端口 。TCP连接的端口称为字节或插口 。端口拼接到IP地址及构成字节,每条IPTCP连接唯一地被通信两端的两个端点,确定TCP连接的建立 。采用客户或者是服务器方式,主动发起连接建立的应用进程称为客户机,而被动等待连接建立的应用进程称为服务器.
文章插图
TCP的建立(三次握手):
第一步,客户机的TCP,首先向服务器的TCP发送一个连接请求报文段,这个特殊的报文段中不含应用层数据,其首部中的SYN标志位被置为1 。另外,客户机会随机选择一个起始序号.
第二步,服务器的TCP收到连接请求报文段后,如同意建立连接,就向客户机发回确认,并为该TCP连接分配TCP缓存和变量 。在确认报文段中,SYN ACK(确认帧)位都被置为1(说明现在是有效的),确认号字段的值为X 1,并且服务器随机产生起始序号确认报文段不同样,不包含应用层数据
第三步,当客户机收到确认报文段后,还要向服务器给出确认,并且要给该链接分配缓存创载网和变量 。这个报文段ACK标志位被置为1 。该报文段可以携带数据,若不携带数据,则不创载网消耗序号 。
成功进行以上三步后就建立了TCP连接,接下来就可以传送应用层数据 。TCP供的是全双工通行,因此,通信双方的应用进程在任何时候都能发送数据 。另外值得注意的是,服务器端的资源是在完成第二次握手时分配的,而客户端的资源是在完成,第三次握手是分配的,这就使得服务器易于受到SYN泛洪攻击.
文章插图
TCP连接的释放(第4次握手)
参与TCP连接的两个进程中的任何一个都能终止该连接 。TCP连接释放的过程通常称为四次握手
第一步,客户机打算关闭连接时,向TCP发送一个连接,释放报文段并停止发送数据,主动关闭TCP连接该报文段的FIN位置 。被置为1,等于前面已传送过的数据的最后一个字节的序号 1 TCP是全双工的,既可以想象为一条TCP连接上有两条数据通路 。发送FIN报文时,发送FIN的一端不能再发送数据及关闭了其中一条数据通路,但对方还可以发送数据
第二步,服务器收到连接释放报文段后即发出确认,而这个报文段自己的序号,使V等于它前面已传送过的数据的最后一个字节的序号加一 。此时,从客户机到服务器这个方向的连接就释放了 。TCP连接处于半关闭状态,但服务器若发送数据,客户机仍要接收及从服务器到客户机这个方向的链接,并未关闭
第三步,若服务器已经没有要向客户机发送的数据,就通知TCP释放连接,此时其发出FIN=1的连接,释放报文段.
第四步,客户机收到连接,释放报文段后必须发出确认,再确认报文段中ACK字段被置为1 。此时TCP连接还未释放,必须经过时间等待计时器设置的时间,2MSL才可以进入连接关闭状态.
文章插图
TCP可靠传输
TCP的任务是在IP层不可靠的尽力而为服务的基础上建立一种可靠数据传输服务 。TCP供的可靠数据传输服务,保证接收方进程,从缓冲区读出的字节流与发送方发出的字节流完全一样,TCP使用了校验 ,序号 ,确认和重传等机制来达到这一目的 。其中TCP的校验机制与UDP校验一样
有两件事会导致TCP对报文段进行重传超时和冗余ACK.
以上关于本文的内容,仅作参考!温馨提示:如遇健康、疾病相关的问题,请您及时就医或请专业人士给予相关指导!
「四川龙网」www.sichuanlong.com小编还为您精选了以下内容,希望对您有所帮助:- 中国传统文化有哪些 传统文化的内容有哪些
- 血糖高的不吃的6种水果 低糖水果有哪些
- 驾车的交通规则 驾车的交通规则有哪些
- 中午炒的菜晚上吃算不算剩菜 中午炒的菜晚上吃算剩菜吗
- 阿胶怎么保存 怎么保存阿胶
- 牙膏怎么选 挑选合适的牙膏技巧
- 新冠疫苗接种需要注意什么 新冠疫苗接种的注意事项
- 怎么保存虾 鲜虾的保存方法
- 上班簇健身的绝好时机
- 显露你的男儿本色