草庐IT

通俗理解光猫、网关、路由器、交换机

不熬夜,早点睡 2023-04-21 原文

参考博客

计算机网络°中间设备(网关,路由器,交换机,网桥,中继器,集线器)它们都可以理解为发送或接收数据的终端设备。

本质区分(工作网络层口不同)

传输层(网关)
网络层(路由器)
数据链路层(网桥,交换机)
物理层(中继器,集线器)

参考OSI参考模型各层理解其作用区别

中继器与集线器(HUB)

—句理解:接受,连接,扩大信息在物理层传播。

中继器又叫重发器(Repeater,也叫放大器),是LAN(局域网)环境下用来延长网络距离的互连设备中最简单、最廉价的设备。

**集线器(**被称为多端口中继器multiport repeater)是中继器的一种形式,也称为盒装总线,所以集线器连接的计算机是共享同一物理带宽的。正是因为这个特点,集线器不适合用来构建大型网络。

中继器与集线器区别:1.在于连接设备的线缆的数量。一个中继器通常只有两个端口,而一个集线器通常有4至20个或更多的端口。2.集线器还有把所有节点集中在以它为中心的节点上的功能,这个叫做集成。而中继器没有。

集线器和中继器两者都属于物理层的设备。物理层设备和其他层次的设备(如:交换机、网桥、路由器Q)最大的区别在于:集线器和中继器工作在同一个网段下的,而交换机、路由器等设备是工作在不同网段下的。网段:指一个计算机网络中使用同一物理层设备(传输介质、中继器、集线器)能够直接通信的那一部分。也就是说,互联网划分为大大小小的网络,而一个网段只属于互联网中的某一个网络。

网桥与交换机

一句话理解:是集线器的升级换代产品,构建局域网,支持不同网络协议信息传播,提高网络信息传播的性能。

**网桥(Bridge)**也称为桥接器,是连接两个局域网的存储转发设备,用它可以使完全具有相同或相似体系结构网络系统的连接,这样不但能扩展网络的距离或范围,而且可提高网络的性能、可靠性和安全性。

网桥工作在数据链路层9,将两个LAN连起来,根据MAC地址来转发帧,可以看作一个低层的路由器”(路由器工作在网络层,根据网络地址如IP地址进行转发)。

**交换机(Switch)**是主导网络系统的集线设备。将多个网络设备连接起来组成一个局域网。它是一种用于电(光)信号转发的网络设备,用来进行数据交换。

在计算机网络系统中,交换机是针对共享工作模式的弱点而推出的。交换机拥有一条高带宽的背部总线和内部交换矩阵。交换机的所有的端口都挂接在这条背部总线上,当控制电路收到数据包以后,处理端口会查找内存中的地址对照表以确定目的MAC(网卡的硬件地址)的NIC(网卡)挂接在哪个端口上,通过内部交换矩阵迅速将数据包传送到目的端口。目的MAC若不存在,交换机才广播到所有的端口,接收端口回应后交换机会"学习"新的地址,并把它添加入内部地址表中。
大部分交换机工作于OSI参考模型的第二层,即数据链路层。交换机内部的CPU会在每个端口成功连接时,通过ARP协议学习它的MAC地址,保存成—张ARP表。在今后的通讯中,发往该MAC地址的数据包将仅送往其对应的端口,而不是所有的端口。因此,交换机可用于划分数据链路层广播,即冲突域;但它不能划分网络层广播,即广播域

通俗点说,交换机把数据包发送到正确的位置,相当于网线,连接多个网卡,交换机关注数据包中的MAC地址

网桥与交换机的区别:
网桥一般分有两个端口,而交换机具有高密度的端口。由于交换机能够支持多个端口,因此可以把网络系统划分成为更多的物理网段,这样使得整个网络系统具有更高的带宽。而网桥仅仅支持两个端口,所以,网桥划分的物理网段是相当有限的。
交换机与网桥数据信息的传输速率相比,交换机要快于网桥。网桥在发送数据帧前,通常要接收到完整的数据帧并执行帧检测序列FCS后,才开始转发该数据帧。交换机具有存储转发和直接转发两种帧转发方式。
网桥、交换机工作在2层,靠物理地址工作,解决CSMA/CD的冲突问题,网桥基于软件,现在用的不多,只有个概念,交换机是基于硬件的网桥(ASIC) .

路由器

一句话理解:跨越不同的物理网络类型(DDN、以太网等等)在逻辑网络上把数据(IP报文)传送到正确的网络。

**路由器(Router)**是一种计算机网络设备。靠逻辑地址工作,提供逻辑寻址,解决广播问题。
提供了路由与转送两种重要机制。可以决定数据包从来源端到目的端所经过的路由路径(host到host之间的传输路径),这个过程称为路由;将路由器输入端的数据包移送至适当的路由器输出端(在路由器内部进行),这称为转送。
路由工作在OSI模型的第三层——即网络层,例如网际协议。路由器的一个作用是连通不同的网络,另一个作用是选择信息传送的线路。
交换机把数据包发送到正确的位置,相当于网线,连接多个网卡,交换机关注数据包中的MAC地址

交换器与路由器区别:

1、本质区别
网关这种设备它主要是用来连接两种不同的网络,同时,网关它还能够同时与两边的主机之间进行通信。但是两边的主机是不能够直接进行通信,是必须要经过网关才能进行通信。网关的工作是在应用层当中。
路由器它是属于网络层设备,通常是以包为单位进行数据的发送。在路由器的子接口,是有分割广播域的作用,所以当我们用交换机做VLAN以后,都是要在路由器上做一个三层的路由。
2、使用方式的区别
网关它可以是路由器,交换机或者是PC。在同一网段之内进行通信,是不需要将网关介入其中,只有当主机个非本网段设备进行通信的时候,才需要将数据包全部发给网关设备,再经由网关设备进行转发或者是有路由处理等。
路由器它是一个网络层系统,路由器在现在市场上一般是被分成了两大类,一类是单协议路由器,另—类是多协议路由器。路由器它可以进行数据格式的转换,成为不同于协议之间的网络互连的必要设备。
3、功能上的区别 网关可以分为传输型网关和应用型网关,它的功能是充当转换重任,实质上就是一个网络通向其他网络的IP地址。
路由器的功能主要有:连通不同的网络和信息传输作用。按照使用可分为:接入、企业级、骨干级、太比特、多WAN以及3G无线等。

网关

再说网关之前,先说一下子网的划分,为何要划分,因为tcp/IP协议规定,不同子网之间不能直接进行通讯,想要通信必须要网关进行连接,网关可以在两个子网之间转发数据包



网关(Gateway),网关顾名思义就是连接两个网络的设备,区别于路由器(由于历史的原因,许多有关TCP/IP的文献曾经把网络层使用的路由器(Router)称为网关,在今天很多局域网采用都是路由来接入网络,因此现在通常指的网关就是路由器的IP),经常在家庭中或者小型企业网络中使用,用于连接局域网和Internet。网关也经常指把一种协议转成另一种协议的设备,比如语音网关。
在传统TCP/IP术语中,网络设备只分成两种,一种为网关(gateway),另一种为主机(host)。网关能在网络间转递数据包,但主机不能转送数据包。在主机(又称终端系统,end system)中,数据包需经过TCPIP四层协议处理,但是在网关(又称中介系统,
intermediate system)只需要到达网际层(Internet layer),决定路径之后就可以转送。在当时,网关(gateway)与路由器(router)还没有区别。
在现代网络术语中,网关(gateway)与路由器(router)的定义不同。网关(gateway)能在不同协议间移动数据,而路由器(router)是在不同网络间移动数据,相当于传统所说的IP网关(IP gateway)
网关是连接两个网络的设备,对于语音网关来说,他可以连接PSTN网络和以太网,这就相当于VOIP,把不同电话中的模拟信号通过网关而转换成数字信号,而且加入协议再去传输。在到了接收端的时候再通过网关还原成模拟的电话信号,最后才能在电话机上听到。

对于以太网中的网关只能转发三层以上数据包,这一点和路由是一样的。而不同的是网关中并没有路由表,他只能按照预先设定的不同网段来进行转发。网关最重要的一点就是端口映射,子网内用户在外网看来只是外网的IP地址对应着不同的端口,这样看来就会保护子网内的用户。

光猫:又称调制调解器,它主要为了信号转换,如把模拟信号转换成数字信号。

光猫的介绍参考以下博客

参考博客

有关通俗理解光猫、网关、路由器、交换机的更多相关文章

  1. ruby-on-rails - Rails 3 中的多个路由文件 - 2

    Rails2.3可以选择随时使用RouteSet#add_configuration_file添加更多路由。是否可以在Rails3项目中做同样的事情? 最佳答案 在config/application.rb中:config.paths.config.routes在Rails3.2(也可能是Rails3.1)中,使用:config.paths["config/routes"] 关于ruby-on-rails-Rails3中的多个路由文件,我们在StackOverflow上找到一个类似的问题

  2. ruby - rails 3 redirect_to 将参数传递给命名路由 - 2

    我没有找到太多关于如何执行此操作的信息,尽管有很多关于如何使用像这样的redirect_to将参数传递给重定向的建议:action=>'something',:controller=>'something'在我的应用程序中,我在路由文件中有以下内容match'profile'=>'User#show'我的表演Action是这样的defshow@user=User.find(params[:user])@title=@user.first_nameend重定向发生在同一个用户Controller中,就像这样defregister@title="Registration"@user=Use

  3. ruby-on-rails - Rails 3,嵌套资源,没有路由匹配 [PUT] - 2

    我真的为这个而疯狂。我一直在搜索答案并尝试我找到的所有内容,包括相关问题和stackoverflow上的答案,但仍然无法正常工作。我正在使用嵌套资源,但无法使表单正常工作。我总是遇到错误,例如没有路线匹配[PUT]"/galleries/1/photos"表格在这里:/galleries/1/photos/1/edit路线.rbresources:galleriesdoresources:photosendresources:galleriesresources:photos照片Controller.rbdefnew@gallery=Gallery.find(params[:galle

  4. CAN协议的学习与理解 - 2

    最近在学习CAN,记录一下,也供大家参考交流。推荐几个我觉得很好的CAN学习,本文也是在看了他们的好文之后做的笔记首先是瑞萨的CAN入门,真的通透;秀!靠这篇我竟然2天理解了CAN协议!实战STM32F4CAN!原文链接:https://blog.csdn.net/XiaoXiaoPengBo/article/details/116206252CAN详解(小白教程)原文链接:https://blog.csdn.net/xwwwj/article/details/105372234一篇易懂的CAN通讯协议指南1一篇易懂的CAN通讯协议指南1-知乎(zhihu.com)视频推荐CAN总线个人知识总

  5. TimeSformer:抛弃CNN的Transformer视频理解框架 - 2

    Transformers开始在视频识别领域的“猪突猛进”,各种改进和魔改层出不穷。由此作者将开启VideoTransformer系列的讲解,本篇主要介绍了FBAI团队的TimeSformer,这也是第一篇使用纯Transformer结构在视频识别上的文章。如果觉得有用,就请点赞、收藏、关注!paper:https://arxiv.org/abs/2102.05095code(offical):https://github.com/facebookresearch/TimeSformeraccept:ICML2021author:FacebookAI一、前言Transformers(VIT)在图

  6. ruby-on-rails - Rails - 从命名路由中提取 HTTP 动词 - 2

    Rails中有没有一种方法可以提取与路由关联的HTTP动词?例如,给定这样的路线:将“users”匹配到:“users#show”,通过:[:get,:post]我能实现这样的目标吗?users_path.respond_to?(:get)(显然#respond_to不是正确的方法)我最接近的是通过执行以下操作,但它似乎并不令人满意。Rails.application.routes.routes.named_routes["users"].constraints[:request_method]#=>/^GET$/对于上下文,我有一个设置cookie然后执行redirect_to:ba

  7. ruby-on-rails - 如何在 Rails 中设置路由的默认格式? - 2

    路由有如下代码:resources:orders,only:[:create],defaults:{format:'json'}resources:users,only:[:create,:update],defaults:{format:'json'}resources:delivery_types,only:[:index],defaults:{format:'json'}resources:time_corrections,only:[:index],defaults:{format:'json'}是否可以使用1个字符串为所有资源设置默认格式,每行不带“默认值”散列?谢谢。

  8. ruby - 易于初学者理解的 Ruby 库 - 2

    关闭。这个问题不符合StackOverflowguidelines.它目前不接受答案。我们不允许提问寻求书籍、工具、软件库等的推荐。您可以编辑问题,以便用事实和引用来回答。关闭3年前。Improvethisquestion我正处于学习Ruby的阶段,我想查看一些小型库的源代码以了解它们是如何构建的。我不知道什么是小型图书馆,但希望SO能推荐一些易于理解的图书馆来学习。因此,如果有人知道一两个非常小的库,这是新手Rubyists学习的好例子,请推荐!我想使用Manveru'sInnatelib,因为它试图保持在2000LOC以下,但我还不熟悉其中经常使用的Ruby速记。也许大约100-5

  9. ruby - 无法理解 `puts{}.class` 和 `puts({}.class)` 之间的区别 - 2

    由于匿名block和散列block看起来大致相同。我正在玩它。我做了一些严肃的观察,如下所示:{}.class#=>Hash好的,这很酷。空block被视为Hash。print{}.class#=>NilClassputs{}.class#=>NilClass为什么上面的代码和NilClass一样,下面的代码又显示了Hash?puts({}.class)#Hash#=>nilprint({}.class)#Hash=>nil谁能帮我理解上面发生了什么?我完全不同意@Lindydancer的观点你如何解释下面几行:print{}.class#NilClassprint[].class#A

  10. ruby-on-rails - 与 ActiveMerchant 一起使用的最佳支付网关是什么? - 2

    我需要使用ActiveMerchant库在我们的一个Rails应用程序中设置支付解决方案。尽管这个问题非常主观,但人们对主要网关(BrainTree、Authorize.net等)的体验如何?它必须:处理定期付款。有能力记入个人帐户。能够取消付款。有办法存储用户的付款详细信息(例如Authotize.netsCIM)。干杯 最佳答案 ActiveMerchant很棒,但在过去一年左右的时间里,我在使用它时发现了一些问题。首先,虽然某些网关可能会得到“支持”——但并非所有功能都包含在内。查看功能矩阵以确保完全支持您选择的网关-http

随机推荐