2021-10-07 互聯(lián)網(wǎng)是如何運(yùn)作的

原文:互聯(lián)網(wǎng)是如何運(yùn)作的
以下是我的總結(jié)

介紹

互聯(lián)網(wǎng)所有的傳輸都通過(guò)TCP/IP協(xié)議族來(lái)傳輸,TCP/IP是面向連接可靠字節(jié)流服務(wù)協(xié)議

TCP/IP協(xié)議棧

您的計(jì)算機(jī)已連接到 Internet 并具有唯一的地址茬底。它如何與連接到 Internet 的其他計(jì)算機(jī)“交談”?

這里應(yīng)該有一個(gè)例子:假設(shè)您的 IP 地址是 1.2.3.4阱表,并且您想向計(jì)算機(jī) 5.6.7.8 發(fā)送一條消息贡珊。您要發(fā)送的消息是“Hello computer 5.6.7.8!”最爬。顯然门岔,消息必須通過(guò)將您的計(jì)算機(jī)連接到 Internet 的任何類型的線路傳輸。假設(shè)您已從家里撥入您的 ISP寒随,并且消息必須通過(guò)電話線傳輸。必須將消息從字母文本翻譯成電子信號(hào)互艾,通過(guò)互聯(lián)網(wǎng)傳輸,然后再翻譯回字母文本纫普。 這是如何實(shí)現(xiàn)的好渠?
通過(guò)使用協(xié)議棧昨稼。每臺(tái)計(jì)算機(jī)都需要一臺(tái)在 Internet 上進(jìn)行通信,它通常內(nèi)置于計(jì)算機(jī)的操作系統(tǒng)(即 Windows肴茄、Unix 等)中但指。由于使用了兩種主要的通信協(xié)議寡痰,Internet 上使用的協(xié)議棧被稱為 TCP/IP 協(xié)議棧棋凳。TCP/IP 堆棧如下所示:

  • 應(yīng)用層:提供特定于應(yīng)用程序的協(xié)議 HTTP FTP IMAP(郵件)
  • 網(wǎng)絡(luò)控制層(TCP):發(fā)送數(shù)據(jù)包到計(jì)算機(jī)上使用特定的端口號(hào)的應(yīng)用程序
  • 網(wǎng)絡(luò)層(IP):使用IP地址將數(shù)據(jù)包發(fā)送到特定的計(jì)算
  • 鏈路層:將二進(jìn)制數(shù)據(jù)包與網(wǎng)絡(luò)信號(hào)相互之間轉(zhuǎn)換(例如以太網(wǎng)網(wǎng)卡、電話線調(diào)制解調(diào)器等)

HTTP

HTTP 是 Web 瀏覽器和 Web 服務(wù)器用于通過(guò) Internet 相互通信的協(xié)議剩岳。它是一種應(yīng)用程序級(jí)協(xié)議,因?yàn)樗挥趨f(xié)議棧中 TCP 層的頂部拍棕,并被特定應(yīng)用程序用于相互通信。在這種情況下绰播,應(yīng)用程序是 Web 瀏覽器和 Web 服務(wù)器。

HTTP是一種基于無(wú)連接文本的協(xié)議链蕊∶冢客戶端(Web 瀏覽器)向 Web 服務(wù)器發(fā)送對(duì) Web 元素(例如網(wǎng)頁(yè)和圖像)的請(qǐng)求滔韵。請(qǐng)求被服務(wù)器服務(wù)后掌实,客戶端和服務(wù)器之間通過(guò) Internet 的連接斷開(kāi)。必須為每個(gè)請(qǐng)求建立一個(gè)新連接潮峦。大多數(shù)協(xié)議都是面向連接的。這意味著相互通信的兩臺(tái)計(jì)算機(jī)通過(guò) Internet 保持連接打開(kāi)嘱腥。然而拘悦,HTTP 沒(méi)有齿兔。在客戶端發(fā)出 HTTP 請(qǐng)求之前,必須建立到服務(wù)器的新連接添诉。

當(dāng)您在 Web 瀏覽器中鍵入 URL 時(shí),會(huì)發(fā)生以下情況:

  1. 如果 URL 包含域名栏赴,則瀏覽器首先連接到域名服務(wù)器并為 Web 服務(wù)器檢索相應(yīng)的 IP 地址。
  2. Web 瀏覽器連接到 Web 服務(wù)器并為所需的網(wǎng)頁(yè)發(fā)送 HTTP 請(qǐng)求(通過(guò)協(xié)議棧)靖秩。
  3. Web 服務(wù)器接收請(qǐng)求并檢查所需頁(yè)面须眷。如果頁(yè)面存在,則 Web 服務(wù)器發(fā)送它沟突。如果服務(wù)器找不到請(qǐng)求的頁(yè)面花颗,它將發(fā)送 HTTP 404 錯(cuò)誤消息。(404 的意思是“找不到頁(yè)面”惠拭,任何瀏覽過(guò)網(wǎng)絡(luò)的人都可能知道扩劝。)
  4. Web 瀏覽器接收回頁(yè)面并關(guān)閉連接。
  5. 然后瀏覽器解析頁(yè)面并查找完成網(wǎng)頁(yè)所需的其他頁(yè)面元素职辅。這些通常包括圖像棒呛、小程序等。
  6. 對(duì)于每個(gè)需要的元素罐农,瀏覽器會(huì)為每個(gè)元素向服務(wù)器發(fā)出額外的連接和 HTTP 請(qǐng)求条霜。
  7. 當(dāng)瀏覽器加載完所有圖像催什、小程序等后涵亏,頁(yè)面將完全加載到瀏覽器窗口中。

TCP(傳輸控制協(xié)議)

在協(xié)議棧的應(yīng)用層之下是TCP層蒲凶。當(dāng)應(yīng)用程序打開(kāi)與 Internet 上另一臺(tái)計(jì)算機(jī)的連接時(shí)气筋,它們發(fā)送的消息(使用特定的應(yīng)用程序?qū)訁f(xié)議)會(huì)沿堆棧向下傳遞到 TCP 層旋圆。TCP 負(fù)責(zé)將應(yīng)用程序協(xié)議路由到目標(biāo)計(jì)算機(jī)上的正確應(yīng)用程序潭袱。 為此呻待,使用端口號(hào)。端口可以被認(rèn)為是每臺(tái)計(jì)算機(jī)上的獨(dú)立通道。例如逾礁,您可以在閱讀電子郵件時(shí)上網(wǎng)。這是因?yàn)檫@兩個(gè)應(yīng)用程序(Web 瀏覽器和郵件客戶端)使用了不同的端口號(hào)阐污。當(dāng)數(shù)據(jù)包到達(dá)計(jì)算機(jī)并沿協(xié)議棧向上時(shí)溺忧,TCP 層根據(jù)端口號(hào)決定哪個(gè)應(yīng)用程序接收數(shù)據(jù)包。
TCP 是這樣工作的:

  • 當(dāng) TCP 層從上面接收到應(yīng)用層協(xié)議數(shù)據(jù)時(shí)敏弃,它會(huì)將其分段為可管理的“塊”卦羡,然后將帶有特定 TCP 信息的 TCP 標(biāo)頭添加到每個(gè)“塊”。TCP 頭中包含的信息包括數(shù)據(jù)需要發(fā)送到的應(yīng)用程序的端口號(hào)。
  • 當(dāng) TCP 層接收到來(lái)自其下方 IP 層的數(shù)據(jù)包時(shí)绿饵,TCP 層會(huì)從數(shù)據(jù)包中剝離 TCP 頭數(shù)據(jù)欠肾,必要時(shí)進(jìn)行一些數(shù)據(jù)重構(gòu),然后使用從 TCP 獲取的端口號(hào)將數(shù)據(jù)發(fā)送到正確的應(yīng)用程序標(biāo)題拟赊。

這就是 TCP 將通過(guò)協(xié)議棧移動(dòng)的數(shù)據(jù)路由到正確應(yīng)用程序的方式刺桃。

TCP 不是文本協(xié)議。TCP 是面向連接的吸祟、可靠的字節(jié)流服務(wù)虏肾。面向連接意味著兩個(gè)使用 TCP 的應(yīng)用程序在交換數(shù)據(jù)之前必須先建立連接。TCP 是可靠的欢搜,因?yàn)閷?duì)于收到的每個(gè)數(shù)據(jù)包封豪,都會(huì)向發(fā)送方發(fā)送確認(rèn)以確認(rèn)交付。TCP 還在其標(biāo)頭中包含一個(gè)校驗(yàn)和炒瘟,用于對(duì)接收到的數(shù)據(jù)進(jìn)行錯(cuò)誤檢查吹埠。
tcp在建立連接會(huì)進(jìn)行三次握手,每個(gè)收到的數(shù)據(jù)包都會(huì)向發(fā)送方發(fā)送ack確認(rèn)疮装,已確保發(fā)送成功

IP(互聯(lián)網(wǎng)協(xié)議)

與 TCP 不同缘琅,IP 是一種不可靠的無(wú)連接協(xié)議。IP 不關(guān)心數(shù)據(jù)包是否到達(dá)目的地廓推。IP 也不知道連接和端口號(hào)刷袍。 IP 的工作也是將數(shù)據(jù)包發(fā)送和路由到其他計(jì)算機(jī)。IP 數(shù)據(jù)包是獨(dú)立的實(shí)體樊展,可能無(wú)序到達(dá)或根本沒(méi)有到達(dá)呻纹。TCP 的工作是確保數(shù)據(jù)包到達(dá)并以正確的順序。IP 與 TCP 的唯一共同點(diǎn)是它接收數(shù)據(jù)并將其自己的 IP 標(biāo)頭信息添加到 TCP 數(shù)據(jù)专缠。

IP是不可靠的無(wú)連接協(xié)議雷酪,它并不關(guān)心數(shù)據(jù)包是否到達(dá)目的地,也不關(guān)系連接和端口號(hào)涝婉,目的是連接到目標(biāo)IP

Ip是一種協(xié)議 有兩種標(biāo)準(zhǔn) IPv4 2^32次方和IPv6 2^128

TCP傳輸?shù)馁|(zhì)量和順序

當(dāng)數(shù)據(jù)包過(guò)大哥力,在網(wǎng)絡(luò)層會(huì)進(jìn)行分包,分包后傳輸?shù)逆溌凡灰粯佣胀洌竭_(dá)的時(shí)間不一樣吩跋,TCP會(huì)根據(jù)數(shù)據(jù)包上攜帶序列號(hào)來(lái)進(jìn)行排序重組,如果發(fā)送方在一個(gè)特定時(shí)間內(nèi)(也就是重試時(shí)間)沒(méi)有接受到接收方的ack確認(rèn)渔工,會(huì)再次重新發(fā)送

網(wǎng)絡(luò)傳輸

  1. 個(gè)人電腦
  2. 貓(調(diào)制解調(diào)器)
  3. local ISP 互聯(lián)網(wǎng)服務(wù)提供商
  4. regional ISP 經(jīng)過(guò)多個(gè)主干網(wǎng)絡(luò)
  5. NSP 網(wǎng)絡(luò)服務(wù)提供商 大型網(wǎng)絡(luò) 賣(mài)帶寬給ISP
  6. NAP 每個(gè)NSP連接到至少三個(gè)網(wǎng)絡(luò)訪問(wèn)點(diǎn)
  7. ISP NSP 所有網(wǎng)絡(luò)提供都攜帶路由器锌钮,每個(gè)路由有當(dāng)前子網(wǎng)絡(luò)ip的路由表,當(dāng)?shù)讓酉蛏蠈影l(fā)送數(shù)據(jù)時(shí)候涨缚,找不到會(huì)依次向上找轧粟,可能由一個(gè)主干網(wǎng)絡(luò)跳到另外一個(gè)主干網(wǎng)絡(luò)策治。

DNS服務(wù)

存在意義是IP別名,不讓公司丟客戶兰吟,也容易記通惫,DNS是一個(gè)分布式數(shù)據(jù)庫(kù),存儲(chǔ)了域名和IP的對(duì)應(yīng)關(guān)系

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末混蔼,一起剝皮案震驚了整個(gè)濱河市履腋,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌惭嚣,老刑警劉巖遵湖,帶你破解...
    沈念sama閱讀 211,743評(píng)論 6 492
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異晚吞,居然都是意外死亡延旧,警方通過(guò)查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,296評(píng)論 3 385
  • 文/潘曉璐 我一進(jìn)店門(mén)槽地,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)迁沫,“玉大人,你說(shuō)我怎么就攤上這事捌蚊〖” “怎么了?”我有些...
    開(kāi)封第一講書(shū)人閱讀 157,285評(píng)論 0 348
  • 文/不壞的土叔 我叫張陵缅糟,是天一觀的道長(zhǎng)挺智。 經(jīng)常有香客問(wèn)我,道長(zhǎng)窗宦,這世上最難降的妖魔是什么赦颇? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 56,485評(píng)論 1 283
  • 正文 為了忘掉前任,我火速辦了婚禮迫摔,結(jié)果婚禮上沐扳,老公的妹妹穿的比我還像新娘。我一直安慰自己句占,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,581評(píng)論 6 386
  • 文/花漫 我一把揭開(kāi)白布躯嫉。 她就那樣靜靜地躺著纱烘,像睡著了一般。 火紅的嫁衣襯著肌膚如雪祈餐。 梳的紋絲不亂的頭發(fā)上擂啥,一...
    開(kāi)封第一講書(shū)人閱讀 49,821評(píng)論 1 290
  • 那天,我揣著相機(jī)與錄音帆阳,去河邊找鬼哺壶。 笑死,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的山宾。 我是一名探鬼主播至扰,決...
    沈念sama閱讀 38,960評(píng)論 3 408
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼资锰!你這毒婦竟也來(lái)了敢课?” 一聲冷哼從身側(cè)響起,我...
    開(kāi)封第一講書(shū)人閱讀 37,719評(píng)論 0 266
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤绷杜,失蹤者是張志新(化名)和其女友劉穎直秆,沒(méi)想到半個(gè)月后,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體鞭盟,經(jīng)...
    沈念sama閱讀 44,186評(píng)論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡圾结,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,516評(píng)論 2 327
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了齿诉。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片疫稿。...
    茶點(diǎn)故事閱讀 38,650評(píng)論 1 340
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖鹃两,靈堂內(nèi)的尸體忽然破棺而出遗座,到底是詐尸還是另有隱情,我是刑警寧澤俊扳,帶...
    沈念sama閱讀 34,329評(píng)論 4 330
  • 正文 年R本政府宣布途蒋,位于F島的核電站,受9級(jí)特大地震影響馋记,放射性物質(zhì)發(fā)生泄漏号坡。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,936評(píng)論 3 313
  • 文/蒙蒙 一梯醒、第九天 我趴在偏房一處隱蔽的房頂上張望宽堆。 院中可真熱鬧,春花似錦茸习、人聲如沸畜隶。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 30,757評(píng)論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)籽慢。三九已至,卻和暖如春猫胁,著一層夾襖步出監(jiān)牢的瞬間箱亿,已是汗流浹背。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 31,991評(píng)論 1 266
  • 我被黑心中介騙來(lái)泰國(guó)打工弃秆, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留届惋,地道東北人髓帽。 一個(gè)月前我還...
    沈念sama閱讀 46,370評(píng)論 2 360
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像脑豹,于是被迫代替她去往敵國(guó)和親郑藏。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,527評(píng)論 2 349

推薦閱讀更多精彩內(nèi)容