偷偷摘套内射激情视频,久久精品99国产国产精,中文字幕无线乱码人妻,中文在线中文a,性爽19p

一文入門DNS?從訪問GitHub開始

網(wǎng)絡(luò) 網(wǎng)絡(luò)管理
大家都是做開發(fā)的,都有GitHub的賬號,在日常使用中肯定會遇到這種情況,在不修改任何配置的情況下,有時可以正常訪問GitHub,有時又直接未響應(yīng),來一起捋捋到底是為啥。

?[[335061]]?

前言

大家都是做開發(fā)的,都有GitHub的賬號,在日常使用中肯定會遇到這種情況,在不修改任何配置的情況下,有時可以正常訪問GitHub,有時又直接未響應(yīng),來一起捋捋到底是為啥。

GitHub訪問的千層套路

以我家里的電腦為例,在不修改任何配置,不啟用什么代理工具的情況下,訪問GitHub會得到以下結(jié)果:

??

雖然很戳心,但好歹能展示一部分。

從網(wǎng)上搜了一堆亂七八糟的攻略,知道了可以通過修改電腦的Hosts文件達到正常訪問的能力,于是胡搜了一通,

步驟:百度經(jīng)驗

效果如下:

??

 

訪問效果依然很感人,最近活動數(shù)據(jù)不顯示,整個界面加載都快接近2分鐘了,有什么辦法沒有咧~

站長工具 PING PING PING

都是搞開發(fā)的,都會用F12看看網(wǎng)絡(luò)或者資源請求的地址是什么,以上面耗時最慢的地址為例,域名為:github.githubassets.com

打開站長工具的PING功能,地址為:http://ping.chinaz.com/github.githubassets.com

結(jié)果如下:

??

 

我發(fā)現(xiàn) 185.199.108.154 這個IP地址速度快的一批,于是立馬更換 Hosts中該域名對應(yīng)的IP地址

再次訪問,效果如下:

??

 

那句話怎么說的來著?如什么什么般絲滑,我感覺這就非常絲滑~ ??

GitHub項目定時發(fā)布最新Hosts

當然了,如果每次訪問都得折騰一次,那滋味,簡直不要太難受,所以網(wǎng)上已經(jīng)有人開源了相關(guān)的項目,會定時發(fā)布最新的 GitHub IP地址,鏈接:https://github.com/521xueweihan/GitHub520

本文撰寫時的Hosts

# github
185.199.108.154 github.githubassets.com
199.232.68.133 camo.githubusercontent.com
52.168.24.190 github.map.fastly.net
199.232.69.194 github.global.ssl.fastly.net
140.82.112.4 github.com
140.82.112.5 api.github.com
199.232.68.133 raw.githubusercontent.com
199.232.68.133 user-images.githubusercontent.com
199.232.68.133 favicons.githubusercontent.com
199.232.68.133 avatars5.githubusercontent.com
199.232.68.133 avatars4.githubusercontent.com
199.232.68.133 avatars3.githubusercontent.com
199.232.68.133 avatars2.githubusercontent.com
199.232.68.133 avatars1.githubusercontent.com
199.232.68.133 avatars0.githubusercontent.com

該項目會自動發(fā)布在指定的地址上,結(jié)合軟件使用,可以完全自動化,無需持續(xù)更新

當然也可以自行手動更改

為什么改了Hosts就能訪問GitHub

平常都是百度 + 谷歌,今天非要探究一下原理!咱們一步一步來,首先大家都需要明確一點,在網(wǎng)絡(luò)的世界中 域名 只是為了便于記憶和識別而存在的一個唯一地址,真正工作的仍然是 IP

Hosts文件是干嗎的

簡單來說,Hosts文件是存儲本機網(wǎng)址域名與其對應(yīng)的IP地址的一個文件,在網(wǎng)絡(luò)請求階段發(fā)揮作用

為什么改了Hosts就能生效

這就涉及到了域名解析,因為Hosts文件存放的就是 域名 和 IP 的對應(yīng)關(guān)系,因此它可以在域名解析階段發(fā)揮作用,為什么呢?因為在域名解析的流程中 本機Hosts 解析處于順序二

即:瀏覽器解析 -》本機解析 -》XXXX(后面的稍后再提)

所以有時候我們白嫖軟件,都會改一下 Hosts,因為需要把它在線驗證的域名指向錯誤的地址去,另外可能存在一定的瀏覽器緩存或者本機緩存,可以通過重開瀏覽器或者 PING域名來檢查更改是否生效。

DNS解析到底是什么玩意?

上文中多次提到解析,其實說的就是 DNS解析

同時上文也提到過,在網(wǎng)絡(luò)世界中真正發(fā)揮作用的是 IP,而一般情況下我們訪問的都是域名,為什么能實現(xiàn)這種效果,就是因為域名與IP地址的對應(yīng)關(guān)系存儲在一個叫做 DNS(Domain Name System) 的系統(tǒng)里。DNS是一個全球化的分布式數(shù)據(jù)庫,它所提供的服務(wù)就是將域名轉(zhuǎn)換為互聯(lián)網(wǎng)IP地址。

DNS解析的全部流程

網(wǎng)上的關(guān)于流程的圖很多,我從中借鑒了一副,如下所示:

??

 

  1. 瀏覽器緩存:一次請求會首先通過瀏覽器緩存信息尋找域名映射的IP地址,這也是為什么有時候我們改了本機hosts,需要關(guān)閉再打開瀏覽器才能正常使用,如果找到則返回,沒找到則繼續(xù)到下一級
  2. 本機系統(tǒng)緩存:即上文中提到的,通過 hosts 文件來映射域名和IP,在上古時期有很多垃圾軟件會悄咪咪的修改系統(tǒng)的 hosts文件,達到 DNS劫持 的目的,即把淘寶域名指向另一個 IP,然后部署一個高仿的淘寶商城,靜靜等你輸入賬號,密碼,然后涼涼...
  3. 本地域名解析服務(wù)系統(tǒng):本地域名系統(tǒng)LDNS一般都是本地區(qū)的域名服務(wù)器。離你的位置都比較近,Windows系統(tǒng)使用命令ipconfig 就可以查看,在Linux和Mac系統(tǒng)下,直接使用命令 cat /etc/resolv.conf 來查看LDNS服務(wù)地址。LDNS一般都緩存了大部分的域名解析的結(jié)果,大部分的解析工作到這里就差不多已經(jīng)結(jié)束了
  • 以下即是所謂的 遞歸解析
  1. 根域名解析:本地域名解析服務(wù)系統(tǒng)無法解析時,會向 13根 發(fā)起域名解析請求
  • 說明: 所謂的 13根,指的是根域名服務(wù)器,是架構(gòu)因特網(wǎng)所必須的基礎(chǔ)設(shè)施。根服務(wù)器主要用來管理互聯(lián)網(wǎng)的主目錄,由于DNS解析中采用的是UDP協(xié)議,僅能傳遞512字節(jié)的有效報文,因此只能構(gòu)建出A-M 13個根服務(wù)器,而真正工作運行肯定不止13臺服務(wù)器,而是包含很多服務(wù)器鏡像的
  1. 根域名解析服務(wù)器返回 gTLD (Generic top-level domain) 給本地解析服務(wù)器,即該域名所屬的頂級域及其所在的服務(wù)器,頂級域名即如:.com .cn等等
  2. 本地解析服務(wù)器已知頂級域名服務(wù)器地址后,發(fā)起解析請求
  3. 頂級域名解析服務(wù)器返回 權(quán)限域名服務(wù)器 信息給本地解析服務(wù)器,權(quán)限域名服務(wù)器 即如:taobao.com
  4. 本地解析服務(wù)器已知權(quán)限域名服務(wù)器地址后,發(fā)起解析請求
  5. 權(quán)限域名服務(wù)器返回域名對應(yīng)的IP地址給本地解析服務(wù)器
  6. 本地解析服務(wù)器緩存相關(guān)信息,并返回給用戶

是不是有點繞?咱們來整個圖吧,遞歸解析 如下所示:

??

 

再問一遍為什么改Hosts就可以訪問GitHub

了解了上文之后,對于這個問題就更好回答了,因為GitHub畢竟為外國的網(wǎng)站,咱們訪問時有一層 DNS污染,即把對應(yīng)的域名指向了不可達的IP上,或者禁止訪問的IP上,因此很多時候無法使用

修改Hosts文件后即避免了DNS污染,直達目標IP,即可正常訪問了,當然了,這種方法是全部通用嗎?

答案:肯定不是,因為剛才也提到了,網(wǎng)關(guān)層是可以控制某些IP禁止訪問的

整一個工具來驗證一下猜想,順便看看我們的整個請求流程:

軟件名:BestTrace

??

 

我請求的域名是 github.githubassets.com,最終請求接收方IP和我Hosts配置的IP一致,那我換一個 facebook.com

??

 

可以看到,當請求到達 221.183.46.249 這個IP時,整個請求就被攔截下來了,因此這并不是萬能的辦法

除了訪問GitHub,還有什么時候可能用到呢?

比如下載 IDEA插件時,如果發(fā)現(xiàn)老是刷新不出來插件庫,或者下載失敗,就可以通過PING工具去配置最佳IP,方便下載~

DNS除了解析還能做什么智能DNS網(wǎng)絡(luò)請求交由域名解析服務(wù)器來處理,分配到最佳的服務(wù)器IP上

例如:請求的源頭是電信還是聯(lián)通等,如果是電信則將解析的IP分流到電信對應(yīng)的IP上,或者返回距離最近的服務(wù)器IP地址

反向代理水平擴展典型的互聯(lián)網(wǎng)架構(gòu)中,可以通過增加web-server來擴充web層的性能,但反向代理nginx仍是整個系統(tǒng)的唯一入口

如果系統(tǒng)吞吐超過nginx的性能極限,那么將難以擴容,此時就需要dns-server來配合水平擴展。

即DNS解析服務(wù)器有序的把域名解析到不同的網(wǎng)關(guān)層,每次DNS解析請求,輪詢返回不同的ip,這樣就能實現(xiàn)nginx的水平擴展,這個方法叫 “DNS輪詢”

本文轉(zhuǎn)載自微信公眾號「是Kerwin啊」,可以通過以下二維碼關(guān)注。轉(zhuǎn)載本文請聯(lián)系是Kerwin啊公眾號。

??

 

 

責任編輯:武曉燕 來源: 是Kerwin啊
相關(guān)推薦

2022-12-01 17:23:45

2021-05-29 10:11:00

Kafa數(shù)據(jù)業(yè)務(wù)

2019-06-23 15:21:42

Google谷歌平板

2020-07-10 08:03:35

DNS網(wǎng)絡(luò)ARPAne

2023-12-18 10:45:31

2022-05-16 10:49:28

網(wǎng)絡(luò)協(xié)議數(shù)據(jù)

2024-10-10 17:55:57

LinuxACL訪問控制列表

2021-02-22 09:44:03

KubernetesDNSLinux

2020-09-27 08:00:49

分庫分表

2023-07-07 08:00:00

KafkaSpringBoo

2024-10-08 08:52:59

2022-09-05 09:25:53

KubernetesService

2022-05-11 11:54:55

Http傳送協(xié)議

2017-11-28 15:20:27

Python語言編程

2025-02-05 10:07:57

2021-01-27 12:22:08

Python爬蟲代碼

2013-05-17 11:31:36

2024-03-01 08:13:45

Shell編程解釋器

2019-07-12 11:28:00

元數(shù)據(jù)大數(shù)據(jù)存儲

2023-03-30 09:53:57

點贊
收藏

51CTO技術(shù)棧公眾號