| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 系统运维 -> TCP、UDP、ARP协议(持续更新) -> 正文阅读 |
|
[系统运维]TCP、UDP、ARP协议(持续更新) |
TCP协议:TCP(Transmission Control Protocol),全称是传输控制协议,顾名思义,就是在一定程度上控制数据的传输。 UDP协议:UDP(User Datagram Protocol用户数据报协议): TCP源端口和目的端口字段:TCP源端口(Source Port):源计算机上的应用程序的端口号,占16位。 RST:表示是否重置连接。如果 RST=1,说明TCP连接出现了严重错误(如主机崩溃),必须释放连接,然后再重新建立连接。 TCP粘包:不是所有的粘包现象都需要处理,若传输的数据为不带结构的连续流数据(如文件传输),则不必把粘连的包分开(简称分包)。但在实际工程应用中,传输的数据一般为带结构的数据,这时就需要做分包处理。 UDP丢包:1.发送频率过高导致丢包; TCP和UDP最核心的区别:TCP协议指的是传输控制协议,是一个面向连接的传输协议,他是一个能提供高可靠性的通信协议,所谓高可靠性指的是数据无丢失、数据无误、数据无失序、数据无重到达。就像图上所示,TCP能把“孩子”安全地送到接收者手上。 主要区别如下: 准确来说,TCP连接建立需要三次握手。如果要在两台主机之间发送消息,如果底层基于TCP协议,则必须首先建立TCP链路。tcp连接建立的过程,也就是大家熟悉的TCP三次握手的过程,如下图所示: TCP适用场景:适用于对传输质量要求较高,以及传输大量数据的通信场景(如文件传输)。 UDP适用场景:发送小尺寸地数据(例如对DNS服务器进行地址查询或路游器更新路由表)。 QQ虽然是用UDP发送信息,但是其实QQ在后台是用TCP与服务器相连的。对于利用UDP发出去的信息,服务器有一套机制保证信息不会丢失。事实上我们在后面也可以自己设计类似的机制:比如我和你通过UDP收发信息,约定下线之前会相互通知,我收到你的信息之后我会给你回一个“确认收到的信息”。 常见端口号与对应的服务:端口号的范围是从1~65535。其中1~1023是知名端口(Well-Known Ports),这些端口号一般固定分配给一些服务;1024~65535是动态端口(Dynamic Ports),这些端口号一般不固定分配给某个服务,也就是说许多服务都可以使用这些端口。只要运行的程序向系统提出访问网络的申请,那么系统就可以从这些端口号中分配一个供该程序使用。 ARP协议的工作过程:广播发送ARP请求,单播发送ARP响应。 总结连接区别:TCP可靠但复杂,UDP不可靠,两者均工作在传输层。ARP的主要目的是寻址,IP主要功能是传输数据。TCP是面向连接的(例如,拨打电话前先建立连接),UDP是无连接的,即发送数据前不需要建立连接。 参考: https://baijiahao.baidu.com/s?id=1721371403882675125&wfr=spider&for=pc |
|
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
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/15 14:51:12- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |