tcp协议不建立连接服务器,研究下,TCP协议的连接建立过程和释放过程,它不香吗...

什么是以太网

以太网是属于计算机网络技术,它适用于局域网中,它的数据包是固定的,一般定为1522个字节,头信息包含22个字节,body体是1522个字节,这个body体包含ip数据包的头信息和体信息,分别是20字节和1480字节,tcp数据包又在ip包里,头信息和体信息分别是20字节和1460,一般tcp负载差不多是1400。

ac13c1279203adc3251c3123518a31a6.png

Tcp协议是什么

想实现互联网,必须是不同计算机之间能够通信,而ip和mac地址是每台计算机对外通信的唯一标志。Tcp就是基于IP的可靠性,面向连接的传输层协议。

f2475a32a34ce2d89e71cc086cf79cd4.png

七层协议包括应用层,表示层,会话层,传输层,网络层,数据链路层,物理层。而网络传输层就是保证可靠性传输的一层。这里存在多路复用和解复用技术,负载控制流量和决定是否阻塞。

a183127b296a8367cacea2aa67082f4d.png

传输层负责不同进程或者不同服务之间,不同计算机之间进行之间的通信,它又一个特点,就是底层的网络层如果不可靠,该层也能保证可靠,它通过端口号进行寻址,因为端口号标志计算机上应用进程。

9627d6bb906f8100697ce030cb60f86c.png

握手

Tcp的建立是建立在家喻户晓的三次握手之上的

0f78cf95c37fb81559a165097820ec7c.png

从途中可以看出客户端是主动的,服务端是被动的,客户端打开链接,开始建立连接时,两端都会建立个TCB的控制模板,接着服务端会进入到监听状态,客户端发送同步位syn和序号seq。服务端收到这个数据包后,判断自己是否有资源给服务器,有资源的情况下发送给客户端可以连接,返回报文,syn=1,序号变成服务器的序号seq=y,并新增ack标志位为客户端序号加一。然后客户端收到这个数据包后,返回给服务器一个确认报文,seq=x+1,ack=y+1这个报文发送过去就缺点给了建立状态。

挥手

Tcp规定了双端验证的一个四次挥手策略

074c0ad05e44b5352c36b36d56cfba4b.png

断开也是客户端主动发起,发送一个同步位FIN为1和一个序列号为u。

服务端接收到请求后发送同步位ACK给客户端,Acknowledge信息为客户端传的u的基础上加1,自己设置个序列号v。

f9ac83856c6cdab700856b8cb344e44b.png

服务端发送一个FIN给客户端,ACK置为1,Sequence置为w,Acknowledge置为u+1,用来关闭服务端到客户端的数据传送。

客户端接收到后,同样发送ack给服务端,Acknowledge设置成w+1,序列号我也要改下,改成u+1,打包给服务端。

dc06581a3006414163b2083eb6090e84.png

客户端收到FIN后,进入TIME_WAIT状态,接着发送一个ACK给服务端,Acknowledge置为w+1,Sequence Number置为u+1,最后客户端和服务端都进入CLOSED状态,服务端客户端此连接close。

三次握手和四次挥手是保证两端互相获取对方信息的最小单位,保证应用层接收到的数据不会因为网络上的传输的问题而乱序,全双工机制采用四次挥手。

举报/反馈

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值