目錄
- IP協(xié)議
- IPv4
- IPv4地址
- IPv4數(shù)據(jù)報
- IPv6
- IPv4和IPv6的區(qū)別
- 過渡技術(shù)
- IPv4
- 配套協(xié)議
- ARP
- ICMP
- 路由轉(zhuǎn)發(fā)協(xié)議
- 內(nèi)部網(wǎng)關(guān)協(xié)議RIP
- 開放最短路徑OSPF
- 邊界網(wǎng)關(guān)協(xié)議BGP
一 IP協(xié)議
1.1IPv4
IPv4地址
IP 地址的編址方式經(jīng)歷了三個歷史階段:
(1)分類的IP地址
IP地址由兩部分組成:網(wǎng)絡(luò)號和主機號廊营。不同分類具有不同且固定的網(wǎng)絡(luò)號長度。
IP 地址 ::= {< 網(wǎng)絡(luò)號 >, < 主機號 >}
(2)劃分子網(wǎng)
通過在主機號字段中拿一部分作為子網(wǎng)號拯坟,把兩級 IP 地址劃分為三級 IP 地址橱鹏。
IP 地址 ::= {< 網(wǎng)絡(luò)號 >, < 子網(wǎng)號 >, < 主機號 >}
要使用子網(wǎng)咱圆,必須配置子網(wǎng)掩碼。一個 B 類地址的默認(rèn)子網(wǎng)掩碼為 255.255.0.0,如果 B 類地址的子網(wǎng)號占兩個比特窟社,那么子網(wǎng)掩碼為 11111111 11111111 11000000 00000000,也就是 255.255.192.0绪钥。
注意灿里,外部網(wǎng)絡(luò)看不到子網(wǎng)的存在。
(3)無分類 / 構(gòu)成超網(wǎng)
無分類編址 CIDR的目的是按需分配程腹。它消除了傳統(tǒng) A 類匣吊、B 類和 C 類地址以及劃分子網(wǎng)的概念,使用網(wǎng)絡(luò)前綴和主機號來對 IP 地址進行編碼寸潦,IP地址從三級又回到了兩級編址色鸳。
IP 地址 ::= {< 網(wǎng)絡(luò)前綴號 >, < 主機號 >}
CIDR 的記法上采用在 IP 地址后面加上網(wǎng)絡(luò)前綴長度的方法,例如 128.14.35.7/20 表示前 20 位為網(wǎng)絡(luò)前綴见转。CIDR 的地址掩碼可以繼續(xù)稱為子網(wǎng)掩碼命雀,子網(wǎng)掩碼首 1 長度為網(wǎng)絡(luò)前綴的長度。
CIDR把網(wǎng)絡(luò)前綴都相同的連續(xù)的IP地址組成一個“CIDR地址塊”池户,這種地址的聚合常稱為路由聚合或構(gòu)成超網(wǎng)咏雌。它使得路由表中的一個項目可以表示原來傳統(tǒng)分類地址的很多個(例如上千個)路由凡怎。
在路由表中的項目由“網(wǎng)絡(luò)前綴”和“下一跳地址”組成,在查找時可能會得到不止一個匹配結(jié)果赊抖,應(yīng)當(dāng)采用最長前綴匹配來確定應(yīng)該匹配哪一個统倒。
Q:子網(wǎng)掩碼的作用是什么?
為了方便路由器進行快速轉(zhuǎn)發(fā)使用的氛雪。
子網(wǎng)掩碼就是對網(wǎng)絡(luò)進行標(biāo)識房匆,大大減少了路由表的路由項,提高轉(zhuǎn)發(fā)速度报亩。
IPv4數(shù)據(jù)報
1.2 IPv6
IPv4和IPv6的區(qū)別
Q:IPv4和IPv6的區(qū)別:
- IP地址方面:
- 地址空間增加:v4地址是32位浴鸿,v6地址是128位;
- 地址表示不同:v4是點分十進制弦追,v6是冒分十六進制岳链;
如:192.168.0.1 和 2001:0db8:85a3:08d3:1319:8a2e:0370:7344
- ip數(shù)據(jù)報格式方面:
v6的頭部字段比v4精簡了很多,這樣可以使得網(wǎng)絡(luò)數(shù)據(jù)傳輸更快劲件。
過渡技術(shù)
- 雙協(xié)議棧:網(wǎng)絡(luò)設(shè)備掸哑,服務(wù)器等支持兩種協(xié)議棧
- 隧道:通過隧道,IPv6分組被作為無結(jié)構(gòu)無意義的純數(shù)據(jù)封裝在IPv4的數(shù)據(jù)報中零远∶绶郑或者反過來,IPv4分組被作為春數(shù)據(jù)封裝在IPv6的數(shù)據(jù)報中牵辣。
- 地址轉(zhuǎn)換:把IPv4地址轉(zhuǎn)換到IPv6地址
二 配套協(xié)議
與 IP 協(xié)議配套使用的還有三個協(xié)議:
- 地址解析協(xié)議 ARP(Address Resolution Protocol)
- 網(wǎng)際控制報文協(xié)議 ICMP(Internet Control Message Protocol)
- 網(wǎng)際組管理協(xié)議 IGMP(Internet Group Management Protocol)
ARP
網(wǎng)絡(luò)層實現(xiàn)主機之間的通信摔癣,而鏈路層實現(xiàn)具體每段鏈路之間的通信。在通信過程中纬向,IP 數(shù)據(jù)報的源地址和目的地址始終不變择浊,而 MAC 地址隨著鏈路的改變而改變。
ARP 實現(xiàn)由 IP 地址得到 MAC 地址罢猪。每個主機都有一個 ARP 高速緩存近她,里面有本局域網(wǎng)上的各主機和路由器的 IP 地址到 MAC 地址的映射表。
如果主機 A 知道主機 B 的 IP 地址膳帕,但是 ARP 高速緩存中沒有該 IP 地址到 MAC 地址的映射,此時主機 A 通過廣播的方式發(fā)送 ARP 請求分組薇缅,主機 B 收到該請求后會發(fā)送 ARP 響應(yīng)分組給主機 A 告知其 MAC 地址危彩,隨后主機 A 向其高速緩存中寫入主機 B 的 IP 地址到 MAC 地址的映射。
ICMP
ICMP 是為了更有效地轉(zhuǎn)發(fā) IP 數(shù)據(jù)報和提高交付成功的機會泳桦。ICMP允許主機或路由器報告差錯情況和提供有關(guān)異常情況的報告汤徽。
它封裝在 IP 數(shù)據(jù)報中,作為其中的數(shù)據(jù)部分灸撰,但是不屬于高層協(xié)議谒府。
ICMP 報文分為差錯報告報文和詢問報文拼坎。
Ping:Ping 是 ICMP 的一個重要應(yīng)用,主要用來測試兩臺主機之間的連通性完疫。
Ping 的原理是通過向目的主機發(fā)送 ICMP Echo 請求報文泰鸡,目的主機收到之后會發(fā)送 Echo 回答報文。Ping 會根據(jù)時間和成功響應(yīng)的次數(shù)估算出數(shù)據(jù)包往返時間以及丟包率壳鹤。
Traceroute:Traceroute 是 ICMP 的另一個應(yīng)用盛龄,用來跟蹤一個分組從源點到終點的路徑。
三 路由選擇協(xié)議
路由選擇可分為:
- 靜態(tài)路由選擇/非自適應(yīng)路由選擇:由人工配置的路由芳誓。其特點是簡單和開銷較小余舶,但不能及時適應(yīng)網(wǎng)絡(luò)狀態(tài)的變化。適用于很簡單的小網(wǎng)絡(luò)锹淌。
- 動態(tài)路由選擇/自適應(yīng)路由選擇:能較好的適應(yīng)網(wǎng)絡(luò)狀態(tài)的變化匿值,但實現(xiàn)較為復(fù)雜,開銷也比較大赂摆。適用于較復(fù)雜的大網(wǎng)絡(luò)挟憔。
互聯(lián)網(wǎng)采用的路由選擇協(xié)議主要是自適應(yīng)的,能隨著網(wǎng)絡(luò)通信量和拓?fù)浣Y(jié)構(gòu)的變化而自適應(yīng)地進行調(diào)整库正。
互聯(lián)網(wǎng)可以劃分為許多較小的自治系統(tǒng) AS曲楚,在AS內(nèi)部和AS之間分別進行路由選擇。比如一個大的ISP就是一個AS褥符。這樣龙誊,互聯(lián)網(wǎng)就把路由選擇協(xié)議劃分為兩大類:
- 自治系統(tǒng)內(nèi)部的路由選擇:RIP 和 OSPF
- 自治系統(tǒng)間的路由選擇:BGP
內(nèi)部網(wǎng)關(guān)協(xié)議RIP
RIP 是一種基于距離向量的路由選擇協(xié)議。使用跳數(shù)作為距離度量喷楣,直接相連的路由器跳數(shù)為 1趟大。跳數(shù)最多為 15,超過 15 表示不可達(dá)铣焊。
RIP的特點:(和那些路由器交換信息逊朽?交換什么信息?在什么時候交換信息曲伊?)
- 僅與相鄰路由器交換信息叽讳。
- 路由器交換的信息是當(dāng)前路由器所知道的全部信息,即自己現(xiàn)在的路由表坟募。
- 按固定的時間間隔交換路由信息岛蚤。
RIP 協(xié)議實現(xiàn)簡單,開銷小懈糯。但是 RIP 能使用的最大距離為 15涤妒,限制了網(wǎng)絡(luò)的規(guī)模。并且當(dāng)網(wǎng)絡(luò)出現(xiàn)故障時赚哗,要經(jīng)過比較長的時間才能將此消息傳送到所有路由器她紫。
開放最短路徑OSPF
開放最短路徑優(yōu)先 OSPF硅堆,基于Dijkstra 提出的最短路徑算法 SPF,使用鏈路狀態(tài)作為距離度量贿讹。
鏈路狀態(tài)包括與哪些路由器相連以及鏈路的度量/代價渐逃,代價用來表示費用、距離围详、時延朴乖、帶寬等,這些由網(wǎng)絡(luò)管理人員來決定助赞。
OSPF 具有以下特點:(和那些路由器交換信息买羞?交換什么信息?在什么時候交換信息雹食?)
- 向本自治系統(tǒng)中的所有路由器發(fā)送信息畜普,這種方法是洪泛法。
- 發(fā)送的信息就是與相鄰路由器的鏈路狀態(tài)群叶,這只是自己知道的部分信息吃挑。
- 只有當(dāng)鏈路狀態(tài)發(fā)生變化時,路由器才會發(fā)送信息街立。
所有路由器都具有全網(wǎng)的拓?fù)浣Y(jié)構(gòu)圖舶衬,并且是一致的。相比于 RIP赎离,OSPF 的更新過程收斂的很快逛犹。
邊界網(wǎng)關(guān)協(xié)議BGP
AS 之間的路由選擇很困難,主要是由于:
- 互聯(lián)網(wǎng)規(guī)模很大梁剔;
- 各個 AS 內(nèi)部使用不同的路由選擇協(xié)議虽画,無法準(zhǔn)確定義路徑的度量;
- AS 之間的路由選擇必須考慮有關(guān)的策略荣病,比如政治码撰、安全、經(jīng)濟等問題个盆。
所以BGP 只能尋找一條比較好的路由脖岛,而不是最佳路由。
每個 AS 都必須配置 BGP 發(fā)言人颊亮,AS之間通過在兩個相鄰 BGP 發(fā)言人之間建立 TCP 連接來交換路由信息鸡岗。
BGP所交換的網(wǎng)絡(luò)可達(dá)行的信息就是要到達(dá)某個網(wǎng)絡(luò)所要經(jīng)過的一系列AS。
BGP發(fā)言人根據(jù)所采用的策略编兄,從收到的路由信息中找到到達(dá)各自AS的較好的路由。也就是構(gòu)造連通樹形結(jié)構(gòu)声登。