百度百科定義網關:
網關的作用是什麼
網關按功能大致分三類:
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地址,外部用戶無法直接訪問這些計算機。
百度百科定義路由:
1、確定最佳路徑
2、通過網絡傳輸信息
在路由的過程中,後者也稱爲(數據)交換。交換相對來說比較簡單,而選擇路徑很複雜。
路由選擇功能:爲傳送分組,路由器會使用地址的網絡部分進行路由選擇以確定一條最佳路徑
路由交換功能:使路由器有能力接收分組並進行轉發
路由轉發:路由學習之後會照學習更新的路由表進行數據轉發
路由維護:路由器通過定期與網絡中其他路由器進行通信來了解網絡拓撲變化以便更新路由表
路由器記錄了接口所直連的網絡ID,稱爲直連路由,路由器可以自動學習直連路由而不需要配置
路由器所識別的邏輯地址的協議必須被路由器所支持
作用
我們常見的集線器和交換機一般都是用於連接以太網的,但是如果將兩種不同的網絡類型連接起來,比如以太網與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.通信完成。