| |
|
开发:
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/IP基础知识——TCP/IP通信示例 |
1、数据包首部:? ? ? ? 包:全能性术语。 ? ? ? ? 帧:数据链路层中包的单位。 ? ? ? ? 数据报:IP和UDP等网络层以上的分层中包的单位。 ? ? ? ? 段:TCP数据流中的信息。 ? ? ? ? 消息:应用协议中数据的单位。 2、发送数据包:? ? ? ? 应用程序处理:应用程序中会进行编码。 ? ? ? ? TCP模板的处理:在应用层数据的前端附加一个TCP首部。TCP首部中包括源端口号和目标端口号(用以识别发送主机跟接收主机上的应用)、序号(用以表示该包中数据是发送端整个数据中的第几字节的序列号)以及校验和(用以判断数据是否被损坏)。 ? ? ? ? IP模块的处理:在TCP首部的前端加上自己的IP首部。IP首部中包含接收端IP地址以及发送端IP地址。紧随IP首部的还有用来判断其后面数据是TCP还是UDP的信息。 ? ? ? ? 网络接口(以太网驱动)的处理:在IP首部的前端加上以太网首部并进行发送处理。以太网首部中包含接收端MAC地址、发送端MAC地址以及标志以太网类型的以太网数据的协议。发送处理中的FCS由硬件计算,添加到包的最后。设置FCS的目的是为了判断数据包是否由于噪声而被破坏。 3、经过数据链路的包:? ? ? ? 以太网会用MAC地址,IP会用IP地址,而TCP/UDP则会用端口号作为识别两端主机的地址。此外,每个分层的包首部中还包含一个识别位,它是用来标识上一层协议的种类信息。 4、数据包接收处理:? ? ? ? 网络接口(以太网驱动)的处理:首先从以太网的包首部找到MAC地址判断是否为发给自己的包。如果不是则丢弃数据。如果以太网包首部的类型域包含了一个无法识别的协议类型,则丢弃数据。 ? ? ? ? IP模块的处理:如果判断得出包首部中的IP地址与自己的IP地址匹配,则可接收数据并从中查找上一层的协议。对于有路由器的情况下,接收端地址往往不是自己的地址,此外,需要借助路由控制表,在调查应该送达的主机或路由器以后再转发数据。 ? ? ? ? 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 18:32:13- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |