一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

服務器之家:專注于服務器技術及軟件下載分享
分類導航

PHP教程|ASP.NET教程|Java教程|ASP教程|編程技術|正則表達式|C/C++|IOS|C#|Swift|Android|VB|R語言|JavaScript|易語言|vb.net|

服務器之家 - 編程語言 - 編程技術 - 向 GitHub 發了一個數據包,發現了···

向 GitHub 發了一個數據包,發現了···

2021-12-29 22:53編程技術宇宙軒轅之風O 編程技術

當我訪問那個讓萬千宅男程序員為之著迷的GitHub時,我電腦發出的數據包是如何抵達大洋彼岸的GitHub服務器的呢,這中間又要經過哪些節點呢?

向 GitHub 發了一個數據包,發現了···

大家好,我是軒轅。

那天,我突然想到一個問題:

當我訪問那個讓萬千宅男程序員為之著迷的GitHub時,我電腦發出的數據包是如何抵達大洋彼岸的GitHub服務器的呢,這中間又要經過哪些節點呢?

讓我們一起來探究下這個問題,請注意系好安全帶,軒轅的計算機網絡快車要發車了···

IP報文

互聯網把無數的手機、電腦、服務器、路由器、交換機等各種設備連接在一塊兒,那這些設備之間要通過網絡通信,自然就需要一套通信協議,TCP/IP就是這樣一套協議。

包括瀏覽器在內的這些應用程序發出的數據,被HTTP、TCP、IP協議層層封裝,最終形成一個個的IP報文,交給底層網卡發出去。

IP報文經過網絡中節點的不斷路由轉發,最終來到了目標服務器。

那如何知道路由轉發過程中,都經過了哪些網絡節點呢?

Windows上的tracert程序和Linux上的traceroute程序就能夠做到。

它們是如何做到的呢?

IP報文總不能無限制轉發吧,萬一搞了個循環轉發,那不就沒完沒了了?網絡中的IP報文有一個生存時間的概念,位于IP報文頭部字段中——TTL:time to live。

向 GitHub 發了一個數據包,發現了···

每經過一次轉發,TTL的值就會減1。如果某一個節點發現TTL變成了0,就會丟掉這個IP報文,并給這個數據報文的發送者發一個超時的通知消息過去。

tracert和traceroute正是利用了IP協議中的這個特點,將TTL的值從1開始遞增,觀察都是誰給自己發回了這個通知,就能判斷路由過程中經歷了哪些節點了。

這兩個程序的區別在于,tracert發送的是ICMP報文,traceroute發送的則是UDP報文。

路由跟蹤

好了,基礎知識交代完畢,趕緊來試一下,訪問GitHub的情況。

首先ping了一下,拿到了GitHub的IP地址:140.80.121.3。注意,這個地址,不同地區的人拿到的可能不一樣。

接下來路由跟蹤一下吧:

  1. F:\work>tracert 140.82.121.3
  2.  
  3. 通過最多 30 個躍點跟蹤
  4. 到 lb-140-82-121-3-fra.github.com [140.82.121.3] 的路由:
  5.  
  6. 1 <1 毫秒 <1 毫秒 <1 毫秒 10.??.??.1
  7. 2 <1 毫秒 <1 毫秒 <1 毫秒 10.??.??.??
  8. 3 2 ms 1 ms 1 ms 182.150.63.1
  9. 4 * * * 請求超時。
  10. 5 1 ms * 2 ms 171.208.199.81
  11. 6 * 25 ms * 202.97.29.45
  12. 7 * * * 請求超時。
  13. 8 36 ms 37 ms 36 ms 202.97.91.190
  14. 9 184 ms 191 ms 185 ms 202.97.27.242
  15. 10 195 ms 194 ms 194 ms xe-10-0-0.mpr4.sjc7.us.zip.zayo.com [64.125.14.45]
  16. 11 190 ms 190 ms 190 ms ae16.cr2.sjc2.us.zip.zayo.com [64.125.31.14]
  17. 12 324 ms 325 ms 324 ms ae27.cs2.sjc2.us.eth.zayo.com [64.125.30.232]
  18. 13 * * 333 ms ae16.cs2.den5.us.zip.zayo.com [64.125.28.215]
  19. 14 334 ms * * ae5.cs4.ord2.us.eth.zayo.com [64.125.29.217]
  20. 15 * 327 ms 325 ms ae3.cs2.lga5.us.eth.zayo.com [64.125.29.212]
  21. 16 * * * 請求超時。
  22. 17 * * * 請求超時。
  23. 18 332 ms 332 ms 340 ms ae0.cs1.lhr15.uk.eth.zayo.com [64.125.29.119]
  24. 19 * * * 請求超時。
  25. 20 343 ms 338 ms * ae4.cs1.ams17.nl.eth.zayo.com [64.125.28.36]
  26. 21 355 ms 353 ms 353 ms ae2.cs1.fra6.de.eth.zayo.com [64.125.29.58]
  27. 22 335 ms 334 ms 338 ms ae1.mcs1.fra6.de.eth.zayo.com [64.125.29.57]
  28. 23 340 ms 341 ms 341 ms 82.98.193.31
  29. 24 * * * 請求超時。
  30. 25 * * * 請求超時。
  31. 26 335 ms 343 ms 343 ms lb-140-82-121-3-fra.github.com [140.82.121.3]

可以看到,經過了26個節點的轉發后,最終到達了GitHub服務器。也就是說,你電腦發出的IP報文的TTL至少要大于等于26才能抵達GitHub,否則就會中道崩殂。

接下來,咱們來看一下,這一路都去了哪里?

1-2數據包從我的計算機發出后,遇到的第一個轉發節點就是我的本地局域網網關:10.??.??.1。為了安全性,我把IP地址進行了脫敏,中間兩段用?代替。

這之后第二個節點還是局域網的地址,由此可見,我所在的網絡格局,經過了兩級局域網路由轉發才上了公網。

3第三個轉發節點是一個公網地址:182.150.63.1,查了一下發現位于成都市武侯區,這和我的實際情況相符。

向 GitHub 發了一個數據包,發現了···

4接下來的第四個路由節點就有點迷了,三個時間點都是*,tracert顯示請求超時。出現這個意味著tracert程序在將TTL設置為4后,沒有收到通知,或者等待的時間太久。網絡中的有一些節點出于安全考慮可能并不會發送超時通知。

如此一來,tracert便無法知道這第四個節點到底是誰。

5第五個節點是:171.208.199.81,仍然還在成都。

向 GitHub 發了一個數據包,發現了···

6第六個節點時:202.97.29.45,到了北京了。

向 GitHub 發了一個數據包,發現了···

7第七個節點和第四個一樣,也看不到。

8第八個節點:202.97.91.190,來到上海了。

向 GitHub 發了一個數據包,發現了···

9第九個節點:202.97.27.242,還在上海。

向 GitHub 發了一個數據包,發現了···

10第十個節點:出國了,美國加利福尼亞州。

向 GitHub 發了一個數據包,發現了···

后面的咱就不看了,就是在美國境內各個節點的轉發了。

接下來看一下,這是一條什么樣的路徑呢?

ChinaNet

網絡數據包出了咱們本地的局域網后,就會通過電信運營商提供的城域網最終接入到更大的骨干網。

中國大陸地區的民用骨干網主要有四個:

  • ChinaNet:中國電信163骨干網
  • CN2:中國電信下一代承載網
  • CHINA169:中國聯通169骨干網
  • CMNET:中國移動骨干網

其中中國電信的163骨干網和中國聯通的169骨干網是最主要的兩個骨干網,承載了中國互聯網絕大多數的流量。

我所在的網絡,最后接入的就是中國電信的163骨干網,下面是163骨干網的一個大致網絡拓撲圖。

向 GitHub 發了一個數據包,發現了···

163骨干網在全國總共有9個核心節點:

  • 超級核心:北京、上海、廣州
  • 普通核心:天津、西安、南京、杭州、武漢、成都

9個核心節點各自負責中國大陸的一部分區域。

在北京、上海、廣州三個超級核心下還掛有國際網間互聯設備(X路由器) ,ChinaNet通過X路由器與世界上其他運營商互聯和流量互訪。

因此,通過163網絡出國,必然經過北上廣三個核心節點之一。

GitHub的服務器位于美國,對于一個要出國的數據包,它在出國前的大致旅程是這樣的:

本地局域網 -> 市級網絡 -> 省級網絡 -> 核心節點 -> 國際出口 -> 境外接入點

這個過程跟我們上面tracert追蹤到的路徑是吻合的。

想不到吧,就那么一回車,數據包竟然就跑了這么多地方,計算機網絡真是一個神奇的玩意。

原文鏈接:https://mp.weixin.qq.com/s/1Ic3yypcfMbu_Mm3GLUVpg

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 久久99国产亚洲高清观着 | 欧美一区高清 | 亚洲精品久久久WWW游戏好玩 | 香蕉视频在线观看网址 | 日韩aaa | 激情三级hd中文字幕 | 欧美综合影院 | 男人的天堂久久精品激情 | www视频免费 | 好猛好紧好硬使劲好大刺激视频 | 美女和男人一起差差 | 亚洲国产成人久久77 | 亭亭色| 国产日韩欧美色视频色在线观看 | asianfemdom妍妍女王 | 国产小视频免费看 | 精品国产乱码久久久久久人妻 | 久久这里只有精品国产精品99 | 99精品国产在现线免费 | 精品国产美女福利在线 | 504神宫寺奈绪大战黑人 | 双性小说肉| 无耻三级在线观看 | 美女模特被c免费视频 | 91.prom在线观看国产 | 国产精品免费aⅴ片在线观看 | 天天做天天爱天天爽综合网 | 亚洲一二三区视频 | 欧美深夜在线 | 日本不卡视频免费 | 桥本有菜作品在线 | 亚洲福利视频在线观看 | 精品国产品香蕉在线观看75 | 亚洲精品在线免费看 | 手机在线免费观看高清 | 国产日本免费 | 色美| 亚洲国产区中文在线观看 | 国产综合亚洲欧美日韩一区二区 | 催奶师小说 | 大伊香蕉在线精品不卡视频 |