摘要
- 網(wǎng)絡(luò)互聯(lián)概述
- 網(wǎng)際協(xié)議(IP)
- IP 地址
- IP 路由
- IP 中的其他協(xié)議
- IPv6 協(xié)議
一系忙、網(wǎng)絡(luò)互聯(lián)概述
要讓分布在世界各地承绸,不同類型兜蠕、不同協(xié)議的網(wǎng)絡(luò)相互連接起來唐片,并且能流暢、高效地實現(xiàn)信息共享柠掂,就必須依靠網(wǎng)絡(luò)互聯(lián)技術(shù)來實現(xiàn)项滑。網(wǎng)絡(luò)互聯(lián)技術(shù)是指所有能在物理和邏輯上實現(xiàn)不同網(wǎng)絡(luò)相互連接的技術(shù)的總稱。
實現(xiàn)異構(gòu)網(wǎng)絡(luò)互聯(lián)的基本策略是協(xié)議轉(zhuǎn)換和構(gòu)建虛擬互聯(lián)網(wǎng)絡(luò)涯贞。協(xié)議轉(zhuǎn)換實現(xiàn)異構(gòu)網(wǎng)絡(luò)之間數(shù)據(jù)分組的轉(zhuǎn)換和轉(zhuǎn)發(fā)枪狂;構(gòu)建虛擬互聯(lián)網(wǎng)絡(luò)實現(xiàn)在異構(gòu)網(wǎng)絡(luò)間轉(zhuǎn)發(fā)統(tǒng)一的虛擬互聯(lián)網(wǎng)絡(luò)的數(shù)據(jù)分組。IP網(wǎng)絡(luò)就是此類虛擬互聯(lián)網(wǎng)宋渔。
二州疾、網(wǎng)際協(xié)議(IP)
2.1 IP概述
網(wǎng)際協(xié)議(Internet Protocol,IP)是TCP/IP體系中最重要的兩個協(xié)議之一皇拣。正是由于IP的出現(xiàn)严蓖,才使分布在世界各地的不同類型的網(wǎng)絡(luò)互聯(lián)在一起。IP屬于OSI參考模型的網(wǎng)絡(luò)層氧急,與之相關(guān)的還有3個協(xié)議:
- 地址解析協(xié)議(Address Resolution Protocol颗胡,ARP)
- 網(wǎng)際控制報文協(xié)議(Internet Control Message Protocol,ICMP)
- 網(wǎng)際組管理協(xié)議(Internet Group Management Protocol吩坝,IGMP)
IP中最核心的技術(shù)是IP地址和IP路由毒姨。
IP地址是標識IP網(wǎng)中的計算機、路由器和子網(wǎng)分配設(shè)備的地址钾恢。
IP路由是指收集手素、計算和維護到達不同網(wǎng)絡(luò)的路徑信息,并存在路由表里瘩蚪。
IP的特點:
- IP是面向無連接的、不可靠的分組傳輸協(xié)議
- IP屏蔽了數(shù)據(jù)鏈路層和物理層的差異稿黍,使得數(shù)據(jù)的傳輸和轉(zhuǎn)發(fā)更加方便
- IP是點對點式網(wǎng)絡(luò)通信協(xié)議
2.2 IPv4協(xié)議報文格式
IPv4是第4版IP疹瘦,是當(dāng)前Internet網(wǎng)絡(luò)主要使用的IP,其數(shù)據(jù)報的格式如下圖所示巡球。
各字段說明:
1)版本號:表示IP的版本號言沐。IPv4的版本號字段值為0100(十進制4)邓嘹。
2)首部長度:IP分組首部長度,包括可變長度的選項字段险胰,以4B為單位汹押。
3)區(qū)分服務(wù):用來指示期望獲得哪種類型的服務(wù)。只在網(wǎng)絡(luò)提供區(qū)分服務(wù)時起便,才使用該字段棚贾。
4)總長度:IP分組的總字節(jié)數(shù),包括首部和數(shù)據(jù)部分榆综。
5)標識:標識一個IP分組妙痹。主要用途是在IP分組分片和重組過程中,用于標識屬于同一源的IP分組鼻疮。
6)標志位:用于IP分組的分片怯伊。DF是禁止分片標志,MF是更多分片標志判沟。結(jié)構(gòu)如下:
保留位 | DF | MF |
---|
7)片偏移:表示一個IP分組分片封裝源IP分組數(shù)據(jù)的相對偏移量耿芹,即封裝的數(shù)據(jù)從哪個字節(jié)開始。
8)生存時間(TTL):表示IP分組在網(wǎng)絡(luò)中可以通過的路由器數(shù)(或跳數(shù))挪哄。TTL = 0 時吧秕,路由器丟棄該IP分組。
9)協(xié)議:該IP分組封裝的是哪個協(xié)議的數(shù)據(jù)包中燥,IP利用該字段實現(xiàn)復(fù)用/解復(fù)用功能寇甸。
10)首部校驗和:對IP分組首部的差錯檢測。
11)源IP地址/目的IP地址:發(fā)出/接收IP分組的主機IP地址疗涉。
12)選項字段:可以攜帶安全拿霉、源選路徑、時間戳和路由記錄等內(nèi)容咱扣。
13)填充:用于補齊整個首部绽淘,符合32位對齊。
三闹伪、IP 地址
IP要連接世界各地的網(wǎng)絡(luò)和主機沪铭,實現(xiàn)數(shù)據(jù)自由傳輸,必須要為每一個主機分配一個全球唯一的標識偏瓤,這個唯一的標識稱為IP地址杀怠。目前普遍使用的是IPv4版本,由一個32位的二進制數(shù)表示厅克。IPv4經(jīng)歷了3各歷史階段:
1. 分類的IP地址
IP地址由兩個字段構(gòu)成:網(wǎng)絡(luò)號和主機號赔退。表示方式為:
IP地址:: = {<網(wǎng)絡(luò)號>,<主機號>}
分為5種類別:A、B硕旗、C窗骑、D和E。
- A類地址:網(wǎng)絡(luò)號占8位漆枚,主機號占24位创译,其中網(wǎng)絡(luò)號最高位固定為1。
- B類地址:網(wǎng)絡(luò)號占16位墙基,主機號占16位软族,其中網(wǎng)絡(luò)號最高2位固定為10。
- C類地址:網(wǎng)絡(luò)號占24位碘橘,主機號占8位互订,其中網(wǎng)絡(luò)號最高3位固定為110。
- D類地址:最高4位為1110痘拆,用于IP多播仰禽。
- E類地址:最高4位為1111纺蛆,作為保留使用温峭。
這5類IP地址分配示意圖如下揖庄。
隨著網(wǎng)絡(luò)規(guī)模的發(fā)展禁炒,這種分類方式會造成巨大的地址浪費悠瞬,此外,兩級IP地址也不夠靈活,因此出現(xiàn)了三級IP地址結(jié)構(gòu)晾捏,即子網(wǎng)劃分。
2. 子網(wǎng)劃分
子網(wǎng)劃分的方法:
1)在原有兩級IP地址結(jié)構(gòu)基礎(chǔ)上呀伙,從IP地址的主機號部分借用若干位作為子網(wǎng)號,則IP地址的結(jié)構(gòu)變?yōu)榱耍壕W(wǎng)絡(luò)號戚篙、子網(wǎng)號和主機號3部分乱灵。表示方式為:
IP地址 :: = {<網(wǎng)絡(luò)號>,<子網(wǎng)號>嗡髓,<主機號>}
2)一個擁有多個物理網(wǎng)絡(luò)的單位长捧,可以利用子網(wǎng)號,將物理網(wǎng)絡(luò)劃分為若干個子網(wǎng)烦却。
3)從其他網(wǎng)絡(luò)發(fā)送給某單位的某個主機的IP數(shù)據(jù)報,先根據(jù)其目的IP地址中的網(wǎng)絡(luò)號找到單位網(wǎng)絡(luò)相連接的路由器先巴;該路由器再根據(jù)目的IP地址中的子網(wǎng)號找到相應(yīng)的子網(wǎng)其爵,最終將IP數(shù)據(jù)報發(fā)送給目的主機。
例如伸蚯,某網(wǎng)絡(luò)地址為215.195.45.0摩渺,將主機號中的3位作為子網(wǎng)號使用,剩下5位作為主機號剂邮,則最多可以劃分出8個子網(wǎng)摇幻,分別是
215.195.45.0(子網(wǎng)號為000)、215.195.45.32(子網(wǎng)號為001)挥萌、215.195.45.64(子網(wǎng)號為010)绰姻、215.195.45.96(子網(wǎng)號為011)、215.195.45.128(子網(wǎng)號為100)引瀑、215.195.45.160(子網(wǎng)號為101)狂芋、215.195.45.192(子網(wǎng)號為110)、215.195.45.244(子網(wǎng)號為111)憨栽,
每個子網(wǎng)的最大主機數(shù)為個帜矾。
查找子網(wǎng)的方法是 ”子網(wǎng)掩碼“ 翼虫。
子網(wǎng)掩碼是一個32位二進制數(shù),1對應(yīng)IP地址中的網(wǎng)絡(luò)號和子網(wǎng)號屡萤,0對應(yīng)主機號珍剑。將IP地址與子網(wǎng)掩碼按位進行邏輯與(AND)運算,可得子網(wǎng)的網(wǎng)絡(luò)地址灭衷。
例如次慢,IP地址為202.194.20.138,其子網(wǎng)掩碼為 11111111 11111111 11111111 11100000翔曲,兩者按位邏輯與運算為:
故該IP所在子網(wǎng)的網(wǎng)絡(luò)地址為202.194.20.128。
3. 無分類編址CIDR
為了提高IP地址資源利用率劈愚,又出現(xiàn)了無分類編址方法瞳遍,稱為 無分類域間路由選擇(Classless Inter-Domain Routing,CIDR) 菌羽。其基本思想為:
1)CIDR不再按A掠械、B、C類進行IP區(qū)分注祖,也不再使用子網(wǎng)號猾蒂,它把32位的IP地址劃分為兩部分,前部分稱為網(wǎng)絡(luò)前綴是晨,用來指明網(wǎng)絡(luò)肚菠,后面部分用來指明主機。一種無分類的二級編址方式罩缴,表示方式如下:
IP地址 :: = {<網(wǎng)絡(luò)前綴>蚊逢,<主機號>}
在IP地址后面加上斜線 ”/“ 加網(wǎng)絡(luò)前綴位數(shù)的方式來表示一個完整的IP地址,如:
202.194.20.138/27
2)網(wǎng)絡(luò)前綴都相同的連續(xù)IP地址稱為一個CIDR地址塊箫章,其中一個地址被確定烙荷,則整個地址塊的最小地址和最大地址,以及地址塊中的地址個數(shù)都可被確定檬寂。如IP地址為202.194.20.138/27终抽,其前27位為網(wǎng)絡(luò)前綴,后5位為主機號桶至,則二進制表示為:
11001010 11000010 00010100 100 01010 (加粗的是前綴)
則該IP地址所在CIDR地址塊中的最小地址為:
11001010 11000010 00010100 100 00000 (加粗的是前綴)昼伴,即
202.194.20.128
最大地址為:
11001010 11000010 00010100 100 11111 (加粗的是前綴),即
202.194.20.159
該地址塊中總共有 = 32個地址塞茅。
CIDR優(yōu)點:
路由聚合 : 可以用來簡化路由器中的路由表亩码,將眾多的IP地址聚合在一個CIDR地址塊中,從而減少路由表中的項目和路由器之間的信息交換野瘦;
靈活分配: 即從主機號中借用若干位來擴展網(wǎng)絡(luò)前綴位數(shù)描沟,從而靈活分配CIDR的地址塊飒泻。
如210.32.16.0/20地址塊,可以分為4個相等IP地址數(shù)的地址塊吏廉,也可以分為不同IP地址數(shù)的地址塊泞遗。
分為4個相同數(shù)量的IP地址數(shù):
原始地址塊 | 210.32.16.0/20 | 11010010 00100000 00010000 00000000 |
---|---|---|
地址塊1 | 210.32.16.0/22 | 11010010 00100000 00010000 00000000 |
地址塊2 | 210.32.20.0/22 | 11010010 00100000 00010100 00000000 |
地址塊3 | 210.32.24.0/22 | 11010010 00100000 00011000 00000000 |
地址塊4 | 210.32.28.0/22 | 11010010 00100000 00011100 00000000 |
分為4個不同數(shù)量的IP地址數(shù):
原始地址塊 | 210.32.16.0/20 | 11010010 00100000 00010000 00000000 |
---|---|---|
地址塊1 | 210.32.16.0/21 | 11010010 00100000 00010000 00000000 |
地址塊2 | 210.32.24.0/22 | 11010010 00100000 00011000 00000000 |
地址塊3 | 210.32.28.0/23 | 11010010 00100000 00011100 00000000 |
地址塊4 | 210.32.30.0/23 | 11010010 00100000 00011110 00000000 |
當(dāng)路由表中包含同一個地址塊內(nèi)的多個子網(wǎng)地址,在使用CIDR路由查找時席覆,應(yīng)選擇具有最長網(wǎng)絡(luò)前綴的路由史辙,稱為 最長前綴匹配 。因為前綴越長佩伤,子網(wǎng)就越小聊倔,路由就越具體。
除了上面三種編址方式外生巡,還有一些特殊的IP地址耙蔑,它們稱為私有地址或?qū)S玫刂贰_@些地址只能在內(nèi)部網(wǎng)絡(luò)中使用孤荣。如下表:
私有地址類別 | 范圍 |
---|---|
A類 | 10.0.0.0 ~ 10.255.255.255(或10.0.0.0/8) |
B類 | 172.16.0.0 ~ 172.31.255.255(或172.16.0.0/12) |
C類 | 192.168.0.0 ~ 192.168.255.255(或192.168.0.0/16) |
如果使用私有地址的主機與網(wǎng)絡(luò)外的主機通信甸陌,必須進行地址轉(zhuǎn)換,轉(zhuǎn)換方法稱為網(wǎng)絡(luò)地址轉(zhuǎn)換協(xié)議(Network Address Translation盐股,NAT)钱豁。
四、IP路由
為IP數(shù)據(jù)報尋找合適的通信路徑并且將其轉(zhuǎn)發(fā)出去的過程稱為IP路由疯汁,是由路由器實現(xiàn)的牲尺。
4.1 路由器的結(jié)構(gòu)及功能
路由器結(jié)構(gòu)分為輸入/輸出端口、交換結(jié)構(gòu)和路由處理器涛目。
1)路由處理器: 負責(zé)執(zhí)行路由器指令秸谢,包括路由協(xié)議、路由運算霹肝、路由表更新維護估蹄。
2)輸入端口: 根據(jù)接收到的IP數(shù)據(jù)報的目的IP地址檢索路由表,指定數(shù)據(jù)報交換到哪個輸出端口沫换,然后交給交換結(jié)構(gòu)處理臭蚁。
3)交換結(jié)構(gòu): 將輸入端口的IP數(shù)據(jù)報交換到指定的輸出端口。主要包括內(nèi)存交換讯赏、總線交換和高級交叉 “網(wǎng)絡(luò)” 交換3種交換結(jié)構(gòu)垮兑。
4)輸出端口: 重新封裝IP數(shù)據(jù)報到數(shù)據(jù)鏈路層的數(shù)據(jù)幀中,并通過物理層發(fā)送出去漱挎。
4.2 路由表與路由轉(zhuǎn)發(fā)
“路由” 與 “轉(zhuǎn)發(fā)” 是路由器最重要的兩項功能系枪。通過靜態(tài)(人工方式)或動態(tài)(路由協(xié)議)獲取路由信息并保存在路由表中,供數(shù)據(jù)轉(zhuǎn)發(fā)時使用磕谅。
路由表基本結(jié)構(gòu):
1)目的網(wǎng)絡(luò)與子網(wǎng)掩碼: 準確描述一個目的網(wǎng)絡(luò)。
2)下一跳: 表示到達該目的網(wǎng)絡(luò)的路徑的下一個鄰居結(jié)點的接口IP地址。
3)接口: 應(yīng)從哪個接口發(fā)送IP分組到目的網(wǎng)絡(luò)柱告。
最長前綴匹配原則: 路由器對于接收到的IP數(shù)據(jù)報,將其目的IP地址與路由表中各路由項的掩碼按位進行邏輯與運算捌浩,將結(jié)果與路由表里的目的網(wǎng)絡(luò)比較,如果出現(xiàn)多個與目的網(wǎng)絡(luò)一致的情況工秩,則選擇其中網(wǎng)絡(luò)前綴最長的一項作為路由轉(zhuǎn)發(fā)的依據(jù)尸饺。
4.3 路由算法
1. 靜態(tài)路由與動態(tài)路由
靜態(tài)路由是人工把路由信息配置到路由表中;動態(tài)路由根據(jù)路由協(xié)議動態(tài)收集網(wǎng)絡(luò)狀況信息助币,然后按照某種路由算法計算最佳路由并更新路由表浪听。
2. 距離-向量路由算法
是一種僅需要網(wǎng)絡(luò) “局部” 信息、異步的奠支、迭代的馋辈、分散式的路由算法。每個路由器周期性地向鄰居通告形如 <目的網(wǎng)絡(luò)倍谜,距離> 的距離向量,每個路由器當(dāng)收到鄰居的距離向量或檢測到本地鏈路的費用變化時叉抡,根據(jù)Bellman-Ford計算經(jīng)過哪個鄰居可以到達每個目的網(wǎng)絡(luò)的最小距離尔崔,更新字節(jié)的距離向量與路由表,并把更新的距離向量交換給其所有的鄰居路由器褥民。經(jīng)過多次迭代季春,確定到達每個目的網(wǎng)絡(luò)的最佳路由。
為了避免出現(xiàn)無窮計數(shù)問題消返,解決方法有:毒性逆轉(zhuǎn)(Poisoned Reverse)载弄、定義最大有效距離、水平分割和阻礙時鐘等撵颊。
3. 鏈路狀態(tài)路由算法
將網(wǎng)絡(luò)抽象為一個圖宇攻,然后利用Dijkstra算法求最短路徑。每個路由器檢測并收集直接相連鏈路的費用及直接相連路由器的IP地址信息倡勇,構(gòu)造鏈路狀態(tài)分組逞刷,廣播擴散給網(wǎng)絡(luò)中其他所有路由器。每個路由器維護一個鏈路狀態(tài)數(shù)據(jù)庫妻熊,根據(jù)庫中鏈路狀態(tài)信息構(gòu)建網(wǎng)絡(luò)拓撲圖夸浅,利用Dijkstra算法求最短路徑,確定最佳路由扔役。
4. 層次路由
當(dāng)網(wǎng)絡(luò)規(guī)模很大時帆喇,抽象的網(wǎng)絡(luò)拓撲圖不再適用,最有效的解決方案是層次劃分路由亿胸。將大規(guī)呐髑眨互聯(lián)網(wǎng)按組織邊界预皇、管理邊界、網(wǎng)絡(luò)技術(shù)邊界或功能邊界劃分為多個自治系統(tǒng)(AS)葫笼,自治系統(tǒng)之間通過網(wǎng)關(guān)路由器相關(guān)連接深啤。層次路由將大規(guī)模互聯(lián)網(wǎng)路由劃分為兩層:自治系統(tǒng)內(nèi)路由和自治系統(tǒng)間路由路星。
4.4 路由協(xié)議
1. 自治系統(tǒng)(Autonomous system溯街,AS)
自治系統(tǒng)是在統(tǒng)一技術(shù)管理下的一組路由器,這些路由器使用相同的AS內(nèi)部路由選擇協(xié)議洋丐。
2. 域內(nèi)/域間路由
域內(nèi)路由協(xié)議即AS內(nèi)部使用的協(xié)議呈昔,稱為內(nèi)部網(wǎng)關(guān)協(xié)議(Interior Gateway Protocol,IGP)友绝,如RIP和OSPF協(xié)議堤尾。
域間路由協(xié)議稱為外部路由網(wǎng)關(guān)協(xié)議(External Gateway Protocol,EGP)迁客,實現(xiàn)不同自治系統(tǒng)間交換路由信息郭宝,如BGP4協(xié)議。
3. RIP 路由協(xié)議
RIP是一種分布式的基于距離向量的IGP掷漱;RIP要求AS內(nèi)每一個路由器都維護從它自己到其他每一個目的網(wǎng)絡(luò)的距離向量粘室。
4. OSPF 路由協(xié)議
OSPF(Open Shortest Path First,開放式最短路徑優(yōu)先)卜范,采用Dijkstra算法衔统,收集與本路由器相鄰的所有路由器的鏈路狀態(tài),并向本自治系統(tǒng)內(nèi)的所有路由器廣播發(fā)送鏈路狀態(tài)信息海雪,稱為 “洪泛” 锦爵。
為了使OSPF能在大規(guī)模網(wǎng)絡(luò)使用,可以將一個自治系統(tǒng)進一步劃分若干各區(qū)域奥裸。這樣就減少洪泛交換鏈路狀態(tài)信息的通信量险掀。
5. BGP 協(xié)議
BGP是不同自治系統(tǒng)間交換路由信息的協(xié)議。它是力求尋找一條能夠到達目的網(wǎng)絡(luò)且比較好的路由刺彩,而并非要尋找一條最佳路由迷郑。
BGP在TCP上建立BGP會話來交換路由信息,會話交換包括4種類型的報文创倔。
1)打開(OPEN)報文嗡害,用來與相鄰的另一個BGP發(fā)言人建立關(guān)系。
2)更新(UPDATE)報文畦攘,用來發(fā)送某一路由信息霸妹。
3)保活(KEEPALIVE)報文知押,用來確認打開報文和周期性證實鄰站關(guān)系叹螟。
4)通知(NOTIFICATION)報文鹃骂,用來發(fā)送檢測到的差錯。
五罢绽、IP中的其他協(xié)議
5.1 地址解析協(xié)議(ARP)
使用IP地址通信時畏线,發(fā)送數(shù)據(jù)的主機和轉(zhuǎn)發(fā)數(shù)據(jù)的路由器都必須要知道IP地址所對應(yīng)的硬件地址才能將通信具體實現(xiàn)。地址解析協(xié)議(ARP)就是解決這一問題的機制良价。
ARP基本思想是在每一臺主機中設(shè)置專用內(nèi)存區(qū)域寝殴,稱為ARP高速緩存,里面有該主機所在局域網(wǎng)中各個主機和路由器的IP地址和硬件地址的映射表明垢,這個表會經(jīng)常更新蚣常。
ARP查找硬件地址的過程:
假設(shè)局域網(wǎng)中主機A向主機B發(fā)送IP數(shù)據(jù)報
1)主機A首先在局域網(wǎng)中廣播發(fā)送一個ARP請求分組,內(nèi)容形象的描述為:“我的IP地址是A痊银,硬件地址是a抵蚊,我想知道IP地址為B的硬件地址” 。本局域網(wǎng)中的所有運行ARP的主機都會收到該ARP請求溯革。
2)主機B收到該請求后贞绳,發(fā)現(xiàn)請求分組中的IP地址與自己IP一致,則將主機A的硬件地址寫入自己的ARP高速緩存中致稀,方便今后向A發(fā)送數(shù)據(jù)熔酷;其他主機發(fā)現(xiàn)與自己IP不符就丟棄。主機B收到ARP請求后豺裆,創(chuàng)建一個響應(yīng)分組,并將自己硬件地址寫入響應(yīng)分組号显,然后直接發(fā)送給A臭猜。
3)主機A收到主機B的ARP響應(yīng)分組后,將分組中主機B的硬件地址寫入自己ARP高速緩存里押蚤。
為防止局域網(wǎng)中主機地址變更蔑歌,ARP高速緩存中每一個地址映射都有一個生存時間(幾十分鐘),超時就被刪除揽碘,然后再重新運行ARP查找主機硬件地址次屠。
5.2 動態(tài)主機配置協(xié)議(DHCP)
一臺新進算計要接入Internet,需要對其配置IP地址雳刺、子網(wǎng)掩碼劫灶、域名等,在較大規(guī)模局域網(wǎng)內(nèi)如果人工為每臺配置則相對繁瑣掖桦,動態(tài)主機配置協(xié)議就是用來解決這種問題的機制本昏。
基本思想是:在一個網(wǎng)絡(luò)內(nèi)部設(shè)置一臺DHCP服務(wù)器,其中保管著該網(wǎng)絡(luò)所管轄的IP地址及其他配置信息枪汪;當(dāng)有一臺計算機新接入該網(wǎng)絡(luò)時涌穆,它在開啟后向該網(wǎng)絡(luò)廣播發(fā)送一個DHCP發(fā)現(xiàn)報文怔昨,目的IP地址全為1,源IP地址全為0宿稀。DHCP服務(wù)器收到此報文后趁舀,從自己保存的IP地址中取出一個,與配置信息一起祝沸,通過DHCP提供報文發(fā)送給這臺計算機矮烹,從而為這臺計算機分配一個新的IP地址及配置信息。
5.3 網(wǎng)際控制報文協(xié)議(ICMP)
在數(shù)據(jù)傳送過程中經(jīng)常會遇到延遲奋隶、丟失等異常情況擂送,為了使通信雙方能夠知道異常情況,并及時調(diào)整和控制唯欣,網(wǎng)際控制報文協(xié)議應(yīng)運而生嘹吨。
它通過讓主機或路由器發(fā)送ICMP報文,將網(wǎng)絡(luò)傳輸過程中的差錯和異常情況報告給參與數(shù)據(jù)通信的相關(guān)主機境氢。ICMP報文作為IP數(shù)據(jù)報的數(shù)據(jù)部分蟀拷,封裝在IP數(shù)據(jù)報中,其報文格式為:
ICMP報文有兩種類型:差錯報告報文和詢問報文萍聊。
ICMP 差錯報告報文有5種情況:
1)終點不可達问芬。當(dāng)路由器或主機不能交付數(shù)據(jù)報時,向源點發(fā)送終點不可達報文寿桨。
2)源點抑制此衅。當(dāng)路由器或主機由于擁塞而丟棄數(shù)據(jù)報時,向源點發(fā)送抑制報文亭螟。
3)時間超時挡鞍。當(dāng)收到生存時間(TTL)值為0的數(shù)據(jù)報時,丟棄并向源點發(fā)送超時報文预烙。
4)參數(shù)問題墨微。當(dāng)數(shù)據(jù)報中有字段不正確時,丟棄并向源點發(fā)送參數(shù)問題報文扁掸。
5)改變路由翘县。當(dāng)路由器的路由表發(fā)生變化時,向主機發(fā)送改變路由報文谴分。
ICMP 詢問報文有2種情況:
1)回送請求和回答锈麸。由主機向一個特定目的主機發(fā)出的詢問。收到此報文的主機必須給源主機發(fā)送回送回答報文狸剃,用于測試目的站是否可以到達掐隐。典型應(yīng)用是ping命令。
2)時間戳請求和回答。用于網(wǎng)絡(luò)中的主機請其他主機回答當(dāng)前日期和時間虑省,用于同步時鐘和測量時間匿刮。
5.4 網(wǎng)際組管理協(xié)議(IGMP)
用于管理IP多播。IP多播是由一個源點向多個終點發(fā)送數(shù)據(jù)業(yè)務(wù)探颈。
IP多播過程如下圖所示熟丸。
假設(shè)3個不同局域網(wǎng)的主機A、主機B和主機C均屬于一個多播組伪节,其多播地址為224.30.152.62光羞。當(dāng)服務(wù)器要向這個多播組發(fā)送IP多播時,只需將IP分組發(fā)送到多播路由器R中怀大,R根據(jù)多播路由協(xié)議纱兑,將IP分組復(fù)制并轉(zhuǎn)發(fā)到多播組成員主機A、主機B和主機C所在局域網(wǎng)的多播路由器中化借,即R1潜慎、R2和R3,從而發(fā)送到主機A蓖康、主機B和主機C铐炫。
IGMP的作用是管理某個多播分組下的主機(加入或退出分組)。
IGMP的工作過程分2個階段:
1)當(dāng)某個主機加入一個新的多播組時蒜焊,該主機向多播組的多播地址發(fā)送一個IGMP報文倒信。本地多播路由器收到該報文后,根據(jù)多播路由協(xié)議將多播組成員信息告知其他多播路由器泳梆。
2)多播路由器周期性探尋本地局域網(wǎng)上的主機鳖悠,確定是否還屬于多播組成員。如果幾次探尋后沒有一個主機回應(yīng)优妙,則認為本地局域網(wǎng)內(nèi)主機都已離開了此分組竞穷,不再將組成員信息發(fā)給其他多播路由器。
六鳞溉、IPv6 協(xié)議
因IPv4 協(xié)議面臨者IP地址資源嚴重不足的問題,IETF于1995年提出了IPv6協(xié)議鼠哥。
IPv6 采用了新的首部格式熟菲,基本首部固定40B長度,如下圖所示朴恳。
首部字段說明:
- 版本號: 指明IP版本抄罕,在IPv6中該值為0110(十進制6).
- 通信業(yè)務(wù)類型: 用于區(qū)分不同的IPv6數(shù)據(jù)報的類別或優(yōu)先級。
- 流標號: IPv6提出了數(shù)據(jù)業(yè)務(wù)流的概念于颖,將某特定源點到終點的一系列實時數(shù)據(jù)報(如音頻呆贿、視頻等)定義為流,屬于同一個流的數(shù)據(jù)報,其流標號相同做入。
- 有效載荷長度: 指明IPv6數(shù)據(jù)報除基本首部外的字節(jié)數(shù)冒晰,最大值為64KB。
- 下一個首部: 當(dāng)沒有擴展首部時竟块,下一個首部指明基本首部后面的數(shù)據(jù)所屬于的上層協(xié)議壶运;當(dāng)有擴展首部時,用于表示后面第一個擴展首部的類型浪秘。
- 跳數(shù)限制: 用來防止數(shù)據(jù)報在網(wǎng)絡(luò)中無限制地被轉(zhuǎn)發(fā)蒋情。數(shù)據(jù)報被源點發(fā)出后,每經(jīng)過一個路由器耸携,該值就減1棵癣,當(dāng)為0時,數(shù)據(jù)報被丟棄夺衍。
- 源地址和目的地址: 表示數(shù)據(jù)報的源點和終點狈谊。
IPv6 的表示方法:
IPv6 的地址占128位,最多可提供3.4 x 個IP地址刷后。表達方式通常是采用冒號分隔的十六進制的畴,把每16位的值用十六進制數(shù)表示,各個數(shù)之間用冒號隔開尝胆,例如一個用冒號十六進制表示的IPv6地址:45EE:0000:78AC:FFFF:2A9B:0000:FFFF:62F4丧裁。
總結(jié)
介紹了網(wǎng)絡(luò)互聯(lián)是什么
IP的特點有哪些以及IPv4 協(xié)議報文格式
IPv4 地址3個階段的編址方式:分類編址、子網(wǎng)劃分含衔、無分類編址CIDR
路由器的結(jié)構(gòu)及功能是啥煎娇,如何根據(jù)路由表轉(zhuǎn)發(fā)數(shù)據(jù),以及常用的路由算法和協(xié)議
IP中其他重要協(xié)議:ARP贪染、DHCP缓呛、ICMP和IGMP 的功能和工作原理
IPv6 的報文結(jié)構(gòu)及表示方法