网络中的基本概念

网络初识


局域网:把若干个电脑组成在一起,通过路由器进行组网。

广域网:把局域网进一步的连接,构成更复杂的网络体系。

IP地址:区分主机。

端口号:区分主机上不同的程序。

协议:是一种约定,通信双方,对于通信规则的约定,一定是通信双方都得认可。


协议分层


协议分层就是把很多的协议,按照功能分成不同的层级,每个层级都有对应的主线任务(目标要解决问题),上层协议会调用下层协议的功能,下层协议会给上层协议提供服务。

那么协议分层有什么好处呢?

1)起到封装的效果,某一次的协议,不必知道其他协议的细节,降低学习使用成本。

2)任意层次的协议,都可以灵活的替换。


TCP / IP 五层或四层 模型

关于五层协议具体有哪五层:

1)物理层 :硬件层次上的相关约定。如:网线,网口.....

2)数据链路层:关注的是,两个相邻节点之间的通信。

3)网络层:关注的是通信中,通信路径的规划,数据要经过哪些节点,点到点的传输。

4)传输层:关注双方的 起点和终点。端到端的传输。

5)应用层:和具体的应用程序直接相关。传输的数据是干啥的,有什么意义?等。

上述是TCP的5层,如果是IP的4层,就少了一个物理层。


协议的层与层之间是如何配合工作的呢?

上层协议会调用下层协议的功能,下层协议会给上层协议提供服务。

具体怎么实现:

1)封装。这里的封装和java面向对象的封装是不一样的。

2)分用。

这里我会举个例子来解释这两个。 A通过QQ发送hello给B。

1. A通过窗口输入hello,点击发送给B。QQ应用程序就要通过实现上述的逻辑,上述的逻辑都需要网络进行传输,QQ首先呢会把这些数据组成一个应用数据包,QQ里的应用层就会有一个协议,来约定数据的格式。

**2.**应用层数据包,已经有了QQ 程序, 就要调用系统的 api,,来进行传输。应用层接下来要把数据交给,传输层怎么交给传输层?

传输层 (操作系统内核) 提供了 api, 让应用程序去调用。

调用这样的 api,,就会把刚才的应用层数据交给传输层(进入到系统内核了)。

传输层拿到应用层数据包之后,就会把这个数据包进行进一步的封装,构造成 传输层数据包。

如图:

3.到了网络层,最典型的协议就是IP协议,他会对UDP数据包进一步的封装成IP数据包,包含发送人的IP地址和收件人的IP地址。然后调用数据链路层的api,发送给数据链路层。

如图:

4.数据链路层,最典型的协议,以太网,通过以网线的传输,就叫做以太网协议。

以太网也有自己的数据格式,会对IP数据包进行封装。

如图:

5.物理层,硬件设备,对上述的二进制的数据,转换成 电信号或光信号等。


上述层层的包装数据,层层的对数据包增加包头的过程,称为封装。


B这边接受到数据,就是逆过程,进行分用,拆快递。

相关推荐
HiDev_28 分钟前
【非标自动化】2、认识元器件(确定目标)
运维·自动化
维天说1 小时前
CLI-Switch 2026年3月版历史设计:Hook、TTY 隔离与 JSON 状态
java·服务器·json
Zhang~Ling1 小时前
从 fopen 到 struct file:从零开始拆解 Linux 文件 I/O
linux·运维·服务器
爱写代码的阿森1 小时前
鸿蒙三方库 | harmony-utils之PreferencesUtil首选项数据监听详解
服务器·华为·harmonyos·鸿蒙·huawei
爱写代码的森1 小时前
蒙三方库 | harmony-utils之FileUtil文件重命名与属性查询详解
linux·运维·服务器·华为·harmonyos·鸿蒙·huawei
中微极客2 小时前
2026主流AI Agent框架技术选型与性能对比
运维·网络·人工智能
吠品2 小时前
Zabbix Web界面误报Server未运行的排查与解决
java·服务器·数据库
AOwhisky3 小时前
Python 学习笔记(第十五期)——运维自动化(下·后篇):堡垒机实战——paramiko高阶篇
运维·python·学习·云原生·自动化·运维开发
重生的黑客3 小时前
Linux 进程优先级、切换与调度:从孤儿进程到 O(1) 调度模型
linux·运维·服务器·进程优先级·nice
Urbano3 小时前
夹克与商务单西口袋工序自动化技改研究报告
运维·自动化