Internet原理與技術
計算機專業基礎筆記目錄可以點這裏:計算機專業基礎筆記目錄
Internet原理與技術1(IP地址、IP數據報、ARP協議、ICMP協議、子網編址、無分類編址與CIDR、IP分組的轉發)
因特網的路由協議
自治系統與路由協議分類(IGP、EGP)
從路由算法的自適應性(對網絡變化的適應能力)考慮,路由算法可分爲兩類:
- 靜態路由選擇策略
非自適應路由選擇,特點是簡單和開銷較小,但不能及時適應網絡狀態的變化。 - 動態路由選擇策略
自適應路由選擇,特點是能較好地適應網絡狀態的變化,但實現較爲複雜,開銷也比較大。
因特網有兩大類路由選擇協議:
- 內部網關協議(IGP, Interior Gateway Protocol)
即在一個自治系統內部使用的路由選擇協議。
目前這類路由選擇協議使用得最多,如 RIP 和 OSPF 協議。 - 外部網關協議(EGP, External Gateway Protocol)
即在自治系統之間交換網絡可達性信息所用的路由選擇協議。
在外部網關協議中目前使用最多的是 BGP-4。
內部網關協議 - RIP
-
路由信息協議RIP 是 內部網關協議IGP 中最先得到廣泛使用的協議。
-
RIP協議是一種分佈式的基於距離向量的內部路由選擇協議。
-
RIP協議是通過“距離”的定義,來實現對最短路徑的尋找。它認爲一個好的路由就是它通過的路由器的數目少,即“距離短”。
-
RIP 協議要求網絡中的每一個路由器都要維護從它自己到其他每一個目的網絡的距離記錄。
-
把從一路由器到直接連接的網絡的距離定義爲 1。規定“距離”最大值爲16,相當於不可達。
【例】RIP路由信息表的交換
本例中,經過三次交換,每個路由的路由信息表就包含了其他網絡。
RIP工作過程
內部網關協議 - OSPF
- OSPF 對不同的鏈路可根據 IP 分組的不同服務類型 TOS而設置成不同的代價。
- 可以將通信量分配給多條相同代價的路徑;這叫作多路徑間的負載平衡。
- OSPF 規定每隔一段時間,如 30 分鐘,要刷新一次數據庫中的鏈路狀態。
- 由於一個路由器的鏈路狀態只涉及到與相鄰路由器的連通狀態,因而與整個互聯網的規模並無直接關係。
外部網關協議 - BGP
- 運行TCP上的一種自治系統的路由協議;
- 唯一一個用來處理像因特網大小的網絡的協議;
- 唯一能夠妥善處理好不相關路由域間的多路連接的協議;
- 採用路徑向量路由協議;
- 找到一條能夠到達目的網絡的且比較好的路由路徑,並非一條最佳路由;
路由協議總結
RIP 協議:
- 基於距離向量的分佈式路由選擇協議
- 只適用於小型網絡,最大跳數爲15
- 不能同時使用多條路由
- 每隔30秒向相鄰路由器廣播自己的整個路由表
- 使用運輸層的UDP進行傳輸消息
OSPF 協議:
- 鏈路狀態路由選擇協議
- 採用 Dijkstra 最短路徑算法
- 採用洪泛法來更新鏈路狀態信息
- 所有路由器都維持一個鏈路狀態數據庫
- 直接使用IP數據報來傳送信息
BGP 協議:
- 路徑向量協議,保存路徑
- 兩個不同的自治系統之間交換信息
- 需要用鄰站可達性過程來維持
網絡地址轉換 NAT
- 網絡地址轉換 NAT (Network Address Translation)方法於1994年提出,用來解決本地編址的內部網絡與外網通信的問題。
- 需要在專用網連接到因特網的路由器上安裝 NAT 軟件。
裝有 NAT 軟件的路由器叫做 NAT路由器,它至少有一個有效的外部 全球地址 IPG。 - 所有使用本地地址的主機在和外界通信時都要在 NAT路由器上 將其本地地址轉換成 IPG 才能和因特網連接。
【例】NAT路由轉換
本地發送消息給服務器時:NAT路由器將 源IP 替換爲全球地址,並記錄在映射表。
服務器發送消息給本地時:NAT路由器根據映射表將全球地址替換爲專用地址。
【例】引入端口後的NAT路由轉化
本地發送消息給服務器:替換 源IP 和 源端口,並記錄映射表中。
服務器發送消息給本地:根據映射表替換 目地IP 和 目的端口。
下一代網際協議IPv6
下一代網際協議概述
從計算機本身發展以及從因特網規模和網絡傳輸速率來看,現在 IPv4 已很不適用。
- 最主要的問題是 32 bit 的 IP 地址不夠用。
- 要解決 IP 地址耗盡的問題的措施:
採用無類別編址 CIDR,使 IP 地址的分配更加合理;
採用子網技術,實現相同網絡地址在不同物理網絡之間的複用;
採用網絡地址轉換 NAT方法以節省全球 IP 地址;
採用具有更大地址空間的新版本的 IP 協議 IPv6。
IPv6 所引進的主要變化如下:
- 更大的地址空間。IPv6 將地址從 IPv4 的 32 bit 增大到了 128 bit;
- 擴展的地址層次結構;
- 靈活的首部格式;
- 改進的選項;
- 允許協議繼續擴充;
- 支持即插即用(即自動配置);
- 支持資源的預分配;
IPv6數據報格式
首先看一下 IPv4 到 IPv6 的變化:
IPv6 的數據報格:
- 通信量類(traffic class) — 8 bit。
這是爲了區分不同的 IPv6 數據報的類別或優先級;目前正在進行不同的通信量類性能的實驗。 - 流標號(flow label) — 20 bit。
“流”是互聯網絡上從特定源點到特定終點的一系列數據報;
“流”所經過的路徑上的路由器都保證指明的服務質量;
所有屬於同一個流的數據報都具有相同的流標號。 - 有效載荷長度(payload length) — 16 bit。
指明 IPv6 數據報除基本首部以外的字節數(所有擴展首部都算在有效載荷之內),其最大值是 64 KB。 - 下一個首部(next header) — 8 bit。
相當於 IPv4 的協議字段或可選字段。 - 跳數限制(hop limit) — 8 bit。(IPv4 中的生存時間)
源站在數據報發出時即設定跳數限制。
路由器在轉發數據報時將跳數限制字段中的值減1。
當跳數限制的值爲零時,就要將此數據報丟棄。 - 源地址 — 128 bit。
數據報的發送站的 IP 地址。 - 目的地址 — 128 bit。
數據報的接收站的 IP 地址。
IPv6數據報 - 基本首部的變化
- 取消了 IPv4 的首部長度字段,IPv4 中的數據報總長度字段被有效載荷長度字段取代;
- 源、目的地址由 4字節 增大到 16字節;
- 分片有關字段被轉移到了 “分片擴展首部”;
- 生存時間字段改名爲跳數限制(hop limit)字段;
- 服務類型字段改名爲通信量類別字段,增加流標號字段,用於資源預分配;
- 協議字段由指明後續內容格式的下一首部字段替代,注意下一首部可能是 IPv6 數據報的擴展首部,也可能是 ICMP、TCP、UDP、IGMP、OSPF 等首部。
IPv6數據報格式 - 擴展首部
- IPv6 將原來 IPv4 首部中選項的功能都放在擴展首部中,並將擴展首部留給路徑兩端的源站和目的站的主機來處理。
- 數據報途中經過的路由器都不處理這些擴展首部(只有一個首部例外,即逐跳選項擴展首部)。
- 這樣就大大提高了路由器的處理效率。
IPv6 編址方案
IPv6 地址分類(單播、組播、任播)
IPv6 數據報的目的地址可以是以下 3 種基本類型地址之一:
- 單播(unicast)
單播就是傳統的點對點通信。 - 組播(multicast)
組播是一點對多點的通信。 - 任播(anycast)
任播是 IPv6 增加的一種類型。
任播的目的站是一組計算機,但數據報在交付時只交付給其中的一個,通常是距離最近的一個。
IPv5 地址表示(零壓縮)
IPv6 的編址:
每個 16bit 的值用十六進制值表示,各值之間用冒號分隔。
- 例如:
68E6:8C64:FFFF:FFFF:0:1180:960A:FFFF
零壓縮(zero compression),即一連串連續的零可以爲一對冒號所取代。
- 例如:
FF05:0:0:0:0:0:0:B3
可以寫成:FF05::B3
- 一個IPv6地址中,零壓縮只能使用一次。
IPv4向IPv6的過渡(雙協議棧、隧道)
- 向 IPv6 過渡只能採用逐步演進的辦法。
- 在過渡階段,能夠利用IPv4網絡實現IPv6主機之間的通信,支持IPv4系統和IPv6系統之間的通信。
- 雙協議棧(dual stack)是指在完全過渡到 IPv6 之前,使一部分主機(或路由器)裝有兩個協議棧,一個 IPv4 和一個IPv6。
- 隧道技術
雙協議棧
隧道技術
知識點總結
- 瞭解網絡互連的需求;
- 掌握IP地址的分類,理解IP地址的分配;
- 理解並會分析IPv4數據報的格式,掌握數據報分片的計算;
- 理解和IP配套的兩個協議:地址解析協議ARP和因特網控制報文協議ICMP;
- 掌握子網劃分技術和無分類編址方案;
- 掌握IP分組在各種編址情況下的轉發機制;
- 理解因特網中路由協議的分類以及路由協議的工作原理;
- 瞭解實現網絡地址轉換NAT所採用的方法;
- 瞭解IP協議的發展,掌握IPv6的主要特點;