[計算機網(wǎng)絡之五] IP 協(xié)議相關(guān)技術(shù)

1满哪、DNS(Domain Name System)

(1)必要性

??直接使用 IP 不便,不好記憶劝篷,在主機中維護一個 hosts 數(shù)據(jù)庫文件哨鸭,可以在進行網(wǎng)絡通信時直接使用主機名稱而無需輸入一長串的 IP 地址。


(2)誕生背景

??ARPANET 使用 hosts 文件來管理主機名和 IP 地址的登錄娇妓、變更處理的可行性像鸡,隨著網(wǎng)絡規(guī)模的擴大而降低。

(3)DNS 域名的分層

??URL哈恰、主機名坟桅、域名和全限定域名( FQDN:Fully Qualified Domain Name)怎么區(qū)分?

www.tsinghua.edu.cn

url:http://www.tsinghua.edu.cn
主機名:www
域名:tsinghua.edu.cn
全限定域名:www.tsinghua.edu.cn

??在不同組織結(jié)構(gòu)中不允許有同名的主機蕊蝗,當出現(xiàn)了帶有層次結(jié)構(gòu)的域名后仅乓,每個組織結(jié)構(gòu)就可以自由地為主機命名了。DNS 的分層是倒掛的樹形結(jié)構(gòu)蓬戚,如圖所示:



(4)域名服務器和解析器

  • 域名服務器

??域名服務器是指管理域名的主機和相應的軟件夸楣,它可以管理所在分層的域的相關(guān)信息。

  • 解析器

??進行 DNS 查詢的主機和軟件叫做 DNS 解析器子漩。用戶所使用的工作站或個人電腦都屬于解析器豫喧。一個解析器至少要注冊一個以上域名服務器的 IP 地址,通常幢泼,它至少包括組織內(nèi)部的域名服務器的 IP 地址紧显。


(5)DNS 查詢

??DNS 查詢的流程如圖所示:

??DNS 查詢的方式由遞歸查詢和迭代查詢兩種。

  • 遞歸查詢: 主機向本地域名服務器的查詢一般都是采用遞歸查詢 缕棵。

所謂遞歸查詢就是:如果主機所詢問的本地域名服務器不知道被查詢的域名的 IP 地址孵班,那么本地域名服務器就以 DNS 客戶的身份涉兽,向根域名服務器繼續(xù)發(fā)出查詢請求報文(即替主機繼續(xù)查詢),而不是讓主機自己進行下一步查詢篙程。因此枷畏,遞歸查詢返回的查詢結(jié)果或者是所要查詢的 IP 地址,或者是報錯虱饿,表示無法查詢到所需的 IP 地址拥诡。

  • 迭代查詢: 本地域名服務器向根域名服務器的查詢的迭代查詢 。

迭代查詢的特點:當根域名服務器收到本地域名服務器發(fā)出的迭代查詢請求報文時氮发,要么給出所要查詢的 IP 地址渴肉,要么告訴本地服務器:“你下一步應當向哪一個域名服務器進行查詢”。然后讓本地服務器進行后續(xù)的查詢爽冕。根域名服務器通常是把自己知道的頂級域名服務器的 IP 地址告訴本地域名服務器宾娜,讓本地域名服務器再向頂級域名服務器查詢。頂級域名服務器在收到本地域名服務器的查詢請求后扇售,要么給出所要查詢的 IP 地址前塔,要么告訴本地服務器下一步應當向哪一個權(quán)限域名服務器進行查詢。最后承冰,本地域名服務器得到了所要解析的 IP 地址或報錯华弓,然后把這個結(jié)果返回給發(fā)起查詢的主機。



2困乒、ARP(Address Resolution Protocol)

??數(shù)據(jù)鏈路層通信的唯一地址是 MAC 地址寂屏,ARP 就是能根據(jù)目標 IP 地址定位下一個應該接受數(shù)據(jù)分包的網(wǎng)絡設備對應的 MAC 地址。如果目標主機不再一個數(shù)據(jù)鏈路上娜搂,則通過 ARP 查找下一跳路由器的 MAC 地址迁霎。

??APR 只適用于 IPv4,IPv6 中定位 MAC 地址用的事 ICMPv6 協(xié)議百宇。

(1)ARP 協(xié)議的工作原理

??網(wǎng)絡層的 ARP 協(xié)議完成了 IP 地址與物理地址的映射考廉。首先,每臺主機都會在自己的 ARP 緩沖區(qū)中建立一個 ARP 列表携御,以表示 IP 地址和 MAC 地址的對應關(guān)系昌粤。當源主機需要將一個數(shù)據(jù)包要發(fā)送到目的主機時,會首先檢查自己 ARP 列表中是否存在該 IP 地址對應的 MAC 地址:如果有啄刹,就直接將數(shù)據(jù)包發(fā)送到這個 MAC 地址涮坐;如果沒有,就向本地網(wǎng)段發(fā)起一個 ARP 請求的廣播包誓军,查詢此目的主機對應的 MAC 地址袱讹。

??此 ARP 請求數(shù)據(jù)包里包括源主機的 IP 地址、硬件地址昵时、以及目的主機的 IP 地址捷雕。網(wǎng)絡中所有的主機收到這個 ARP 請求后椒丧,會檢查數(shù)據(jù)包中的目的 IP 是否和自己的 IP 地址一致。如果不相同就忽略此數(shù)據(jù)包非区;如果相同,該主機首先將發(fā)送端的 MAC 地址和 IP 地址添加到自己的 ARP 列表中盹廷,如果 ARP 表中已經(jīng)存在該 IP 的信息征绸,則將其覆蓋,然后給源主機發(fā)送一個 ARP 響應數(shù)據(jù)包俄占,告訴對方自己是它需要查找的 MAC 地址管怠;源主機收到這個 ARP 響應數(shù)據(jù)包后,將得到的目的主機的 IP 地址和 MAC 地址添加到自己的 ARP 列表中缸榄,并利用此信息開始數(shù)據(jù)的傳輸渤弛。如果源主機一直沒有收到 ARP 響應數(shù)據(jù)包,表示 ARP 查詢失敗甚带。

(2)如何理解 IP 地址和 MAC 地址缺一不可

??在同一數(shù)據(jù)鏈路上她肯,只需要一個廣播就可以知道接收端的 MAC 地址;但是在不同網(wǎng)絡中被路由器隔斷的主機之間的通訊需要依賴 IP 地址來做路由選擇鹰贵,通過 IP 地址才可以讓 ARP 廣播順利到達目標主機所在網(wǎng)絡晴氨,接收到廣播的匹配 IP 的主機響應廣播,將自己的 MAC 響應給源主機碉输。

(3)RARP(Reverse Address Resolution Protocol)

??從 MAC 地址定位 IP 地址的一種協(xié)議籽前。

  • 使用場景

??打印機服務器等小型嵌入式設備接入到網(wǎng)絡時,有時無法通過 DHCP 動態(tài)獲得 IP 地址敷钾,需要架設一臺 RARP 服務器枝哄,并在服務器上注冊設備的 MAC 地址及其 IP 地址,然后設備啟動時請求 RARP 服務器得到分配的 IP 地址阻荒。


(4)代理 ARP

??通常代理 ARP 包會被路由器隔離挠锥,但是采用代理 ARP (Proxy ARP)的路由器可以將 ARP 請求轉(zhuǎn)發(fā)給鄰近的網(wǎng)段。由此侨赡,兩個以上網(wǎng)段的節(jié)點之間可以像在同一個網(wǎng)段中一樣進行通信瘪贱,通常路由器會連接多個網(wǎng)絡,并在每個網(wǎng)段上定義各自的子網(wǎng)辆毡,對于那些不支持設定子網(wǎng)掩碼的老設備菜秦,必須要使用代理 ARP 才能更好地使用網(wǎng)絡。


3舶掖、ICMP(Internet Control Message Protocol)

(1)功能

??確認網(wǎng)絡是否正常工作球昨,遇到異常時進行網(wǎng)絡診斷。

更詳細的功能描述:確認 IP 包是否成功送達目標地址眨攘,通知在發(fā)送過程當中 IP 包被廢棄的具體原因主慰,改善網(wǎng)絡配置嚣州。有了這些功能以后,就可以獲得網(wǎng)絡是否正常共螺、設置是否有誤以及設備有何異常等信息该肴,從而便于進行網(wǎng)絡上的問題診斷。



(2)ICMP 消息分類

??ICMP 通知消息使用 IP 進行發(fā)送藐不,消息大致可分為兩類:一類是通知出錯原因的錯誤消息匀哄;另一類是用于診斷的查詢消息。

I

(3)主要的 ICMP 消息

  • ICMP 消息不可達

??IP 路由器無法將 IP 數(shù)據(jù)包發(fā)送給目標地址是雏蛮,會給發(fā)送端主機返回一個目標不可達的 ICMP 消息涎嚼,并在這個消息中顯示不可達的具體原因。

  • ICMP 重定向消息

??如果路由器發(fā)現(xiàn)發(fā)送端主機使用了次優(yōu)的路徑發(fā)送數(shù)據(jù)挑秉,那么它會返回一個 ICMP 重定向的消息給這個主機法梯。

  • ICMP 超時消息

??IP 包中有一個字段叫做 TTL(Time To Live,生存周期)犀概,它的值隨著每經(jīng)過一次路由器就會減1立哑,直到減到 0 時該 IP 包會被丟棄。此時姻灶,IP 路由器將會發(fā)送一個 ICMP 超時的消息給發(fā)送端主機刁憋,并通知該包已被丟棄。

Q: 設置 IP 生存周期有什么作用木蹬?

??在路由控制遇到問題發(fā)生循環(huán)狀況時至耻,避免 IP 包無休止地在網(wǎng)絡上被轉(zhuǎn)發(fā)。

  • ICMP 回送消息

??判斷所發(fā)送的數(shù)據(jù)包是否已經(jīng)成功到達對端镊叁,常用的 ping 命令就是基于該消息實現(xiàn)的尘颓。

  • ICMP 源點抑制消息

??網(wǎng)絡擁堵時路由器向 IP 包的源地址發(fā)送一個 ICMP 源點抑制消息,收到消息的的主機了解到網(wǎng)絡擁堵的情況晦譬,就會控制 IP 包的傳輸間隔疤苹。

缺點:可能引起不公平的網(wǎng)絡通信,一般不被采用敛腌。

  • ICMP 路由探索消息

??用于發(fā)現(xiàn)與自己相連網(wǎng)絡中的路由器卧土。主機發(fā)出 ICMP 路由器請求,路由器返回 ICMP 路由器公告消息像樊。

  • ICMP 地址掩碼消息

??用于主機或路由器想要了解子網(wǎng)掩碼的情況尤莺。

(4)ICMPv6

??在 IPv6 中比不可少,用于從 IP 地址定位到 MAC 地址生棍,相當于 IPv4 中 ARP 的作用颤霎。


4、DHCP(Dynamic Host Configuration Protocol)

(1)DHCP 實現(xiàn)即插即用

??管理員為網(wǎng)絡中每臺主機設置 IP、子網(wǎng)掩碼友酱、默認路由晴音、DNS服務器等配置信息很繁瑣。而 DHCP 實現(xiàn)了即插即用的自動配置管理缔杉。



(2)DHCP 工作機制

??架設 DHCP 服務器锤躁,并設置好要分配的 IP 地址、子網(wǎng)掩碼或详、路由控制信息以及 DNS 服務器等系羞。

??DHCP 獲取 IP 地址分為兩階段:

??為了 DHCP 的高可用,會架設多臺服務器鸭叙,但是這樣一來可能導致不同服務器分配了相同的 IP 導致沖突觉啊,所以為了檢查所要分配的 IP 地址以及已經(jīng)分配了的 IP 地址是否可用拣宏,DHCP 服務器或 DHCP 客戶端必須具備以下功能:

  • DHCP 服務器

    在分配 IP 地址前發(fā)送 ICMP 回送請求包沈贝,確認沒有返回應答。

  • DHCP 客戶端

    針對從 DHCP 那里獲得的 IP 地址發(fā)送 ARP 請求包勋乾,確認沒有返回應答宋下。

(3)DHCP 中繼代理

??一般會為每個以太網(wǎng)段設置一個 DHCP 服務器,但是對企業(yè)學校等大規(guī)模的組織機構(gòu)的網(wǎng)絡環(huán)境來說辑莫,一般會有多個以太網(wǎng)段学歧,為每個網(wǎng)端設置 DHCP 服務器管理和運維不便。

??這種情況下使用 DHCP 中繼代理來實現(xiàn)統(tǒng)一管理各吨,每個以太網(wǎng)段設置一個 DHCP 中繼代理枝笨,它會將客戶端的 DHCP 請求轉(zhuǎn)發(fā)給 DHCP 服務器,并在服務器返回應答后轉(zhuǎn)發(fā)給客戶端揭蜒。這樣對不同的鏈路上實現(xiàn)了統(tǒng)一分配和管理 IP 地址横浑。



5、NAT(Network Address Translator)

(1)作用

??用于在本地網(wǎng)絡中使用私有地址屉更,在連接互聯(lián)網(wǎng)時轉(zhuǎn)而使用全局 IP 地址的技術(shù)徙融。

(2)工作機制

??NAT 路由器轉(zhuǎn)發(fā)本地網(wǎng)絡中的 IP 數(shù)據(jù)報到互聯(lián)網(wǎng)時,將 IP 首部中的源地址轉(zhuǎn)換為全局 IP 地址瑰谜;轉(zhuǎn)發(fā)互聯(lián)網(wǎng)中的 IP 數(shù)據(jù)報到本地網(wǎng)絡時欺冀,將 IP 首部中的目標地址轉(zhuǎn)換為私有 IP 地址。

NAT工作機制.png


(3)NAPT

??解決本地網(wǎng)絡中多臺機器使用同一個全局 IP 與互聯(lián)網(wǎng)中的主機進行通信的問題萨脑,使用加端口號的轉(zhuǎn)換隐轩。



(4)NAT-PT(NAPT-PT)

??將 IPv6 的首部轉(zhuǎn)換為 IPv4 首部的一種技術(shù), 使得只有 IPv6 地址的主機也能夠與 IPv4 地址的其他主機進行通信渤早。




6龙助、IP 隧道

(1)什么是 IP 隧道?

??路由器把一種網(wǎng)絡層協(xié)議封裝到另一個協(xié)議中以跨過網(wǎng)絡傳送到另一個路由器的處理過程。



(2)如何實現(xiàn) IP 隧道提鸟?

??將原始IP包(其報頭包含原始發(fā)送者和最終目的地)封裝在另一個數(shù)據(jù)包(稱為封裝的IP包)的數(shù)據(jù)凈荷中進行傳輸军援。在 IP 數(shù)據(jù)報首部上表現(xiàn)為在網(wǎng)絡層的首部后面繼續(xù)追加網(wǎng)絡層首部。



(3)IP 隧道的應用場景

  • Mobile IP
  • 多播包的轉(zhuǎn)播
  • IPv4 網(wǎng)絡中傳送 IPv6 的包(6to4)
  • IPv6 網(wǎng)絡中傳送 IPv4 的包(4to6)
  • 數(shù)據(jù)鏈路幀通過 IP 包發(fā)送(L2TP:將數(shù)據(jù)鏈路的 PPP 包用 IP 包轉(zhuǎn)發(fā)的一種技術(shù))

??由于現(xiàn)在很多路由器上沒有多播包的路由控制信息称勋,多播消息也就無法穿越路由器發(fā)送信息胸哥。在這類環(huán)境中,如果使用 IP 隧道赡鲜,就可以使路由器用單播的形式發(fā)包哗脖,也就能夠向距離較遠的鏈路轉(zhuǎn)發(fā)多播消息再姑。




7、IP 多播

??為了避免網(wǎng)絡流量的浪費,需要確認接收端是否存在严拒,通過 IGMP(MLD:Multicast Listener Discovery [多播監(jiān)聽發(fā)現(xiàn)])實現(xiàn),該協(xié)議的作用:

1拱撵、向路由器表明想要接受多播消息(并通知想接收多播的地址)拧略;

2、向交換集線器通知想要接受多播的地址李破。




8宠哄、IP 任播

??IP 任播是指為那些提供同一種服務的服務器配置同一個 IP 地址,并與最近的服務器進行通信的一種方法嗤攻。應用場景有報警電話 110 和消防電話 119 系統(tǒng)毛嫉。




9、顯式擁塞控制

??當發(fā)生網(wǎng)絡擁塞時妇菱,發(fā)送主機應該減少數(shù)據(jù)包的發(fā)送量承粤,雖然 TCP 也能控制網(wǎng)絡擁塞,但它是通過數(shù)據(jù)包的實際損壞情況來判斷是否發(fā)生擁塞闯团,這種方法不能在數(shù)據(jù)包損壞之前減少數(shù)據(jù)包的發(fā)送量辛臊。

??為了在數(shù)據(jù)包損壞之前檢測到網(wǎng)絡擁塞并減少數(shù)據(jù)包發(fā)送量,在 IP 層報文頭的 TOS 字段偷俭,增加了 ECN (Explicit Congestion Notification浪讳,顯式擁塞控制)字段。

??ECN 的機制概括起來就是在發(fā)送包的 IP 首部中記錄路由器是否遇到擁塞涌萤,并在返回包的 TCP 首部中通知是否發(fā)生過擁塞淹遵。擁塞檢查在網(wǎng)絡層進行,而擁塞通知則在傳輸層進行负溪,這兩層的互相協(xié)助實現(xiàn)了擁塞通知的功能透揣。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市川抡,隨后出現(xiàn)的幾起案子辐真,更是在濱河造成了極大的恐慌须尚,老刑警劉巖,帶你破解...
    沈念sama閱讀 219,539評論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件侍咱,死亡現(xiàn)場離奇詭異耐床,居然都是意外死亡,警方通過查閱死者的電腦和手機楔脯,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,594評論 3 396
  • 文/潘曉璐 我一進店門撩轰,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人昧廷,你說我怎么就攤上這事堪嫂。” “怎么了木柬?”我有些...
    開封第一講書人閱讀 165,871評論 0 356
  • 文/不壞的土叔 我叫張陵皆串,是天一觀的道長。 經(jīng)常有香客問我眉枕,道長恶复,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,963評論 1 295
  • 正文 為了忘掉前任齐遵,我火速辦了婚禮寂玲,結(jié)果婚禮上塔插,老公的妹妹穿的比我還像新娘梗摇。我一直安慰自己,他們只是感情好想许,可當我...
    茶點故事閱讀 67,984評論 6 393
  • 文/花漫 我一把揭開白布伶授。 她就那樣靜靜地躺著,像睡著了一般流纹。 火紅的嫁衣襯著肌膚如雪糜烹。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,763評論 1 307
  • 那天漱凝,我揣著相機與錄音疮蹦,去河邊找鬼。 笑死茸炒,一個胖子當著我的面吹牛愕乎,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播壁公,決...
    沈念sama閱讀 40,468評論 3 420
  • 文/蒼蘭香墨 我猛地睜開眼感论,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了紊册?” 一聲冷哼從身側(cè)響起比肄,我...
    開封第一講書人閱讀 39,357評論 0 276
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后芳绩,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體掀亥,經(jīng)...
    沈念sama閱讀 45,850評論 1 317
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 38,002評論 3 338
  • 正文 我和宋清朗相戀三年妥色,在試婚紗的時候發(fā)現(xiàn)自己被綠了铺浇。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 40,144評論 1 351
  • 序言:一個原本活蹦亂跳的男人離奇死亡垛膝,死狀恐怖鳍侣,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情吼拥,我是刑警寧澤倚聚,帶...
    沈念sama閱讀 35,823評論 5 346
  • 正文 年R本政府宣布,位于F島的核電站凿可,受9級特大地震影響惑折,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜枯跑,卻給世界環(huán)境...
    茶點故事閱讀 41,483評論 3 331
  • 文/蒙蒙 一惨驶、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧敛助,春花似錦粗卜、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,026評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至焕数,卻和暖如春纱昧,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背堡赔。 一陣腳步聲響...
    開封第一講書人閱讀 33,150評論 1 272
  • 我被黑心中介騙來泰國打工识脆, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人善已。 一個月前我還...
    沈念sama閱讀 48,415評論 3 373
  • 正文 我出身青樓灼捂,卻偏偏與公主長得像,于是被迫代替她去往敵國和親雕拼。 傳聞我的和親對象是個殘疾皇子纵东,可洞房花燭夜當晚...
    茶點故事閱讀 45,092評論 2 355

推薦閱讀更多精彩內(nèi)容