網(wǎng)絡和IP

HTTP協(xié)議

HTTP, 超文本傳輸協(xié)議, HyperText Transfer Protocol, 是用于傳輸HTML的協(xié)議, 它被設計用于瀏覽器和服務器之間的通信, 遵循客服端-服務端模型(client-server), HTTP是無狀態(tài)協(xié)議, 意味這服務器不會在兩個請求直接留下任何數(shù)據(jù)或者狀態(tài), HTTP只負責規(guī)定請求和響應的寫法.HTTP的底層實際是由TCP協(xié)議和IP協(xié)議構建的.

請求和響應

HTTP概述

TCP協(xié)議

TCP, 傳輸控制協(xié)議, Transmission Control Protocol, 是主要的網(wǎng)絡協(xié)議之一, 它使兩臺主機(電腦)能夠建立連接并交換數(shù)據(jù)流, TCP能保證數(shù)據(jù)的交付, 維持數(shù)據(jù)包的發(fā)送順序.

TCP 是互聯(lián)網(wǎng)的基本通信語言協(xié)議宙拉。它會校驗包的交付瘫怜。TCP 被用于 Web 瀏覽器連接到互聯(lián)網(wǎng)時以及從一個地址向另一個地址發(fā)送文件傳遞電子郵件。TCP 確保數(shù)據(jù)傳輸?shù)目煽啃悦旨ぃ⑶冶WC每一個字節(jié)在接收時維持它們的發(fā)送順序情屹。操作系統(tǒng)通過一個編程接口來管理TCP敌厘。TCP 使用三次握手來建立一個連接和四次分手來中斷一個連接糠亩。

TCP詳解

UDP協(xié)議

UDP, 用戶數(shù)據(jù)包協(xié)議, User Datagram Protocol, 是一個簡單的面向數(shù)據(jù)報的傳輸層協(xié)議.

在TCP/IP模型中汹桦,UDP為網(wǎng)絡層以上和應用層以下提供了一個簡單的接口鲁驶。UDP只提供數(shù)據(jù)的不可靠傳遞,它一旦把應用程序發(fā)給網(wǎng)絡層的數(shù)據(jù)發(fā)送出去舞骆,就不保留數(shù)據(jù)備份(所以UDP有時候也被認為是不可靠的數(shù)據(jù)報協(xié)議)

UDP詳解

TCP和UDP的區(qū)別

  • TCP提供面向連接的,可靠的數(shù)據(jù)流傳輸, UDP提供的是非面向連接的, 不可靠的數(shù)據(jù)流傳輸.
  • TCP傳輸單位稱為TCP報文段钥弯,UDP傳輸單位稱為用戶數(shù)據(jù)報。
  • TCP注重數(shù)據(jù)安全性督禽,UDP數(shù)據(jù)傳輸快脆霎,因為不需要連接等待,少了許多操作狈惫,但是其安全性卻一般睛蛛。

TCP的三次握手

每次建立連接前,客戶端和服務端之前都要先進行三次對話才開始正式傳輸內(nèi)容, 對話如下:

1. 客戶端:我要連接你了,可以嗎
2. 服務端:嗯忆肾,我準備好了荸频,連接我吧
3. 客戶端:那我連接你咯。
4. 開始后面步驟
  • 第一次握手: 建立連接, 客服端發(fā)送連接請求報文段, 等待服務器確認
  • 第二次握手: 服務器收到SYN報文段,并進行確認, 然后一并發(fā)給客戶端
  • 第三次握手: 客戶端收到服務器的SYN+ACK報文段, 并開始和服務器進行傳輸內(nèi)容

三次握手視為了解決網(wǎng)絡中存在延遲的重復分組問題,防止服務端的一直等待而浪費資源

TCP三次握手和四次分手

IP協(xié)議

IP, 網(wǎng)絡協(xié)議, Internet Protocol, 只要你在互聯(lián)網(wǎng)中, 那么你就有一個IP, IP分為內(nèi)網(wǎng)和外網(wǎng).

  • 你從電信那里買來帶寬客冈,一年一千多旭从。
  • 電信為你提供 DNS 服務。
  • 你買了一個路由器郊酒,然后用電腦和手機分別連接路由器廣播出來的無線 WIFI遇绞。
  • 只要路由器連上電信的服務器,那么路由器就會有一個「外網(wǎng) IP」燎窘,比如「14.17.32.211」就是一個外網(wǎng) IP摹闽。這就是你在互聯(lián)網(wǎng)中的地址。
  • 但是如果你重啟路由器褐健,那么你很有「可能」被重新分配一個「外網(wǎng) IP」付鹿,也就是說 你的路由器沒有「固定的外網(wǎng) IP」
  • 你可以花每年幾千塊錢租用一個「固定的外網(wǎng) IP」,但是顯然不會這么浪費錢蚜迅。像騰訊舵匾、阿里這樣的大公司租用了很多外網(wǎng) IP,這樣才能對我們提供穩(wěn)定的服務谁不。
  • 但是有個問題坐梯,你的路由器的外網(wǎng) IP 如果是14.17.32.211,那么你的手機和電腦的 IP 又是什么呢刹帕?答案是「內(nèi)網(wǎng) IP」
  • 路由器會在你家里創(chuàng)建一個內(nèi)網(wǎng)吵血,內(nèi)網(wǎng)中的設備使用內(nèi)網(wǎng) IP,一般來說這個 IP 的格式都是 192.168.xxx.xxx偷溺。
    • 一般路由會給自己分配一個好記的內(nèi)網(wǎng) IP蹋辅,如 192.168.1.1
    • 然后路由會給每一個內(nèi)網(wǎng)中的設備分配一個不同的內(nèi)網(wǎng) IP,如電腦是 192.168.1.2挫掏,手機是 192.168.1.3侦另,以此類推。
    • 現(xiàn)在路由器有兩個 IP尉共,一個外網(wǎng) IP(14.17.32.211)和一個內(nèi)網(wǎng) IP(192.168.1.1)
      • 內(nèi)網(wǎng)中的設備可以互相訪問(比如你可以用電腦或手機進入 http://192.168.1.1 來查看你的路由器)褒傅,但是不能直接訪問外網(wǎng),內(nèi)網(wǎng)設備想要訪問外網(wǎng)袄友,就必須經(jīng)過路由器中轉樊卓。
      • 外網(wǎng)中的設備可以互相訪問(比如 qq.com 可以把首頁發(fā)送給你的路由器,你的路由器有外網(wǎng) IP)杠河,但是外網(wǎng)中的設備無法訪問你的內(nèi)網(wǎng)設備(這很好理解,內(nèi)網(wǎng)是一個封閉的網(wǎng)絡,外人進不來券敌,所以實際上 qq.com 無法直接把首頁放送給你的電腦和手機)
        • 問題來了唾戚,那 qq.com 是怎么把首頁發(fā)送到我的手機上的呢?答案是通過路由器來中轉待诅。
        • 路由器接收到 qq.com 的頁面后叹坦,把頁面發(fā)送給你的電腦或手機。路由器知道如何給這些信息指路卑雁,路由器就是一個指路人募书,這就是「路由」兩個字的來歷。
        • 路测蹲,就是「必由之路」中的路莹捡。由,就是「必由之路」中的由(由是經(jīng)過扣甲、緣由的意思)篮赢。所有的信息都要經(jīng)過路由器,然后被指向一條它該去的路琉挖。
      • 也就是說內(nèi)網(wǎng)和外網(wǎng)就像兩個隔絕的空間启泣,無法互通,唯一的聯(lián)通點就是路由器(因為路由器既有外網(wǎng) IP 也有內(nèi)網(wǎng) IP)示辈,所以路由器有時候也被叫做「網(wǎng)關」寥茫,這個「關」是「一夫當關,萬夫莫開」的「關」矾麻。如果路由器到電信的連接中斷了纱耻,那么內(nèi)網(wǎng)中所有的設備也就無法上網(wǎng)了。(這很好理解射富,相當于唯一一條出去的路斷了)
  • 除了內(nèi)網(wǎng) IP 和外網(wǎng) IP膝迎,還有兩個特別特殊的 IP,就是本地 IP:127.0.0.1胰耗。本地 IP 永遠表示設備自己限次。不信你可以 ping 127.0.0.1 一下,會發(fā)現(xiàn)只需要 0.01 ms 就得到了響應(你 ping qq.com 需要幾十毫秒才得到響應)
    • 默認情況下柴灯,hosts 文件里會有一行127.0.0.1 localhost卖漫,意思就是 localhost 指向 127.0.0.1,所以 localhost 也表示設備自己赠群。不信你 ping localhost 試試羊始,會發(fā)現(xiàn)實際上是在 ping 127.0.0.1
  • 還有一個特別特殊的 IP:0.0.0.0,它不表示任何設備查描。這個 IP 不同的地方含義不同突委,以后我們會用到柏卤,用到的時候再說意思。

端口

算機之間依照互聯(lián)網(wǎng)傳輸層TCP/IP協(xié)議的協(xié)議通信匀油,不同的協(xié)議都對應不同的 端口缘缚。并且,利用數(shù)據(jù)報文的UDP也不一定和TCP采用相同的端口號碼敌蚜。也就是當你想使用HTTP協(xié)議訪問ip時, 只指定IP是不夠的, 還必須指定端口(Port).

端口其實就是一個編號,并不是一種硬件.

一個服務器(硬件)不一定只提供一種服務桥滨,比如一個服務器既提供 HTTP 服務,又提供 FTP 服務弛车,還提供 SMTP 服務(郵件服務)齐媒,那么只用一個 IP 是無法告訴服務器你想要使用哪種服務。

所有一個端口會對應一個服務:

  1. 要提供 HTTP 服務你最好使用 80 端口(能不能使用別的端口纷跛?可以喻括,不過不建議你違反約定)
  2. 要提供 HTTPS 服務你最好使用 443 端口(能不能使用別的端口?可以忽舟,不過不建議你違反約定)
  3. 要提供 FTP 服務你最好使用 21 端口(能不能使用別的端口双妨?可以,不過不建議你違反約定)
  4. 0 到 1023(2的10次方減1)號端口是留給系統(tǒng)使用的叮阅,你只有擁有了管理員權限后刁品,才能使用這 1024 個端口。
  5. 其他端口可以給普通用戶使用
  6. 如果一個端口正在提供服務浩姥,也就是被占用了挑随,那么就不能再使用這個端口。除非你先停掉正在占用這個端口的服務勒叠。

一般我們使用瀏覽器訪問www.baidu.com的時候其實并沒有指定端口, 是因為瀏覽器默認給加上了端口號80

TCP/UDP端口列表

總結

使用HTTP協(xié)議訪問另一個IP時, 必須同時提供IP和端口號, 缺一不可.

?著作權歸作者所有,轉載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末兜挨,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子眯分,更是在濱河造成了極大的恐慌拌汇,老刑警劉巖,帶你破解...
    沈念sama閱讀 206,968評論 6 482
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件弊决,死亡現(xiàn)場離奇詭異噪舀,居然都是意外死亡,警方通過查閱死者的電腦和手機飘诗,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,601評論 2 382
  • 文/潘曉璐 我一進店門与倡,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人昆稿,你說我怎么就攤上這事纺座。” “怎么了溉潭?”我有些...
    開封第一講書人閱讀 153,220評論 0 344
  • 文/不壞的土叔 我叫張陵净响,是天一觀的道長少欺。 經(jīng)常有香客問我,道長馋贤,這世上最難降的妖魔是什么狈茉? 我笑而不...
    開封第一講書人閱讀 55,416評論 1 279
  • 正文 為了忘掉前任,我火速辦了婚禮掸掸,結果婚禮上,老公的妹妹穿的比我還像新娘蹭秋。我一直安慰自己扰付,他們只是感情好,可當我...
    茶點故事閱讀 64,425評論 5 374
  • 文/花漫 我一把揭開白布仁讨。 她就那樣靜靜地躺著羽莺,像睡著了一般。 火紅的嫁衣襯著肌膚如雪洞豁。 梳的紋絲不亂的頭發(fā)上盐固,一...
    開封第一講書人閱讀 49,144評論 1 285
  • 那天,我揣著相機與錄音丈挟,去河邊找鬼刁卜。 笑死,一個胖子當著我的面吹牛曙咽,可吹牛的內(nèi)容都是我干的蛔趴。 我是一名探鬼主播,決...
    沈念sama閱讀 38,432評論 3 401
  • 文/蒼蘭香墨 我猛地睜開眼例朱,長吁一口氣:“原來是場噩夢啊……” “哼孝情!你這毒婦竟也來了?” 一聲冷哼從身側響起洒嗤,我...
    開封第一講書人閱讀 37,088評論 0 261
  • 序言:老撾萬榮一對情侶失蹤箫荡,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后渔隶,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體羔挡,經(jīng)...
    沈念sama閱讀 43,586評論 1 300
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,028評論 2 325
  • 正文 我和宋清朗相戀三年派撕,在試婚紗的時候發(fā)現(xiàn)自己被綠了婉弹。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 38,137評論 1 334
  • 序言:一個原本活蹦亂跳的男人離奇死亡终吼,死狀恐怖镀赌,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情际跪,我是刑警寧澤商佛,帶...
    沈念sama閱讀 33,783評論 4 324
  • 正文 年R本政府宣布喉钢,位于F島的核電站,受9級特大地震影響良姆,放射性物質(zhì)發(fā)生泄漏肠虽。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 39,343評論 3 307
  • 文/蒙蒙 一玛追、第九天 我趴在偏房一處隱蔽的房頂上張望税课。 院中可真熱鬧,春花似錦痊剖、人聲如沸韩玩。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,333評論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽找颓。三九已至,卻和暖如春叮贩,著一層夾襖步出監(jiān)牢的瞬間击狮,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 31,559評論 1 262
  • 我被黑心中介騙來泰國打工益老, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留彪蓬,地道東北人。 一個月前我還...
    沈念sama閱讀 45,595評論 2 355
  • 正文 我出身青樓杨箭,卻偏偏與公主長得像寞焙,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子互婿,可洞房花燭夜當晚...
    茶點故事閱讀 42,901評論 2 345

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

  • 1捣郊、TCP為什么需要3次握手,4次斷開慈参? “三次握手”的目的是“為了防止已失效的連接請求報文段突然又傳送到了服務端...
    杰倫哎呦哎呦閱讀 3,472評論 0 6
  • 1.這篇文章不是本人原創(chuàng)的呛牲,只是個人為了對這部分知識做一個整理和系統(tǒng)的輸出而編輯成的,在此鄭重地向本文所引用文章的...
    SOMCENT閱讀 13,037評論 6 174
  • 個人認為驮配,Goodboy1881先生的TCP /IP 協(xié)議詳解學習博客系列博客是一部非常精彩的學習筆記娘扩,這雖然只是...
    貳零壹柒_fc10閱讀 5,051評論 0 8
  • 名詞延伸 通俗的說猜绣,域名就相當于一個家庭的門牌號碼灰殴,別人通過這個號碼可以很容易的找到你。如果把IP地址比作一間房子...
    楊大蝦閱讀 20,590評論 2 57
  • 從我第一次接觸思維導圖開始掰邢,就一發(fā)不可收拾的迷上了它牺陶,目前仍在學習中伟阔。本文是對我學習的一段總結,分享給對思維導圖有...
    豆?jié){油條和咸菜閱讀 1,386評論 6 6