网络中的基本概念

网络初识


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

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

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

相关推荐
不是书本的小明1 天前
阿里云专有云网络架构
网络·阿里云·架构
mounter6251 天前
【内核前沿】从 veth 到 netkit:深度解析 TCP devmem 穿透容器屏障的“队列租赁”黑科技
网络·ebpf·linux kernel·devmem tcp·netkit·队列租赁
l1o3v1e4ding1 天前
排查linux CentOS7.6的mysql磁盘 I/O 延迟过高问题
linux·运维·mysql
yleihj1 天前
vCenter计算机SSL证书续期
服务器·网络协议·ssl
航Hang*1 天前
Windows Server 配置与管理——第12章:配置数字证书服务器
运维·服务器·windows
爱学习的小囧1 天前
vSphere Supervisor 服务配置指南:自签名容器注册表使用教程
服务器·网络·esxi·虚拟化·vcf
pjwonline11 天前
反向仲裁:去中心化知识网络中的社会性共识引擎
网络·人工智能·去中心化·区块链·智能合约
Edward111111111 天前
linux创建普通用户
linux·运维·服务器
空中海1 天前
5.1 HTTP 与网络请求
网络·网络协议·flutter·http
果汁华1 天前
Typer:基于类型提示的现代Python CLI框架
开发语言·网络·python