参考资料:

do-you-know-the-differences-between-hubs-switches-and-routers

network-devices-hub-repeater-bridge-switch-router-gateways

博客文章

Repeater 中继器

中继器在物理层运行, 2 端口设备。放大信号,从而延长信号在同一网络上传输的长度。

Hub 集线器

集线器在物理层运行,基本上是一个多端口中继器。集线器连接来自不同分支的多条电线,例如连接星形拓扑中的不同节点。集线器不能过滤数据,因此数据包将发送到所有连接的设备(广播)。集线器都有碰撞检测功能,每次只允许一个设备发送广播信号,效率低。

bridge 网桥

网桥在数据链路层运行,2 端口设备。跟集线器相比,网桥可以通过读取源和目的地的 MAC 地址来过滤内容,从而隔离网络。

网桥为每个端口维护了一张 MAC 地址表,表中包含所有连接到这个端口的设备的 MAC 地址。

下图中,LAN1 这个局域网中的主机发送数据后,LAN1 中的集线器会向所有连接到这个集线器的设备广播这个数据,包括网桥。当网桥的左侧端口收到数据后:

  • 提取数据中的目的地的 MAC 地址

    • 如果这个地址在左侧端口的 MAC 地址表中,则丢弃数据
    • 如果这个地址在右侧端口的 MAC 地址表中,则将数据转发到右侧的集线器,由其广播给所有主机
  • 提取数据中的源 MAC 地址
    • 如果左侧端口的 MAC 地址表中包含这个 MAC 地址,则忽略。否则,将这个地址写入左侧端口的 MAC 地址表中。

网桥刚开机时,每个端口的 MAC 地址表都是空的,这时收到数据时会转发到另一个端口,同时把数据中的 MAC 地址记录到收到数据的端口对于的 MAC 地址表。工作一段时候后,两个端口的 MAC 地址表就会建立完成。当再有数据从 LAN1 发送给网桥时,网桥会先看看数据包的目的 MAC 地址是属于 LAN1 还是 LAN2,从而决定数据是否转发。同时再检查数据的源 MAC 地址,如果在 LAN1 的地址表中不存在这条记录,则写入。

网桥将一个局域网分成两个,可以减少碰撞。

switch 交换机

交换机在数据链路层运行,是一个多端口网桥。

交换机中维护一张 Port-MAC 映射表,记录每个端口上的主机的 MAC 地址。

跟集线器相比,交换机记录每个端口上主机的 MAC 地址,每次转发数据时都只会发送到指定的端口,而不是广播到所有主机,效率高。

router 路由器

路由器在网络层运行,类似交换机,但是根据 IP 地址发送数据包。家庭路由器通常将局域网和广域网连接在一起。路由器中有一个动态更新的路由表,以此作为决策依据。

现在的路由器通常集成了多个功能,包括有 4 个端口的集线器、NAT(Network Address Translator 网络地址转换)、DHCP(Dynamic Host Configuration Protocol 动态主机配置协议)、DNS(Domain Name Service 域名服务)代理服务器和硬件防火墙。

路由器有一个 WAN 端口,可以连接到电信或联通的网络。通过路由器内部的集线器可以方便的创建 LAN。借助 DHCP 和 NAT,这个 LAN 中的所有设备都可以使用唯一的 IP 地址访问网络。

gateway 网关

网关是将两个网络连接在一起的通道,可以在不同的网络协议下工作。网关也称为协议转换器,可以在任何网络层运行。网关通常比交换机或路由器更复杂。

路由器可以在相同网络间移动数据,相当于特殊的网关(IP 网关)。

网卡

网卡在数据链路层工作,是连接计算机和传输介质的接口,实现与传输介质的物理连接和电信号匹配,同时还负责帧的发送与接收、帧的封装与拆封、介质访问控制、数据的编码与解码以及数据缓存的功能等。

常见的网络设备:集线器 hub、网桥、交换机 switch、路由器 router、网关 gateway的更多相关文章

  1. 集线器hub、交换机switch、路由器router 的区别

    原文链接:http://blog.csdn.net/thq0201/article/details/7782319 首先说HUB,也就是集线器.它的作用可以简单的理解为将一些机器连接起来组成一个局域网 ...

  2. 集线器(HUB),交换机,和路由器的区别

    交换机与集线器的区别从大的方面来看可以分为以下三点: 1.从OSI体系结构来看,集线器属于OSI第一层物理层设备,而交换机属于OSI的第二层数据链路层设备.也就意味着集线器只是对数据的传输起到同步.放 ...

  3. 中继器、集线器(HUB)、网桥、交换机、路由器比较

    中继器或集线器既不能隔离冲突域又不能隔离广播域,网桥或交换机只能隔离冲突域不能隔离广播域,路由器既能隔离冲突域又能隔离广播域,为什么?[解析] 首先要清楚什么是冲突域和广播域,当一块网卡发送信息时有可 ...

  4. VLAN原理详解[转载] 网桥--交换机---路由器

    来自:http://blog.csdn.net/phunxm/article/details/9498829 一.什么是桥接          桥接工作在OSI网络参考模型的第二层数据链路层,是一种以 ...

  5. 交换机--Switch

    交换机(Switch)意为"开关"是一种用于电(光)信号转发的网络设备.它可以为接入交换机的任意两个网络节点提供独享的电信号通路.最常见的交换机是以太网交换机. 这里的" ...

  6. HUB、Switch、Router在OSI模型层次信息

    序 (HUB)集线器工作在局域网(LAN)环境,像网卡一样,应用于OSI参考模型第一层,因此又被称为物理层设备. Switch交换机工作在OSI第2层数据链路层 Router路由器工作在OSI第3层网 ...

  7. TCP/IP协议原理与应用笔记16:交换机和路由器区别

    1.交换机和路由器区别 (1)交换机:     交换机是一种基于MAC(网卡的硬件地址)识别,能完成封装转发数据包功能的网络设备.交换机可以“学习”MAC地址,并把其存放在内部地址表中,通过在数据帧的 ...

  8. 网络基础-交换机、路由器、OSI7层模型

    第1章 网络基础 1.1 网络的诞生 网络的诞生使命:通过各种互联网服务提升全球人类生活品质. 让人类的生活更便捷和丰富,从而促进全球人类社会的进步.并且丰富人类的精神世界和物质世界,让人类最便捷地获 ...

  9. Cisco交换机、路由器,密码恢复

    一.路由器密码恢复 1.重启路由器,同时按下ctrl + breack键中断IOS的加载,路由器进入ROM Monitor模式 2.将配置寄存器的值更改为 0x2142,表示在启动时忽略startup ...

随机推荐

  1. css-sprite 雪碧图的使用,合并多张小图,背景图片当按钮的设置

    背景图片基础: 使用background-image来设置背景图片 语法: background-image:url(相对与css的路径) 如果背景图片大于元素,默认会显示图片的左上角 如果背景图片和 ...

  2. JAVA总结--多线程

    一.概念 1.进程:一个具有一定独立功能的程序,关于某些数据集合,一次运行活动. 两点:1.有自己的空间存储数据:2.一个程序. 进程,是系统   进行   资源分配  和 调度  的基础单位.动态性 ...

  3. java_第一年_JDBC(7)

    Commons-dbutils是一个开源的JDBC工具类库,对JDBC进行封装,简化编码的工作量,包含的API: org.apache.commons.dbutils.QueryRunner org. ...

  4. ML5238电池管理芯片笔记

          根据公司需要开发了以ML5238电池管理芯片+STM8S为核心的电池管理系统.由于前期对BMS系统还是了解甚少,开发起来也遇到了不少困难.再开发管理系统的同时,我也开发了管理系统的上位机, ...

  5. Codeforces 916E(思维+dfs序+线段树+LCA)

    题面 传送门 题目大意:给定初始根节点为1的树,有3种操作 1.把根节点更换为r 2.将包含u,v的节点的最小子树(即lca(u,v)的子树)所有节点的值+x 3.查询v及其子树的值之和 分析 看到批 ...

  6. LOJ 3175. 「IOI2019」排列鞋子

    传送门 考虑如果能确定每个鞋子最终交换到的位置,那么答案容易算出 具体地,如果原位置为 $i$ 的鞋子要交换到 $pos[i]$ 那么最终答案就是 $pos$ 的逆序对数量 如果不懂可以先去写 NOI ...

  7. 利用 Python 进行批量更改文件后缀

    利用 Python 进行批量更改文件后缀 代码 import os files = os.listdir('.') for file_name in files: portion = os.path. ...

  8. CentOS7搭建Docker镜像实战

    开发十年,就只剩下这套架构体系了! >>>   一.搭建环境 使用的是VMWare 12虚拟机安装的CentOS7 安装成功后修改ip: 1. ip addr查看相关信息: 2. 修 ...

  9. 【JAVA】Java 异常中e的getMessage()和toString()方法的异同

    参考链接 CSDN: Java 异常中e的getMessage()和toString()方法的异同 示例代码1: public class TestInfo {     private static ...

  10. 表格类型数据,Excel csv导入,导出操作

    import pandas # 创建表格格式# ad = pandas.DataFrame({"a": range(1, 10), "b": range(10, ...