您当前的位置: 首页 > 

星夜孤帆

暂无认证

  • 2浏览

    0关注

    626博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

TCP三次握手与四次挥手

星夜孤帆 发布时间:2021-09-10 09:30:11 ,浏览量:2

一、TCP报文格式

TCP(Transmission Control Protocol)传输控制协议是一种面向连接的、可靠的、基于字节流的传输层协议。

TCP首部承载这TCP协议需要的各项信息,下面我们来分析一下:

  • TCP端口号 TCP的连接是需要四个要素确定唯一一个连接:(源IP,源端口号)+ (目地IP,目的端口号) 所以TCP首部预留了两个16位作为端口号的存储,而IP地址由上一层IP协议负责传递 源端口号和目地端口各占16位两个字节,也就是端口的范围是2^16=65535 另外1024以下是系统保留的,从1024-65535是用户使用的端口范围

  • TCP的序号和确认号:32位序号 seq:Sequence number 缩写seq ,TCP通信过程中某一个传输方向上的字节流的每个字节的序号,通过这个来确认发送的数据有序,比如现在序列号为1000,发送了1000,下一个序列号就是2000。32位确认号 ack:Acknowledge number 缩写ack,TCP对上一次seq序号做出的确认号,用来响应TCP报文段,给收到的TCP报文段的序号seq加1。

  • TCP的标志位 每个TCP段都有一个目的,这是借助于TCP标志位选项来确定的,允许发送方或接收方指定哪些标志应该被使用,以便段被另一端正确处理。 用的最广泛的标志是 SYN,ACK 和 FIN,用于建立连接,确认成功的段传输,最后终止连接。

    1. SYN:简写为S,同步标志位,用于建立会话连接,同步序列号;
    2. ACK: 简写为.,确认标志位,对已接收的数据包进行确认;
    3. FIN: 简写为F,完成标志位,表示我已经没有数据要发送了,即将关闭连接;
    4. PSH:简写为P,推送标志位,表示该数据包被对方接收后应立即交给上层应用,而不在缓冲区排队;
    5. RST:简写为R,重置标志位,用于连接复位、拒绝错误和非法的数据包;
    6. URG:简写为U,紧急标志位,表示数据包的紧急指针域有效,用来保证连接不被阻断,并督促中间设备尽快处理;

TCP报文格式、TCP三次握手、四次挥手

二、 三次握手

三次握手,为什么要三次握手,两次握手不行吗?

TCP/IP协议是传输层的一个面向连接的安全可靠的传输协议,三次握手的机制是为了保证能建立一个安全可靠的连接。

第一次握手由客户端发起,客户端会向服务端发送一段报文,在报文里面SYN位标志位是置1的,当服务端收到这段报文之后,就知道客户端要给我发起一段新的连接,于是,服务端就向客户端发起一个确认消息包,这个消息包里面ACK位置1。

以上两次握手之后,对于客户端而言,已经知道了所有的信息,我既能给服务端发消息,我还能收到服务端的消息,但是,对于服务端而言,两次握手是不够的,因为到目前为止,服务端只知道一件事情,就是客户端给我的消息,我能收到,但是,我发给客户端的消息,客户端能不能收到不知道。

所以,还需要进行第三次握手。第三次握手就是,当客户端收到服务端,发过来的确认消息的报文之后,还要继续给服务端一个回应,也是一个ACK位置1的确认消息。通过以上三次握手,不管是服务端还是客户端,都彼此知道了,我既能给对方发消息,也能够收到对方的消息,那么这个连接就可以被安全的建立了。

三、四次挥手

为什么要进行四次挥手?

四次挥手也是由客户端首先发起的,客户端会发起一段报文,在报文里面,FIN位标志位置1,当服务端收到这段报文之后,我就知道了客户端想要跟我断开连接,

但是,此时,服务端不一定能做好准备,因为当客户端发起断开连接的消息的时候,对于服务端而言,它极有可能还有未发送完的消息需要继续发送,

所以,此时对于服务端而言,只能进行消息确认,我先告诉客户端,我知道你要跟我断开连接了,但是,我这边还没有做好准备,你先等我一下,等会我会告诉你。

发我消息确认包之后,可能稍过片刻,它就会发送一个FIN位,置1的断开连接的报文,是由服务端发送给客户端的,这个报文表示了,服务端已经做好了断开连接的准备,

当这个报文发送给客户端的时候,客户端同样要给服务端发送一个ACK位置1的消息确认的报文。

一共有四次,通过这四次的相互沟通和连接,我就知道了不管是服务端,还是客户端都已经做好了断开连接的准备,于是连接就可以被断开了。

这是我对三次握手和四次挥手的一个理解。

视频教程、视频教程

关注
打赏
1636984416
查看更多评论
立即登录/注册

微信扫码登录

0.3263s