网络是怎样连接的(二十二)—— 路由器的结构和基本原理

279 阅读5分钟

一起养成写作习惯!这是我参与「掘金日新计划 · 4 月更文挑战」的第20天,点击查看活动详情

前言

网络包在顺着网线,经过集线器和交换机之后,下一个目的地就是路由器了。接下来我们学习的内容也来到了路由器。

路由器在我们日常生活中很常见,因此我们也着重来学习一下。本文先来探索一下路由器的基本原理。

路由器基本结构

image.png

路由器的基本结构如上图所示,我们把路由器结构简化为 转发模块 和 端口模块 两部分,其中 转发模块负责判断包的转发目的地,端口模块负责包的收发操作

路由器转发模块和端口模块的关系,就相当于协议栈的 IP 模块和网卡之间的关系。我们可以将路由器的转发模块想象成 IP 模块,将端口模块想象成网卡。

通过更换网卡,计算机不仅可以支持以太网,也可以支持无线局域网,路由器也是一样。  如果路由器的端口模块安装了支持无线局域网的硬件,就可以支持无线局域网了。此外,计算机的网卡除了以太网和无线局域网之外很少见到支持其他通信技术的品种,而路由器的端口模块则支持除局域网之外的多种通信技术,如 ADSL、FTTH、以及各种带宽专线等,只要端口模块安装了支持这些技术的硬件即可。

工作原理

看明白路由器的结构之后,我们也应该明白了路由器的基本工作原理了。

路由器在转发包时,首先会通过端口将发过来的包接收进来,这一步的工作过程取决于端口对应的通信技术。对于以太网端口来说,就是按照以太网规范进行工作,而无线局域网端口则按照无线局域网的规范工作,总之就是委托端口的硬件将包接收进来。

接下来,转发模块会根据接收到包的 IP 头部中记录的接收方 IP 地址,在路由表中进行查询,以此判断转发目标

然后,转发模块将包转移到转发目标对应的端口,端口再按照硬件的规则将包发送出去,也就是转发模块委托端口模块将包发送出去的意思。

这就是路由器的基本原理,下面我们再来做一些补充。刚才我们提到端口模块会根据相应通信技术的规范来执行包收发的操作,这意味着端口模块是以实际的发送方或者接收方的身份来收发网络包的。

以以太网为例,路由器的端口具有 MAC 地址,因此它就能够成为以太网的发送方和接收方。端口还具有 IP 地址,从这个意义上来说,它和计算机的网卡是一样的。当转发包时,首先路由器端口会接收发给自己的以太网包,然后查询转发目标,再由相应的端口作为发送方将以太网包发送出去。这一点和交换机是不同的,交换机知识将进来的包转发出去而已,它自己并不会成为发送方和接收方。

参考文档

  • 《网络是怎样连接的》—— 户根勤

往期文章