96SEO 2026-02-23 15:21 2
本专栏旨在分享学习网络编程的一点学习心得欢迎大家在评论区交流讨论

一个网络程序在启动的时候都需要绑定一个或多个端口号后续的通信过程都需依赖端口来进行展开的。
网络协议是网络通信即网络数据传输经过的所有网络设备都必须共同遵从的一组约定、规则协议就只是表示一种约定然而这种约定可以是任意的之所以有统一的协议标准以便大家可以相互通信。
网络通信是一个非常庞大的工作其中会涉及到一系列非常繁琐非常细节的工作靠一个协议解决所有问题说明这个协议非常庞大。
因此我们就需要对协议进行分类把功能差不多的协议放到一起、分层上层协议调用下层协议下次协议为上层协议提供支持以避免跨层级所引起的混乱另外上层协议不需要了解下层协议的细节封装我们可以灵活的调整替换某层协议。
协议分层就是为这些协议明确层级关系避免跨层之间的交互降低耦合提高整个系统的稳定性。
协议分层有两种主要的方式一种方式是OSI七层网络模型目前只是在教科书中提到在真实世界并没有对其进行应用另一种是TCP/IP五层网络模型。
物理层描述网络通信中的一些基础设施需要遵守的规范。
比如网口、网线是什么样的数据链库层负责相邻两个节点的数据如何传输。
网络层负责地址管理和路由选择。
传输层管理两个节点之间的数据传输只关注起点和终点。
应用层简单来说就是这个数据被用来干什么。
对于应用程序来说不同的应用程序使用不同的协议当然也能是使用相同的协议。
传输层协议和网络层协议都是操作系统已经内置好的。
驱动程序都是硬件厂商提供的驱动程序会和系统内核进行适配系统就可以进一步的通过驱动来操作硬件了。
数据链路层和物理层一般就是由硬件和驱动程序搭配来进行提供的。
我们现在通过QQ发送消息为例来描述网络数据传输的基本流程。
即主机A通过QQ把消息发送给主机B
应用层方面首先QQ这个应用程序先从输入框中获取到输入的信息并将其构成应用层数据报当然这里是根据应用层协议去进行数据报构造的构建的应用层数据报的过程是按照一定的格式进行字符串拼接的。
这里我们要知道不同的应用程序使用的应用层协议是不同的而其中很多一部分的应用程序会自定义应用层协议。
当应用层数据报准备好之后应用程序就会调用传输层提供的接口然后把上述的数据报交给传输层去进行处理。
传输层方面传输层的协议有很多最主要的协议就是TCP和UDP。
此处我们这里假设使用的协议是UDP。
当应用层把应用层的数据传到了传输层之后并交给UDPUDP会把应用层数据当作一个字符串并构造出UDP数据报然后把UDP数据报进一步的交给网络层。
网络层方面网络层最主要的协议就是IP协议。
IP协议会根据自己的格式来构造出IP数据报。
IP协议并不关心IP数据报的载荷是啥只是单纯的把IP数据报载荷当作一个字符串在这个基础上拼接一个IP报头以获取更大的字符串。
注意源ip和目的ip都是在ip报头中而源端口和目的端口都是在UDP报头中
一次通信往往包括这5个信息源IP、目的IP、源端口、目的端口、协议类型。
此五点称为网络通信的五元组。
数据链路层数据链路层比较重要的协议就是以太网协议。
以太网平时上网插入的一个网线这根网线就遵守以太网协议又会针对IP数据报进行进一步的封装即在IP数据报的基础上加上数据头和数据尾。
以太网依然不关心载荷是什么以太网只是把载荷当作字符串进一步的拼接上枕帧头帧尾以构造成以太网数据帧。
至此上述的数据还需要交给物理层。
物理层物理层这里就涉及到硬件设备了比如网卡。
之前的以太网数据帧本质上是二进制的数据这个时候硬件设备就需要对上述的数据进行转换由物理层的这些设备把上述的数据转换称光信号、电信号、电磁波等
至此主机A就完成了发送过程。
即上述的过程是主机A即发送消息方的情况。
物理层硬件设备如网卡接收到光信号、电信号、电磁波。
需要把接收到的信号解调调制就是把我们要传输的信息放到光电信号中解调就是把光电信号中的信息提取出来还有一个叫做调制解调器【俗称猫】调制解调器就是负责调制和解调的硬件设备光猫就是针对光信号进行调制解调的解调之后我们就可以得到0101这样的二进制数据序列这个序列就是以太网数据帧。
此时我们经过解调得到的信息就会交给上一层即交给数据链路层。
好了下面来看数据链路层的方面。
数据链路层数据链路层得到来自硬件设备解调出来的信息之后数据链路层的以太网协议就会按照以太网数据帧的格式对信息进行解析。
解析之后就来到了网络层。
下面来看网络层。
网络层ip协议会对从数据链路层那里得到的数据报进行解析去掉ip报头取出载荷部分的信息并将其交给传输层好了现在就来到了传输层。
传输层传输层会根据ip报头中的字段就知道当前这个载荷是一个UDP数据报并将该数据报交给UDP处理。
然后UDP也会针对这个数据报进行解析即去掉报头取出载荷然后进一步交给应用程序。
好了现在来到了应用程序层。
应用程序层UDP报头中有一个字段是目的端口然后根据目的端口找到关联的应用程序然后把数据交给应用程序即可。
此时QQ程序就会按照QQ的应用层协议对数据进行解析进一步把这里的数据显示到界面上。
更进一步的此时我们的QQ头像就一直进行闪烁。
至此主机A从上到下依次添加报头的过程称为封装。
主机B从下到上依次解析报头的过程称之为分用。
每次网络数据的传输都会经过封装和分用这样的过程。
我们可以简单理解封装就是在打包快递而分用就是在拆快递。
封装和分用相互配合就可以完成数据的传输。
上面的描述是针对消息发送方和消息接收方的进行分析的。
然后主机A和主机B之间还会有很多交换机和路由器进行转发。
消息转发到某个设备即中间过程的交换机和路由器时每个设备的处理流程和上面封装分用是一样的。
如果是交换机的话交换机封装和分用到数据链路层即可。
交换机解析出以太网数据帧之后就会进一步获取到帧头中的mac地址交换机通过在以太网数据帧中查找目标MAC地址来实现数据的转发然后根据mac地址查询到交换机内部的转发表然后接下来决定数据从哪个网口发出在发送之前又会把以太网数据帧封装好。
我们举个栗子来更好的理解交换机这里比如我们拿到一个快递之后打开快递盒子并查看其中的标签以便我们可以知道这个快递发往哪里之后我们得知快递发往哪里之后我们把这个快递盒子重新封装起来即可
路由器则是封装分用到网络层即可。
即先从物理层中解析出以太网数据帧以太网数据帧是计算机网络中物理层和数据链路层之间的数据传输单位计算机设备之间的通信都是通过以太网数据帧进行的然后再去交给网络层即交给ip协议解析出ip数据包进一步获取到ip报头然后根据ip报头来进一步规划接下来的路线不要忘记网络层的任务就是规划路线而数据链路层的任务就是当路线确定好了之后再来确定我们应该怎么走由此可以看到数据链路层和网络层是相互配合的确定好路线之后接下来又会把数据进行重新封装然后转发。
注意上述的交换机路由器只是经典的交换机路由器而现在的交换机路由器可以做到更多的事情比如有的现代的交换机路由器很有可能封装分用到应用层。
TCP/IP五层协议应用层对应应用程序、传输层两点之间的传输、网络层规划路线、数据链路层负责两个相邻节点之间的传输物理层描述硬件设备其中传输层会为应用层提供API我们如果要编写一个具体的网络程序此时就会经常使用到传输层的API。
封装和分用从上到下依次添加报头的过程称为封装。
从下到上依次解析报头的过程称之为分用。
本文到这里就结束了希望友友们可以支持一下一键三连哈。
嗯就到这里吧再见啦
作为专业的SEO优化服务提供商,我们致力于通过科学、系统的搜索引擎优化策略,帮助企业在百度、Google等搜索引擎中获得更高的排名和流量。我们的服务涵盖网站结构优化、内容优化、技术SEO和链接建设等多个维度。
| 服务项目 | 基础套餐 | 标准套餐 | 高级定制 |
|---|---|---|---|
| 关键词优化数量 | 10-20个核心词 | 30-50个核心词+长尾词 | 80-150个全方位覆盖 |
| 内容优化 | 基础页面优化 | 全站内容优化+每月5篇原创 | 个性化内容策略+每月15篇原创 |
| 技术SEO | 基本技术检查 | 全面技术优化+移动适配 | 深度技术重构+性能优化 |
| 外链建设 | 每月5-10条 | 每月20-30条高质量外链 | 每月50+条多渠道外链 |
| 数据报告 | 月度基础报告 | 双周详细报告+分析 | 每周深度报告+策略调整 |
| 效果保障 | 3-6个月见效 | 2-4个月见效 | 1-3个月快速见效 |
我们的SEO优化服务遵循科学严谨的流程,确保每一步都基于数据分析和行业最佳实践:
全面检测网站技术问题、内容质量、竞争对手情况,制定个性化优化方案。
基于用户搜索意图和商业目标,制定全面的关键词矩阵和布局策略。
解决网站技术问题,优化网站结构,提升页面速度和移动端体验。
创作高质量原创内容,优化现有页面,建立内容更新机制。
获取高质量外部链接,建立品牌在线影响力,提升网站权威度。
持续监控排名、流量和转化数据,根据效果调整优化策略。
基于我们服务的客户数据统计,平均优化效果如下:
我们坚信,真正的SEO优化不仅仅是追求排名,而是通过提供优质内容、优化用户体验、建立网站权威,最终实现可持续的业务增长。我们的目标是与客户建立长期合作关系,共同成长。
Demand feedback