路由器与交换机的工作原理( 五 )


路由器工作原理
传统地,路由器工作于OSI七层协议中的第三层,其主要任务是接收来自一个网络接口的数据包,根据其中所含的目的地址,决定转发到下一个目的地址 。因此,路由器首先得在转发路由表中查找它的目的地址,若找到了目的地址,就在数据包的帧格前添加下一个MAC地址,同时IP数据包头的TTL(Time To Live)域也开始减数,并重新计算校验和 。当数据包被送到输出端口时,它需要按顺序等待,以便被传送到输出链路上 。
路由器在工作时能够按照某种路由通信协议查找设备中的路由表 。如果到某一特定节点有一条以上的路径,则基本预先确定的路由准则是选择最优(或最经济)的传输路径 。由于各种网络段和其相互连接情况可能会因环境变化而变化,因此路由情况的信息一般也按所使用的路由信息协议的规定而定时更新 。
网络中,每个路由器的基本功能都是按照一定的规则来动态地更新它所保持的路由表,以便保持路由信息的有效性 。为了便于在网络间传送报文,路由器总是先按照预定的规则把较大的数据分解成适当大小的数据包,再将这些数据包分别通过相同或不同路径发送出去 。当这些数据包按先后秩序到达目的地后,再把分解的数据包按照一定顺序包装成原有的报文形式 。路由器的分层寻址功能是路由器的重要功能之一,该功能可以帮助具有很多节点站的网络来存储寻址信息,同时还能在网络间截获发送到远地网段的报文,起转发作用;选择最合理的路由,引导通信也是路由器基本功能;多协议路由器还可以连接使用不同通信协议的网络段,成为不同通信协议网络段之间的通信平台 。
一般来说,路由器的主要工作是对数据包进行存储转发,具体过程如下:
第一步:当数据包到达路由器,根据网络物理接口的类型,路由器调用相应的链路层功能模块,以解释处理此数据包的链路层协议报头 。这一步处理比较简单,主要是对数据的完整性进行验证,如CRC校验、帧长度检查等 。
第二步:在链路层完成对数据帧的完整性验证后,路由器开始处理此数据帧的IP层 。这一过程是路由器功能的核心 。根据数据帧中IP包头的目的IP地址,路由器在路由表中查找下一跳的IP地址;同时,IP数据包头的TTL(Time To Live)域开始减数,并重新计算校验和(Checksum) 。
第三步:根据路由表中所查到的下一跳IP地址,将IP数据包送往相应的输出链路层,被封装上相应的链路层包头,最后经输出网络物理接口发送出去 。
简单地说,路由器的主要工作就是为经过路由器的每个数据包寻找一条最佳传输路径,并将该数据包有效地传送到目的站点 。由此可见,选择最佳路径策略或叫选择最佳路由算法是路由器的关键所在 。为了完成这项工作,在路由器中保存着各种传输路径的相关数据——路由表(Routing Table),供路由选择时使用 。上述过程描述了路由器的主要而且关键的工作过程,但没有说明其它附加性能,例如访问控制、网络地址转换、排队优先级等 。
ARP全称 地址解析协议在局域网内信息是以帧传输的 。要记住地址就要有一个ARP缓存表,大概是几分钟刷新一次我忘记了 。保存的就是当前局域网内与你连接的机器的IP和MAC的地址 。ARP—a就可以查看到这个表 。第一个是IP 。第二个是网卡地址 。第三个是连接类型 。
交换机如何学习MAC地址的?
假设一个交换机刚刚启动,MAC表完全是空的,局域网内有两台主机PC1和PC2,IP地址为192.168.0.1和192.168.0.2:那么交换机接到1端口的PC1的第一个数据帧,因为PC1只知道PC2的IP地址而不知道PC2的MAC地址,所以源IP地址为192.168.0.1源MAC地址是0000-0000-0001,目标IP地址为192.168.0.2而目标MAC地址是FFFF-FFFF-FFFF(此报文为ARP请求报文,是二层广播报问),交换机首先将源MAC地址和相对应的端口记录在MAC表中,然后把这个数据帧从所有活动的端口转发出去,;假设PC2在2端口接收到数据帧对数据进行回应时,则目标MAC地址为0000-0000-0001源MAC地址为0000-0000-0002 。此时交换机收到数据帧后,首先学习PC2的MAC地址和对应端口到MAC表,然后查找MAC地址表中是否有PC1的MAC地址,发现目标MAC地址对应端口1,则将此数据帧由交换机的1端口转发出去 。此时PC1和PC2的MAC地址都已记录在交换机MAC表中,数据在开始正常转发 。所以,交换机在转发数据帧的过程,就是查找目标MAC地址,学习源地址的过程,希望能理解!
 
【路由器与交换机的工作原理】


推荐阅读