家用路由器每天在干吗

本文最后更新于:4 个月前

今天的主人公是家用路由器

夜深人静,电视和电脑都已经关机休息,但是我还在默默工作,我安静地趴在你家中的某个地方,7*24小时不眠不休,任劳任怨,目的只有一个,能让你舒服地躺在床上,畅快地刷手机!

我的主业是路由器,同时兼任 DHCP 服务器交换机无线 APPPPoE 客户端防火墙等重要部门的职务。

为了把工作做好,我还必须得实现几个重要的协议如 DHCPARPNAT 等,十八般武艺集于一身,是不是很厉害?

对于普通人来说,只需要设置一下宽带账号和密码,WIFI 名称和密码,就可以联网了,岂不知在背后我干了很多的脏活和累活。

比如,当你设置了无线名称(SSID),密码等信息,开启了无线广播以后,我的无线 AP 部门就得开始干活了。

它需要不停地向周围广播信标帧(Beacon Frame),其中包含 SSID 和 MAC 地址,还有其它基本信息。然后各种设备才可能发现我,输入用户名和密码,连接上我。

其次,我一般还有通过 PPPoE 拨号上网的功能,要不然你怎么连接外网?

但是只有这两个功能还远远不够,我还是个 DHCP 服务器,这个局域网内的 IP 都由我来发放。

你看这个新连上 WIFI 的 ThinkPad 电脑,只有 MAC 地址,没有 IP 地址,它需要按照我们网络世界的约定,用 DHCP 协议获得一个 IP 地址。

同时这个 ThinkPad 电脑还可以从我这里获得默认网关的地址,默认网关也是我 192.168.1.1,当 ThinkPad 电脑真正上外网的时候,就可以用到了。

电脑有了 IP 地址,就能上网吗?

不能,因为我给他们发的都是内网地址 192.168.1.xx ,在互联网上,这并不是唯一的。

例如隔壁老王家的 Mac 电脑的 IP 地址也是 192.168.1.2 ,和我家的 ThinkPad 的 IP 是一样的,怎么区分?如何上外网?

还好,我这个路由器,通过拨号连入运营商网络的时候,获得了一个唯一的外网地址: 61.52.247.112 。

那我就把这个外网 IP 地址给大家共享,共享的办法非常简单,就是通过不同的端口号,把我和各个电脑之间形成对应关系,把大家区分开。

接下来是 Thinkpad 电脑访问外网服务器时数据包发送和接收的简要过程:

这种方式就是著名的 NAT 了,即网络地址转换。

现在这个 Thinkpad 正式访问外网,它要把数据发到我的默认网关(192.168.1.1),但是网络世界必须得知道 MAC 地址,形成数据链路层的数据包才能发送。

ThinkPad 没办法,只好动用 ARP 协议,在局域网中大声呼喊:192.168.1.1,你的 MAC 地址是啥?

然后我就直接告诉它:192.168.1.1 的 MAC 地址是B4:2E:A4:59:83:A3,记住吧,以后别乱叫了。

ThinkPad 知道了我的 MAC 地址,把数据包发到我这里,我拆开一看,哦?目标 IP 地址是外网,于是,我就使用我简单的路由功能,转发到 WAN 口的外网去,当然在这个过程中,我得用到 NAT 。

如果你关掉我的路由功能(各个路由器具体做法不同),我就可以变成一个交换机,在数据链路层来转发同一子网内的数据包。我本身还有简易的防火墙,你可以登录到路由器的管理端去看看。

当你的设备连接到 WIFI 时,在浏览器地址栏内输入网关地址(192.168.1.1),便可以访问到路由器管理登录页面。

如何查看路由器网关地址呢?例如,当一个设备连接到路由器时,它本身的 IPv4 地址是 192.168.1.101 时,路由器的网关地址为 192.168.1.1 ,当它本身的 IPv4 地址是 192.168.0.101 时,路由器的网关地址为 192.168.0.1 ,以此类推。

一个家用路由器竟然有下面这么多的功能,但是它十八般武艺样样稀松,功能虽多,但都是基本够用。这是自然,对于一个家庭设备来说,能轻松上网就够了,要啥自行车?

无线 AP+路由器+交换机+防火墙+PPPoE 客户端+DHCP 服务器+NAT 转换