網關,路由,局域網

 

網關,路由,局域網內的通信及不同的網絡間通信實現的原理剖析

轉自:http://blog.csdn.net/tham_/article/details/42060511

目錄(?)[+]

百度百科定義網關:

網關(Gateway)又稱網間連接器、協議轉換器。網關在網絡層以上實現網絡互連,是最複雜的網絡互連設備,僅用於兩個高層協議不同的網絡互連。網關既可以用於廣域網互連,也可以用於局域網互連。 網關是一種充當轉換重任的計算機系統或設備。使用在不同的通信協議、數據格式或語言,甚至體系結構完全不同的兩種系統之間,網關是一個翻譯器。與網橋只是簡單地傳達信息不同,網關對收到的信息要重新打包,以適應目的系統的需求。同層--應用層。
設置好網關的IP地址,TCP/IP協議才能實現不同網絡之間的相互通信。那麼這個IP地址是哪臺機器的IP地址呢?網關的IP地址是具有路由功能的設備的IP地址,具有路由功能的設備有路由器、啓用了路由協議的服務器(實質上相當於一臺路由器)、代理服務器(也相當於一臺路由器)。

網關的作用是什麼

網關,即Gateway,它是本地網絡的標記,也就是說數據從本地網絡跨過網關,就代表走出該本地網絡。所以,網關也是不同網絡(不同協議或者不同大小的網絡)的通信設備。它能將局域網分割成若干網段、互連私有廣域網中相關的局域網以及將各廣域網互連而形成了因特網。在早期的因特網中,網關曾只是指那些用來完成專門功能的路由器,但是隨着網絡技和電腦技術的發展,一般的主機和交換集線器都可以完成路由功能。所以現在在一般遷了教育網的學校的網關都採用主機。
網關按功能大致分三類:
1)協議網關:顧名思義,此類網關的主要功能是在不同協議的網絡之間的協議轉換。網絡發展至今,通用的已經有好幾種如:802.3(Ethernet)、IrDa(Infrared Data Association,紅外線數據聯盟)、WAN(Wide Area Networks,廣域網)和802.5(令牌環)、X2.5,802.11a、802.11b、802.11g、WPA等,不同的網絡,具有不同的數據封裝格式,不同的數據分組大小,不同的傳輸率。然而,這些網絡之間相互進行數據共享、交流卻是必不可免的。爲消除不同網絡之間的差異,使得數據能順利進行交流,我們需要一個專門的翻譯人員,也就是協議網關。靠他使的一個網絡能理解其他的網絡,也是靠他來使得不同的網絡連接起來成爲一個巨大的因特網。
2)應用網關:主要是針對一些專門的應用而設置的一些網關,其主要做用將某個服務的一種數據格式轉化爲該服務的另外一種數據格式,從而實現數據交流。這種網關常做爲某個特定服務的服務器,但是又兼具網關的功能。最常見的此類服務器就是郵件服務器了。我們知道電子郵件有好幾種格式,如POP3、SMTP、FAX、X.400、MHS等,如果SMTP郵件服務器提供了POP3、SMTP、FAX、X.400等郵件的網關接口,那麼我們就可以毫無顧忌地通過SMTP郵件服務器向其他服務器發送郵件了。

3)安全網關:最常用的安全網關就是包過濾器,實際上就是對數據包的原地址,目的地址和端口號,網絡協議進行授權。通過對這些信息的過濾處理,讓有許可權的數據包傳輸通過網關,而對那些沒有許可權的數據包進行攔截甚至丟棄。這跟軟件防火牆有一定意義上的雷同之處,但是與軟件防火牆相比較安全網關數據處理量大, 處理速度快,可以很好地對整個本地網絡進行保護而不對整個網絡造成瓶頸。
除此之外,最近微軟從網關的日常功能出發,也提出了他自己的分類方案:數據網關(主要用於進行數據吞吐的簡單路由器,爲網絡協議提供傳遞支持)、多媒體網關(除了數據網關具有的特性外,還提供針對音頻和視頻內容傳輸的特性)、集體控制網關(實現網絡上的家庭控制和安全服務管理)。

故事導讀:

假設你的名字叫小不點,你住在一個大院子裏,你的鄰居有很多小夥伴,在門口傳達室還有個看大門的李大爺,李大爺就是你的網關。當你想跟院子裏的某個小夥伴玩,只要你在院子裏大喊一聲他的名字,他聽到了就會迴應你,並且跑出來跟你玩。
但是你不被允許走出大門,你想與外界發生的一切聯繫,都必須由門口的李大爺(網關)用電話幫助你聯繫。假如你想找你的同學小明聊天,小明家住在很遠的另外一個院子裏,他家的院子裏也有一個看門的王大爺(小明的網關)。但是你不知道小明家的電話號碼,不過你的班主任老師有一份你們班全體同學的名單和電話號碼對照表,你的老師就是你的DNS服務器。於是你在家裏撥通了門口李大爺的電話,有了下面的對話:
小不點:李大爺,我想找班主任查一下小明的電話號碼行嗎?
李大爺:好,你等着。(接着李大爺給你的班主任掛了一個電話,問清楚了小明的電話)問到了,他家的號碼是211.99.99.99
小不點:太好了!李大爺,我想找小明,你再幫我聯繫一下小明吧。
李大爺:沒問題。(接着李大爺向電話局發出了請求接通小明家電話的請求,最後一關當然是被轉接到了小明家那個院子的王大爺那裏,然後王大爺把電話給轉到小明家)
就這樣你和小明取得了聯繫。
故事生動的描述了不同網絡間的通信原理
設置完IP地址與子網掩碼後,計算機只能與處於同一網絡內的其他計算機互相傳遞數據。這是因爲設置了這兩項參數後,計算機有了自己的地址,與其他計算機進行數據交換時,數據包有源地址與目標地址,即有明確的來源與去處,就像信封上寫清了發信人與收信人地址,因此可以順利地投遞一樣。但是此時計算機還不能與本局域網以外的計算機進行數據交換,因爲我們還沒有告訴計算機通過什麼途徑將數據送到本局域網以外的計算機中。要想與本局域網以外的計算機進行通信,還需要設置網關。
網關(Gateway)是將兩個使用不同協議的網絡段連接在一起的設備。它的作用就是對兩個網絡段中使用不同傳輸協議的數據進行互相的翻譯轉換。網關可以是硬件,如路由器、服務器等,也可以是軟件。
網關分配一個IP地址,這個地址就可以被局域網中的多臺計算機所共享,這種地址共享有點類似於日常生活中的信件分發。郵局先把屬於同一單位的信件送到該單位的收發室,再由收發室分發到各個不同的部門或個人,這就要求單位中的每個部門或個人都有一個唯一的內部信箱號,就像每臺計算機有一個自己的私有IP地址一樣。郵局只關心該單位的地址而不必清楚該單位的內部機構;同樣,位於局域網外部的網關只考慮局域網中的多臺計算機所共享的IP(網關)地址,而不考慮它們各自的私有IP 地址。藉助網關可以使多個網絡用戶用一個IP地址訪問因特網,比動態配置法更加節省IP地址資源。另外,它的安全性得到了進一步的提高,因爲它內部的計算機根本就沒有公有IP地址,外部用戶無法直接訪問這些計算機。

百度百科定義路由:

路由器:工作在OSI參考模型第三層——網絡層的數據包轉發設備。路由器通過轉發數據包來實現網絡互連。雖然路由器可以支持多種協議(如TCP/IP、IPX/SPX、AppleTalk等協議),但是在我國絕大多數路由器運行TCP/IP協議。路由器通常連接兩個或多個由IP子網或點到點協議標識的邏輯端口,至少擁有1個物理端口。路由器根據收到數據包中的網絡層地址以及路由器內部維護的路由表決定輸出端口以及下一跳地址,並且重寫鏈路層數據包頭實現轉發數據包。路由器通過動態維護路由表來反映當前的網絡拓撲,並通過網絡上其他路由器交換路由和鏈路信息來維護路由表。
路由是指路由器從一個接口上收到數據包,根據數據包的目的地址進行定向並轉發到另一個接口的過程。路由通常與橋接來對比,在粗心的人看來,它們似乎完成的是同樣的事。它們的主要區別在於橋接發生在OSI參考模型的第二層(數據鏈路層),而路由發生在第三層(網絡層)。這一區別使二者在傳遞信息的過程中使用不同的信息,從而以不同的方式來完成其任務。
路由工作包含兩個基本的動作:
1、確定最佳路徑
2、通過網絡傳輸信息
在路由的過程中,後者也稱爲(數據)交換。交換相對來說比較簡單,而選擇路徑很複雜。

路由器工作原理:
路由器利用網絡尋址功能使路由器能夠在網絡中確定一條最佳的路徑。IP地址的網絡部分確定分組的目標網絡,並通過 IP 地址的主機部分和設備的 MAC 地址確定到目標節點的連接。
路由器的某一個接口接收到一個數據包時,會查看包中的目標網絡地址以判斷該包的目的地址在當前的路由表中是否存在(即路由器是否知道到達目標網絡的路徑)。如果發現包的目標地址與本路由器的某個接口所連接的網絡地址相同,那麼馬上數據轉發到相應接口;如果發現包的目標地址不是自己的直連網段,路由器會查看自己的路由表,查找包的目的網絡所對應的接口,並從相應的接口轉發出去;如果路由表中記錄的網絡地址與包的目標地址不匹配,則根據路由器配置轉發到默認接口,在沒有配置默認接口的情況下會給用戶返回目標地址不可達的 ICMP 信息
路由器包含了路由選擇和交換的功能
路由選擇功能:爲傳送分組,路由器會使用地址的網絡部分進行路由選擇以確定一條最佳路徑
路由交換功能:使路由器有能力接收分組並進行轉發
路由器工作過程:
路由發現:學習路由的過程,動態路由通常由路由器自己完成,靜態路由需要手工配置
路由轉發:路由學習之後會照學習更新的路由表進行數據轉發
路由維護:路由器通過定期與網絡中其他路由器進行通信來了解網絡拓撲變化以便更新路由表
路由器記錄了接口所直連的網絡ID,稱爲直連路由,路由器可以自動學習直連路由而不需要配置
路由器所識別的邏輯地址的協議必須被路由器所支持
工作原理剖析及作用:
路由器是第三層網絡設備,這樣說大家可能都不理解,就先說一下集線器和交換機吧。集線器工作在第一層(即物理層),它沒有智能處理能力,對它來說,數據只是電流而已,當一個端口的電流傳到集線器中時,它只是簡單地將電流傳送到其他端口,至於其他端口連接的計算機接收不接收這些數據,它就不管了交換機工作在第二層(即數據鏈路層),它要比集線器智能一些,對它來說,網絡上的數據就是MAC地址的集合,它能分辨出幀中的源MAC地址和目的MAC地址,因此可以在任意兩個端口間建立聯繫,但是交換機並不懂得IP地址,它只知道MAC地址路由器工作在第三層(即網絡層),它比交換機還要“聰明”一些,它能理解數據中的IP地址,如果它接收到一個數據包,就檢查其中的IP地址,如果目標地址是本地網絡的就不理會,如果是其他網絡的,就將數據包轉發出本地網絡
作用
我們常見的集線器和交換機一般都是用於連接以太網的,但是如果將兩種不同的網絡類型連接起來,比如以太網與ATM網,集線器和交換機就派不上用場了。
路由器能夠連接不同類型的局域網和廣域網,如以太網、ATM網、FDDI網、令牌環網等。不同類型的網絡,其傳送的數據單元——包(Packet)的格式和大小是不同的。就像公路運輸是以汽車爲單位裝載貨物,而鐵路運輸是以車皮爲單位裝載貨物一樣,從汽車運輸改爲鐵路運輸,必須把貨物從汽車上放到火車車皮上,網絡中的數據也是如此。數據從一種類型的網絡傳輸至另一種類型的網絡,必須進行幀格式轉換。路由器就有這種能力,而交換機和集線器就沒有。
實際上,我們所說的“互聯網”,就是指各種路由器將各種不同的網絡類型互相連接起來。集線器和交換機根本不能勝任這個任務,所以必須由路由器來擔當這個角色。
具有路徑選擇能力
互聯網中,從一個節點到另一個節點,可能有許多路徑。路由器可以選擇通暢的最短路徑,這就大大提高通信速度,減輕網絡系統通信負荷,節約網絡系統資源,這也是集線器和交換機所根本不具備的性能。
路由器的接入:
接入路由器是指將局域網用戶接入到廣域網中的路由器設備。我們局域網用戶接觸最多的就是接入路由器了。只要有互聯網的地方,就會有路由器。如果你通過局域網共享線路上網,就一定會使用路由器。
有的讀者會心生疑問:我是通過代理服務器上網的,不用路由器不也能接入互聯網嗎?其實代理服務器也是一種路由器,一臺計算機加上網卡,再加上ISDN(或Modem或ADSL),再安裝上代理服務器軟件,事實上就已經構成了路由器,只不過代理服務器是用軟件實現路由功能,而路由器是用硬件實現路由功能,就像VCD軟解壓軟件和VCD機的關係一樣,結構不同,但是功能卻是相同的。
除了接入時路由器,常用的接入路由器還有:企業級路由和骨幹級路由。

局域網內數據包的發送過程

1. PC1與PC2通信時,在PC1電腦中,應用層產生數據交給傳輸層;傳輸層進行數據的分段,使數據的大小適合在網絡上傳遞,根據應用層不同軟件產生的數據,選擇不同協議棧進行封裝TCP或UDP,再進行不同服務端口號的封裝(例:WWW 80 ,FTP 21),再傳遞給網絡層;網絡層在數據包頭部進行封裝源IP、目的IP,根據上層協議棧標識不同協議號,當IP包頭封裝TCP時協議號爲6、UDP協議號爲17,用來標識上層使用的協議,繼續傳遞給數據鏈路層 數據鏈路層在數據包頭部進行幀的封裝,封裝源MAC、目的MAC,由於不知道目的MAC地址,會進行ARP的廣播包,封裝一個全F的類型字段爲0X0806廣播包,交付給物理層,物理層轉換成電信號(bit流),發送到交換機;
2. 交換機接收後發現爲ARP的廣播包,進行其解封學習到PC1的MAC地址,繼續封裝併除接受端口以外的端口再次進行ARP的廣播;
3. 路由器收到交換機發來的ARP廣播,進行解封,查看到數據包中的類型字段爲0X0806即ARP的廣播包,進行回覆,源MAC爲路由(網關)的MAC,目的MAC爲PC1的MAC,類型字段爲0X0806,經過物理層將數據轉換爲電信號(bit流)發送給交換機;
4. 交換機收到後進行解封,學習到源MAC(路由器的MAC),發現目的MAC已經存在自己的MAC表中,查看目的MAC對應的端口,並從對應的端口發送到PC1;
5. PC1接收數據包後進行解封,學習到路由器(網關)的MAC,在數據鏈路層將目的MAC封裝爲路由器(網關)的MAC, 類型字段爲0X0800,並在數據幀尾部封裝FCS,來校驗數據的完整性,然後向下層傳遞給物理層,物理層把數據幀轉換成電信號(bit流),發送到交換機;
(注:不同網段的通信,PC機先把數據傳送到網關)
6. 交換機接收到數據包,查看到目的MAC已存在自己的MAC表中,根據自己MAC表中對應的端口發送出去;
7. 路由器接收到數據包後進行解封裝,在數據包頭部發現目的ip,便查找路由表條目中對應的端口,便對數據進行重寫,由於不知道目的主機的MAC地址,路由器會發送ARP廣播,PC2收到數據包進行解封,發現是ARP廣播,類型字段爲0X0806,
然後對其進行封裝回復,源MAC爲PC2的MAC,目的MAC爲路由器的MAC,路由器收到後把PC2對應的MAC地址和端口記錄在MAC表中,
8. -pc2接受到信息,便對數據進行解封裝,發現目的ip是給自己的,然後繼續解封裝,然後把數據傳送給應用程序qq。然後對路由回覆,在傳輸層設源端口號爲8000,目的端口號爲4000,封裝udp頭部。在網絡層將源ip設爲192,。168.2.1,目的ip設爲192.168.1.2,協議號爲17,在數據鏈路層將源mac設爲12個3,目的mac設爲12個1,類型字段爲0x0800,封裝FCS,然後經物理層將數據轉爲bit流傳給路由器,路由器再查找路由表,並對數據進行重寫,從f0/0傳送出去,交換機解封裝,查找mac表,再對數據進行封裝,從f0/0傳送給pc1.通信完成。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章