| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 网络协议 -> 计算机网络——三次握手,四次挥手 -> 正文阅读 |
|
[网络协议]计算机网络——三次握手,四次挥手 |
目录 一、认识常用的序号和标识位(1)序号:seq,用来标识从TCP源端向目的端发送的字节流,发起方发送数据时对此进行标记。 (2)确认序号:ack序号,占32位,只有ACK标志位为1时,确认序号字段才有效,ack=seq+1。 (3)标识位: ????????ACK:确认序号有效 ? ? ? ?SYN:发起一个新连接。 二、TCP连接建立(三次握手)1、三次握手过程
在本例中A运行的为TCP客户程序,B运行的为TCP服务器程序,A属于主动打开连接,B属于被动打开连接 第一次发送消息:A向B发送请求报文段,A随机选取一个初始序号(seq=x)并将同步位SYN置为1,发送之后,TCP客户进入SYN-SENT(同步已发送状态) 第二次发送消息:当B服务器收到来自A的请求报文段后,若同意建立连接,则向A发送确认,因为B已经收到序列号为x的数据包,B准备接受序列号为x+1的包,所以ack=x+1。同时B告诉A自己的初始序列号:seq = y,并将SYN,ACK都置为1,B发送确认消息后,进入SYN-RCVD(同步收到状态) 第三次发送消息:当A客户进程收到B的确认消息后,还要向B发送确认告诉B已经收到了它发来的确认信息并准备建立连接,A自己这条消息的序列号是x+1,所以seq=x+1, 而ack=y+1是表示A正准备接受B序列号为y+1的数据包。A向B发送确认后进入ESTABLISHED(已建立连接状态) 当B收到A的确认后也进入建立连接状态,则建立连接结束。 2、问题
三、TCP连接释放(四次挥手)1、四次挥手过程2、过程解释:建立连接,数据传输结束后,通信双方就可以释放连接了。 此例中A位主动关闭方,B为被动关闭方。 (1)、主动关闭方A向被动关闭方B发送终止连接请求,将终止控制位FIN置为1,序列号seq=u,此时A进入FIN-WAIT-1(终止等待1)状态,虽然FIN不携带数据,但也消耗一个序号 (2)、当被动关闭方B收到A发来的释放连接报文后向A发送确认信息,确认号ack=seq+1,即ack=u+1,自己的序列号为v,发送后B进入CLOSE-WAIT(关闭等待状态),此时A到B方向的连接就释放了,TCP连接处于半关闭状态 (3)、A收到了B发来的释放确认后就进入了FIN-WAIT-2(终止等待2)状态,被动关闭方过一段时间如果没有要向A发送的数据了,就通知TCP进程也释放连接,这时B向A发送释放连接通知,FIN置为1,其序列号为W,由于半封闭状态可能有数据,则B要重复上次的确认号ack=u+1,这时B进入LAST-ACK(最后确认状态) (4)、当A收到B发来的释放请求时,要发出确认,ACK=1,seq=u+1,sck=w+1,然后进入TIME-WAIT(时间等待状态)经过2MSL进入CLOSED状态,当B收到A发来的确认消息,则也进入CLOSED状态,释放连接结束。 3、问题
|
|
网络协议 最新文章 |
使用Easyswoole 搭建简单的Websoket服务 |
常见的数据通信方式有哪些? |
Openssl 1024bit RSA算法---公私钥获取和处 |
HTTPS协议的密钥交换流程 |
《小白WEB安全入门》03. 漏洞篇 |
HttpRunner4.x 安装与使用 |
2021-07-04 |
手写RPC学习笔记 |
K8S高可用版本部署 |
mySQL计算IP地址范围 |
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/26 7:52:38- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |