IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 网络协议 -> TCP/IP协议 -> 正文阅读

[网络协议]TCP/IP协议

一、TCP和UDP(传输层协议

1、TCP/IP(Transmission Control Protocol/Internet Protocol,传输控制协议/网间协议),是一个工业标准协议集,是为广域网(WAN)设计的。

2、UDP(User Data Protocol,用户数据报协议),不可靠传输,无需连接。

3、区别

1)基于连接与无连接

2)TCP要求系统资源较多,UDP较少

3)UDP程序结构较简单

4)字节流模式(TCP)与数据报模式(UDP)

5)TCP保证数据正确性,UDP可能丢包

6)TCP保证数据顺序,UDP不保证

7)TCP是点对点,UDP是一对一,一对多,多对一,多对多交互通信

8)TCP的逻辑通信信道是全双工的可靠信道,UDP则是不可靠信道

二、TCP/IP协议族

TCP/IP协议族包括传输层、网络层、链路层,UDP是TCP/IP协议族中的一种。?

三、socket(套接字)?

socket是应用层与TCP/IP协议族的中间抽象接口,将复杂的TCP/IP通信过程隐藏在socket后面,应用层通过接口去进行指定协议的通讯。

(图出处https://www.cnblogs.com/wangcq/p/3520400.html)?

四、基于TCP的socket通信

(图出处https://www.cnblogs.com/wangcq/p/3520400.html

五、TCP的三次握手四次挥手

SYN:建立连接;ACK:收到消息确认;FIN: 关闭连接

握手是由客户端发出的,挥手可由客户端发起,也可由服务端发起;过程中ACK始终都是+1发出的

1、三次握手

1)客户端向服务端发送建立连接请求,SYN J;

2)服务端收到客户端请求之后响应确认信息,ACK J+1,并发出建立连接请求,SYN K;

3)客户端收到服务端消息之后,响应确认信息,ACK K+1

至此,握手成功。

(图出处https://blog.csdn.net/qq_38950316/article/details/81087809

2、四次挥手?

1)客户端向服务端发送关闭连接请求,FIN M,此时客户端置于等待状态,FIN_WAIT_1;

2)服务端收到客户端请求之后响应确认信息,ACK M+1,此时客户端切换等待状态,FIN_WAIT_2;

3)服务端接受完数据,向客户端发送关闭连接请求,FIN N;

4)客户端收到服务端的请求之后,响应确认信息,ACK N+1,此时客户端切换等待状态,TIME_WAIT;

5)此时TCP连接还没有释放,必须经过2?MSL(最长报文段寿命)的时间后,当客户端撤销相应的TCB后,才进入CLOSED状态

图出处(https://blog.csdn.net/qq_38950316/article/details/81087809

3、为什么连接的时候是三次握手,关闭的时候却是四次握手?

答:因为当Server端收到Client端的SYN连接请求报文后,可以直接发送SYN+ACK报文。其中ACK报文是用来应答的,SYN报文是用来同步的。但是关闭连接时,当Server端收到FIN报文时,很可能并不会立即关闭SOCKET,所以只能先回复一个ACK报文,告诉Client端,"你发的FIN报文我收到了"。只有等到我Server端所有的报文都发送完了,我才能发送FIN报文,因此不能一起发送。故需要四步握手。

参考链接:

https://www.cnblogs.com/wangcq/p/3520400.html

https://blog.csdn.net/m_xiaoer/article/details/72885418

https://blog.csdn.net/whuslei/article/details/6667471

https://blog.csdn.net/qq_38950316/article/details/81087809

  网络协议 最新文章
使用Easyswoole 搭建简单的Websoket服务
常见的数据通信方式有哪些?
Openssl 1024bit RSA算法---公私钥获取和处
HTTPS协议的密钥交换流程
《小白WEB安全入门》03. 漏洞篇
HttpRunner4.x 安装与使用
2021-07-04
手写RPC学习笔记
K8S高可用版本部署
mySQL计算IP地址范围
上一篇文章      下一篇文章      查看所有文章
加:2021-09-01 12:18:31  更:2021-09-01 12:19:05 
 
开发: 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年12日历 -2024/12/28 20:51:24-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码
数据统计