(完整word版)路由及交换的基本概念
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
一、路由
1、路由的概念
路由是指路由器从一个接口上收到数据包,根据数据包的目的地址进行定向并转发到另一个接口的过程。
路由通常与桥接来对比,在粗心的人看来,它们似乎完成的是同样的事。
它们的主要区别在于桥接发生在OSI参考模型的第二层(数据链路层),而路由发生在第三层(网络层)。
这一区别使二者在传递信息的过程中使用不同的信息,从而以不同的方式来完成其任务。
2、工作原理和算法
路由工作包括两个基本的动作:确定最佳路径通过网络传输信息
路由这个概念用来说明将数据包从一台设备通过网络发往另一台处在不同网络上的设备。
路由并不关心这些主机,他们只关心网络和通向每个网络的最佳路径。
要完成对数据包的路由,路由器必须至少了解一下内容:
目的地址
相邻路由器,并从哪里获得远程哦的信息
到所有远程网络可能的路径
到大每个远程网络的最佳路径
如何验证并维护路由信息
路由根据不同的算法协议可以从管理员或者相邻路由器认识远程网路,只有路由器会建立一个如何寻找远程网络的路由表(就类似一个地图)。
A、路径的选择
metric是路由算法用以确定到达目的地的最佳路径的计量标准,如路径长度。
为了帮助选路,路由算法初始化并维护包含路径信息的路由表,路径信息根据使用的路由算法不同而不同。
路由算法根据许多信息来填充路由表。
目的/下一跳地址对告知路由器到达该目的最佳方式是把分组发送给代表“下一跳”的路由器,当路由器收到一个分组,它就检查其目标地址,尝试将此地址与其“下一跳”相联系。
路由表还可以包括其它信息。
路由表比较metric以确定最佳路径,这些metric根据所用的路由算法而不同。
路由器彼此通信,通过交换路由信息维护其路由表,路由更新信息通常包含全部或部分路由表,通过分析来自其它路由器的路由更新信息,该路由器可以建立网络拓扑图。
路由器间发送的另一个信息是链接状态广播信息,它通知其它路由器发送者的链接状态,链接信息用于建立完整的拓扑图,使路由器可以确定最佳路径。
B、交换算法
交换算法相对而言较简单,对大多数路由协议而言是相同的,多数情况下,某主机决定向另一个主机发送数据,通过某些方法获得路由器的地址后,源主机发送指向该路由器的物理(MAC)地址的数据包,其协议地址是指向目的主机的。
路由器查看了数据包的目的协议地址后,确定是否知道如何转发该包,如果路由器不知道如何转发,通常就将之丢弃。
如果路由器知道如何转发,就把目的物理地址变成下一跳的
物理地址并向之发送。
下一跳可能就是最终的目的主机,如果不是,通常为另一个路由器,它将执行同样的步骤。
当分组在网络中流动时,它的物理地址在改变,但其协议地址始终不变。
ISO定义了用于描述此过程的分层的术语。
在该术语中,没有转发分组能力的网络设备称为端系统(ES--end system),有此能力的称为中介系统(IS--intermediate system)。
IS又进一步分成可在路由域内通信的域内IS(intradomain IS)和既可在路由域内有可在域间通信的域间IS(interdomain IS)。
路由域通常被认为是统一管理下的一部分网络,遵守特定的一组管理规则,也称为自治系统(autonomous system)。
在某些协议中,域内路由协议仍可用于在区间内和区间之间交换数据。
3、算法的设计目标
路由算法可以根据多个特性来加以区分。
首先,算法设计者的特定目标影响了该路由协议的操作;其次,存在着多种路由算法,每种算法对网络和路由器资源的影响都不同;最后,路由算法使用多种metric,影响到最佳路径的计算。
下面分析下这些路由算法的特性。
路由算法通常具有下列设计目标的一个或多个:
A、优化
指路由算法选择最佳路径的能力,根据metric的值和权值来计算。
例如有一种路由算法可能使用跳数和延迟,但可能延迟的权值要大些。
当然,路由协议必须严格定义计算metric 的算法。
B、高效简单
它也可以设计得尽量简单。
换句话说,路由协议必须高效地提供其功能,尽量减少软件和应用的开销。
当实现路由算法的软件必须运行在物理资源有限的计算机上时高效尤其重要。
C、稳定
路由算法必须稳定,即在出现不正常或不可预见事件的情况下必须仍能正常处理,例如硬件故障、高负载和不正确的实现。
因为路由器位于网络的连接点,当它们失效时会产生重大的问题。
最好的路由算法通常是那些经过了时间考验,证实在各种网络条件下都很稳定的算法。
D、快速聚合
聚合是所有路由器对最佳路径达成一致的过程。
当某网络事件使路径断掉或不可用时,路由器通过网络分发路由更新信息,促使最佳路径的重新计算,最终使所有路由器达成一致。
聚合很慢的路由算法可能会产生路由环或网路中断。
E、灵活
即它们应该迅速、准确地适应各种网络环境。
例如,假定某网段断掉了,当知道问题后,很多路由算法对通常使用该网段的路径将迅速选择次佳的路径。
路由算法可以设计得可适应网络带宽、路由器队列大小和网络延迟。
4、算法类型
A、静态与动态
静态路由算法很难算得上是算法,只不过是开始路由前由网管建立的表映射。
这些映射自身并不改变,除非网管去改动。
使用静态路由的算法较容易设计,在网络通信可预测及简单的网络中工作得很好。
由于静态路由系统不能对网络改变做出反映,通常被认为不适用于现在的大型、易变的网络。
九十年代主要的路由算法都是动态路由算法,通过分析收到的路由更新信息来适应网络环境的改变。
如果信息表示网络发生了变化,路由软件就重新计算路由并发出新的路由更新信息。
这些信息渗入网络,促使路由器重新计算并对路由表做相应的改变。
动态路由算法可以在适当的地方以静态路由作为补充。
例如,最后可选路由(router of last resort),作为所有不可路由分组的去路,保证了所有的数据至少有方法处理。
B、单路径与多路径
一些复杂的路由协议支持到同一目的的多条路径。
与单路径算法不同,这些多路径算法允许数据在多条线路上复用。
多路径算法的优点很明显:它们可以提供更好的吞吐量和可靠性。
C、平坦与分层
一些路由协议在平坦的空间里运作,其它的则有路由的层次。
在平坦的路由系统中,每个路由器与其它所有路由器是对等的;在分层次的路由系统中,一些路由器构成了路由主干,数据从非主干路由器流向主干路由器,然后在主干上传输直到它们到达目标所在区域,在这里,它们从最后的主干路由器通过一个或多个非主干路由器到达终点。
路由系统通常设计有逻辑节点组,称为域、自治系统或区间。
在分层的系统中,一些路由器可以与其它域中的路由器通信,其它的则只能与域内的路由器通信。
在很大的网络中,可能还存在其它级别,最高级的路由器构成了路由主干。
分层路由的主要优点是它模拟了多数公司的结构,从而能很好地支持其通信。
多数的网络通信发生在小组中(域)。
因为域内路由器只需要知道本域内的其它路由器,它们的路由算法可以简化,根据所使用的路由算法,路由更新的通信量可以相应地减少。
D、主机智能与路由器智能
一些路由算法假定源结点来决定整个路径,这通常称为源路由。
在源路由系统中,路由器只作为存贮转发设备,无意识地把分组发向下一跳。
其它路由算法假定主机对路径一无所知,在这些算法中,路由器基于自己的计算决定通过网络的路径。
前一种系统中,主机具有决定路由的智能,后者则为路由器具有此能力。
主机智能和路由器智能的折衷实际是最佳路由与额外开销的平衡。
主机智能系统通常能选择更佳的路径,因为它们在发送数据前探索了所有可能的路径,然后基于特定系统对“优化”的定义来选择最佳路径。
然而确定所有路径的行为通常需要很多的探索通信量和很长的时间。
E、域内与域间
一些路由算法只在域内工作,其它的则既在域内也在域间工作。
这两种算法的本质是不
同的。
其遵循的理由是优化的域内路由算法没有必要也成为优化的域间路由算法。
F链接状态与距离向量
链接状态算法(也叫做短路径优先算法)把路由信息散布到网络的每个节点,不过每个路由器只发送路由表中描述其自己链接状态的部分。
距离向量算法(也叫做Bellman-Ford 算法)中每个路由器发送路由表的全部或部分,但只发给其邻居。
也就是说,链接状态算法到处发送较少的更新信息,而距离向量算法只向相邻的路由器发送较多的更新信息。
由于链接状态算法聚合得较快,它们相对于距离算法产生路由环的倾向较小。
在另一方面,链接状态算法需要更多的CPU和内存资源,因此链接状态算法的实现和支持较昂贵。
虽然有差异,这两种算法类型在多数环境中都可以工作得很好。
5、动态路由协议
二、交换
工作在数据链路层。
交换机拥有一条很高带宽的背部总线和内部交换矩阵。
交换机的所有的端口都挂接在这条背部总线上,控制电路收到数据包以后,处理端口会查找内存中的地址对照表以确定目的MAC(网卡的硬件地址)的NIC(网卡)挂接在哪个端口上,通过内部交换矩阵迅速将数据包传送到目的端口,目的MAC若不存在,广播到所有的端口,接收端口回应后交换机会“学习”新的地址,并把它添加入内部MAC地址表中。
使用交换机也可以把网络“分段”,通过对照MAC地址表,交换机只允许必要的网络流量通过交换机。
通过交换机的过滤和转发,可以有效的减少冲突域,但它不能划分网络层广播,即广播域。
交换机在同一时刻可进行多个端口对之间的数据传输。
每一端口都可视为独立的网段,连接在其上的
网络设备独自享有全部的带宽,无须同其他设备竞争使用。
当节点A向节点D发送数据时,节点B可同时向节点C发送数据,而且这两个传输都享有网络的全部带宽,都有着自己的虚拟连接。
假使这里使用的是10Mbps的以太网交换机,那么该交换机这时的总流通量就等于2×10Mbps=20Mbps,而使用10Mbps的共享式HUB时,一个HUB的总流通量也不会超出10Mbps。
总之,交换机是一种基于MAC地址识别,能完成封装转发数据包功能的网络设备。
交换机可以“学习”MAC地址,并把其存放在内部地址表中,通过在数据帧的始发者和目标接收者之间建立临时的交换路径,使数据帧直接由源地址到达目的地址。
其实交换机可以认为是多端口的网桥,他们都只能分割冲突域而不能分割广播域,他们都工作在OSI的第二层,数据链路层。
1、交换式服务
a)跟网桥使用软件创建和管理过滤表不同的是交换机使用专用的集成电路(ASIC)来
创建并维护过滤表。
但用途是一样的------分离冲突域。
b)网桥和交换机的速度比路由快,因为他们只查看硬件地址,不用查看网络层的报头
信息。
c)2层交换具有的性能:基于硬件的桥接(ASIC)线速低延迟低成本
2、二层交换的3种功能
a)地址学习(Address learning)这里的地址是说硬件MAC地址
交换机在初次家电的时候内部表式空的
b)转发/过滤决定(Forward/filter decisions)
c)避免环路(Loop avoidance) 如果为了提供冗余(通常指通过多重备份来增加系统的可靠性)
而在交换机上创建了多个连接,网络中就可能产生环路(所有环路的形成都是由于目的路径不明确导致混乱而造成的。
网络环路也分为第二层环路和第三层环路。
第二层是指,一个广播信息经过两个交换机的时候会不断恶性循环的产生广播,造成环路而第三层环路则是原路由意外不能工作,造成路由通告错误,形成一个恶性循环例子:网络192.168.0.0/24--路由1--路由2 正常192.168.0.0/24网络被路由1通告到路由2,当网络出问题不能达到的时候,路由1把192.168.0.0/24路由信息删除,但是路由2通告给了路由1,让路由1误以为路由2的那边能达到192.168.0.0/24网络,结果造成恶性循环(例子建立在RIP,IGRP等路由协议下,只有这两个协议会造成第三层环路))
3、生成树协议
交换机之间存在冗余链路是一件好事,万一某一条链路出问题了就可以防止整个网络的失败。
但是帧会在所有的链路上广播,在没有采取避免环路的时候交换机会无休止的发送广播,造成广播风暴,造成额外的开销。
甚至会弄乱交换机的转发表导致整个网络瘫痪。
为了解决这个问题,引入了生成树协议(Spanning Tree Protocol)。
生成树协议(STP)最早是数字设备公司(DEC)开发的。
而思科交换机用的多是运行的STP是IEEE考法的802.1D版本,与DEC版本不兼容。
但是新款的交换机使用了新的标准下的802.1w。
生成树协议(STP)的算法称为(STA),它首先创建一个拓扑数据库,然后搜索并破坏掉冗余链路。
然后帧会被转发到由STP挑选好的保险的链路上。
a)生成树术语
根桥(Root bridge)
根桥式ID最低的网桥。
STP要为网络中所有的交换机选择一个根桥,并称为网络中的焦点。
根桥决定网络中所有的决定。
桥协议数据单元(BPDU)
利用这个信息来选取根交换机
桥ID(Bridge ID)
STP利用桥ID来跟踪网络上所有的交换机。
桥ID式有桥优先级(cisco交换机默认的优先级是32768)和MAC地址的组合决定的,ID最小的桥就是根桥。
非根桥(Nonroot Bridge)
除了根桥以外的所有桥,他们都会交换BPDU,并在所有交换机上更新DTP拓扑数据库,防止环路并对失效的链路进行补救。
端口开销(Port cost)
当两条交换机之间有多条链路都不是根端口时,就根据端口的开销来决定最佳路径,链路的开销取决于链路的带宽。
根端口(Root port)
根端口是指所有直接连到根桥的链路所在的端口,或者到根桥的路径最短的端口。
若多条链路连接到跟桥开销最低的端口就是根端口。
开销相同的话选用桥ID最小的。
指定端口(Designated Port)
有最低开销的端口就是指定端口,指定端口被标记为转发端口。
非指定端口(Nondesignated Port)
非指定端口是指开销比指定端口大的端口,非指定端口将被设置为阻塞状态,它不是转发端口。
转发端口(Forwarding Port)
能转发帧的端口
阻塞端口(Blockd port)
不能转发帧的端口,这样做是为了防止环路,但是被阻塞的端口始终监听帧。
b)生成树的操作
选取跟桥
生成树端口状态
阻塞侦听学习转发禁用)
收敛
当交换机所有端口都转变到转发或者阻塞的状态就产生了收敛。
收敛完成前交换机不能转发任何数据,要等重新更新后才行。
那么就要保证交换机设计的很好保证STP 能够快速收敛
生成树快速端口
如果有一台主机连接到交换机,而且保证在禁用STP是不会产生环路,那么就可以在这些端口上使用快速端口。
使用快速口会节省STP 50秒左右的收敛时间。
生成树上行链路快速
这是cisco特有的,当链路失效的时候,可以改进STP的收敛时间。
生成树主干快速
快速生成树协议(RSTP)802.1w EtherChannel 捆绑冗余链路。