| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 网络协议 -> 传输层协议及TCP三次握手,四次挥手 -> 正文阅读 |
|
[网络协议]传输层协议及TCP三次握手,四次挥手 |
目录 一.TCP/IP协议族的传输层协议 1.TCP传输控制协议 2.UDP用户数据报协议 二.TCP协议 TCP是面向连接的,可靠的进程到进程通信的协议 提供全双工服务,即数据可在同一时间双向传输 2.TCP报文段 TCP将若干个字节构成一个分组,叫报文段(Segment) TCP报文段封装在IP数据报中 源端口号:客户端, 目标端口号,服务端 序号:发送端为每个字节进行编号,便于接收端正确重组 确认号:用于确认发送端的信息 窗口大小:用于说明本地可接收数据段的数目,窗口大小是可变的 SYN:同步序列位。TCP需要建立连接时将该值设为1(三次握手) ACK:确认序号位,当该位为1时,用于确认发送方的数据 FIN:当TCP断开连接时将该位置为1(四次断开) 三.三次握手 TCP建立连接的过程称为三次握手 1.PC1发送SYN报文(Seq=x,SYN=1) 2.PC2发送SYN+ACK报文(Seq=y,Ack=x+1,SYN=1,ACK=1) 3.PC1发送ACK报文(Seq=x+1,Ack=y+1,ACK=1) 原理: 客户端向服务器发送SYN同步请求,请求与服务器建立连接,服务器收到此SYN同步请求后,会针对客户端的SYN同步请求进行ACK响应的同时也会发送一个SYN同步请求,当客户端收到服务器发过来的SYN同步请求时,会给与一个ACK响应。 为什么要三次握手? 因为TCP时可靠的传输层协议,它在传输数据前,会建立双向数据通信通道,当保证双向数据传输的通道没有问题时,才会发送数据,起到保护数据的作用。 四.四次挥手 1.PC1发送FIN/ACK(FIN=1,ACK=1) 2.PC2发送ACK报文(ACK=1) 3.PC2发送FIN/ACK(FIN=1,ACK=1) 4.PC1发送ACK报文(ACK=1) 原理 客户端向服务器发送FIN断开请求,服务器接收到此请求后,回复一个ACK。服务器向客户机发送FIN断开请求,客户机收到此请求后,回复一个ACK 三次握手握三次,为什么断开要断四次 数据传输方向是双向的,一个方向的数据通道关闭需要一次请求和一次确认,因此需要断两次,而我们有两个数据方向,因此需要断四次 TCP半关闭状态时什么情况? 客户机向服务器发送了FIN请求,服务器也给与了ACK响应。但是,服务器和客户机之间还有数据要传,因此服务器并没有向客户机立即发送FIN请求。 五.常用的TCP端口号及其功能 ?? ?公认端口-服务器,注册端口-服务器或客户机,私有端口-客户机 ,服务器端口小,客户机大 总结 TCP协议的三次握手和四次挥手 常用的TCP端口号及其范围 |
|
网络协议 最新文章 |
使用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/25 20:34:30- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |