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 小米 华为 单反 装机 图拉丁
 
   -> 网络协议 -> 计算机网络基础--集线器、交换机、路由器(含ARP协议) -> 正文阅读

[网络协议]计算机网络基础--集线器、交换机、路由器(含ARP协议)

本文是整理B站up主free-coder的视频【网络】半小时看懂<计算机网络>,以备日后复习翻阅!

集线器

最开始要使计算机之间实现通信,采用的是两台计算机之间互联通信线路。
在这里插入图片描述
这样的方式进行计算机之间的通信会耗费大量的通信资源,而且不方便管理。
于是人们在这种模式上加入了转发和标识,转发就是通过集线器(Hub)进行代理转发,不用要求两两计算机之间都要连接通信线路,而只需要将所有的计算机与集线器Hub连接即可,如若发送数据由集线器代理转发。标识就是在计算机接收通过集线器转发的数据时,如果标识是本台计算机要接收的数据,那么接收,否则就会丢弃。
在这里插入图片描述

举个例子:

1要给4发送数据,那么首先1的数据会到集线器,然后由集线器广播(无条件转发)到2,3,4,5,然而2,3,5并不是要接收数据的标识,因此都丢弃数据,只有4接收数据。

这样的话就会存在一个问题,如果2也要发送数据,集线器无法分辨是1还是2发的数据,全部都广播出去,导致4可能接收到的数据是1和2的混合数据。

解决的办法就是采用CSMA/CD载波侦听检测链路上是否有人要发送数据,可以防止冲突。注意CSMA/CD是用在数据链路层的介质访问控制层(MAC层),管理着物理层,多用在以太网中。如果无线局域网,使用CSMA/CA。

但是集线器也会存在缺点:带宽利用率低,链路上只能由一个设备发送数据;集线器只适用于小规模网络工作于物理层

交换机

在这里插入图片描述
首先交换机是维护着一张表(mac地址–端口),注意这个端口不是指的应用层的端口号,而是单纯的交换机的端口是几号。
mac地址--端口
其次交换机是可以实现全双工通信的,比如1号在发送数据时也可以接收数据。

如果1要给3发送数据,1先发送给sw交换机,交换机再到自己维护的表中查找计算机3的mac地址mac3对应的端口号是3,那么数据就从交换机的3号口发送给了3。

缺点:维持表的数据才几千,网络规模大的场景不适用。

**问题:**交换机确实满足了小规模家用局域网的互联互通,但是互联网的目的是跨局域网的全球互联,这个时候交换机就不能满足需求了,那么什么设备能够实现跨网络之间进行数据转发呢?

路由器

引入路由器的初衷就是为了实现跨网络时进行数据转发。
在这里插入图片描述
跟交换机一样,路由器也维护着一张表,建立这张表的过程有很多算法进行实现。

IP地址的作用:标识网络和标识设备。

**问题:**如果认为IP直接能找到对应的主机,那岂不是不需要mac地址了?(同样可以问:有了IP地址,还需要mac地址吗?)

首先得知道IP是抽象的地址,不能用作直接通信,只能使用mac地址直接通信。

那么192.168.1.52向192.168.1.254发送数据的过程:
1、查1.254的mac地址(通过ARP协议可查得)
2、mac层传输
在这里插入图片描述
传输过程中IP的源目地址是不变的。(特例是NAT协议时IP会变)。
如果想要了解NAT协议可参考

NAT转换是怎么工作的? - 网工Fox的回答 - 知乎
https://www.zhihu.com/question/31332694/answer/1917791148

ARP协议

ARP协议整理自黑马的linux网络编程

首先看看以太网帧格式
在这里插入图片描述
在这里插入图片描述

那么对于ARP数据报格式

在这里插入图片描述
在这里插入图片描述

ARP的过程:

在这里插入图片描述
在这里插入图片描述
这里的arp1目的mac地址是广播地址,应该是ff:ff:ff:ff:ff:ff
arp1是从192.168.1.20广播到路由192.168.1.35的arp数据报格式,然后由192.168.1.35的路由填充arp1的目的mac和接收端mac进行返回,这样192.168.1.20就拿到了目的mac地址。

简单来说ARP就是获取下一跳的mac地址的协议,获取的mac地址就是数据包要发送的下一个路由的mac地址。
在这里插入图片描述
数据包寻路:在寻路的过程当中,最终的目的ip是在网络层的IP协议中。在每次经过一个路由时,会将以太网帧和ip协议拆开暴露出来,然后ip协议可以通过查看当前路由器的路由表查询到下一跳的ip地址,然后填入到arp中,通过arp获得下一跳的mac地址,然后依次这样向前寻路,直至将数据包传送到最终的ip地址。
在这里插入图片描述
如果路由节点之间网络传输存在问题,那么可能会出现在一个环路里面死循环,会拥塞网络。那么处理的办法就是TTL,就是最大生命周期,比如初始值是56,经过一跳之后就减一,如果TTL为0还没有传输完成,那么路由器就会丢弃数据包。

集线器和交换机区别

1、集线器在物理层通过广播形式转发数据;交换机工作在数据链路层,通过mac地址转发数据。

2、集线器内部采用总线型拓扑,各个节点共有一条总线进行通信,数据包的发送和接收采用CSMA/CD协议,在同一时间内必须是单向的,只能维持在半双工模式下;交换机上的两个端口之间是相互独立的,可以实现全双工通信,两个端口可以同时收发数据。

交换机和路由器区别

路由器和交换机的不同之处有哪些? - 冯若航的回答 - 知乎
https://www.zhihu.com/question/20465477/answer/18025629

1、工作层次方面:交换机工作在数据链路层;路由器工作在网络层。

2、转发依据方面:交换机转发所依据的对象是mac地址;路由器转发所依据的对象是IP地址。

3、主要功能方面:交换机用于组建规模小的局域网;路由器则是将交换机组建好的局域网连接起来,即实现跨网络数据转发。

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

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