4.1 網絡層概述
網絡層主要功能為轉發(將數據從路由器輸入接口轉移到合適的輸出接口)和路由選擇(端到端的路徑選擇),每台路由器都有一張轉發表,用最長前綴匹配規則來轉發。
4.1.1 轉發和路由選擇:數據平面和控制平面
- 轉發(forwarding) 是指將分組從一個輸入鏈路轉移到適當的輸出鏈路接口的路由器本地動作。
- 路由選擇(routing) 是指確定分組從源到目的地所采取的端到端路徑的網絡范圍處理過程。
4.1.2 網絡服務模型
- 因特網的網絡層IP協議提供單一服務,盡力而為服務,無帶寬保證,無丟包保證,無順序保證,不定時,無擁塞指示。也即差不多根本無服務。
4.2 路由器工作原理
路由器的組成部分:
1) 輸入端口
- 執行將一條輸入的物理鏈路與路由器相連接的物理層功能
- 執行與位於入鏈路遠端的數據鏈路層交互的數據鏈路層功能
- 查找功能,查詢轉發表決定路由器的輸出端口,將分組轉發到輸出端口
2) 交換結構
- 將路由器的輸入端口與輸出端口相連
- 分組通過交換結構轉發到輸出端口
3) 輸出端口
- 存儲從交換結構接收的分組,執行必要的鏈路層和物理層功能在輸入鏈路上傳輸這些分組。
4) 路由選擇處理器
- 執行路由選擇協議
5) 路由轉發平面
6) 路由控制平面
4.2.1 輸入端口處理和基於目的地轉發

4.2.2 交換
三種交換技術。
1.經內存交換。
2.經總線交換。
3.經互聯網絡交換。


4.2.3 輸出端口處理

4.2.4 何處出現排隊
- 輸入、輸出都會出現排隊。
4.2.5 分組調度
三種路由器中的排隊規則
1. 先進先出
2.優先權排隊
3.循環和加權公平排隊
4.3 網際協議 : IPv4、尋址、IPv6及其他
4.3.1 IPv4 數據報格式

- 版本號:包括IPv4、IPv6。
- 首部長度:通常20字節。
- 服務類型:區分不同類型數據報,如實時流量(IP電話)和非實時流量(FTP)。
- 數據報長度:首部+數據長度,很少超過1500字節。
- 標識、標志、片偏移:用於分組分片。IPv6不分片
- 壽命(Time-To-Live, TTL):經過一台路由器,TTL減一。
- 上層協議:數據報交付給哪個應用層協議。
- 首部檢驗和:只對首部校驗,TCP/UDP與IP不一定屬於同一協議棧(如ATM代替IP)。
- 源和目的IP。
- 選項:IPv6不使用。
- 數據:交付給運輸層的數據,也可能是ICMP報文等其他類型。
4.3.2 IPv4 數據報分片
- 鏈路層MTU限制數據報長度,不同鏈路使用不同的協議,MTU不同,所以一個數據報可能分成數個小的數據報,稱為分片(fragment)。
- 數據報在端系統中重新組裝,然后上傳傳輸層。
- 標識標記初始IP數據報。
- 最后一個片的標志為0,其余為1。
- 偏移字段指定該片在初始IP數據報的位置。
4.3.3 IPv4 編址
主機與路由器連入網絡的方法
- 一台主機通常只有一條鏈路連接到網絡,主機IP發送數據報從該鏈路發送
- 主機與物理鏈路的邊界叫接口,一台路由器有多個接口
- IP要求每台主機和路由器都有自己的IP地址,因此一個IP地址實際上是與每一個接口相關聯的
- 每個IP地址長度32bit(4字節),總共2^32個可能的IP地址,約40億個 點分十進制記法,如193.32.216.9
- 一個接口的IP地址的一部分需要由其連接的子網決定
- 如互聯3個主機接口與1個路由器接口的網絡形成一個子網,IP編址為這個子網分配一個地址:223.1.1.0/24,/24記法稱為子網掩碼,指示了32bit中的最左側24bit定義了子網地址
- 為了確定子網,分開主機和路由器的每個接口,產生幾個隔離的網絡島,使用接口端接這些隔離的網絡的端點,這些隔離的網絡中每一個都叫做一個子網
因特網地址分配策略:無類別域間路由選擇CDIR
- a.b.c.d/x的地址的x最高比特構成IP地址的網絡部分,稱為該地址的前綴,一個組織通常被分配一塊連續的地址,即具有相同前綴的一段地址。BGP路由選擇協議中,該組織網絡外的路由器僅考慮x,減少了轉發表的長度,因為形式為a.b.c.d/x單一表項足以將數據報轉發到該組織內的任何目的地
地址聚合(路由聚合):使用單個網絡前綴通告多個網絡的能力
- 一個ISP將8個組織連接到因特網。該ISP向外界通告:向我發送以200.23.16.0/20開始的任何內容。外部無需知道在該地址塊內還有8個其他組織,每個組織有自己的子網
在CDIR出現之前,采用分類編址,A、B、C類網絡,分別具有8、16、24比特子網地址
- C類(/24)僅能容納2^8-2=254台主機(其中兩個用於特殊用途)
- B類(/16)支持65534台主機,一個組織分配一個B類地址卻只用2000個接口,造成巨大浪費
- A類
- IP廣播地址
- 當一台主機發出目的地址為255.255.255.255的數據報時,報文會交付給同一個網絡的所有主機,可用於DHCP發現報文的發送,廣播最小生成樹
動態主機配置協議(Dynamic Host Configuration, DHCP),允許主機自動獲取一個IP地址,還有其他信息,例如子網掩碼、第一條路由器地址(默認網關)、本地DNS服務器地址。
DHCP是C-S協議,客戶是新到達的主機,服務器是子網中的DHCP服務器或者是DHCP中繼代理(通常是路由器)。
4個步驟 :
1.DHCP服務器發現。使用廣播目的地址255.255.255.255和源地址0.0.0.0,進行鏈路層廣播。
2.DHCP服務器提供。使用廣播發送推薦IP、地址租用期等信息。
3.DHCP請求。從一個或多個服務器提供的選擇中響應,回顯配置參數。
4.DHCP ACK。對請求報文響應,證實要求的參數。
4.3.4 網絡地址轉換
- 網絡地址轉換(Network Address Translation, NAT),通過NAT轉換表管理小型子網絡,對外隱藏網絡細節。
- 子網絡中的主機使用專用地址(10.0.0.0/8, 172.16.0.0/12, 192.168.0.0/16),該地址只有在該網絡中才有意義,不能用於因特網。
- NAT路由器將因特網的IP和端口號、子網的IP和端口號進行轉換,對外行為就像具有單一IP的單一設備。

4.3.5 IPv6
1.IPv6 數據報格式

- 地址:由32比特增加到128比特。任播地址將數據報交付給一組主機中的任意一個(例如GET一組鏡像站點中的某個)。
- 下一個首部:與IPv4**協議**字段相同,表示數據字段交付上層哪個協議。
取消的字段
- 分片:如果數據報太長,發送ICMP差錯報文。
- 首部校驗和,TCP和UDP、以太網已經校驗。
2.從IPv4到IPv6的遷移,兩種雙棧(dual-stack)方法。
- 接受結點和發送節點如果都是IPv6,則使用v6,否則使用IPv4。
- 將IPv4路由器集合作為隧道(tunneling),將IPv6數據報放入IPv4的數據字段。
4.4 通用轉發和 SDN
4.4.1 匹配
4.4.2 動作
4.4.3 匹配加動作操作中的OpenFlow例子
參考:
https://blog.csdn.net/A657997301/article/details/78452092
