日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

TCP/IP(三):IP协议相关技术

發(fā)布時間:2023/12/13 编程问答 59 豆豆
生活随笔 收集整理的這篇文章主要介紹了 TCP/IP(三):IP协议相关技术 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

在前兩篇文章中,我分別介紹了數(shù)據(jù)鏈路層和網(wǎng)絡(luò)層的IP協(xié)議。雖然這個系列教程的重點是搞定 TCP/IP,不過不用著急,本文簡要介紹完與 IP 協(xié)議相關(guān)的技術(shù),下一篇文章就會正式、詳細(xì)的介紹 傳輸層與 TCP 協(xié)議。這篇文章會介紹 DNS、ARP、NAT 協(xié)議,這些內(nèi)容雖然與 TCP 沒有直接關(guān)聯(lián),但理解它們的原理有助于鞏固基礎(chǔ)知識,更好的理解網(wǎng)絡(luò)的工作原理。

DNS 解析

IP地址用于識別通信雙方的地址,但它是一串長數(shù)字,不方便記憶,人們希望主機有自己自己的名字,這個名字是唯一的,而且容易記住。于是,誕生了“域名”的概念。域名是一種為了識別主機名稱和機構(gòu)名的具有分層的名稱,比如在域名 neu.edu.cn中,neu是主機名,edu 和 cn 是不同層次下的機構(gòu)名。

域名和 IP 地址都可以唯一對應(yīng)一臺主機,DNS 協(xié)議的作用就是將自身具有意義的域名轉(zhuǎn)換成不容易記住的 IP 地址。

域名是分層的,每層都有自己的 DNS 服務(wù)器用于處理 DNS 解析的請求。這樣的好處在于每層的服務(wù)器不用關(guān)注過多的信息,它只要知道自己這一層下的域名服務(wù)器信息即可。以解析域名: www.ietf.org為例:


DNS解析過程

根服務(wù)器其實并不知道 www.ietf.org 的 IP 地址,但是它知道 itef.org 域名服務(wù)器的地址,所以它把這條查詢請求轉(zhuǎn)發(fā)給 itef.org 域名服務(wù)器。DNS請求被逐層下發(fā),直到找到對應(yīng)的 IP 地址為止。

ARP 協(xié)議

ARP 協(xié)議(Address Resolution Protocol)用于通過目標(biāo) IP 地址,定位下一個接收數(shù)據(jù)包的網(wǎng)絡(luò)設(shè)備的 MAC 地址。如果目標(biāo)主機處在同一個數(shù)據(jù)鏈路上,那么可以直接得到目標(biāo)主機的 MAC 地址,否則會得到下一條路由器的 MAC 地址。

ARP 協(xié)議的工作原理可以分為兩部分:ARP 請求和 ARP 響應(yīng)。 首先,源主機會通過廣播發(fā)送一個 ARP 請求包:“我要與 IP 地址為 xxx 的主機通話,誰知道它的 MAC地址?”。

數(shù)據(jù)鏈路上的所有主機都會收到這條消息并檢查自己的 IP 地址,如果與 ARP 請求包中的 IP 地址一致,主機就會發(fā)送 ARP 響應(yīng)包:“我就是 IP 地址為 xxx 的主機,我的 MAC 地址是:xxxx”。

下圖表示了 ARP 協(xié)議的工作機制:


ARP機制

在實際的使用過程中,每次往目標(biāo)主機發(fā)送數(shù)據(jù)都要使用 ARP 是很低效的,通常的做法是把獲取到的 MAC 地址緩存一段時間。一般來說,一旦源主機向目標(biāo)地址發(fā)送一個數(shù)據(jù)包,接下來繼續(xù)發(fā)送多次的概率非常大,因此這種緩存非常容易命中。

當(dāng)下一次發(fā)送 ARP 請求或超過一定時間后,緩存都會失效,這保證了即使 MAC 地址與 IP 地址的對應(yīng)關(guān)系發(fā)生了變化,數(shù)據(jù)包依然能夠被正確的發(fā)往目標(biāo)地址。

再次強調(diào)一下,MAC 和 IP 地址雖然看上去功能類似(都是用于唯一區(qū)分主機),但是兩者缺一不可。如果只有 IP 地址,雖然可以跳過 ARP,直接在數(shù)據(jù)鏈路上發(fā)一個廣播,但是這僅適用于通信雙方處于同一個數(shù)據(jù)鏈路下的情況。如果雙方處于不同的數(shù)據(jù)鏈路,數(shù)據(jù)報無法穿透中間的路由器。

如果全世界只用 MAC 地址,那么請參考交換機的自學(xué)過程,可以想象這個過程會帶來龐大的,不必要的流量。

正因為 MAC 和 IP 地址缺一不可,所以才產(chǎn)生了 ARP 這樣的協(xié)議將兩者關(guān)聯(lián)起來。

NAT 和 NAPT 技術(shù)

NAT (Network Address Translator) 是一種用于將局域網(wǎng)中的私有地址轉(zhuǎn)換成全局 IP 地址的技術(shù)。

在連接上無線路由器的時候,如果檢查一下設(shè)備的 IP 地址,也許你會發(fā)現(xiàn)是類似于 192.168.1.1 這樣的局域網(wǎng) IP 地址。那不同網(wǎng)段中,IP 地址都是 192.168.1.1 的主機改如何通信呢?

下圖描繪了 NAT 的工作原理:

局域網(wǎng)中 IP 地址為 10.0.0.10 的主機向全局 IP 地址 163.221.120.9 發(fā)送數(shù)據(jù)。NAT 路由器將數(shù)據(jù)包的源地址修改成自己的全局 IP 地址:202.244.174.37。同理,接收數(shù)據(jù)時,路由器把目標(biāo)地址 202.244.174.37 翻譯成內(nèi)網(wǎng)地址:10.0.0.10


NAT工作原理

路由器只有一個對外的全局 IP 地址,如果有多個內(nèi)網(wǎng)主機都向外部通訊怎么辦呢?這時就要使用 NAPT 技術(shù),它和 NAT 從原理上類似,但它可以轉(zhuǎn)換 TCP 和 UDP 端口號。

使用 NAPT 技術(shù)時,不同的內(nèi)網(wǎng) IP 被轉(zhuǎn)換成同一個公共 IP 地址,也就是路由器對外顯示的全局 IP 地址,但是被附加不同的端口號以示區(qū)分:


NAPT工作原理

不管是 NAT 還是 NAPT,都需要路由器路由器內(nèi)部維護一張自動生成的地址轉(zhuǎn)換表。以 TCP 為例,建立 TCP 連接首次握手的 SYN 包發(fā)出時會生成這個表,關(guān)閉連接時會發(fā)出 FIN 包,收到這個包的應(yīng)答時轉(zhuǎn)換表被刪除。

如果暫時不了解 TCP 協(xié)議和三次握手也沒有關(guān)系,下一篇文章將會有詳細(xì)的講解。



文/bestswifter(簡書作者)
原文鏈接:http://www.jianshu.com/p/f0d5a8ee9f17
著作權(quán)歸作者所有,轉(zhuǎn)載請聯(lián)系作者獲得授權(quán),并標(biāo)注“簡書作者”。 創(chuàng)作挑戰(zhàn)賽新人創(chuàng)作獎勵來咯,堅持創(chuàng)作打卡瓜分現(xiàn)金大獎

總結(jié)

以上是生活随笔為你收集整理的TCP/IP(三):IP协议相关技术的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。