IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 网络协议 -> 网络(一):物理层、数据链路层、网络层 -> 正文阅读

[网络协议]网络(一):物理层、数据链路层、网络层

物理层(集线器)

当我们试图建立两台电脑直接的连接时,可以用一根网线将他连接起来,只需每台电脑上各有一个网口,三台电脑互相连接,需要每台电脑上各有两个网口,随着需要连接的电脑的数量的增加,一台电脑上的网口数量也随之增加,这个时候我们需要一个更好的方式来替代这种方式 ———— 集线器

在这里插入图片描述
作用:将电信号不做任何处理转发给其它电脑(广播)。
物理层:因为集线器对电信号不做任何处理,所以定义为物理层。

Q:接收方怎么知道这数据包是发给自己的?

数据包结构图
在这里插入图片描述
发送方发送的数据包中会携带自己的MAC地址与接收方的MAC地址,将该数据包广播出去后,接收方通过对数据包头部中的目标MAC地址进行判断,属于自己的则接收,不属于自己的则丢弃。

数据链路层(交换器)

因为广播这种方式,既不安全,又浪费网络资源,所以我们需要一个更加智能的设备 ———— 交换器。由于其相对于交换器比较智能,我们将它划分到 “数据链路层” 。

在这里插入图片描述
从图中我们可以看到,交换机维护有一张MAC地址表(映射MAC地址和它的端口)。

作用:交换机接收发送方发来的数据包后,通过与自身维护的MAC地址表比较,找到与目标MAC地址映射的端口,通过该端口将数据包发给接收方。通过上述传输方式组成的小范围网络叫做:“以太网”。

Q:MAC地址表如何中的数据是怎么来的?如何维护?

通过以太网内各节点之间不断通过交换机通信,不断完善起来的。

  1. 发送方发送数据包给交换器:发送方将数据包发送给交换器,若交换器维护的MAC地址表中,找不到发送方的MAC地址映射,则将该地址加入MAC地址进行维护。
  2. 交换器转发数据包给接收方:交换器中维护有接收方MAC地址,则直接转发;未维护接收方MAC地址,则将数据包广播出去,目标电脑接收到数据包后,做出响应,MAC地址表更新一条记录。在这里插入图片描述

Q:交换器端口连接的是另一个交换器MAC地址表如何存储?

在这里插入图片描述
左边交换器

MAC地址端口
bb-bb-bb-bb-bb-bb1
cc-cc-cc-cc-cc-cc3
aa-aa-aa-aa-aa-aa4
dd-dd-dd-dd-dd-dd5
ee-ee-ee-ee-ee-ee6
ff-ff-ff-ff-ff-ff6
gg-gg-gg-gg-gg-gg6
hh-hh-hh-hh-hh-hh6

结论:会将另一交换机所连接的电脑MAC地址全部维护进MAC地址表中

网络层(路由器)

随着连接的电脑数量的不断增加,交换机将变得难以无法维护,我们需要接入一个带有MAC地址的设备,同时还能对数据包进行一次转发————路由器。

在这里插入图片描述
注意:路由器每一个端口都有一个MAC地址

从图中我们可以看出,在同一个以太网内的电脑不需要路由器进行转发;在不同以太网内的电脑需要通过路由器进行转发。

Q:怎么判断电脑在同一个以太网内?

方法:赋予给每个以太网一个独有的标志(子网),用于判断。

目前为止,我们用于判断发送方与接收方的唯一标识是MAC地址,假设,我们将MAC地址的一部分(前24位)作为该标志,但是我们知道MAC地址是在出厂时就固定了的,也就意味着,我们需要针对不同的以太网购置不同厂商的设备,且不说厂商是否有这么多家,而且日后这个网络的结构都不能轻易改变。

因此需要发明一个新的地址信息 “ip地址” 。 “ip地址” 是在软件层面上的地址信息,所以这是可以被我们控制的。我们通过子网掩码,对ip地址进行计算,得到子网。

总结
通过发送方电脑上设置的子网掩码,对发送方ip地址与接收方ip地址进行计算,如果相同,则不需要通过路由器进行转发;不同,则需要通过路由器进行转发。

Q:为什么引入一个带有MAC地址的设备后,能让MAC地址表更容易维护?

引入路由器之前

MAC地址端口
bb-bb-bb-bb-bb-bb1
cc-cc-cc-cc-cc-cc3
aa-aa-aa-aa-aa-aa4
dd-dd-dd-dd-dd-dd5
ee-ee-ee-ee-ee-ee6
ff-ff-ff-ff-ff-ff6
gg-gg-gg-gg-gg-gg6
hh-hh-hh-hh-hh-hh6

引入入路由器之后

MAC地址端口
bb-bb-bb-bb-bb-bb1
cc-cc-cc-cc-cc-cc3
aa-aa-aa-aa-aa-aa4
dd-dd-dd-dd-dd-dd5
ef-gh-ef-gh-ef-gh6

可以看到未引入路由器之前,MAC地址表需要另一台交换器上的所有电脑MAC地址,而引入之后,则只需要维护路由器的MAC地址即可。

补充

MAC地址

MAC地址又称物理地址、硬件地址。长度为 48 位。前24位,代表网络硬件制造商的编号;后24位,是该厂家自己分配的,一般表示系列号。

参考

如果让你来设计网络,你会如何设计?

  网络协议 最新文章
使用Easyswoole 搭建简单的Websoket服务
常见的数据通信方式有哪些?
Openssl 1024bit RSA算法---公私钥获取和处
HTTPS协议的密钥交换流程
《小白WEB安全入门》03. 漏洞篇
HttpRunner4.x 安装与使用
2021-07-04
手写RPC学习笔记
K8S高可用版本部署
mySQL计算IP地址范围
上一篇文章      下一篇文章      查看所有文章
加:2022-03-24 00:56:55  更:2022-03-24 00:59:14 
 
开发: 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/26 5:50:53-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码