CCNA-数据包在网络设备直接的通信流程
CCNA-數據包在網絡設備直接的通信流程
工作以來,感觸最深的就是很多人學完了網絡,甚至做了幾年項目,還沒有搞明白數據包的走向問題以及設備的轉發原理。導致工作過程中出現問題,在拍錯的時候一頭霧水,抓耳撓腮,今天我用這個圖簡單說說PC1 訪問 PC2 的一個HTTPS的WEB網站的數據包走向問題(最后附帶了TCP包頭和IP包頭的格式,基礎不好的可以先看最后兩個圖得內容):
先看拓撲圖:
大家可以瞅瞅我下面總結的流程,感覺不錯的話可以記下來PC1 地址192.168.1.100/24,網關地址192.168.1.1----也就是路由器f0/0口的地址;
PC2地址172.16.1.100/24,網關地址172.16.1.1----也就是路由器f1/0口的地址。
下面從OSI七層模型對數據包進行封裝,封裝完畢通過物理線路發送出去,結合路由器交換機工作原理進行描述:
1、PC1在應用層發起個目標IP為172.16.1.100的Https請求。
2、傳輸層(TCP層)接到上層請求的數據,將數據分段并加上傳輸層報頭(也就是TCP包頭,目的端口號為443)。下傳到網絡層。
3、網絡層接收來處上層的數據后,根據IP協議(三層)進行封裝,添加PC1的IP為源IP為和PC2的IP為目標IP后封裝成數據包,同時協議號位6(TCP的協議號,標識包頭里面是TCP的內容)。下傳到數據鏈路層(二層),因PC1 IP與PC2 IP不在同一網段,所以數據包將發往網關路由條目的下一跳,也就是路由器F0/0口。
4、數據鏈路層接收網絡層封裝好的數據包后,繼續進行封裝幀頭,添加源MAC地址為PC1的MAC地址,目標MAC地址則查詢自己的ARP緩存表以獲取網關MAC地址(路由器F0/0口的MAC)。如果PC1 ARP緩存表中沒有網關對應的MAC地址,則PC1發出一個ARP廣播報文。ARP報文中源MAC地址為PC1 MAC地址,所要請求的是網關IP對應的MAC地址.
5、交換機SW1從F0/0接收到ARP廣播幀后,檢查自己ARP緩存表中是否有與F0/0口相對應PC1的MAC地址。沒有,則將PC1MAC地址與F0/0接口對應起來,存儲到交換機SW1的ARP緩存表中。然后將該ARP請求報文進行除F0/0口以外的其他所有端口進行泛洪。
6、Router收到ARP廣播后,進行解封裝,發現所要請求的MAC地址是自己的。則Router將PC1的MAC地址寫入ARP緩存表中。然后向 PC1發送一個ARP單播回應。該單播消息包括目標IP為PC1 IP,目標MAC為PC1 MAC地址,源IP為Router的F0/0口IP,源MAC為 Router的F0/0的MAC。
7、交換機通過F0/1口收到ARP單播幀,交換機同樣檢查MAC表,然后將F0/1口與Router的F0/0(ARP單播包里面的源MAC)的MAC地址對應起來,存入MAC緩存表中,然后轉發該幀。
8、PC1接收到Router的ARP應答幀后,將Router的F0/0的MAC地址存入ARP緩存中(緩存默認4個小時超時),并將Router的F0/0的MAC地址作為目標地址封裝到數據幀中。發給下層(物理層)進行網絡傳輸。
9、Router的F0/0接收這個幀后,看目標mac地址是否指向自己。是,PC2則將幀頭去掉,然后檢查目標IP地址,發現這個目標IP不是自己,剛不再進行解封裝。
10、Router在自己的路由表中檢查自己的是否有去往目標地址的路由,沒有則丟棄該幀。有,路由器經檢查發現是去往與F1/0口直連的網段。則路由器對數據包進行二層封裝成幀,源IP為PC1的IP,源mac地址為Router F1/0口的MAC地址,目標IP為PC2的IP,目標MAC地址則檢查自己的ARP緩存表獲取。如果沒有,則發送ARP請求報文(這里就不再描述ARP請求過程了)。
11.Router把二層幀封裝完畢,完后把數據幀發給SW2,SW2查看MAC地址表,根據之前ARP的映射緩存表項通過F0/1口轉發數據幀。
12.PC2收到數據幀拆開最外面的幀頭,一看目的MAC是自己,他繼續拆IP包頭
15、PC2拆開IP包頭,發現目標IP和自己匹配,則繼續拆封裝,發現IP里面協議號是6,代表是TCP的數據,將數據向上層傳輸。
16、傳輸層(TCP)接收來自下層的Https請求TCP報文,則去掉TCP報頭,向應用層傳送。
17、應用層收到Https請求后,發送一個Https回應報文給PC1
回包過程同理。
下面附IP包頭,TCP包頭格式圖。
好的本次到這里就結束了,歡迎觀看我的文章。我是CCIE-Yasuo,喜歡就關注我吧,下一期見。
歡迎新盟教育的同學一起來交流,我是41期的疾風劍豪
同時我也是一名18歲來自大專的學生在學校寫的,如有寫的不對或侵權請及時聯系刪除。
總結
以上是生活随笔為你收集整理的CCNA-数据包在网络设备直接的通信流程的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【机器学习】 - Keras学习 - T
- 下一篇: 人民币将快速成为世界储备货币?如果实现,