linux网络寻址顺序,51CTO博客-专业IT技术博客创作平台-技术成就梦想
數據包在兩臺電腦之間傳輸大體分為以下兩種情況
1、 通過二層設備交換機直連的兩臺主機之間數據傳輸
( HUB 就免談了,它屬于一層設備,既看不懂二層 MAC 地址,也看不懂三層 IP 地址,不存在尋址的問題,直接廣播就是)
網絡尋址過程詳解
首先我們必須了解一個概念,封裝與解封裝
封裝
所謂封裝是指在發送方發生的自上而下的過程 —— 在每一層為應用數據添加上特定的頭部 / 尾部信息( PDU , Protocol Data Unit ,協議數據單元)
Application (應用程序) →segment (數據段) →packet (數據包) →frame (數據幀) →bit (比特,二進制位)
解封裝
所謂解封裝是指在接收方發生的自下而上的過程 —— 逐層的去掉頭部以及尾部信息
由于今天我們只討論數據傳輸過程,所以只牽涉到數據的四層以下封裝。
假設現在 A 要向 B 發送數據,那么 A 首先要對發送的數據進行封裝,在每一層會加上相應的數據頭,傳輸層主要是加上源和目標端口號,網絡層則加源和目標 IP 地址,數據鏈路層則加上源和目標 MAC 地址
1) 好的,由于 A 現在只知道 B 的 IP 地址,并不知道 B 的 MAC 地址,而二層設備交換機并不會按 IP 地址來轉發數據,所以這時 A 會發一個 ARP 廣播(ARP請求分組),內容是:我的ip地址為:XXXX,MAC 地址為 :XXXX,詢問 IP 地址為 192.168.0.2 的 MAC 地址是多少?在本局域網運行的所有主機上運行的ARP進程都會收到此ARP請求分組,但只有B會響應并向A發送一個ARP響應分組。
2) 交換機收到該幀后,發現是廣播幀,于是轉發到其它所有端口,并且會將該幀的源 MAC 地址(即 A 的 MAC 地址)添加到自己的 MAC 地址表中去
3) B 當然會收到該幀,于是和自己的 IP 進行對比,發現匹配后,再以A為目標M AC 地址響應A的ARP請求幀
4) 交換機收到B的回復幀后,將該幀的目標MAC地址與自己的MAC地址表進行對照,發現該幀對應的的端口是 F0/1 ,于是將幀轉發到 F0/1 端口(如果數據幀的目標 MAC 地址在表中不存在,則會轉發到除源端口外的其它所有端口),同時將該幀的源 MAC 地址(即 B 的 MAC 地址)加到自己的 MAC 地址表中
5) A 收到 B 的回復幀后,得知 192.168.0.2 的 MAC 地址是 2c 26.1ae3.2222 ,于是該信息保存到本地的 ARP 高速緩存中,同時以 B 的 MAC 地址為目標地址將要傳的數據封裝成幀,發送出去
6) 交換機再次收到 A 的數據幀,發現目的 MAC 地址是 2c 26.1ae3.2222 ,并且該地址對應的端口是 F0/2 ,于是將該數據轉發到 F0/2 端口
7) B 成功收到 A 發來的數據
2、 跨三層設備路由器的兩臺主機之間數據傳輸
網絡尋址過程詳解
好的,現在我們來看一下 pcA 是如何發送數據給 pcB 的
交換機的工作原理前面我們已經介紹過了,它維護了一張 MAC 地址表,用來反映各端口和 MAC 地址的對應關系,以便做好數據轉發工作。下面我們來看一下路由器的工作原理,在路由器中也要維護一張表格,叫做路由條目表,用來反映如何到達某個 IP 地址網段,同時在路由器中也有 ARP 高速緩存,反映了該路由器各直接網段的 IP 地址和 MAC 地址的對應關系
1) 由于 B 的 IP 地址并沒有和 A 在一個網段,所以當 A 向 B 發送數據時, A 并不會直接把數據給 B ,而是交給自己的網關,也就是 192.168.0.254 ,所以 A 首先會 ARP 廣播請求 192.168.0.254 的 MAC 地址
2) A 得到網關的 MAC 地址后,以它為數據幀的目標 MAC 地址進行封裝數據,并發送出去
3) routerA 收到該幀后,檢查該幀的目標 IP ,并到自己的路由表查找如何到達該網段(目的IP與各網絡的掩碼相與:直接較付->特定主機路由->間接交付->默認路由),找到下一跳地址是 routerB 的 s0 端口,于是將數據重新封裝,將源地址改為 s0 端口 MAC 地址,目標 MAC 地址改為 routerB 的 s0 端口 MAC 址址,并發送給 routerB
4) 中間路由器傳遞過程同理
5) 最后一個路由(此例為 routerC )收到該幀,發現目標 IP 就在自己的直連網段,于是查看 ARP 緩存,如果找到該 IP 的 MAC 地址,則以該 MAC 地址封裝數據發送出去,如果在 ARP 緩存沒找到,則發出 ARP 廣播,請求該 IP 的 MAC 地址,得到對應的 MAC 地址后,再發送給主機 B
在以上數據傳遞過程中,我們發現,數據幀的源 IP 和目標 IP 始終是不變的,而經過每個路由進行重新封裝數據時 MAC 地址則在不斷的變化,總是以自己的地址作為源 MAC 地址,下一跳的地址作為目標 MAC 地址
好的,關于數據包尋址過程今天就介紹到這里,希望對各位的學習能有所幫助!
附:IGMP:因特網組管理協議(UDP);內部網關協議:RIP(路由信息協議:基于距離向量的路由選擇協議),OSPF(開發最短路徑優先協議);ICMP:因特網控制報文協議;CIDR無分類編址;ARP:地址解析協議;RARP:逆地址解析協議;CSMA/CD:載波監聽多點接入/碰撞檢測);DHCP動態主機配置協議(UDP端口67,68);FTP文件傳輸(TCP:21);DNS域名系統(UDP:53);TELET(TCP:23);SMTP(TCP:25).
總結
以上是生活随笔為你收集整理的linux网络寻址顺序,51CTO博客-专业IT技术博客创作平台-技术成就梦想的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: linux面向连接的协议,linuxTC
- 下一篇: linux拒绝tcp链接,Linux 内