1. 程式人生 > >閘道器的作用(兩個內網主機通訊原理)

閘道器的作用(兩個內網主機通訊原理)

  閘道器是一種充當轉換重任的計算機系統或裝置。在使用不同的通訊協議、資料格式或語言,甚至體系結構完全不同的兩種系統之間,閘道器是一個翻譯器。與網橋只是簡單地傳達資訊不同,閘道器對收到的資訊要重新打包,以適應目的系統的需求。同時,閘道器也可以提供過濾和安全功能。大多數閘道器執行在OSI 7層協議的頂層–應用層。

    大家都知道,從一個房間走到另一個房間,必然要經過一扇門。同樣,從一個網路向另一個網路傳送資訊,也必須經過一道“關口”,這道關口就是閘道器。顧名思義,閘道器(Gateway)就是一個網路連線到另一個網路的“關口”。 按照不同的分類標準,閘道器也有很多種。TCP/IP協議裡的閘道器是最常用的,在這裡我們所講的“閘道器”均指TCP/IP協議下的閘道器。

    那麼閘道器到底是什麼呢?閘道器實質上是一個網路通向其他網路的IP地址。比如有網路A和網路B,網路A的IP地址範圍為“192.168.1.1~192. 168.1.254”,子網掩碼為255.255.255.0;網路B的IP地址範圍為“192.168.2.1~192.168.2.254”,子網掩碼為255.255.255.0。在沒有路由器的情況下,兩個網路之間是不能進行TCP/IP通訊的,即使是兩個網路連線在同一臺交換機(或集線器)上,TCP/IP協議也會根據子網掩碼(255.255.255.0)判定兩個網路中的主機處在不同的網路裡。而要實現這兩個網路之間的通訊,則必須通過閘道器。如果網路A中的主機發現資料包的目的主機不在本地網路中,就把資料包轉發給它自己的閘道器,再由閘道器轉發給網路B的閘道器,網路B的閘道器再轉發給網路B的某個主機

。網路B向網路A轉發資料包的過程。 所以說,只有設定好閘道器的IP地址,TCP/IP協議才能實現不同網路之間的相互通訊。那麼這個IP地址是哪臺機器的IP地址呢?

閘道器的IP地址是具有路由功能的裝置的IP地址,具有路由功能的裝置有 路由器、啟用了路由協議的伺服器(實質上相當於一臺路由器)、代理伺服器(也相當於一臺路由器)。 
PS:

    連線到多個物理 TCP/IP 網路的裝置,可以在這些網路之間進行路由選擇或交付 IP 資料包。閘道器在不同的傳輸協議或資料格式(例如,IPX 和 IP)之間進行轉換,通常是因為它的轉換能力而將其新增到網路中。在和 Novell NetWare 網路互動操作的上下文中,閘道器在 Windows 網路中使用的伺服器資訊塊 (SMB) 協議以及 NetWare 網路使用的 NetWare 核心協議 (NCP) 之間起著橋樑的作用。閘道器也被稱為 IP 路由器。

    計算機主機閘道器的作用是什麼?

    假設你的名字叫小不點,你住在一個大院子裡,你的鄰居有很多小夥伴,在門口傳達室還有個看大門的李大爺李大爺就是你的閘道器。當你想跟院子裡的某個小夥伴玩,只要你在院子裡大喊一聲他的名字,他聽到了就會迴應你,並且跑出來跟你玩。

    但是你不被允許走出大門,你想與外界發生的一切聯絡,都必須由門口的李大爺(閘道器)用電話幫助你聯絡。假如你想找你的同學小明聊天,小明家住在很遠的另外一個院子裡,他家的院子裡也有一個看門的王大爺(小明的閘道器)。但是你不知道小明家的電話號碼,不過你的班主任老師有一份你們班全體同學的名單和電話號碼對照表,你的老師就是你的DNS伺服器。於是你在家裡撥通了門口李大爺的電話,有了下面的對話:

    小不點:李大爺,我想找班主任查一下小明的電話號碼行嗎?

    李大爺:好,你等著。(接著李大爺給你的班主任掛了一個電話,問清楚了小明的電話)問到了,他家的號碼是211.99.99.99

    小不點:太好了!李大爺,我想找小明,你再幫我聯絡一下小明吧。

    李大爺:沒問題。(接著李大爺向電話局發出了請求接通小明家電話的請求,最後一關當然是被轉接到了小明家那個院子的王大爺那裡,然後王大爺把電話給轉到小明家)

    就這樣你和小明取得了聯絡。

    至於DHCP伺服器嘛,可以這樣比喻:

    你家院子裡的居民越來越多了,傳達室李大爺那裡的電話交換機已經不能滿足這麼多居民的需求了,所以只好採用了一種新技術叫做DHCP,居民們開機的時候隨機得到一個電話號碼,每一次得到的號碼都可能會不同。

    你家門口的李大爺:就是你的閘道器

    你的班主任:就是你的DNS伺服器

    傳達室的電話交換機:就是你的DHCP伺服器

    同上,李大爺和王大爺之間的對話就叫做路由。

    另:如果還有個小朋友叫做小暗,他住的院子看門的是孫大爺,因為小暗的院子剛蓋好,孫大爺剛來不久,他沒有李大爺(小不點)王大爺(小明)辦公室的電話(李大爺和王大爺當然也沒有他的電話),這時會有兩種情況:

    1、居委會的趙大媽告訴了孫大爺關於李、王兩位大爺的電話(同時趙大媽也告訴了李、王關於孫的電話),這就叫靜態設定路由

    2、趙大媽病了,孫大爺(小暗)自己到處打電話,見人就說:“我是小暗他們院子管電話的”,結果被李、王二位聽到了,就記在了他們的通訊錄上,然後李、王就給孫大爺回了個電話說:“我是小明(小不點)他們院子管電話的”,這就叫動態設定路由

    然後有一天小不點(李大爺)要找小暗(孫大爺),結果自然是小不點給李大爺打電話說:“大爺,我找小暗(孫大爺)”(這裡省略了李大爺去查小暗電話的過程,假設他知道小暗的電話),李大爺一找通訊錄:“哦,小暗的院子的電話是孫大爺管著的,要找小暗自然先要通知孫大爺,我可以通知王大爺(小明)讓他去找孫大爺(小暗),也可以自己直接找孫,那當然是自己直接找孫方便了”,於是李大爺(小不點)孫大爺(小暗)打了電話,然後孫大爺又把電話轉到了小暗家。

    這裡李大爺的通訊錄叫做路由表

    李大爺選擇是自己直接找孫大爺還是讓王大爺幫忙轉接叫做路由選擇

    李大爺之所以選擇直接找孫大爺是有依據的,因為他直接找孫大爺就能一步到位,如果要王大爺轉接就需要兩步才能完成,這裡的“步”叫做“跳數”,李大爺的選擇遵循的是最少步驟(跳數)原則。

    當然,事情總是變化的,小不點(李大爺)小明(王大爺)吵架了,這些天小不點(李大爺)老是給小暗(孫大爺)打電話,小明(王大爺)心裡想:“操,他是不是在說我壞話啊?”於是小明(王大爺)決定偷聽小不點(李大爺)小暗(孫大爺)的通話,但是他又不能出院子,怎麼辦呢?小明(王大爺)做了這樣一個決定:

    首先他告訴自己院裡管電話的王大爺(小明)說:“你給李大爺(小不點)打個電話說小暗(孫大爺搬到咱們院子了,以後凡是打給他的電話我來接”,王大爺沒反映過來(畢竟年紀大了啊!)就給李大爺(小不點)打了電話,說:“現在我來管理小暗的電話了,孫大爺已經不管了”,結果李大爺就把他的通訊錄改了,這叫做路由欺騙

    以後小不點再找小暗,李大爺(小不點)就轉給王大爺(小明)了(其實應該轉給孫大爺的),王大爺收到了這個電話就轉給了小明(因為他之前已經和小明說好了),小明收到這個電話就假裝小暗和小不點通訊。因為小明作賊心虛,害怕明天小不點和小暗見面後當面問他,於是通訊斷了之後,又自己以小不點的名義給小暗通了個電話複述了一遍剛才的話,有這就叫資料竊聽

    再後來,小不點還是不斷的和小暗聯絡,而零落了小明,小明心裡嘀咕啊:“我不能總是這樣以小暗的身份和小不點通話啊,外一有一天露餡了怎麼辦!”於是他想了一個更陰險的招數:“乾脆我也不偷聽你們的電話了,你小不點不是不給我打電話嗎!那我讓你也給小暗打不了,哼哼!”,他怎麼做的呢?我們來看:

    他聯絡了一批狐朋狗友,和他們串通好,每天固定一個時間大家一起給小暗院子傳達室打電話,內容什麼都有,只要傳達室的孫爺爺接電話,就會聽到“打雷啦,下雨收衣服啊!”、“人是人他媽生的,妖是妖他媽生的”、“你媽貴姓”等等,聽的腦袋都大了,不聽又不行,電話不停的響啊!終於有一天,孫爺爺(小暗忍不住了,大喊一聲:“我受不了拉!!!!”,於是上吊自殺了!

    這就是最簡單的DDOS攻擊孫爺爺(小暗)心理承受能力弱的現象叫做“資料報處理模組有BUG”,孫爺爺的自殺叫做“路由器癱瘓”。如果是我,就會微笑著和他們拉家常,例如告訴他們“我早就聽了天氣預報,衣服10分鐘前已經收好了”或者“那你媽是人還是妖”或者“和你奶奶一個姓”等等,我這種健全的心理叫做“健壯的資料報處理,能夠抵禦任何攻擊”

    孫爺爺癱了之後,小不點終於不再給小暗打電話了,因為無論他怎麼打對方都是忙音,這種現象叫做“拒絕服務”,所以小明的做法還有一個名字叫做“拒絕服務攻擊”。

    小明終於安靜了幾天,…

    幾天後,小明(王大爺)的院子來了一個美麗的女孩,名字叫做小麗(王大爺),小明很喜歡她(小小年紀玩什麼早戀!)可是小麗有個很帥的男朋友,小明乾瞪眼沒辦法。當然這裡還是要遵循上面的原則:小麗是不能出院子的。那個男的想泡小麗自然只能打電話,於是小明又蠢蠢欲動了:

    還記得王爺爺(小明)是院子的電話總管嗎?他之所以能管理電話是因為他有一個通訊錄,因為同一個院子可能有2個孩子都叫小明,靠名字無法區分,所以通訊錄上每一行只有兩項:

      門牌        電話

    一號門  1234567 (這個是小明的)

    二號門  7654321 (這個是小麗的)

    ……

    王爺爺記性不好,但這總不會錯了吧(同一個院子不會有2個“二號門”吧)?每次打電話人家都要說出要找的電話號碼,然後通過通訊錄去院子裡面敲門,比如人家說我找“1234567”,於是王爺爺一比較,哦,是一號門的,他就去敲一號門“聽電話”,如果是找“7654321”,那他就找二號門“聽電話”。

    這裡的電話號碼就是傳說中的“IP地址

    這裡的門牌號就是傳說中的網絡卡的’MAC‘地址(每一塊網絡卡的MAC地址都是不一樣的,這是網絡卡的製造商寫死在網絡卡的晶片中的)

    小明心裡想“奶奶的,老子泡不到你也別想泡”,於是他打起了王爺爺(小明,小麗)通訊錄的主意,經過細心的觀察,周密的準備,他終於發現王爺爺有尿頻的毛病(畢竟是老人啊…),終於在一個月黑風高的白天,王爺爺去上廁所了,小明偷偷的摸進傳達室,小心翼翼的改了王爺爺的通訊錄……

    過了幾天,小麗的男朋友又給小麗打來了電話,對方報的電話是“7654321”,王爺爺一看通訊錄,

       門牌     電話

    一號門   1234567 (這個是小明的)

    號門   7654321 (注意:這個原來是小麗的,但是被小明改了)

    ……

    王爺爺不知道改了啊,於是就去找一號門的小明瞭,小明心裡這個美啊,他以小麗父親的口吻嚴厲的教訓了那個男的和小麗之間不正當的男女關係,結果那個男的恭恭敬敬的掛了電話。當然小麗並不知道整個事情的發生…

    這裡小明的行為叫做“ARP欺騙”(因為在實際的網路上是通過傳送ARP資料包來實現的,所以叫做“ARP欺騙”),王爺爺的通訊錄叫做“ARP表”

    這裡要注意:王爺爺現在有兩個通訊錄了,一個是記錄每個院子傳達室電話的本本,叫做“路由表”一個是現在說的記錄院子裡面詳細資訊的本本,叫做“ARP表”

    王爺爺的制度中有一條是這麼寫的“每個月要重新檢查一下門牌號和電話的對應本(也就是ARP表)”,這個動作叫做“重新整理ARP表”,每個月的時間限制叫做“重新整理ARP表的週期”。這樣小明為了讓那個男的永遠不能找到小麗,之後每個月都要偷偷改一次那個通訊錄,不過這樣也是不得不做的事啊!

    補充一點,小明是很聰明的,如果通訊錄(ARP表)被改成了這樣:

    門牌(MAC)   電話(IP)

      一號門          1234567 (這個是小明的)

      二號門          1234567 (注意:這個被小明改了,但是他一時頭暈改錯了)

      ……

    就會是計算機就會彈出一個對話方塊提示“出現重複的IP地址”,最終會導致王爺爺不知所措,於是通知一號門和二號門,你們的電話重複了。這樣小麗就知道有人在破壞她的好事,這個現象叫做“騙局被揭穿了”

    小不點知道了小明偷聽他和小暗的電話,於是就和小暗約定好了密碼。小不點在家裡把要說的加密了之後告訴小暗。土豆-〉星期三地瓜-〉請客笨蛋-〉小不點家。於是小不點告訴小暗:土豆笨蛋地瓜。小明聽了???不懂。。。。鬱悶了。。。這是加密。

    除此之外,小麗也知道了小明改他家的電話號碼了。於是王爺爺就登門一個一個把電話和門牌號記下來。並且藏起來不允許外人修改,只能自己有鑰匙(密碼)。這是ip地址和MAC地址繫結。當有人改了電話號碼的時候,就得找王爺爺改。麻煩是麻煩了,但是安全了。不過小明偷偷的把王爺爺的鑰匙偷配了一把(盜竊密碼成功),於是他還可以修改。這樣麼,就這樣了。

    閘道器(Gateway)又稱網間聯結器、協議轉換器。閘道器在傳輸層上以實現網路互連,是最複雜的網路互連裝置,僅用於兩個高層協議不同的網路互連。閘道器的結構也和路由器類似,不同的是互連層。閘道器既可以用於廣域網互連,也可以用於區域網互連。

    解決跨閘道器技術

    現行的IPV4的IP地址是32位的,根據頭幾位再劃分為A、B、C三類地址;但由於INTERNET的迅猛發展,IP資源日漸枯竭,可供分配的IP地越來越少,跟一日千里的INTERNET發展嚴重衝突,在IPV6還遠未能全面升級的情況下,惟有以代理伺服器的方式,實行內部網地址跟公網地址進行轉化而實現接入INTERNET。

    中介作用的代理伺服器就是一個閘道器,也就是這個閘道器帶給現階段的多媒體通訊系統無盡的煩惱。在IP資源可憐的情況下,惟有以閘道器甚至多層閘道器的方式接入寬頻網, 因為多媒體通訊系統的協議如H.323等要進行業務的雙方必須有一方有公網的IP地址,但是現在的寬頻有幾個使用者能符合這個要求?MICOSOFT的NETMEETING等等多媒體通訊系統就是處於這種尷尬的位置;跨閘道器成為頭疼的難題。

    跨閘道器: 網路資料通過層層閘道器,受制於閘道器節點速度,網路速度大大降低。 跨閘道器技術基於底層網路協議,突破閘道器瓶頸,實現客戶點對點交流。