zoukankan      html  css  js  c++  java
  • 交换机和路由器各自的实现原理

    1.什么是交换机
    交换机也叫交换式集线器,它通过对信息进行重新生成,并经过内部处理后转发至指定端口,具备自动寻址能力和交换作用,由于交换机根据所传递信息包的目的地址,将每一信息包独立地从源端口送至目的端口,避免了和其他端口发生碰撞。广义的交换机就是一种在通信系统中完成信息交换功能的设备。
    2.交换机的工作原理
    在计算机网络系统中,交换机是针对共享工作模式的弱点而推出的。集线器是采用共享工作模式的代表,如果把集线器比作一个邮递员,那么这个邮递员是个不认识字的“傻瓜”--要他去送信,他不知道直接根据信件上的地址将信件送给收信人,只会拿着信分发给所有的人,然后让接收的人根据地址信息来判断是不是自己的!而交换机则是一个“聪明”的邮递员--交换机拥有一条高带宽的背部总线和内部交换矩阵。交换机的所有的端口都挂接在这条背部总线上,当控制电路收到数据包以后,处理端口会查找内存中的地址对照表以确定目的MAC(网卡的硬件地址)的NIC(网卡)挂接在哪个端口上,通过内部交换矩阵迅速将数据包传送到目的端口。目的MAC若不存在,交换机才广播到所有的端口,接收端口回应后交换机会“学习”新的地址,并把它添加入内部地址表中。
    可见,交换机在收到某个网卡发过来的“信件”时,会根据上面的地址信息,以及自己掌握的“常住居民户口簿”快速将信件送到收信人的手中。万一收信人的地址不在“户口簿”上,交换机才会像集线器一样将信分发给所有的人,然后从中找到收信人。而找到收信人之后,交换机会立刻将这个人的信息登记到“户口簿”上,这样以后再为该客户服务时,就可以迅速将信件送达了。
    3.交换机的性能特点
    1)独享带宽
    由于交换机能够智能化地根据地址信息将数据快速送到目的地,因此它不会像集线器那样在传输数据时“打扰”那些非收信人。这样一来,交换机在同一时刻可进行多个端口组之间的数据传输。并且每个端口都可视为是独立的网段,相互通信的双方独自享有全部的带宽,无须同其他设备竞争使用。比如说,当A主机向D主机发送数据时,B主机可同时向C主机发送数据,而且这两个传输都享有网络的全部带宽--假设此时它们使用的是10Mb的交换机,那么该交换机此时的总流通量就等于2×10Mb=20Mb。
    2)全双工
    当交换机上的两个端口在通信时,由于它们之间的通道是相对独立的,因此它们可以实现全双工通信。
    1.路由器的作用
    通过集线器或交换机,我们可以将很多台电脑组成一个比较大的局域网(图3),但是当机器的数量达到一定数目时,问题也就来了:对于用集线器构成的局域网而言,由于采用“广播”工作模式,当网络规模较大时,信息在传输过程中出现碰撞、堵塞的情况越来越严重,即使是交换机,这种情况也同样存在。其次,这种局域网不安全,也不利于管理。
    为了解决这些问题,人们便将一个较大的网络划分为一个个小的子网、网段,或者直接将它们划分为多个 VLAN(即虚拟局域网),在一个VLAN内,一台主机发出的信息只能发送到具有相同VLAN号的其他主机,其他VLAN的成员收不到这些信息或广播帧。采用VLAN划分网络后,可有效地抑制网络上的广播风暴,增加网络的安全性,使管理控制集中(图4)。
    既然是局域网,万一分别处于不同 VLAN的主机需要互相通信时该怎么办呢?这时候就得通过路由器(Router,转发者)来帮忙了。路由器可以将处于不同子网、网段、VLAN的电脑连接起来,让它们自由通信。另外,我们都知道目前的网络有很多种结构类型,且不同网络所使用的协议、速度也不尽相同。当两个不同结构的网络需要互连时,也可以通过路由器来实现。路由器可以使两个相似或不同体系结构的局域网段连接到一起,以构成一个更大的局域网或一个广域网。
    可见,路由器是一种连接多个网络或网段的网络设备,它能将不同网络、网段或VLAN之间的数据信息进行“翻译”,以使它们能够相互“读”懂对方的数据,从而构成一个更大的网络。
    2.路由器的工作原理
    所谓路由就是指通过相互连接的网络把信息从源地点移动到目标地点的活动。那么路由器具体是如何进行“翻译”工作的呢?我们平时在学习、翻译英语时,肯定会准备一本英汉字典,通过它来实现英文与中文之间的互现转换。而对于路由器而言,它也有这种用于翻译的字典--路径表。路径表(Routing Table)保存着各种传输路径的相关数据,如子网的标志信息、网上路由器的个数和下一个路由器的名字等内容。路径表可以是由系统管理员固定设置好的,也可以由系统动态修改,可以由路由器自动调整,也可以由主机控制。
    通过路由器可以让不同子网、网段进行互连,因此路由器与集线器、交换机不同,它一般安装在网络的“骨干”部位,而不像集线器、交换机那样工作在基层。比如说一个较大规模的企业局域网,基于管理、安全、性能的考虑,一般都会将整个网络划分为多个VLAN,如此一来,当VLAN与VLAN之间进行通讯时,就必须使用路由器。
    对于该企业网而言,肯定还需要与互联网相连,对于企业而言,一般都是通过租用电信的DDN专线或者利用ADSL、Cable、ISDN等方式将企业网接入互联网,而此时由于网络体系及所用协议的不同,也需要路由器来完成企业网与互联网的互连工作。

    交换机和路由器

    “交换”是今天网络里出现频率最高的一个词,从桥接到路由到ATM直至电话系统,无论何种场合都可将其套用,搞不清到底什么才是真正的交换。其实交换一词最早出现于电话系统,特指实现两个不同电话机之间话音信号的交换,完成该工作的设备就是电话交换机。所以从本意上来讲,交换只是一种技术概念,即完成信号由设备入口到出口的转发。因此,只要是和符合该定义的所有设备都可被称为交换设备。由此可见,“交换”是一个涵义广泛的词语,当它被用来描述数据网络第二层的设备时,实际指的是一个桥接设备;而当它被用来描述数据网络第三层的设备时,又指的是一个路由设备。
    我们经常说到的以太网交换机实际是一个基于网桥技术的多端口第二层网络设备,它为数据帧从一个端口到另一个任意端口的转发提供了低时延、低开销的通路。
    由此可见,交换机内部核心处应该有一个交换矩阵,为任意两端口间的通信提供通路,或是一个快速交换总线,以使由任意端口接收的数据帧从其他端口送出。在实际设备中,交换矩阵的功能往往由专门的芯片(ASIC)完成。另外,以太网交换机在设计思想上有一个重要的假设,即交换核心的速度非常之快,以致通常的大流量数据不会使其产生拥塞,换句话说,交换的能力相对于所传信息量而无穷大(与此相反,ATM交换机在设计上的思路是,认为交换的能力相对所传信息量而言有限)。
    虽然以太网第二层交换机是基于多端口网桥发展而来,但毕竟交换有其更丰富的特性,使之不但是获得更多带宽的最好途径,而且还使网络更易管理。
    而路由器是OSI协议模型的网络层中的分组交换设备(或网络层中继设备),路由器的基本功能是把数据(IP报文)传送到正确的网络,包括:
    1.IP数据报的转发,包括数据报的寻径和传送;
    2.子网隔离,抑制广播风暴;
    3.维护路由表,并与其他路由器交换路由信息,这是IP报文转发的基础。
    4.IP数据报的差错处理及简单的拥塞控制;
    5.实现对IP数据报的过滤和记帐。
    对于不同地规模的网络,路由器的作用的侧重点有所不同。
    在主干网上,路由器的主要作用是路由选择。主干网上的路由器,必须知道到达所有下层网络的路径。这需要维护庞大的路由表,并对连接状态的变化作出尽可能迅速的反应。路由器的故障将会导致严重的信息传输问题。
    在地区网中,路由器的主要作用是网络连接和路由选择,即连接下层各个基层网络单位--园区网,同时负责下层网络之间的数据转发。
    在园区网内部,路由器的主要作用是分隔子网。早期的互连网基层单位是局域网(LAN),其中所有主机处于同一逻辑网络中。随着网络规模的不断扩大,局域网演变成以高速主干和路由器连接的多个子网所组成的园区网。在其中,处个子网在逻辑上独立,而路由器就是唯一能够分隔它们的设备,它负责子网间的报文转发和广播隔离,在边界上的路由器则负责与上层网络的连接。
    3 第二层交换机和路由器的区别
    传统交换机从网桥发展而来,属于OSI第二层即数据链路层设备。它根据MAC地址寻址,通过站表选择路由,站表的建立和维护由交换机自动进行。路由器属于 OSI第三层即网络层设备,它根据IP地址进行寻址,通过路由表路由协议产生。交换机最大的好处是快速,由于交换机只须识别帧中MAC地址,直接根据 MAC地址产生选择转发端口算法简单,便于ASIC实现,因此转发速度极高。但交换机的工作机制也带来一些问题。
    1.回路:根据交换机地址学习和站表建立算法,交换机之间不允许存在回路。一旦存在回路,必须启动生成树算法,阻塞掉产生回路的端口。而路由器的路由协议没有这个问题,路由器之间可以有多条通路来平衡负载,提高可靠性。
    2.负载集中:交换机之间只能有一条通路,使得信息集中在一条通信链路上,不能进行动态分配,以平衡负载。而路由器的路由协议算法可以避免这一点,OSPF路由协议算法不但能产生多条路由,而且能为不同的网络应用选择各自不同的最佳路由。
    3.广播控制:交换机只能缩小冲突域,而不能缩小广播域。整个交换式网络就是一个大的广播域,广播报文散到整个交换式网络。而路由器可以隔离广播域,广播报文不能通过路由器继续进行广播。
    4.子网划分:交换机只能识别MAC地址。MAC地址是物理地址,而且采用平坦的地址结构,因此不能根据MAC地址来划分子网。而路由器识别IP地址,IP地址由网络管理员分配,是逻辑地址且IP地址具有层次结构,被划分成网络号和主机号,可以非常方便地用于划分子网,路由器的主要功能就是用于连接不同的网络。
    5.保密问题:虽说交换机也可以根据帧的源MAC地址、目的MAC地址和其他帧中内容对帧实施过滤,但路由器根据报文的源IP地址、目的IP地址、TCP端口地址等内容对报文实施过滤,更加直观方便。
    6.介质相关:交换机作为桥接设备也能完成不同链路层和物理层之间的转换,但这种转换过程比较复杂,不适合ASIC实现,势必降低交换机的转发速度。因此目前交换机主要完成相同或相似物理介质和链路协议的网络互连,而不会用来在物理介质和链路层协议相差甚元的网络之间进行互连。而路由器则不同,它主要用于不同网络之间互连,因此能连接不同物理介质、链路层协议和网络层协议的网络。路由器在功能上虽然占据了优势,但价格昂贵,报文转发速度低。
    近几年,交换机为提高性能做了许多改进,其中最突出的改进是虚拟网络和三层交换。
    划分子网可以缩小广播域,减少广播风暴对网络的影响。路由器每一接口连接一个子网,广播报文不能经过路由器广播出去,连接在路由器不同接口的子网属于不同子网,子网范围由路由器物理划分。对交换机而言,每一个端口对应一个网段,由于子网由若干网段构成,通过对交换机端口的组合,可以逻辑划分子网。广播报文只能在子网内广播,不能扩散到别的子网内,通过合理划分逻辑子网,达到控制广播的目的。由于逻辑子网由交换机端口任意组合,没有物理上的相关性,因此称为虚拟子网,或叫虚拟网。虚拟网技术不用路由器就解决了广播报文的隔离问题,且虚拟网内网段与其物理位置无关,即相邻网段可以属于不同虚拟网,而相隔甚远的两个网段可能属于不同虚拟网,而相隔甚远的两个网段可能属于同一个虚拟网。不同虚拟网内的终端之间不能相互通信,增强了对网络内数据的访问控制。
    交换机和路由器是性能和功能的矛盾体,交换机交换速度快,但控制功能弱,路由器控制性能强,但报文转发速度慢。解决这个矛盾的最新技术是三层交换,既有交换机线速转发报文能力,又有路由器良好的控制功能。
    4 第三层交换机和路由器的区别
    在第三层交换技术出现之前,几乎没有必要将路由功能器件和路由器区别开来,他们完全是相同的:提供路由功能正在路由器的工作,然而,现在第三层交换机完全能够执行传统路由器的大多数功能。作为网络互连的设备,第三层交换机具有以下特征:
    1.转发基于第三层地址的业务流;
    2.完全交换功能;
    3.可以完成特殊服务,如报文过滤或认证;
    4.执行或不执行路由处理。
    第三层交换机与传统路由器相比有如下优点:
    1.子网间传输带宽可任意分配:传统路由器每个接口连接一个子网,子网通过路由器进行传输的速率被接口的带宽所限制。而三层交换机则不同,它可以把多个端口定义成一个虚拟网,把多个端口组成的虚拟网作为虚拟网接口,该虚拟网内信息可通过组成虚拟网的端口送给三层交换机,由于端口数可任意指定,子网间传输带宽没有限制。
    2.合理配置信息资源:由于访问子网内资源速率和访问全局网中资源速率没有区别,子网设置单独服务器的意义不大,通过在全局网中设置服务器群不仅节省费用,更可以合理配置信息资源。
    3.降低成本:通常的网络设计用交换机构成子网,用路由器进行子网间互连。目前采用三层交换机进行网络设计,既可以进行任意虚拟子网划分,又可以通过交换机三层路由功能完成子网间通信,为此节省了价格昂贵的路由器。
    4.交换机之间连接灵活:作为交换机,它们之间不允许存在回路,作为路由器,又可有多条通路来提高可靠性、平衡负载。三层交换机用生成树算法阻塞造成回路的端口,但进行路由选择时,依然把阻塞掉的通路作为可选路径参与路由选择。
    5 结论
    综上所述,交换机一般用于LAN-WAN的连接,交换机归于网桥,是数据链路层的设备,有些交换机也可实现第三层的交换。路由器用于WAN-WAN之间的连接,可以解决异性网络之间转发分组,作用于网络层。他们只是从一条线路上接受输入分组,然后向另一条线路转发。这两条线路可能分属于不同的网络,并采用不同协议。相比较而言,路由器的功能较交换机要强大,但速度相对也慢,价格昂贵,第三层交换机既有交换机线速转发报文能力,又有路由器良好的控制功能,因此得以广播应用。

  • 相关阅读:
    protobuf 中的嵌套消息的使用
    Mysql++详解
    MYSQL++之Connect类型
    c/c++中宏定义##连接符 和#符的使用
    c指针
    linux学习历程
    linux sar 命令详解
    Linux下多线程查看工具(pstree、ps、pstack)
    知识杂项
    python 使用xrld
  • 原文地址:https://www.cnblogs.com/shengansong/p/2647021.html
Copyright © 2011-2022 走看看