路由器
路由器(router)是互联网的枢纽,是连接英特网中各局域网、广域网的设备,它会根据信道的情况自动选择和设定路由,以最佳路径,按前后顺序发送数据。作用在OSI模型的第三层,提供了路由与转发两种重要机制。
路由器就是完成路由过程的设备,从构成上看,它是一个完整的计算机系统,包括硬件,操作系统和应用软件算法,与通用计算机系统的不同之处就在于,路由器硬件以通讯处理为主要设计目标,特别是 I/O部分。
- 那么路由器是如何进行包的转发的呢?就像一个人如果在去某个地方,一定要在他的脑海里有一张地图,在每个路由器的内部也有一张地图,这张地图就是路由表
- 在这个路由表中包含有该路由器掌握的所有目地网络地址,以及通过此路由器到达这些网络中最佳路径,这个最佳路径指的是路由器的某个接口或下一条路由器的地址
- 这是由于路由表的存在,路由器才可以依据路由表进行包的转发,把数据包转发到路由器的指定网口
- 路由器是一种具有多个输入端口和多个输出端口的专用计算机,其任务是转发分组,也就是说,将路由器某个输入端口收到的分组,按照分组要去的目的地,把该分组从路由器的某个合适的输出端口转发给下一跳的路由器。下一跳的路由器也按照这种方法处理分组,直到该分组到达终点为止
①一个帧到达路由器后,首先检查帧中目标MAC地址是否是本接口的MAC,如不是则丢弃,如是则解封装并将IP包移动到路由器内部。②将IP包中目标IP与路由表进行匹配,如匹配路由表不成功,则丢弃,返回ICMP错误消息;若成功,则将数据路由到相应的出口,再封装帧头帧尾。③检查ARP缓存中是否有下一跳的MAC,如有则重新封装出去;如没有,则发送ARP请求广播报文获取下一跳的MAC,并记录到ARP缓存表中,再重新封装数据帧发送出去。
路由器功能
- 路由:收集网络拓扑信息并动态形成路由表
- 转发:根据转发表(FIB)转发IP数据包
- 子网间速率适配
- 隔离子网
- 隔离广播域
- 指定访问规则
- 不同类型的网络互联:路由器经常会收到以某种类型的数据链路帧封装的数据包,当转发这种数据包时,路由器可能需要将其封装为另一种类型的数据链路帧。数据链路封装取决于路由器接口的类型及其连接的介质类型