zoukankan      html  css  js  c++  java
  • TCP/IP学习笔记(二):TCP连接的建立与终止

    TCP连接的三次握手:

    (1)请求短发送一个SYN段指明客户打算连接的服务器的端口,以及初始序号ISN(1415535521),报文段中SYN=1;TCP规定:SYN报文段不能携带数据,但是要消耗一个序号。

    (2)服务器发回包含服务器初始序号的SYN报文段作为应答(SYN=1  ACK=1)。设置确定序号为客户端设置的ISN加1(1415531522),以表示对客户端的SYN报文进行确认,同时为自己选一个初始序号(1823083521),这个报文段同样不能携带数据,但要消耗一个序号。

    (3)客户端必须将确定序号设置为服务器的ISN加1(1823083522)以对服务器的SYN报文进行确认,报文中ACK=1,可以携带数据,如果不携带数据,则不消耗数据,下一个发送报文段的序号仍然是(1415531522),这时,TCP已经建立。

    TCP连接终止的四次握手:

    由于TCP的半关闭,终止一个TCP连接需要四次握手:

    (1)客户端发送一个FIN,关闭客户端到服务器的数据传送

    (2)服务器收到这个FIN,它发回ACK,确认序号为收到的序号加1(1415531523,一个FIN将占用一个序号),TCP服务器还向应用程序传送一个文件结束符

    (3)服务器端发送一个FIN,接着服务器程序就关闭连接

    (4)客户端收到服务器端的FIN后,必须发回一个ACK,将确认序号置为收到序号加1(1823083523)

    值得注意的是:发送FIN将导致应用程序关闭它们的连接,这些FIN的ACK是由TCP软件自动产生的。

  • 相关阅读:
    十一、GUI设计-记事本程序
    十、GUI编程
    OSI七层模型中各层的数据名称
    使用了frame的页面如何整体进行跳转,而不是仅frame跳转
    MySQL脏读、不可重复读、幻读
    博客园后台搜索自己的博客
    完整的ELK+filebeat+kafka笔记
    InnoDB引擎中的索引与算法
    Docker pull下载出现 error pulling image configuration:
    多台服务器通过docker搭建ELK集群
  • 原文地址:https://www.cnblogs.com/yangang92/p/5341897.html
Copyright © 2011-2022 走看看