网络中的基本概念

网络初识


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

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

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这边接受到数据,就是逆过程,进行分用,拆快递。

相关推荐
寻星探路4 小时前
【深度长文】万字攻克网络原理:从 HTTP 报文解构到 HTTPS 终极加密逻辑
java·开发语言·网络·python·http·ai·https
七夜zippoe8 小时前
CANN Runtime任务描述序列化与持久化源码深度解码
大数据·运维·服务器·cann
盟接之桥8 小时前
盟接之桥说制造:引流品 × 利润品,全球电商平台高效产品组合策略(供讨论)
大数据·linux·服务器·网络·人工智能·制造
会员源码网8 小时前
理财源码开发:单语言深耕还是多语言融合?看完这篇不踩坑
网络·个人开发
米羊1219 小时前
已有安全措施确认(上)
大数据·网络
Fcy6489 小时前
Linux下 进程(一)(冯诺依曼体系、操作系统、进程基本概念与基本操作)
linux·运维·服务器·进程
袁袁袁袁满9 小时前
Linux怎么查看最新下载的文件
linux·运维·服务器
代码游侠9 小时前
学习笔记——设备树基础
linux·运维·开发语言·单片机·算法
主机哥哥10 小时前
阿里云OpenClaw部署全攻略,五种方案助你快速部署!
服务器·阿里云·负载均衡
Harvey90310 小时前
通过 Helm 部署 Nginx 应用的完整标准化步骤
linux·运维·nginx·k8s