计算机网络-路由器和交换机的区别

article/2025/8/27 6:24:37

经过了前面两篇博客,我们大概都认识了交换机和路由器了,那么再总结一下交换机和路由器的区别。

在这里插入图片描述
交换机和路由器都是网络硬件,那么主要区别是什么呢?按我理解,交换机是用来连接局域网的,路由器是用来连接互联网的(也可以连接多个局域网)

区别

  • 路由器:寻址,转发(依靠 IP 地址),交换机:过滤,转发(依靠 MAC 地址)
  • 交换机用于连接局域网,数据包在局域网内网的数据转发,路由器用于连接局域网和外网,数据包可以在不同局域网转发。
  • 交换机工作于TCP/IP协议的最后一层数据链路层(物理层),路由器工作于网络层
  • 交换机负责具体的数据包传输,路由器不负责包的实际传输,路由器只封装好要传输的数据包,然后交给交换机去传输(不一定是交换机,可能是其他传输技术),用java比喻大概简单理解为路由器是抽象类,定义好传输的数据包格式,交换机是具体实现类,也可以有其他实现类
  • 交换机没有MAC地址和IP地址,路由器有MAC地址和IP地址(指纯碎的交换机和路由器,三层交换机是可以有IP地址的,路由器也有内置交换机功能的)

还有,顺便记录一下:

集线器和交换机的区别
集线器和交换机都是工作在TCP/IP协议的最后一层,数据链路(物理层),都是连接多个设备形成局域网的。
集线器会把接收到的数据包每次都广播给局域网局域网的所有计算机,而交换机只有首次在MAC地址表找不到记录才广播,其他时候是直接单独发送给对应MAC地址的计算机。交换机可以说是集线器的升级改良版,在集线器的基础上多了MAC地址表,可以分割冲突域,更加智能化。

集线器的数据传输方式是广播方式,而交换机的数据传输是有目的的,数据只对目的节点发送,只是在自己的MAC地址表中找不到的情况下第一次使用广播方式发送,然后因为交换机具有MAC地址学习功能,第二次以后就不再是广播发送了,又是有目的的发送。这样的好处是数据传输效率提高,不会出现广播风暴,在安全性方面也不会出现其它节点侦听的现象

网桥和交换机的区别

  • 交换机工作时,实际上允许许多组端口间的通道同时工作。所以,交换机的功能体现出不仅仅是一个网桥的功能,而是多个网桥功能的集合。即网桥一般分有两个输出输入端口,而交换机具有高密度的端口。所以一般的交换机,网桥就有桥接作用。
  • 网桥主要由软件实现,交换机主要由硬件实现

网桥也可以理解成只有两个端口的交换机,交换机可以理解成由多个网桥组成的

网桥的连接模式:(红点处为集线器)

交换机连接模式:

在这里插入图片描述

总结

交换机和路由器,要理解两者之间的关系,关键点在于计算机在发送网络包时,或者是路由器在转发网络包时,都需要在前面加上 MAC 头部。之前的讲解都是说在开头加上 MAC 头部,如果看图 3.16 大家可以发现,准确的说法应该是将 IP 包装进以太网包的数据部分中。也就是说,给包加上 MAC 头部并发送,从本质上说是将 IP 包装进以太网包的数据部分中,委托以太网去传输这些数据。IP 协议本身没有传输包的功能,因此包的实际传输要委托以太网来进行。路由器是基于 IP 设计的,而交换机是基于以太网设计的,因 此 IP 与以太网的关系也就是路由器与交换机的关系。
在这里插入图片描述

换句话说,路由器将包的传输工作委托给交换机来进行 。当然,这里讲的内容只适用于原原本本实现 IP 和以太网机制的纯粹的路由器和交换机,实际的路由器有内置交换机功能的,比如用于连接互联网的家用路由器就属于这一种,对于这种路由器,上面内容可能就不适用了。但是,如果把这种“不纯粹”的路由器拆分成“纯粹”的路由器和“纯粹”的交换机,则它们各自都适用上面的内容。

路由器将包的传输工作委托给交换机来进行,除了使用交换机,还可以使用集线器,或者用交叉双绞线直接连接到路由器端口都可以。关键是,在委托传输时,只要能按照以太网规则传输包,不管是什么样的设备都可以

从包的转发目标也可以看出路由器和交换机之间的委托关系。IP 并不是委托以太网将包传输到最终目的地,而是传输到下一个路由器。在创建MAC 头部时,也是从 IP 的路由表中查找出下一个路由器的 IP 地址,并通过 ARP 查询出 MAC 地址,然后将 MAC 地址写入 MAC 头部中的,这表示 IP 对以太网的委托只是将包传输到下一个路由器就行了。

当包到达下一个路由器后,下一个路由器又会重新委托以太网将包传输到再下一个路由器。随着这一过程反复执行,包就会最终到达 IP 的目的地,也就是通信的对象。到这里我们已经梳理了路由器与交换机之间的关系。简单来说,IP(路由器)负责将包发送给通信对象这一整体过程,而其中将包传输到下一个路由器的过程则是由以太网(交换机)来负责的。

当然,网络并非只有以太网一种,还有无线局域网,以及接入互联网的通信线路,它们和 IP 之间的关系又是什么样的呢?其实只要将以太网替换成无线局域网、互联网线路等通信规格就可以了。也就是说,如果和下一个路由器之间是通过无线局域网连接的,那么就委托无线局域网将包传输过去;如果是通过互联网线路连接的,那么就委托它将包传输过去。除了这里列举的例子之外,世界上还有很多其他类型的通信技术,它们之间的关系也是一样的,都是委托所使用的通信技术将包传输过去。
IP 本身不负责包的传输,而是委托各种通信技术将包传输到下一个路由器,这样的设计是有重要意义的,即可以根据需要灵活运用各种通信技术,这也是 IP 的最大特点。

IP(路由器)负责将包送达通信对象这一整体过程,而其中将包传输到下一个路由器的过程则是由以太网(交换机)来负责的。IP(路由器)负责将包送达通信对象这一整体过程,而其中将包传输到下一个路由器的过程则是由以太网(交换机)来负责的。


http://chatgpt.dhexx.cn/article/xpxu5CxX.shtml

相关文章

常用第三方接口

作者:知乎用户 链接:https://www.zhihu.com/question/21608863/answer/123009622 来源:知乎 著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。 聚合数据、百度APIStore、Apix、通联数据、HaoService、数说聚…

java对接第三方接口

1.准备与第三方接口对接的账号 配置到了Apollo上面 Value("${taofake.appId}")private String appId;Value("${taofake.url}")private String url;Value("${taofake.appSecret}")private String appSecret;2.准备用于接受接口返回结果的实体类 …

和第三方接口对接总结

接口对接分为两种形式: 我方A公司提供接口给B公司,B公司进行一些操作时调用我们的接口进行实现。 例:A开发会员等级同步接口,供B同步会员等级到B系统。B会员等级的变动需要调用A接口主动推送给A(即更新会员卡等级&am…

如何优雅的调用第三方接口

点击上方蓝色“java大数据修炼之道”, 选择“设为星标” 每晚九点: 技术干货 👉 必定奉上 来源:blog.csdn.net/qq_35860138/article/details/82967727 在项目开发中经常会遇到调用第三方接口的情况,比如说调用第三方的天气预报接口。 # 使用流…

Java 调用第三方接口,实战来了!

在项目开发中经常会遇到调用第三方接口的情况,比如说调用第三方的天气预报接口。 1、准备工作: 在项目的工具包下导入HttpClientUtil这个工具类,或者也可以使用Spring框架的restTemplate来调用,上面有调用接口的方法【分为Get和Po…

涉及到第三方支付接口该如何测试?

现在有不少测试朋友做的项目中,可能也会涉及到支付相关的功能。比如:做商城的,做游戏的以及其他在线交易的网站、APP等。如果支付出了问题,或者用户拿少的钱通过篡改请求数据购买大金额的商品,如果是实物的话&#xff…

第三方支付api接口是什么?

由于移动互联网的不断发展,从而产生了第三方和第四方支付,而第三方成为商业交易的环节不可缺失的一个总要部分,作为第三方,通过央行的授权,一般都覆盖了很多支付通道,给予需求企业最便捷、高效的接入方式&a…

Java 调用第三方接口方法

Java 调用第三方接口方法 一、 通过JDK网络类Java.net.HttpURLConnection 1.java.net包下的原生java api提供的http请求 使用步骤: 1、通过统一资源定位器(java.net.URL)获取连接器(java.net.URLConnection)。 2、设…

Java调用第三方接口示范

人工智能,零基础入门!http://www.captainbed.net/inner 在项目开发中经常会遇到调用第三方接口的情况,比如说调用第三方的天气预报接口。 使用流程 【1】准备工作:在项目的工具包下导入HttpClientUtil这个工具类,或者…

调用第三方接口

快速使用:调用第三方接口获取数据(简易版)_myme95的博客-CSDN博客_调用第三方接口 controller层 private String jokeApiKey "40ff81dexxxxxxxxxxxx97a39d39";AutowiredApiService apiService;/*** 京东万象-笑话api*/GetMapping(…

国内7款API供应平台功能对比及详细介绍

我们都知道一句话“巧妇难为无米之炊”,数据源就是数据产生价值中的那些大米。那大数据时代企业需要哪些数据呢?根据我个人理解我觉得可以大致分为以下几类: 1、(内部)企业自身业务生产经营环节产生的内部数据【包括销…

Java Web系统常用的第三方接口

1. Web Service 接口 1.1 接口方式说明和优点 在笔者的开发生涯中,当作为接口提供商给第三方提供接口时,以及作为客户端去调用第三方提供的接口时,大部分时候都是使用 Web Service接口, Web Service作为接口使用广泛的…

进制转换2

进制之间的转换 本文转自:http://www.bloghome.cn/posts/38472 数学 /bullly 发表于2006-07-11, 18:08 不同进制之间的转换纯粹是数学上的计算。不过,你不必担心会有么复杂,无非是乘或除的计算。 生活中其实很多地方的计数方法都多少有点不…

计算机二进制

二进制转十进制 不考虑符号为 十进制转二进制 奇数要算一次 1 / 2 偶数不需要 计算 1 / 2 奇数要算一次 1 / 2 偶数不需要 计算 1 / 2 奇数要算一次 1 / 2 偶数不需要 计算 1 / 2 奇数要算一次 1 / 2 偶数不需要 计算 1 / 2 奇数要算一次 1 / 2 偶数不需要 计算 1 / 2 奇数…

-2进制

http://oj.acm.zstu.edu.cn/JudgeOnline/problem.php?id4435 懵~ 后来问别人,他让我试着用二进制反推十进制,就晓得了(用(-2)^n)。 这个是学长写的代码 //我写的时候,将它先变成二进制,再给每…

进制.2

转自: http://www.d2school.com/bhcpp_book/5_8.php 5.8.1 十六进制 说到十六进制,首先会问:总共只有10个阿拉伯数字:0、1、2、3、4、5、6、7、8、9,如何表达“逢16进1”的概念呢?方法是用英文字母&#x…

二进制及二进制转换

二进制是计算技术中广泛采用的一种数制。二进制数据是用0和1两个数码来表示的数。它的基数为2,进位规则是“逢二进一”,借位规则是“借一当二” 二进制数(binaries)是逢2进位的进位制,0、1是基本算符 [2] &#xff1…

二进制?十进制!

链接:登录—专业IT笔试面试备考平台_牛客网 来源:牛客网 给定两个十进制整数 : AAA,BBB 你需要把它们的二进制形式以十进制的运算法则相加输出结果。 例如: A3,B2A 3 , B 2A3,B2 的时候,AAA 的二进制表示是 : 111111 , BB…

关于二进制???

文章目录 二进制二进制转化为十进制十进制转化成二进制无符号数和有符号数原码反码补码 二进制的计算规则 二进制 二进制转化为十进制 二进制是一套计数方法,每个数位有0、1两种可能,类比在日常生活中我们使用的十进制,每个数位有0-9十种可…

二进制及二进制的转换

二进制(binary)是在数学和数字电路中指以2为基数的记数系统,是以2为基数代表系统的二进位制。这一系统中,通常用两个不同的符号0(代表零)和1(代表一)来表示 [1] 。数字电子电路中&a…