• 找新知
  • 找课程
  • 找服务/产品
  • 找LIVE
  • 找活动
  • 找新知号/店
新知一下
海量新知
1 6 0 6 8 6 9

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

Linux云计算网络 | Linux云计算网络知识分享 2020/01/15 08:56

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

没错,这就是我,大家司空见惯的家用“路由器” !

我这么一个价格低廉,其貌不扬,让人想不起来的网络设备,为什么是最牛的呢?且听我慢慢道来。

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

当然我需要耍点儿小手段:

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

这种方式就是著名的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,记住吧,以后别乱叫了。

ARP是个让人胆战心惊的协议,因为很容易形成ARP欺骗,不信你看看这个文章《一次成功的黑客欺骗攻击,没想到结局如此悲催》

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

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

无线AP+路由器+交换机+防火墙+PPPoE客户端+DHCP服务器+NAT转换 , 怎么样?最牛的网络设备名副其实吧。有人评价我,十八般武艺样样稀松,功能虽多,但都是基本够用。这是自然,对于一个家庭设备来说,能轻松上网就够了,要啥自行车?

对于程序员来说,你把我的功能和相关协议研究透了,也就掌握了一大半网络知识了,机不可失,欢迎来撩。


新知精选