TCP建立会话的过程

news/2024/5/18 15:14:00 标签: tcp/ip, udp, http
http://www.w3.org/2000/svg" style="display: none;">

这里写目录标题

    • TCP建立会话的过程
      • 三次握手
        • 第一次
        • 第二次
        • 第三次
      • TCP断开会话4次挥手
        • 第一步
        • 第二步
        • 第三步
          • 第四步
      • TCP确保可靠性的机制
      • IP

TCP建立会话的过程

三次握手

第一次

第一次握手:建立连接时,客户端发送syn包(seq=j)到服务器,并进入SYN_SENT状态,等待服务器确认;SYN:同步序列编号(Synchronize Sequence Numbers)。

第二次

第二次握手:服务器收到syn包,必须确认客户端的SYN(ack=j+1),同时自己也发送一个SYN包(seq=k),即SYN+ACK包,此时服务器进入SYN_RECV状态。

第三次

第三次握手:客户端收到服务器的SYN+ACK包,向服务器发送确认包ACK(ack=k+1),此包发送完毕,客户端和服务器进入ESTABLISHED(TCP连接成功)状态,完成三次握手。
https://img-blog.csdnimg.cn/b22a708cf58b4edb9acaf22eb8f2352c.png" alt="在这里插入图片描述" />

TCP断开会话4次挥手

对于一个已经建立的连接,TCP使用改进的四次握手来释放连接(使用一个带有FIN附加标记的报文段)。TCP关闭连接的步骤如下:

第一步

当主机A的应用程序通知TCP数据已经发送完毕时,TCP向主机B发送一个带有FIN附加标记的报文段(FIN表示英文finish)。

第二步

主机B收到这个FIN报文段之后,并不立即用FIN报文段回复主机A,而是先向主机A发送一个确认序号ACK,同时通知自己相应的应用程序:对方要求关闭连接(先发送ACK的目的是为了防止在这段时间内,对方重传FIN报文段)。

第三步

主机B的应用程序告诉TCP:我要彻底的关闭连接,TCP向主机A送一个FIN报文段。

第四步

主机A收到这个FIN报文段后,向主机B发送一个ACK表示连接彻底释放。

TCP确保可靠性的机制

  1. 确认机制
  2. 重传机制
  3. 排序机制
  4. 流控机制
    滑动窗口机制

IP

https://img-blog.csdnimg.cn/e4c7571ace0044b7b35092b18c4ee5e3.png?x-oss-process=image/watermark,type_ZHJvaWRzYW5zZmFsbGJhY2s,shadow_50,text_Q1NETiBAS25nQm9zcw==,size_20,color_FFFFFF,t_70,g_se,x_16" alt="在这里插入图片描述" />
TTL ---- time to live ---- 数据包每经历一个路由器的转发,TTL值将减一,当TTL值为0师,则该数据包不再被路由器转发,将直接丢弃。

TTL的初始值 ---- 64,128,255

UDP ---- 17
TCP ---- 6
ICMP ---- 1

https://img-blog.csdnimg.cn/3c6988d6ef0e4736bcdb5f39f4d73b11.png" alt="在这里插入图片描述" />

https://img-blog.csdnimg.cn/4058a13106d947699a37ec18872d1337.png?x-oss-process=image/watermark,type_ZHJvaWRzYW5zZmFsbGJhY2s,shadow_50,text_Q1NETiBAS25nQm9zcw==,size_20,color_FFFFFF,t_70,g_se,x_16" alt="在这里插入图片描述" />

MTU ---- 最大传输单元 ---- 1500字节
最大段长度 ---- MSS ---- 1460字节

IP分片


http://www.niftyadmin.cn/n/609766.html

相关文章

ARP协议详解 ------- 一看就懂

ARP协议详解什么是ARP?ARP的作用ARP工作流程抓包分析ARP请求报文ARP应答报文ARP表动态ARP表静态ARP表免费ARP免费ARP的作用有:(1) 一个主机可以通过它来确定另一个主机是否设置了相同的 IP地址。(2)更新其他主机高速缓存中旧的硬件地址信息。(3)网关利用…

linux下Tomcat 5.0.20 与 Apache 2 安装/集成/配置

linux下Tomcat 5.0.20 与 Apache 2 安装/集成/配置 写在前面官方网站http://jakarta.apache.org/tomcat/connectors-doc/2004/11/15/已经宣布不再继续开发jk2了。原因是jk2的安装配置复杂,难以引起开发者的兴趣。(作者注:注意并非说jk2有什么致命的漏洞&#xff0…

网络划分实操

网络划分实操步骤 1、ip划分2、拓扑规划图:3、 先配置各个路由器的**接口IP** 和创建**环回接口**4、 配置静态路由5、 配置空接口,避免出现环路6、 设置静态路由优先级7、最后ping网,看是否畅通1、ip划分 192.168.1.0000 0000 /24 需要5个…

大数据量下的分页 (转载)

? 专栏作品大数据量下的分页http://www.microsoft.com/china/community/Column/49.mspx郭红俊?对于非常大的数据模型而言,分页检索时,每次都加载整个数据源非常浪费。通常的选择是检索页面大小的块区的数据,而非检索所有的数据,…

动态路由配置 ---- RIP

这里写目录标题1. 静态路由 :由网络管理员手工添加的路由2. 动态路由 :所有路由器上运行相同的路由协议,之后,通过路由器之间的沟通,交流,最终计算机生成的路由条目。3、总结Bellman-ford 算法RIP的版本RIP…

Windows NT Session 概念的原理与应用浅析 [1] 遍历并获取信息 [草稿]

来自:http://www.cnblogs.com/flier/ 我在上一篇文章《DACL, NULL or not NULL》中曾简要地介绍了 Windows 系统中 Session 的概念,并且通过一个自己编写的小工具 KeSession 列出当前系统 Session 信息。本文中我将就遍历并获取当前系统 Session 信息的方法进行详细…

实现Java与C语言接口

第一步&#xff1a;声明本地变量 <CCID_NOBR> <CCID_CODE>例如&#xff1a;class NativeHello{ public native void nativeHelloWorld(); static{ System.loodlibrary("nativeTest");//调用nativeTest.dll库文件 } &#xff5d;</CCID_CODE> <…

网上邻居的内幕-关于NETBIOS理清楚概念的文章

有关网上邻居的问题&#xff0c;问的人一直比较多&#xff0c;在理解上存在的误区也普遍较为严重。鉴于Microsoft的NETBIOS文档不是很细致&#xff0c;我四处收集了一些相关资料加上自己的实践经验写了这个系列&#xff0c;希望能对大家有所帮助&#xff0e;  本来想为了增加可…