家用路由器每天在干吗
本文最后更新于:4 个月前
今天的主人公是家用路由器
夜深人静,电视和电脑都已经关机休息,但是我还在默默工作,我安静地趴在你家中的某个地方,7*24小时不眠不休,任劳任怨,目的只有一个,能让你舒服地躺在床上,畅快地刷手机!
我的主业是路由器,同时兼任 DHCP 服务器,交换机,无线 AP,PPPoE 客户端,防火墙等重要部门的职务。
为了把工作做好,我还必须得实现几个重要的协议如 DHCP,ARP,NAT 等,十八般武艺集于一身,是不是很厉害?
对于普通人来说,只需要设置一下宽带账号和密码,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 转换