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软件自动产生的。

  • 相关阅读:
    51 数据中重复的数字
    64 数据流中的中位数
    79. Word Search
    93. Restore IP Addresses
    547. Friend Circles
    Epplus Excel 导入 MSSQL 数据库
    用来更新服务的bat 脚本
    ASP.Net MVC 引用动态 js 脚本
    8、结构的构造器应该显式调用!!!(坑)
    Task 线程重用导致等待!
  • 原文地址:https://www.cnblogs.com/yangang92/p/5341897.html
Copyright © 2011-2022 走看看