两个主机通信过程
主機A與主機B通信,A Ping B,圖:A-交換機-B,AB同一子網(wǎng)
(1)ping數(shù)據(jù)包用的是ICMP協(xié)議,IP協(xié)議的一個子協(xié)議,位于三層,包含A的IP,B的IP,三層進行IP封裝成包,進入二層
(2)A,B處于相同子網(wǎng),查看緩存中對與目的對應得B第2層mac地址,如果存在,直接進行第2層封裝成幀,經(jīng)物理層信號編碼,以0101010010這樣的bits流傳輸在網(wǎng)絡介質(zhì)上。
(3)如果不存在B的MAC,則發(fā)送ARP廣播請求B的MAC,ARP數(shù)據(jù)包經(jīng)物理層進入交換機端口,需要進行源端口號學習,目的端口查找,B響應ARP請求,交換機又可以學習一目的MAC地址與哪個端口對應,在下次傳送數(shù)據(jù)時就不再需要對所有端口進行廣播了。B通過ARP單播把B的MAC響應給A,此時再返回(2)的處理過程。
(4)當再進行A與B之間數(shù)據(jù)包轉(zhuǎn)發(fā),將直接用B的MAC地址封裝,數(shù)據(jù)轉(zhuǎn)發(fā)得以高速交換
主機A與主機C通信,A Ping C,圖:A-交換機-路由器M-路由器N-交換機-C,AC不同子網(wǎng)
(1)兩個機器不在同一子網(wǎng)內(nèi),A要與目的C通信,A要向“缺省網(wǎng)關”發(fā)出ARP包,而“缺省網(wǎng)關”的IP地址已經(jīng)在A系統(tǒng)軟件中設置。這個IP地址實際上對應路由器M的E0的IP地址。所以A對“缺省網(wǎng)關”的IP地址廣播出一個ARP請求時,路由器M的E0口的MAC回復給A,此時A數(shù)據(jù)包的目的MAC替換為M的E0口MAC。
(2)MAC替換后,經(jīng)物理層,傳輸?shù)浇粨Q機物理層,再傳到交換機數(shù)據(jù)鏈路層,再經(jīng)數(shù)據(jù)數(shù)據(jù)鏈路層到物理層。
(3)經(jīng)bit流傳到路由器M的物理層,然后傳到數(shù)據(jù)鏈路層,二層解封裝,目的IP與路由器M三層IP路由表比較,若匹配正確,交給上層處理,否則會緩存數(shù)據(jù)包內(nèi)容,然后根據(jù)目標地址查找路由表找到相關表項,得到NEXT HOP及出接口的MAC地址,用這兩個地址作為新的目的及源MAC地址封裝事先緩存的數(shù)據(jù)包,然后轉(zhuǎn)發(fā),這個過程稱為幀的重寫(REWRITE)。
(4)重復進行MAC替換后, 在路由器N中,找到與目的IP匹配表項,若N中存在C對應的MAC表項,則數(shù)據(jù)傳輸?shù)?/span>C網(wǎng)絡層,否則N發(fā)送ARP廣播請求C的MAC。
(5)當C收到A的數(shù)據(jù)包后,再從A到C進行一次反向MAC替換過程。反向過程中,每一步省略掉ARP請求NEXT HOP的MAC,因為MAC表已經(jīng)建立起來。
總結(jié):
IP報文傳輸過程包括:
1. Host sends packet to default gateway(主機將數(shù)據(jù)包發(fā)送到默認網(wǎng)關)
2. Packet placed in frame(數(shù)據(jù)包被封裝入幀)
3. Router receives frame(路由器接到幀)
4. Router finds destination network in route table(路由器在路由表中發(fā)現(xiàn)目標網(wǎng)絡)
5. Router chooses next hop toward destination(路由器選擇一個更接近目標的下一跳)
6. MAC address of next hop determined(下一跳的MAC地址被確定)
7. Packet placed in frame(數(shù)據(jù)包被封裝入幀)
8. Repeats steps 2 through 7 as necessary(如果需要的話,重復步驟2~7)
9. Router receives frame(路由器接到幀)
10. Router finds network directly connected(路由器發(fā)現(xiàn)直連網(wǎng)絡)
11. MAC address of end host determined(最終主機的MAC地址被確定)
12. Packet placed in frame to final destination(幀中的數(shù)據(jù)包被發(fā)送到最終主機)
轉(zhuǎn)載于:https://blog.51cto.com/zhangaodi/1294858
總結(jié)
- 上一篇: C++ 一键关闭屏幕
- 下一篇: 针对移动互联网应用的网络建设和优化