世界上最牛的网络设备,价格低廉,其貌不扬......
夜深人靜,電視和電腦都已經關機休息,但是我還在默默工作,我安靜地趴在你家中的某個地方,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,當它真正上外網的時候,就可以用到了。?
電腦有了IP地址,就能上網嗎??
不能,因為我給他們發的都是內網地址192.168.1.xx,在互聯網上,并不是唯一的。?
例如隔壁老王家的Mac電腦的IP地址也是192.168.1.2,和我家的ThinkPad的IP是一樣的,怎么區分?如何上外網?
還好,我這個路由器,通過撥號連入運營商網絡的時候,獲得了一個唯一的外網地址:61.52.247.112。?
那我就把這個外網IP地址給大家共享, 共享的辦法非常簡單,就是通過不同的端口號,把我和各個電腦之間形成對應關系,把大家區分開。?
當然我需要耍點兒小手段:?
這種方式就是著名的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轉換, 怎么樣?最牛的網絡設備名副其實吧。有人評價我,十八般武藝樣樣稀松,功能雖多,但都是基本夠用。這是自然,對于一個家庭設備來說,能輕松上網就夠了,要啥自行車??
對于程序員來說,你把我的功能和相關協議研究透了,也就掌握了一大半網絡知識了,機不可失,歡迎來撩。
總結
以上是生活随笔為你收集整理的世界上最牛的网络设备,价格低廉,其貌不扬......的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 十年,两次实习
- 下一篇: 两万字深度介绍分布式系统原理,一文入魂