韓老師計算機網絡網絡層筆記

一 概述

1.1 網絡層概念

網絡層負責路由選擇(存儲轉發)不同網絡之間的盡力轉發數據包,只關心根據目標地址選擇最優的下一跳去哪。亂序丟包等問題交給傳輸層,網絡層不知道是丟了之後再發的。

IP 數據報的發送和轉發包含以下兩部分:

  • 主機發送IP數據報
  • 路由器轉發IP數據報

同一網絡中的主機可以直接通信,叫做主機交付。不同網絡的主機,需要通過路由器來中轉,這屬於間接交付
當我們給路由器的接口配置IP地址和子網掩碼時,路由器就知道了自己的該接口與哪個網絡是直連的(IP地址和子網掩碼相與,得到網絡地址)

源主機如何知道目的主機與自己是否在同一個網絡中呢? 將主機F的IP地址與自己的子網掩碼相與,如果和自己的網絡地址不相等,則不在一個網絡
主機C如何知道自己應該交給那個路由器轉發呢? 各個主機應該都有一個默認網關(默認的路由器的IP地址)




發送端:
應用層準備要傳輸的文件
傳輸層分段編號
網絡層給每個分段加目標地址和源地址
數據鏈路層兩種情況:使用子網掩碼判斷目標地址和源地址是否在一個網段:如果在同一網段:根據ARP協議得到對方的MAC地址;如果不在一個網段:根據ARP協議得到源主機網關(路由器) 的MAC地址(所以要跨網段通信必須有網關)

IP地址:目的主機和源主機
MAC地址:下一個設備給誰

交換機能看懂MAC地址已決定是否過濾幀,路由器能看懂IP地址已決定轉發到哪個網絡

二 網絡層爲傳輸層提供的服務

虛電路服務、數據報服務

2.1 虛電路服務

2.2 數據報服務


2.3 比較

三 網絡層協議

3.1 ARP協議

每一個主機和路由器都設有一個ARP 高速緩存(ARP cache),裏面有所在的局域網上的各主機和路由器的IP 地址到硬件地址的映射表。

  1. 當主機A 欲向本局域網上的某個主機B 發送IP 數據報時,就先在其ARP 高速緩存中查看有無主機B 的IP 地址。
    如有,就可查出其對應的硬件地址,再將此硬件地址寫入MAC 幀,然後通過局域網將該MAC 幀發往此硬件地址。
    如沒有:主機A發送其ARP 請求分組(爲減少網絡的通信量,主機A將自己的IP 地址到硬件地址的映射寫入ARP 請求分組)廣播問主機B的MAC地址是多少,主機B接收到A 的ARP 請求分組後,先將主機A 的地址映射寫入自己的ARP 高速緩存中,進行驗證,查看接收方的IP地址是不是自己的地址,只有驗證成功纔會返回一個ARP響應報文,再將包含自己IP地址和物理地址的ARP響應報文以單播的方式發給主機A。
  2. 如果所要找的主機和源主機不在同一個局域網上,那麼就要通過ARP 找到一個位於本局域網上的某個路由器的硬件地址,然後把分組發送給這個路由器,讓這個路由器把分組轉發給下一個網絡。剩下的工作就由下一個網絡來做。過程將1中的主機B換成主機A所在局域網的路由器。
  3. 是否在同一局域網內可以通過子網掩碼判斷

    ARP 是解決同一個局域網上的主機或路由器的IP 地址和硬件地址的映射問題。
    從IP地址到硬件地址的解析是自動進行的,主機的用戶對這種地址解析過程是不知道的。只要主機或路由器要和本網絡上的另一個已知IP 地址的主機或路由器進行通信,ARP 協議就會自動地將該IP 地址解析爲鏈路層所需要的硬件地址。
  • ARP欺騙:雖然主機B默認的是丟棄與自己的ip不匹配的ARP請求,但是可以通過手動的方式來跟主機A說我就是網關或者其它主機,從而就達到了欺騙主機A的目的。

逆向ARP
計算機請求ip地址的過程

3.2 網際(IP)協議

3.2.1 IP地址


劃分出網絡ID:只需要關心轉發到哪個網段就行,不需要關心到主機


判斷IP地址屬於ABC哪一類只需看IP地址的點分十進制第一位所處的範圍(1-126是A,128-191是B,192-223是C)
確定了屬於哪一類,默認子網掩碼爲:A類地址255.0.0.0;B類地址255.255.0.0;C類地址255.255.255.0

保留地址:
	127.0.0.1 本地環回地址
私網地址:(如學校內部的,外部無法連接)
	10.0.0.0 
	172.16.0.0-172.31.0.0
	192.168.0.0-192.168.255.0
主機號全0是網段、主機號全1是廣播

3.2.2 子網掩碼

判斷兩個主機是否在一個網段(IP地址與子網掩碼做與運算得到的就是網絡號,即主機位歸0),用來定義主機號和網絡號

3.2.3 子網劃分

3.2.3.1 等分子網劃分

IP地址不夠用,設計出這種方式省着點用


  • 點到點網絡的子網掩碼是255.255.255.252

每個網段只有兩臺可有主機(加上主機號全0全1就是每個網段4個主機號),4的二進制是100,即子網掩碼兩個0=>255.255.255.(11111100)=>255.255.255.252
等分一次網段,子網掩碼後移一位

3.2.3.2 變長子網劃分

3.2.4 超網(CIDR)




3.2.5 ip數據報

3.2.5.1 ip數據報首部

版本:佔4位,指IP協議的版本,IP協議版本號爲4(即IPv4),IP協議版本號爲6(即IPv6)。
首部長度:佔4位,可表示的最大十進制數值是15。這個字段所表示數的單位是32位字(即4字節),因此,當IP的首部長度爲1111(即十進制的15)時,首部長度就達到最大值60個字節。最常用的首部長度就是20個字節(即首部長度爲0101),這時不使用任何選項,是固定首部的長度。當IP分組的首部長度不是4字節的整數倍時,必須利用最後的填充字段加以填充。
區分服務:佔8位,用來獲得更好的服務。一般不使用 總長度:佔16位,指首部和數據之和的長度。數據報的最大長度爲2^16 -1 =
65535字節。在IP層下面的每一種數據鏈路層都有其自己的幀格式,其中包括幀格式中的數據字段的最大長度,這稱爲最大傳送單元MTU(Maximum
Transfer
Unit)。當一個IP數據報封裝成數據鏈路層的幀時,此數據報的總長度(即首部加上數據部分),一定不能超過下面的數據鏈路層的MTU值。雖然使用儘可能長的數據報會使傳輸效率提高,但由於以太網的普遍應用,所以實際上使用的數據報長度很少有超過1500字節的。爲了不使IP數據報的傳輸效率降低,有關IP的標準文檔規定,所有的主機和路由器必須能夠處理的IP數據報的長度不得少於576字節。這個數值也就是最小的IP數據報的總長度。當數據報長度超過網絡所容許的最大傳送單元MTU時,就必須把過長的數據報進行分片後才能在網絡上傳送(“片偏移”字段相關)。這時,數據報首部中的總長度不是指未分片前的數據報長度,而是指分片後的每一個分片的首部長度與數據長度的總和。
標識:佔16位,指IP軟件在存儲器中維持一個計數器,每產生一個數據報,計數器就加1,並將此值付給標識字段。但這個標識並不是序號,因爲IP是無連接服務,數據報不存在按序接收的問題。當數據報由於長度超過網絡的MTU而必須分片時,這個標識字段的值就會被複制到所有的數據報片的標識字段中。相同的標識字段的值使分片後的各數據報片最後能正確地重裝成爲原來的數據報。
標誌:佔3位,但目前只有兩位有意義。標誌字段中的最低位記爲MF(More
Fragment)。MF=1即表示後面“還有分片”的數據報。MF=0即表示這已是若干數據報片中的最後一個。標誌字段中的中間位DF(Don’t
Fragment),意思是“不能分片”,只有當DF=0時才允許分片。
片偏移:佔13位,指出較長的分鐘再分片後,某片在原分組中的相對位置。也就是說,相對於用戶數據字段的起點,該片從何處開始。片偏移以8個字節爲偏移單位。也就是說,每個分片的長度一定是8字節(64位)的整數倍。
生存時間:佔8位,常用的英文縮寫是TTL(Time To
Live),表明數據報在網絡中的壽命。由發出數據報的源點設置這個字段。其目的是爲了防止無法交付的數據報無限制地在因特網中兜圈子,因而白白浪費網絡資源。隨着技術的發展,TTL字段的功能改爲“跳數限制”。路由器在轉發數據報之前就把TTL值減1。若TTL值減少到零,就丟棄這個數據報,不再轉發。因此,現在TTL的單位不再是秒,而是跳數。TTL的意義是指明數據報在因特網中至多可經過多少個路由器。顯然,數據報能在因特網中經過的路由器的最大數是255。若把TTL的初始值設置爲1,就表示這個數據報只能在本局域網中傳送。
協議:佔8位,指出此數據報攜帶的數據是使用何種協議,一遍使目的主機的IP層知道應將數據部分上交給哪個處理過程。
首部檢驗和:佔16位,只檢驗數據報的首部,但不包括數據部分。這是因爲數據報每經過一個路由器,路由器都要重新計算一下首部檢驗和(一些字段,如生存時間、標誌、片偏移等都可能發生變化)。不檢驗數據部分可減少計算的工作量。
源地址 目的地址 IP首部的可變部分就是一個選項字段。 填充:最後用全0的填充字段補齊成爲4字節的整數倍。
注:增加首部的可變部分是爲了增加IP數據報的功能,但這同時也使得IP數據報的首部長度成爲可變的。這就增加了每一個路由器處理數據報的開銷。實際上這些選項很少被使用。新的IP版本IPv6就把IP數據報的首部長度做成固定的。

3.2.6 網絡暢通的條件

沿途的路由器知道到目標網絡下一跳給哪個路由器,知道到源網絡下一跳給哪個路由器

計算機的網關就是默認路由

3.3 ICMP



3.3.1 差錯報告報文

共有5種:終點不可達、源點抑制、時間超過、參數問題、改變路由(重定向)

  • 終點不可達:

  • 源點抑制:

  • 時間超過:

  • 參數問題:

  • 改變路由(重定向):


    注意,以下情況不應發送ICMP差錯報告報文:

3.3.2 ICMP詢問報文

常用的ICMP詢問報文有以下兩種:

3.3.2.1 回送請求和回答

ICMP回送請求報文是由主機或路由器向一個特定的目的主機發出的詢問,收到此報文的主機必須給源主機或路由器回送回答報文,這種詢問報文用來測試目的站是否可達及瞭解其有關狀態

3.3.2.2 時間戳請求和回答

ICMP時間戳請求報文是請某個主機或路由器回答當前的時間和日期,在ICMP時間戳回答報文中有一個32位的字段,,其中寫入的整數代表從1900年1月1日起到當前時刻一共有多少秒,這種詢問報文用來進行時鐘同步和測量時間

3.3.3 ICMP應用

3.3.3.1 Ping

不需要應用程序的支持,所以是網絡層的協議
TTL最開始值爲1, 每次把TTL值加1。通過發送回來的時間超過,就知道有哪些路由器

  1. ping命令執行的時候,源主機會首先構建一個ICMP 回送請求消息的數據報(類型爲8,序號主要用於區分連續ping的時候發出的多個數據報。每發出一個請求數據報,序號會自動加1.爲了能夠計算往返時間RTT,他會在報文數據部分插入時間)。

  2. 目的地址,源地址,協議字段(設置爲 1 表示是 ICMP 協議)和回送請求消息數據報,在加上一些其他控制信息,構建一個 IP 數據報。

  3. 接下來,根據 ARP 協議查詢 MAC 地址構建數據幀,依據以太網的介質訪問規則將它們傳送出去。

  4. 主機 B 收到這個數據幀後,先檢查它的目的 MAC 地址,並和本機的 MAC 地址對比,如符合,則接收,否則就丟棄。

  5. 接收後檢查該數據幀,將 IP 數據報從幀中提取出來,交給本機的 IP 層。同樣,IP 層檢查後,將有用的信息提取後交給 ICMP 協議。

  6. 主機 B 會構建一個 ICMP 回送響應消息數據包,回送響應數據包的類型字段爲 0,序號爲接收到的請求數據包中的序號,然後再發送出去給主機 A。

注意:
在規定的時間內,源主機如果沒有接收到ICMP的應答包,說明主機不可達;(就是ping不通)如果接收到了ICMP的回送響應消息,則說明目標主機可達。(就是ping得通)
此時,源主機會檢查,用當前時刻減去該數據包最初從源主機上發出的時刻,就是 ICMP 數據包的時間延遲。

ICMP與IP同屬於網絡層,爲什麼ICMP報文又封裝在IP數據報中呢?

IP協議是一種不可靠的、無連接的協議,不具備差錯報告和差錯糾正機制,它必須依賴於ICMP協議來報告處理一個IP數據報傳輸過程中的錯誤並提供管理和狀態信息
ICMP協議就是來處理數據報文傳輸過程中出現的錯誤:具體的工作內容:當目標主機或中間設備發現數據報文在傳輸中出現錯誤不能達到目的地址後,會觸發ICMP模塊,同時產生一個ICMP報文向源主機發送出錯情況報告。源IP地址和目的IP地址封裝在IP數據報(IP數據報首部)裏,(ICMP報文首部是沒有這些源、目的IP地址的),所以ICMP報文要封裝在IP數據報中被傳輸,纔可向源主機發送出錯誤情況報告

3.3.3.2 跟蹤路由

3.4 IGMP

網絡組播管理協議:用於管理組播(多播)成員,如流媒體(音視頻會議)

3.4.1 組播

  • 點到點通信
  • 組播(多播):流媒體服務器(如視頻會議、在線智慧課堂),發一份數據報有同一多播地址的主機都接收(電臺和收音機,收音機調頻道決定聽什麼,電臺每個頻道只發一份)。播到哪看到哪,不能看歷史和未來,和電視一樣,沒看到就看不到了
  • 廣播:在一個網段內實現,發一份數據報所有在同一網段內的計算機都收到(教室裏老師的電腦屏幕同學的電腦都能看到)

3.4.2 IGMP


IGMP協議是讓路由器週期性掃描一下本網段是否有計算機訪問這個多播地址,如果本網段內有至少一臺計算機訪問多播地址,這個路由器就向上一個路由器請求一個多播數據報,如果;如果本網段內沒有計算機訪問多播地址,本路由器就通知上一個路由器不用把這個多播ip地址對應的數據報發給它。

四 路由選擇

4.1 靜態路由

靜態路由配置

靜態路由配置是指用戶或網絡管理員使用路由器的相關命令給路由器人工配置路由表

4.2 動態路由

4.2.1 路由選擇協議概述

路由器自己來學習到各網段怎麼走,路由選擇協議是在路由器上運行的.常見的動態路由協議包括RIP、OSPF、BGP等等。
因特網採用分層次的路由選擇協議:

  • 自治系統內部的路由選擇,簡稱域內路由選擇,使用內部網關協議IGP
  • 自治系統之間的路由選擇,簡稱域間路由選擇,使用外部網關協議EGP

    在一個自治系統內部使用的具體的網關內部協議,與因特網中其他自治系統中選用何種內部網關協議無關,自治系統外部使用的網關協議是BGP

4.2.2 RIP協議

路由信息協議RIP是內部網關協議IGP中最先得到廣泛使用的協議之一
RIP 要求自治系統AS內的每一個路由器都要維護從他自己到AS內其他每一個網絡的距離記錄。這是一組距離,稱爲“距離向量D-V”,週期性(30s)的將自己知道的路由表廣播給與之相連的路由器,並選擇最佳的路由,RIP使用跳數作爲度量裏衡量到達目的網絡的距離。

  1. 路由器到直連網絡的距離定義爲1
  2. 路由器到非直連網絡的距離定義爲所經過的路由器數加1
  3. 允許一條路徑最多隻能包含15個路由器。“距離”等於16時相當於不可達。
    如果路由器B發給路由器A,但連續幾個週期路由器A都不迴應,路由器B就認爲路由器A已經宕機了,並由路由器B告知其他與B相連的路由器:路由器A已宕機。
    因此,RIP只適用於小型互聯網
    當到達同一目的網絡有多條“距離相等”的路由時,可以進行等價負載均衡。(把數據包均勻的分到各條可行路徑上)

RIP包含以下三個要點

  • 和誰交換信息:僅和自己相鄰的路由器交換信息
  • 交換什麼信息:自己的路由表
  • 何時交換信息:週期性交換(例如每30s)

4.2.2.1 RIP 的基本工作過程

  1. 路由器剛開始工作時,只知道自己到直連網絡的距離爲1
  2. 每個路由器僅和自己相鄰的路由器 週期性的 交換並更新路由信息。若干次交換和更新後,每個路由器都知道到達本AS內各網絡的最短距離和下一跳地址,稱爲收斂。如下圖所示:

4.2.2.2 RIP的路由表條目更新規則

路由器週期性將自己的“路由表發送給鄰居”

1.改造路由表:路由器C複製一份自己的路由表,並將距離加1、下一跳一列都改爲C
2. 將改造後的路由表發送給與之相鄰的路由器D
3. 路由器D將該路由表與自身的歷史路由表按目的網絡逐一比較
- 無則添加:目的網絡在新路由表中有,舊路由表中沒有,則添加該行
- 有則比之:目的網絡在新路由表中和舊路由表中都有,則比較跳數:
* 跳數相同則添加:等價負載均衡
* 新路由表跳數有優勢則更新
* 舊路由表跳數有優勢則不更新

4.2.2.3 RIP缺點

4.2.3 OSPF

開放最短路徑優先OSPF,“開放”表明OSPF協議不是受某一廠商的控制,而是公開發表的; “最短路徑優先”是因爲使用了Dijkstra提出的最短路徑算法SPF
OSPF包含以下三個要點

  • 和誰交換信息:向本自治系統中所有路由器發送信息(洪泛法)
  • 交換什麼信息:發送的信息是與本路由器相鄰的所有路由器的鏈路狀態(但這只是路由器所知道的部分信息)
  • 何時交換信息:當鏈路狀態發生變化時路由器才發送信息(觸發式更新)

支持多區域

4.2.3.1 OSPF基本工作原理

  • OSPF是基於鏈路狀態的,而不像RIP那樣是基於距離向量的
  • OSPF採用SPF算法來計算路由,從算法上保證了不會產生路由環路
  • OSPF不限制網絡規模,更新效率高,收斂速度快

4.2.3.2 OSPF工作過程

OSPF維護三個表

  1. 鄰居表
    OSPF相鄰路由器之間每10s組播(組播地址爲224.0.0.5)發送交換問候(Hello)分組(OSPF的hello分組是IP數據報的數據部分),由此每個路由器都會建立一張鄰居表,其中的每個條目對應記錄各鄰居路由器的相關信息(可達或不可達)。40s未收到來自鄰居路由器的Hello分組,則認爲該鄰居路由器不可達

  2. 鏈路狀態表: 建立鄰居關係後–>給鄰居路由器發送數據庫描述分組,也就是將自己的鏈路狀態數據庫中的所有鏈路狀態項目的摘要信息發送給鄰居路由器
    –>R1收到R2的數據庫描述分組後,發現自己缺少其中那個某些鏈路狀態項目,於是就給R2發送鏈路狀態請求分組–>R2收到後,將R1所缺少的鏈路狀態項目的詳細信息,封裝在鏈路狀態更新分組中發送給R1–>R1收到後,將缺少的鏈路狀態詳細信息添加到自己的鏈路狀態數據庫中,並將其洪泛轉發,並給R2發送鏈路狀態確認分組–>最終R1和R2的數據鏈路狀態庫將達到一致,也就是鏈路狀態數據庫達到同步–>每30分鐘,或鏈路狀態發生變化時,路由器都會發送鏈路狀態更新分組
    每個路由器都會產生鏈路狀態通告LSA。LSA包含以下內容:
    • 直連的網絡鏈路狀態信息
    • 鄰居路由器的鏈路狀態信息
  • LSA的存儲:每個路由器都有一個鏈路狀態數據庫LSDB,用於存儲自治系統本區域內所有路由器鏈路狀態信息LSA,即得到一個帶權有向圖
  • LSA的更新:LSA被封裝在鏈路狀態更新分組LSU中採用洪泛法發送,接收路由器根據LSU中的LSA更新自己的鏈路狀態數據庫LSDB
  • 各路由器的LSDB最終將達到一致則收斂
  1. 路由表(由Dijkstra算法計算而來)
    各路由器基於LSDB中得出帶權有向圖,然後進行最短路徑優先SPF計算,構建出各自到達其他各路由器的最短路徑,即構建各自的路由表

綜上,OSPF有以下五種分組類型:

  • 問候(Hello)分組: 用來發現和維護鄰居路由器的可達性
  • 數據庫描述分組: 向鄰居路由器給出自己的鏈路狀態數據庫中的所有鏈路狀態項目的摘要信息
  • 鏈路狀態請求分組: 向鄰居路由器請求發送某些鏈路狀態項目的詳細信息
  • 鏈路狀態更新分組: 路由器用這種分組將其鏈路狀態進行洪泛法送,即用洪泛法對全網更新鏈路狀態
  • 鏈路狀態確認分組: 這是對鏈路狀態更新分組的確認分組

4.2.3.3 改進

  1. 爲了避免多播分組:
    若DR出現問題,則由BDR頂替DR

  2. 爲了應用於更大規模網絡:劃分區域的好處是把利用洪泛法交換鏈路狀態信息的範圍,侷限於每一個區域,而不是整個自治系統。
    主幹區域的標識符必須是0.0.0.0。

  • 區域邊界路由器,一個接口用於連接主幹區域,另一個接口自身所在區域
  • 主幹區域內的路由器稱爲主幹路由器,可以把區域邊界路由器看作是主幹路由器
  • 自治系統邊界路由器用來和其他自治系統交換信息

4.2.4 BGP協議

邊界網關協議BGP的基本工作原理
BGP只能是力求尋找一條能夠到達目的網絡且比較好的路由(不能兜圈子),而並非是要尋求一條最佳路由

4.2.4.1 背景

4.2.4.2 BGP基本工作原理


4.2.4.3 BGP總結

BGP發言人–>TCP連接BGP會話交換網絡可達性信息–>構建樹狀圖(由此得到路由)

五 VPN


遠程PC撥號連接服務器(RAS),服務器分配給遠程主機一個私網地址(如10.0.0.8),相當於把遠程主機搬到了內網,這樣遠程主機就可以訪問服務器所在的私網了,此時遠程主機有兩個IP地址(公網IP:23.23.2.20和私網IP10.0.0.8)。遠程主機發一個數據報(由於互聯網不轉發私網地址,所以IP數據報首部的源主機地址爲自己的公網IP,目的主機地址爲企業服務器RAS的公網IP,數據部分其實也是一個IP數據報,首部的目的主機和源主機地址爲對應的私網IP地址),這樣互聯網會將數據報先轉發給RAS。RAS去掉IP數據報的首部,暴露出局域網數據報,然後在局域網內將數據報轉發給目的主機(10.0.0.2)
VPN用於解決我們不在公司學校專用網絡中時也能訪問專用網絡

六 NAT

私網地址的主機連公網地址是有去無回的(私網地址可以發給公網地址IP數據報,但公網地址無法發給私網地址IP數據報。有去有回網絡纔算通),所以要用用NAT分配給私網中的主機一個公網地址。

NAT的作用是讓內網的計算機可以連外網主機

網絡地址轉換 (NAT)用於允許專用網絡上的多臺 PC (使用專用地址段,例如 10.0.x.x、192.168.x.x、172.x.x.x) 共享單個、全局路由的 IPv4 地址IPv4 地址日益不足是經常部署 NAT 的一個主要原因。

NAT的分爲:靜態NAT、動態NAT、端口NAT(PAT)

  • 靜態NAT:內部網絡中的每個主機都被永久的映射成外部網絡中的某個合法地址;
  • 動態NAT:在外部網絡中定義了一系列的合法地址,採用動態分配的方法映射到內部網絡;
  • PAT:是人們比較熟悉的一種轉換方式。PAT普遍應用於接入設備中,它可以將中小型的網絡隱藏在一個合法的IP地址後面。PAT與動態地址NAT不同,它將內部連接映射到外部網絡中的一個單獨的IP地址上,同時在該地址上加上一個由NAT設備選定的TCP端口號。將多個內部ip地址映射到同一個外部地址。

NAT和PAT區別:

  • NAT的地址轉換是指每個內網地址都被轉換成ip地址+源端口的方式,這需要公網ip地址爲多個
  • PAT由於ip地址不足夠,就會出現內網地址被轉換成ip地址+端口段的形式,這樣的公網ip地址通常只是一個

NAT
192.168.0.2:4444 ----〉202.116.100.5:4444
 192.168.0.3:5555 ----〉202.116.100.6:5555
 192.168.0.10:1233 —〉202.116.100.5:1233
PAT
 192.168.0.2:4444 ----〉202.116.100.5:50003
 192.168.0.3:5555----〉202.116.100.5:50004
 192.168.0.10:1233 —〉202.116.100.5:50005

七 路由器

路由器是具有多個輸入端口和輸出端口的專用計算機,其任務是轉發分組。整個路由器可劃分爲兩個部分:路由選擇部分、分組轉發部分

  • 路由選擇部分
    路由選擇部分的核心構件是路由選擇處理機,他的任務是根據所使用的路由選擇協議,週期性的與其他路由器進行路由信息的交互,來更新路由表
  • 分組轉發部分:
    • 如果送交網絡層的分組時普通待轉發的數據分組,
    1. 則根據分組首部中的目的地址進行查錶轉發,若找不到匹配的轉發條目,則丟棄該分組。否則,按照匹配條目中所指示的端口進行轉發。
    2. 輸出端口的網絡層更新數據分組首部中某些字段的值,例如將數據分組的生存時間(TTL)減1,然後送交數據鏈路層進行封裝。
    • 如果送交輸入端口網絡層的是路由器之間交換路由信息的路由報文 ,則把這種分組送交路由選擇處理機,路由選擇處理機根據自己的內容來更新自己的路由表。

轉發表是從路由表得出的:路由表一般僅包含從目的網絡到下一跳的映射,路由表需要對網絡拓撲變化的計算最優化;轉發表的結構應當使查找過程最優化.路由處理機出來處理收到的路由報文外,還會週期性地給其他路由器,發送自己所知道的路由信息。
路由器的端口既有輸入又有輸出功能,各端口具有輸入緩衝區和輸出緩衝區,輸入緩衝區用來暫存,新進入路由器但還來不及處理的分組。輸出緩衝區用來暫存,已經處理完但還來不及發送的分組

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章