看片91_日日综合_成人黄色短视频在线观看_91视频 - v11=Av_国产高潮失禁喷水爽到抽搐视频_天天都色视频

電腦是怎么知道它自己已經(jīng)聯(lián)上網(wǎng)(怎么知道電腦有沒有聯(lián)網(wǎng))

小編:餓狼 更新時間:2022-08-19 20:38

簡單解釋, 當你的操作系統(tǒng)連接特定 HTTP 服務, 比如 http://www.gstatic.com/generate_204, 如果能夠返回 204 狀態(tài)碼, 那就基本說明你連接上網(wǎng)絡了. 如果被 301, 說明你已經(jīng)有 IP, 但是你的網(wǎng)絡可能是一個付費網(wǎng)絡, 會跳轉到一個頁面讓你付錢/登陸. 如果無法解析域名/創(chuàng)建 TCP 連接, 說明你的三層/四層網(wǎng)絡存在問題, 再下去多半是網(wǎng)線沒插之類的物理層問題.

至于 TCP/UDP(一般主要是為了 DNS) 無法創(chuàng)建, 有可能是因為沒路由, 或者是 SYN 過去沒包回來超時, 或者是 SYN 飛過去, 中間路由 ICMP 告訴你目標不可達; 如果是創(chuàng)建 socket 失敗說明可能沒三層 IP, 沒 IP 可能是因為沒網(wǎng)卡/沒插網(wǎng)線/二層里沒有 DHCP 或者沒有設置 IP.

但是你看到這些沒明白, 你看下面可能都不見得明白. 很多人自以為明白上面那些內(nèi)容, 實際上不少觀點還是錯誤的.

首先就是很經(jīng)典的五層網(wǎng)絡模型:

電腦是怎么知道它自己已經(jīng)聯(lián)上網(wǎng)(怎么知道電腦有沒有聯(lián)網(wǎng))

首先從物理層開始說.

所謂物理層, 就是雙絞線/光纖/無線電等傳輸介質(zhì). 比方說電腦上顯示的「網(wǎng)線已經(jīng)拔出」, 就說明物理層沒有建立鏈接. 還有就是雙絞線以太網(wǎng)的速度協(xié)商, 光模塊的功率協(xié)商, 各種無線網(wǎng)絡的時分/碼分/空分/功率協(xié)商技術都是物理層的體現(xiàn).

電腦是怎么知道它自己已經(jīng)聯(lián)上網(wǎng)(怎么知道電腦有沒有聯(lián)網(wǎng))

無線網(wǎng)絡的頻率,信噪比, 帶寬, 物理模式

電腦是怎么知道它自己已經(jīng)聯(lián)上網(wǎng)(怎么知道電腦有沒有聯(lián)網(wǎng))

光模塊的信息, 包含了波長, 電壓, 功率, 發(fā)射/接收功率(信噪比)

電腦是怎么知道它自己已經(jīng)聯(lián)上網(wǎng)(怎么知道電腦有沒有聯(lián)網(wǎng))

有線網(wǎng)絡的狀態(tài)

接下來就是媒體訪問控制層, 也即是 MAC 層, 簡稱二層, 代表的以太網(wǎng)設備有交換機/無線AP.

首先要確定, 我們的以太網(wǎng)是一個「分組傳輸」機制, 也就是數(shù)據(jù)流(stream), 會被切成分組(packet), 而每個數(shù)據(jù)分組都有可能因為各種問題, 比如你的網(wǎng)線質(zhì)量不好, 然后產(chǎn)生錯誤被分組內(nèi)的校驗和檢查出來, 然后被交換機丟掉; 與分組傳輸機制對應的就是「電路交換」, 比如工作在電路域的電話, 本質(zhì)上是機器代替人工幫你完成了從你的電話到你交流的人的線.

而分組在二層上的大小, 被稱為 MTU, 最大傳輸單元, 超過這個大小, 就會嘗試調(diào)整或在三層進行拆分;所有以太網(wǎng)二層設備都會有一個能接受的最大 MTU, 和一個標記設備的 mac 地址. 這個地址的前 24bit 是 vendor ID, 廠商編號

這一層包含了著名的 ARP 協(xié)議(地址解析協(xié)議), 簡單來說就是用于完成 IP 地址-> mac 物理地址的轉換, 就好比教室里你喊一聲某個同學的名字, 然后那個同學/知道那個同學的人就會回答你他所在的座位坐標. 如果多個 mac 地址對應了一個 IP 地址, 我們就說 IP 地址發(fā)生了沖突, 好比兩個人坐在了一個位置上.

以及還有 IPv4 里面非常基礎的 DHCP 協(xié)議, 這個協(xié)議好比一個老師, 當你沒有就坐(沒有分配到 IP 地址)的時候, 可以聽到老師(們)宣布分配座位的廣播, 然后你選擇一個選擇老師的分配廣播, 請求這個老師為自己分配位置. 當然這個位置是有時間限制的, 到這個期限之前就要提出續(xù)約, 當然老師也可要求你改變位置. 當然你自己也可以坐在一個固定位置, 相當于手工設置 IP(但是如果和別人不在一個子網(wǎng)(subnet)里面, 除非有人充當 arp proxy 的角色, 不然你就無法和不在一個子網(wǎng)的同一個二層人進行 IP 的傳輸.

電腦是怎么知道它自己已經(jīng)聯(lián)上網(wǎng)(怎么知道電腦有沒有聯(lián)網(wǎng))

DHCP 的狀態(tài)機

其中大多數(shù)操作系統(tǒng)當檢測到鏈接到一個二層但是沒有 DHCP 的時候, 就會使用一個特殊的 link-local 機制, 為自己分配一個 169.254.0.0/16 的地址, 后面的 /16 是根據(jù)自己 mac 地址的填充. 所以當你把兩臺電腦直接用 RJ45 網(wǎng)線連接在一起的時候, 理論上常見的操作系統(tǒng)的 DHCP client 都會配置上這個地址, 從而允許通過 IP 連接.

而 IPv6 不主張使用 DHCP 的分配模式, 而是使用類似 link local 那樣的自己設置+隨機生成的模式, 讓設備拿到, 這套機制叫 SLAAC, 借助的協(xié)議叫做 NDP, 其中需要二層網(wǎng)絡里面有一個三層路由器宣告自己的 IPv6 路由, 大概就是比如說 2001:2333::2a4e/48是你的路由器, 他告訴這個網(wǎng)絡的人他有到 2000::/3(差不多是 IPv6 的公網(wǎng)地址) 的路由, 那么你就可以通過他的地址前綴 2001:2333::/48 給自己取名字. 其中一個相對固定的名字是通過你的 mac 地址來確定, 而因為 SLACC 地址前綴都只要有 /64, 所以就需要一套機制完成 48bit 的 mac 地址到 64bit, 即 EUI64. 除了這個地址之外就是一些臨時地址, 直接隨機生成, 用于提供 IPv6 的匿名性.

所以簡單說二層的意義就是讓一堆在不同物理層的設備連接在一起交換數(shù)據(jù), 同時為各種三層上的數(shù)據(jù)連接/交換做準備.

然后就是三層, 也叫做 IP 層. 其實我們在以太網(wǎng)二層里面講了很多三層的信息. 其實簡單的說一二層的各種作用就是讓我能夠拿到 IP 地址, 并且能和其他 IP 地址的設備進行通信:

電腦是怎么知道它自己已經(jīng)聯(lián)上網(wǎng)(怎么知道電腦有沒有聯(lián)網(wǎng))

我們通過 DHCP/PPPo/SLAAC 拿到 IP 地址, 但是不足以說明我們真的能連上互聯(lián)網(wǎng). 所以三層的重點就在于路由. 所謂路由就好比剛才那個給你分配地址的 DHCP 老師, 他告訴你, 如果你要訪問別的班級, 那么你需要把信息傳達給一個中介, 這個中介很多時候就是這個老師, 有的時候就是別的同學; 這個中介通常叫做網(wǎng)關, 而作為一個萌新, 你通常也不會有別的路由, 所以這個網(wǎng)關帶來的路由意義就很重要, 通常就叫做「默認路由」, 剛才提到的 2000::/3, 就是 IPv6 里面最重要的一類「默認路由」.

然而這個經(jīng)過路由后面的交換層不一定就是你要訪問的對象, 還要經(jīng)過別的路由器. 通常來說就需要各種路由協(xié)議讓各個路由器之間互相交換信息, 這里根據(jù)很多路由協(xié)議, 比如基于距離向量的 RIP, 還有基于圖論 Dijkstra 最短路徑算法的 OSPF, 還有像是 IS-IS 協(xié)議. 當然這些都是 AS 內(nèi)的協(xié)議, 在今天互聯(lián)網(wǎng)起著決定性作用的協(xié)議還是 BGP 協(xié)議. 同時 BGP 協(xié)議關聯(lián)的還有 IP 地址塊的分配.

然而三層本身還是有個問題: 他仍然是一個分組交換. 換句話說, 你發(fā)一個 ICMP echo(也就是經(jīng)常說的 ping 包), 中間路由任何一條丟了就沒了. 但是你訪問的網(wǎng)頁所建立的連接 就不能因為一個包丟了就完全壞了, 所以我們還需要一層.

這就是傳輸層, 最典型的協(xié)議就是 TCP 和 UDP.

先說 UDP, UDP 就是在 IP 包的基礎上加上端口機制, UDP 本身沒有連接的概念, 也就是有一說一, 直接發(fā)了就行. 然后從你自己的一個信箱(端口)發(fā)了之后就到了另外一個端口(信箱), 這樣對面的應用就能讀這個信箱.

而 TCP 不僅僅是在 IP 包上加了端口那么簡單, 更重要的是他提供了一種可靠的交付方式, 即 ARQ 機制, 換句話說兩邊建立連接之后發(fā)送的所有內(nèi)容, 都會有個「簽收」機制保證到達, 如果不到的話就會重發(fā); 并且有擁塞控制機制, 防止因為發(fā)送速率過快導致中間路由超載(buffer 用完)導致的大量丟包, 讓速度維持在一個可靠的位置.

但是 TCP 的可靠是有代價的, 首先它需要建立連接, 而 UDP 直接發(fā)包就行. TCP 監(jiān)測到自己發(fā)送的包丟失之后, 會暫時停止/減慢后面的數(shù)據(jù)包的發(fā)送, 主要會先把漏掉的包補上. 而監(jiān)測到對面過來的數(shù)據(jù)包丟失的一邊, 這個丟失數(shù)據(jù)包后面的包則無法交付給用戶, 所以就會造成一個瞬間的大延時. 也就是所謂的 TCP 的實時性差. 借助 TCP 的語音/直播應用, 就需要加入比較的緩沖空間, 避免這些延遲造成的中斷. 換句話說就是用一個固定的延遲中和掉了隨機產(chǎn)生的大延遲, 讓人感覺連接沒有中斷. 而 UDP 雖然實時性好, 但是就 UDP 協(xié)議棧本身沒法抵抗丟包, 除非應用有一套類似的 ARQ 機制, 或者 UDP 發(fā)送的內(nèi)容里面包含了冗余編碼, 從而在個別包丟失的情況下, 其他抵達的包仍然能還原內(nèi)容. 特別是音頻/視頻應用里面這種技術非常的有用. 換句話說丟包對于這些有冗余設計的應用來說只是短暫降低了傳輸?shù)馁|(zhì)量, 但是并不會造成業(yè)務的中斷.

有了 TCP 我們就可以建立連接. 但是連接之上我們需要一套協(xié)議, 用戶規(guī)范連接里面的「禮儀」, 也就是各種各樣的協(xié)議, 其中使用最廣泛的代表就是 HTTP 協(xié)議. HTTP 不僅僅是用來傳輸文本, 比如網(wǎng)頁, 還包含了 RPC 的基本設計理念, 比如 RESTful, 就好比你用 HTTP 傳輸你點個外賣的信息, POST 方法就是發(fā)出點外賣的請求, PUT 方法就是改變外賣訂單信息, GET 方法就是獲取訂單狀態(tài), DELETE 方法就是撤銷訂單. 同樣類比, 你查看這個回答就是 GET, 提交評論是 POST, 修改提交的評論是 PUT, 刪除評論是 DELETE. 這樣一套標準就能很方便實現(xiàn)各種功能.

但是問題在于這套協(xié)議構建在明文的 TCP 之上, 所以我們就需要 TLS/SSL 加密保護我們的 TCP 連接. 被 TLS/SSL 保護的 HTTP 也被叫做 HTTPS. 而加密之外還要進行身份驗證(使用非對稱密鑰), 不能連上假的知乎, 那么就需要 PKI 機制去驗證這個知乎的真?zhèn)? 然后驗明正身的同時還需要協(xié)商出一把公共密鑰(使用非對稱密鑰或者 DH 算法生成公共秘密)和對稱加密算法(加解密是同一把密鑰), 用于加密雙方通信.

電腦是怎么知道它自己已經(jīng)聯(lián)上網(wǎng)(怎么知道電腦有沒有聯(lián)網(wǎng))

DigiCert 簽發(fā)的知乎域名證書

電腦是怎么知道它自己已經(jīng)聯(lián)上網(wǎng)(怎么知道電腦有沒有聯(lián)網(wǎng))

這里展示了加密了 TLS 的版本, 密鑰協(xié)商算法 ECDHE_RSA, 非對稱橢圓曲線算法 X25519 用于身份驗證, AES-128-GCM 用于對稱密鑰加密傳輸, 其中還有一個消息摘要/哈希算法沒有展示, 目前安全的算法通常是 SHA256, 還有 SHA3, 以及國密 SM3 干的也是這個事情

然后我們又回到最初的那段話了, 如果我們的 HTTP 返回的是 204(注意那個頁面就是為了返回 204), 說明你大概率連上了互聯(lián)網(wǎng), 只不過身份確認無法做. 而還有個情況就是中間有人通過 DNS/路由/HTTP 劫持等手段掌握了你的 HTTP 連接(HTTPS + HSTS 做不到), 那么他就能發(fā)出 301 請求, 把你定位到另外一個頁面, 這種技術通常叫做 portal, 也就是常見讓你在付費的免費 Wi-Fi 下, 系統(tǒng)彈出一個頁面讓你登陸/付費.

主站蜘蛛池模板: 国产精品电影在线观看 | 欧美三级免费看 | 一级免费黄| 国产精品久久久一区二区三区 | 日a在线| 国产成人在线视频 | 欧美成人免费在线观看 | 成人精品免费视频 | 国产成人一区 | 国产日韩视频在线 | 久久国产精品久久久 | 国产精品久久久久久影院8一贰佰 | 精品国产免费人成在线观看 | 一区二区福利视频 | 亚洲欧美久久 | yellow视频在线观看免费 | 日韩精品在线观看视频 | 亚洲精品福利 | 亚洲日本成人 | 91精品国产一区二区三区 | 99re在线视频 | 国产精品3区 | 午夜精品久久久久久久白皮肤 | 精品成人 | 91亚洲国产 | 成人欧美一区二区 | 欧美国产精品一区二区 | 欧美一级在线观看 | 久久aⅴ乱码一区二区三区 精品99久久久久久 99热视 | 丁香婷婷综合网 | 亚洲在线一区二区三区 | 国产一区久久久 | 亚洲国产成人精品久久久国产成人一区 | 欧美视频区 | 日韩免费不卡视频 | 99久久综合国产精品二区国产 | 欧美成人在线网站 | 欧美在线观看网站 | 可以免费看av | 日韩一区二区三区在线播放 | 中文字幕91爱爱 |