5 网络层----IP协议相关技术
5.1 DNS(域名解析協(xié)議)
5.1.1 域名服務器
域名是分層結(jié)構(gòu),域名服務器也是對應的層級結(jié)構(gòu)。
有了域名結(jié)構(gòu),還需要有一個東西去解析域名,域名需要由遍及全世界的域名服務器去解析,域名服務器實際上就是裝有域名系統(tǒng)的主機。
由高向低進行層次劃分,可分為以下幾大類:
?
注:一個域名服務器所負責的范圍,或者說有管理權(quán)限的范圍,就稱為區(qū)
我們需要注意的是:
1. 每個層的域名上都有自己的域名服務器,最頂層的是根域名服務器
2. 每一級域名服務器都知道下級域名服務器的IP地址
3. 為了容災, 每一級至少設置兩個或以上的域名服務器
5.1.2 域名解析過程
(1) 輸入域名后, 先查找自己主機對應的域名服務器,域名服務器先查找自己的數(shù)據(jù)庫中的數(shù)據(jù).
(2) 如果沒有, 就向上級域名服務器進行查找, 依次類推
(3) 最多回溯到根域名服務器, 肯定能找到這個域名的IP地址
(4) 域名服務器自身也會進行一些緩存, 把曾經(jīng)訪問過的域名和對應的IP地址緩存起來, 可以加速查找過程
5.2 ARP(地址解析協(xié)議)
網(wǎng)絡層實現(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 響應分組給主機 A 告知其 MAC 地址,隨后主機 A 向其高速緩存中寫入主機 B 的 IP 地址到 MAC 地址的映射。
RARP是將ARP反過來,從MAC地址定位IP地址的一種協(xié)議
5.3 ICMP(網(wǎng)際控制報文協(xié)議)
ICMP的主要功能包括,確認IP包是否成功送達目標地址,通知在發(fā)送的過程中IP包被遺棄的具體原因,改善網(wǎng)絡設置等。有了這些功能后,就可以獲得網(wǎng)絡是否正常、設置是夠有誤以及設備有何異常等信息,從而便于進行網(wǎng)絡上的問題診斷。
ICMP 報文分為差錯報告報文和詢問報文。
Ping:
Ping 是 ICMP 的一個重要應用,主要用來測試兩臺主機之間的連通性。
Ping 的原理是通過向目的主機發(fā)送 ICMP Echo 請求報文,目的主機收到之后會發(fā)送 Echo 回答報文。Ping 會根據(jù)時間和成功響應的次數(shù)估算出數(shù)據(jù)包往返時間以及丟包率。
Traceroute :
Traceroute 是 ICMP 的另一個應用,用來跟蹤一個分組從源點到終點經(jīng)歷多少路由器。
Traceroute 發(fā)送的 IP 數(shù)據(jù)報封裝的是無法交付的 UDP 用戶數(shù)據(jù)報,并由目的主機發(fā)送終點不可達差錯報告報文。
- 源主機向目的主機發(fā)送一連串的 IP 數(shù)據(jù)報。第一個數(shù)據(jù)報 P1 的生存時間 TTL 設置為 1,當 P1 到達路徑上的第一個路由器 R1 時,R1 收下它并把 TTL 減 1,此時 TTL 等于 0,R1 就把 P1 丟棄,并向源主機發(fā)送一個 ICMP 時間超過差錯報告報文;
- 源主機接著發(fā)送第二個數(shù)據(jù)報 P2,并把 TTL 設置為 2。P2 先到達 R1,R1 收下后把 TTL 減 1 再轉(zhuǎn)發(fā)給 R2,R2 收下后也把 TTL 減 1,由于此時 TTL 等于 0,R2 就丟棄 P2,并向源主機發(fā)送一個 ICMP 時間超過差錯報文。
- 不斷執(zhí)行這樣的步驟,直到最后一個數(shù)據(jù)報剛剛到達目的主機,主機不轉(zhuǎn)發(fā)數(shù)據(jù)報,也不把 TTL 值減 1。但是因為數(shù)據(jù)報封裝的是無法交付的 UDP,因此目的主機要向源主機發(fā)送 ICMP 終點不可達差錯報告報文。
- 之后源主機知道了到達目的主機所經(jīng)過的路由器 IP 地址以及到達每個路由器的往返時間。
5.4 DHCP(動態(tài)主機設置協(xié)議)
使用DHCP之前,首先要架設一臺DHCP服務器。然后將DHCP所要分配的IP地址設置到服務器上。此外還要將相應的子網(wǎng)掩碼、路由控制信息以及DNS副武器的地址等設置到服務器上。
從DHCP中獲取IP地址的流程,主要分為兩個階段
?5.5 NAT(網(wǎng)絡地址轉(zhuǎn)換)
專用網(wǎng)內(nèi)部的主機使用本地 IP 地址又想和互聯(lián)網(wǎng)上的主機通信時,可以使用 NAT 來將本地 IP 轉(zhuǎn)換為全局 IP。
上圖是一個以10.0.0.10 的主機與163.221.120.9 的主機進行通信的例子。途中的NAT路由器將發(fā)送源地址從10.0.0.10 轉(zhuǎn)換為全局的IP地址(202.244.174.37)再發(fā)送數(shù)據(jù),反之,當包從地址163.221.120.9發(fā)過來時,目的地址(202.244.174.37)先被轉(zhuǎn)換為私有IP地址10.0.0.10 以后再被轉(zhuǎn)發(fā)。
?在以前,NAT 將本地 IP 和全局?IP 一一對應,這種方式下?lián)碛?n 個全局IP 地址的專用網(wǎng)內(nèi)最多只可以同時有 n 臺主機接入互聯(lián)網(wǎng)。為了更有效地利用全局IP 地址,現(xiàn)在常用的 NAT 轉(zhuǎn)換表把傳輸層的端口號也用上了,使得多個專用網(wǎng)內(nèi)部的主機共用一個全局IP 地址。使用端口號的 NAT 也叫做網(wǎng)絡地址與端口轉(zhuǎn)換 NAPT。
?
?
在上圖中,主機163.221.120.9 的端口號是80,LAN中有兩個客戶端10.0.0.10和10.0.0.11 同時進行通信,并且這兩個客戶端的本地端口都是1025 。此時,僅僅轉(zhuǎn)換IP地址為某個全局地址202.244.174.37,會令轉(zhuǎn)換后的所有數(shù)字完全一致。為此,只要將10.0.0.11的端口號轉(zhuǎn)換為1026就可以解決問題。生成一個NAPT路由器的轉(zhuǎn)換表,就可以正確的轉(zhuǎn)換地址跟端口的組合,令客戶端A、B能同時與服務器之間進行通信。
轉(zhuǎn)載于:https://www.cnblogs.com/xlzfdddd/p/10206636.html
總結(jié)
以上是生活随笔為你收集整理的5 网络层----IP协议相关技术的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: BurpSuite学习第七节--Sequ
- 下一篇: 使用jpcap获取网卡硬件