网络包经过集线器和交换机之后,现在到达了路由器,并在此被转发到下一个路由器
。这一步转发的工作原理和交换机类似,也是通过查表判断包转发的目标。不过在具体的操作过程上,路由器和交换机是有区别的。因为路由器是基于IP设计的,而交换机是基于以太网设计的
。IP和以太网的区别在很多地方都会碰到,我们稍后再具体讲,现在先来看看路由器的概况。
首先,路由器的内部结构如图3.12所示。这张图已经画得非常简略了,大家只要看明白路由器包括转发模块和端口模块两部分就可以了。
转发模块负责判断包的转发目的地,
端口模块负责包的收发操作。
通过更换网卡,计算机不仅可以支持以太网,也可以支持无线局域网,路由器也是一样。如果路由器的端口模块安装了支持无线局域网的硬件,就可以支持无线局域网了。此外,计算机的网卡除了以太网和无线局域网之外很少见到支持其他通信技术的品种,而路由器的端口模块则支持除局域网之外的多种通信技术,如ADSL、FTTH,以及各种宽带专线等,只要端口模块安装了支持这些技术的硬件即可
看懂了内部结构之后,大家应该能大致理解路由器的工作原理了吧。路由器在转发包时,首先会通过端口将发过来的包接收进来,这一步的工作过程取决于端口对应的通信技术。对于以太网端口来说,就是按照以太网规范进行工作,而无线局域网端口则按照无线局域网的规范工作,总之就是委托端口的硬件将包接收进来。
接下来,转发模块会根据接收到的包的IP头部中记录的接收方IP地址,在路由表中进行查询,以此判断转发目标
。然后,转发模块将包转移到转发目标对应的端口,端口再按照硬件的规则将包发送出去,也就是转发模块委托端口模块将包发送出去的意思。
这就是路由器的基本原理,下面再做一些补充。刚才我们讲到端口模块会根据相应通信技术的规范来执行包收发的操作
,这意味着端口模块是以实际的发送方或者接收方的身份来收发网络包的。
以以太网端口为例,路由器的端口具有MAC地址,因此它就能够成为以太网的发送方和接收方。
端口还具有IP地址,从这个意义上来说,它和计算机的网卡是一样的。当转发包时,首先路由器端口会接收发给自己的以太网包,然后查询转发目标,再由相应的端口作为发送方将以太网包发送出去。这一点和交换机是不同的,交换机只是将进来的包转发出去而已,它自己并不会成为发送方或者接收方。
路由器的各个端口都具有MAC地址和IP地址。
总结
- 路由器包括转发模块和端口模块
- 转发模块负责查找目的地
- 端口模块负责包的接收