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 小米 华为 单反 装机 图拉丁
 
   -> 网络协议 -> 从三大设备出发带你了解计算机网络 -> 正文阅读

[网络协议]从三大设备出发带你了解计算机网络

计网七大层图谱:

传输层封了TCP,UDP这样的协议。TCP是为了保证数据的可靠性,实现可靠的传输;再往上是如http的应用层。但是这些所有的协议都是基于下面讲的这三层,其中,数据链路层网络层尤为重要。


计算机网络:

用来实现计算机两两之间都能互相通信(数据信号可以通过发送类似1010这样的高低电频收到)

利用 “转发” 和 “标识(表明自己的身份)”? 可以扩展网络规模,即增加设备。


第1种设备——HUB集线器(在物理层):

网络诞生之初的一种网络组织形式。可以做消息的转发(用双绞线就可以,但是这个转发很暴力,一股脑把接收到的分

别转发给全部的,不需要的数据包就被丢弃了;多个信号转时不能识别,杂糅起来发给其它设备)

根据这个问题提出了一个协议:CSMA/CD【功能:发送前进行载波侦听,检测链路上有没有其他在发送数据,没有则进行数据的发送,可以防止冲突】

“HUB集线器” 这种方式的缺点:

1. 进行数据的广播会导致带宽利用率较低
2. 在链路上同时只能有一个设备发送数据,导致链路的利用率很低
3. 集线器只适用于小规模网络,工作在物理层

“HUB集线器” 最主要的问题:

没有记录每台设备的标识,只是将数据广播出去,让设备自己判断消息是否属于它自己,因而工作效率较低。


第2种设备——SW交换机(在 数据链路/MAC 层):

“SW交换机” 和 “集线器” 一样,是一个中心的作用,可以做消息的转发。

一个比较有意思的事:MAC地址却叫做物理地址。

MAC层存了MAC地址、源地址、目的地址和数据。

【IP地址的数据包其实就是MAC地址的数据部分】

?打开网络适配器的连接信息,可以发现物理地址和标识之间的关系

“SW交换机” 的特点:

1.?可以记录(MAC)地址和端口的映射关系(mac地址在每个网络设备出厂的时候已经写死了,但仍可以改)

2. 全双工,和双绞线不一样(双绞线在工作中的时候,只能有一台设备进行数据发送),“SW交换机” 使用的是网线(有八根线,正常情况下至少有四根是工作的)。1在发送时,也可以接收数据;链路上的数据也不会再产生冲突;1在发送数据的时候,2也可以发送。

3. 可以进行 “桥接”...

4. 在局域网内可以进行高效的传输

“SW交换机” 效率高于 “HUB交换机” 的一个重要原因:

交换机所在的层叫做 “数据链路层”,其中分为数据头和数据,数据头中记录了原地址和目的地址(mac地址),这也就是SW效率高于HUB的一个重要原因。

重点:交换机的空表如何建立起MAC和端口的映射关系

假设我们有两个交换器如下图所示【这里讲的mac和端口的映射表不是我们通常所说的路由表,因为还没有到路由层,只是交换机】:

当A向C发送消息并且C不在映射表中的时候,A就会全部地广播发送数据,进入到另一个交换器的时候,另一个交换器的映射表中有C的记录,这时找到了C,就会把数据传给C。数据发送成功之后就会进行记录。B同理A,数据发送成功之后变动如下图:

我们从图中可以印证:SW交换机和mac地址结合的这种方式中,多个mac地址可以对应同一个端口

“SW交换机和mac地址结合的这种方式” 的弊端:

存储量只有几千,只能在一个比较小的局域网络内达到一个高效的传输。不能在较大的范围内建立计算机的互联网络,未能记录对应的路由信息的话,就会一直广播,导致消息的洪范

抛出问题:

交换机满足了小规模局域网的互联互通,但是互联网的目的是跨局域网的全球互联,因此联通两个网络成为急需解决的问题。


第3种设备——路由器/网关(在网络层)

是跨两个网络之间的连接点。这个路由器其实也是一个Linux系统,也有一个路由表。引入路由器是为了在跨网络的时候进行数据的转发。这个网络是一个比较抽象的概念,我们要标识这个抽象的网络以及在网络层面标识每台设备,所以我们提出另一个标识——IP地址(IP地址的两个重要作用:标识网络 & 标识设备)。

“路由器” 工作的一个主要原理:

既有网络一的IP地址,也有网络二的IP地址,充当一个中间人,联系两方。

??

比如1和3之间属于内部交互,通过交换机实现;1和2之间就通过路由器实现。

下图的端口1和2是ping通的

?

两大重点:

1. 路由表的建立,这个比 SW交换机 中的地址端口映射表要复杂得多,用到了很多路由的算法,路由的算法目前也在不断更新迭代。但路由器经过一系列的算法会自动建立出一个完善的路由表。

2. 网络内的传输(IP地址是抽象的地址,不能直接用作通信,只能使用mac地址进行直接通信,因为mac地址是一个真实的地址

比如 192.168.1.52 和 192.168.1.254,首先,1.52 先根据IP地址查 1.254 的MAC地址(这里有个ARP协议,是在这个网络中去广播询问谁的IP地址是 1.254,1.254 收到这个询问之后,就会回复反馈自己的mac地址),然后就可以在MAC层进行传输了。实际上,网络的传输都是走的MAC地址

IP地址的数据包其实就是MAC地址的数据部分。

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

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