網絡協議知識

1.TCP三次握手栏豺、四次揮手

https://www.cnblogs.com/zmlctt/p/3690998.html
TCP標志位含義:
https://blog.csdn.net/zengrenyuan/article/details/80313449

2.滑動窗口機制

由發(fā)送方和接收方在三次握手階段植康,互相將自己的最大可接收的數據量告訴對方悍汛。也就是自己的數據接收緩沖池的大小充包。這樣對方可以根據已發(fā)送的數據量來計算是否可以接著發(fā)送跨算。在處理過程中哺呜,當接收緩沖池的大小發(fā)生變化時蜘澜,要給對方發(fā)送更新窗口大小的通知。這就實現了流量的控制慨飘。
https://www.cnblogs.com/luoquan/p/4886345.html

3.擁塞避免機制

擁塞:對資源的需求超過了可用的資源确憨。若網絡中許多資源同時供應不足,網絡的性能就要明顯變壞套媚,整個網絡的吞吐量隨之負荷的增加而下降缚态。
擁塞控制:防止過多的數據注入到網絡中磁椒,使得網絡中的路由器或鏈路不致過裁堤瘤。
擁塞控制方法:

流量控制具體的技術是采用滑動窗口,以便通信雙方能夠充分利用帶寬浆熔。流量控制作為接受方管理發(fā)送方發(fā)送數據的方式本辐,用來防止接受方可用的數據緩存空間的溢出。
流控制是一種局部控制機制医增,其參與者僅僅是發(fā)送方和接收方慎皱,它只考慮了接收端的接收能力,而沒有考慮到網絡的傳輸能力叶骨;
而擁塞控制則注重于整體茫多,其考慮的是整個網絡的傳輸能力,是一種全局控制機制忽刽。正因為流控制的這種局限性天揖,從而導致了擁塞崩潰現象的發(fā)生。所以引入了另外兩個變量跪帝,擁塞窗口-->cwnd 和 慢啟動閾值--> ssthreshold來實現擁塞控制今膊。

  • 慢開始 + 擁塞避免;
    慢啟動:cwnd = cwnd + 1MSS, cwnd < ssthreshold
    擁塞避免:cwnd = cwnd + 1MSS * 1MSS/cwnd, cwnd >= ssthreshold
    但當發(fā)生ack超時時伞剑,認為造成了擁塞斑唬,將閾值置為cwnd,然后將cwnd置為1,再次走慢啟動的流程恕刘。
  • 快速重傳 + 快速恢復缤谎。
    快速重傳: 當有三個重復ACK到達時,TCP就認為發(fā)生了丟包褐着,在重新發(fā)送請求的數據包之后:
  1. 設置ssthresh = cwnd/2, cwnd = ssthreshold + 3MSS弓千;
  2. 之后若仍有重復ACK到達,cwnd = cwnd + 1 MSS献起, 發(fā)送1MSS(若滑動窗口允許)
  3. 收到新的ACK后洋访,cwnd = ssthreshold, 以便啟動擁塞避免(快速恢復)
    http://blog.chinaunix.net/uid-31422160-id-5784645.html
    https://www.cnblogs.com/hupp/p/4856134.html

4.TCP協議和UDP協議的區(qū)別是什么

  • TCP協議是有連接的谴餐,有連接的意思是開始傳輸實際數據之前TCP的客戶端和服務器端必須通過三次握手建立連接姻政,會話結束之后也要結束連接。而UDP是無連接的
  • TCP協議保證數據按序發(fā)送岂嗓,按序到達汁展,提供超時重傳來保證可靠性,但是UDP不保證按序到達厌殉,甚至不保證到達食绿,只是努力交付,即便是按序發(fā)送的序列公罕,也不保證按序送到器紧。
  • TCP協議所需資源多,TCP首部需20個字節(jié)(不算可選項)楼眷,UDP首部字段只需8個字節(jié)铲汪。
  • TCP有流量控制和擁塞控制,UDP沒有罐柳,網絡擁堵不會影響發(fā)送端的發(fā)送速率
  • TCP是一對一的連接掌腰,而UDP則可以支持一對一,多對多张吉,一對多的通信齿梁。
  • TCP面向的是字節(jié)流的服務,UDP面向的是報文的服務肮蛹。
  • TCP介紹: TCP提供了一種可靠的面向連接的字節(jié)流運輸層服務勺择。
  • UDP:(User Datagram Protocol),用戶數據報協議

5.三次握手建立連接時蔗崎,發(fā)送方再次發(fā)送確認的必要性

主要是為了防止已失效的連接請求報文段突然又傳到了B,因而產生錯誤酵幕。假定出現一種異常情況,即A發(fā)出的第一個連接請求報文段并沒有丟失缓苛,而是在某些網絡結 點長時間滯留了芳撒,一直延遲到連接釋放以后的某個時間才到達B邓深,本來這是一個早已失效的報文段。但B收到此失效的連接請求報文段后笔刹,就誤認為是A又發(fā)出一次 新的連接請求芥备,于是就向A發(fā)出確認報文段,同意建立連接舌菜。假定不采用三次握手萌壳,那么只要B發(fā)出確認,新的連接就建立了日月,這樣一直等待A發(fā)來數據袱瓮,B的許多 資源就這樣白白浪費了。

6.四次揮手釋放連接時爱咬,等待2MSL的意義

  • 第一尺借,為了保證A發(fā)送的最有一個ACK報文段能夠到達B。這個ACK報文段有可能丟失精拟,因而使處在LAST-ACK狀態(tài)的B收不到對已發(fā)送的FIN和ACK 報文段的確認燎斩。B會超時重傳這個FIN和ACK報文段,而A就能在2MSL時間內收到這個重傳的ACK+FIN報文段蜂绎。接著A重傳一次確認栅表。
  • 第二,就是防止上面提到的已失效的連接請求報文段出現在本連接中师枣,A在發(fā)送完最有一個ACK報文段后怪瓶,再經過2MSL,就可以使本連接持續(xù)的時間內所產生的所有報文段都從網絡中消失坛吁。

7.常見的應用中有哪些是應用TCP協議的劳殖,哪些又是應用UDP協議的,為什么它們被如此設計

以下應用一般或必須用udp實現
  • 多播的信息一定要用udp實現拨脉,因為tcp只支持一對一通信。
  • 如果一個應用場景中大多是簡短的信息宣增,適合用udp實現玫膀,因為udp是基于報文段的,它直接對上層應用的數據封裝成報文段爹脾,然后丟在網絡中帖旨,如果信息量太大,會在鏈路層中被分片灵妨,影響傳輸效率解阅。
  • 如果一個應用場景重性能甚于重完整性和安全性,那么適合于udp泌霍,比如多媒體應用货抄,缺一兩幀不影響用戶體驗,但是需要流媒體到達的速度快,因此比較適合用udp
  • 如果要求快速響應蟹地,那么udp聽起來比較合適
  • 如果又要利用udp的快速響應優(yōu)點积暖,又想可靠傳輸,那么只能考上層應用自己制定規(guī)則了怪与。
  • 常見的使用udp的例子:ICQ,QQ的聊天模塊夺刑。

8.瀏覽器中輸入:“www.xxx.com” 之后都發(fā)生了什么?請詳細闡述分别。

  • 由域名→IP地址 尋找IP地址的過程依次經過了瀏覽器緩存遍愿、系統緩存、hosts文件耘斩、路由器緩存错览、 遞歸搜索根域名服務器。
  • 建立TCP/IP連接(三次握手具體過程)
  • 由瀏覽器發(fā)送一個HTTP請求
  • 經過路由器的轉發(fā)煌往,通過服務器的防火墻倾哺,該HTTP請求到達了服務器
  • 服務器處理該HTTP請求,返回一個HTML文件
  • 瀏覽器解析該HTML文件刽脖,并且顯示在瀏覽器端
  • 這里需要注意:
    HTTP協議是一種基于TCP/IP的應用層協議羞海,進行HTTP數據請求必須先建立TCP/IP連接
    可以這樣理解:HTTP是轎車练般,提供了封裝或者顯示數據的具體形式搔涝;Socket是發(fā)動 機骄蝇,提供了網絡通信的能力舰讹。
    兩個計算機之間的交流無非是兩個端口之間的數據通信,具體的數據會以什么樣的形式展現是以不同的應用層協議來定義的遮晚。

9.常見http狀態(tài)碼

  • 1xx(臨時響應)
  • 2xx(成功)
  • 3xx(重定向):表示要完成請求需要進一步操作
  • 4xx(錯誤):表示請求可能出錯鬼贱,妨礙了服務器的處理
  • 5xx(服務器錯誤):表示服務器在嘗試處理請求時發(fā)生內部錯誤
  • 常見狀態(tài)碼:
    200(成功)
    304(未修改):自從上次請求后响蓉,請求的網頁未修改過烁设。服務器返回此響應時檬某,不會返回網頁內容
    401(未授權):請求要求身份驗證
    403(禁止):服務器拒絕請求
    404(未找到):服務器找不到請求的網頁

10.https://www.cnblogs.com/bokeyuanlongbin/p/9072399.html

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
  • 序言:七十年代末撬腾,一起剝皮案震驚了整個濱河市,隨后出現的幾起案子恢恼,更是在濱河造成了極大的恐慌民傻,老刑警劉巖,帶你破解...
    沈念sama閱讀 222,681評論 6 517
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件场斑,死亡現場離奇詭異漓踢,居然都是意外死亡,警方通過查閱死者的電腦和手機漏隐,發(fā)現死者居然都...
    沈念sama閱讀 95,205評論 3 399
  • 文/潘曉璐 我一進店門喧半,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人青责,你說我怎么就攤上這事挺据∪【撸” “怎么了?”我有些...
    開封第一講書人閱讀 169,421評論 0 362
  • 文/不壞的土叔 我叫張陵吴菠,是天一觀的道長者填。 經常有香客問我,道長做葵,這世上最難降的妖魔是什么占哟? 我笑而不...
    開封第一講書人閱讀 60,114評論 1 300
  • 正文 為了忘掉前任,我火速辦了婚禮酿矢,結果婚禮上榨乎,老公的妹妹穿的比我還像新娘。我一直安慰自己瘫筐,他們只是感情好蜜暑,可當我...
    茶點故事閱讀 69,116評論 6 398
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著策肝,像睡著了一般肛捍。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上之众,一...
    開封第一講書人閱讀 52,713評論 1 312
  • 那天拙毫,我揣著相機與錄音,去河邊找鬼棺禾。 笑死缀蹄,一個胖子當著我的面吹牛,可吹牛的內容都是我干的膘婶。 我是一名探鬼主播缺前,決...
    沈念sama閱讀 41,170評論 3 422
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼悬襟!你這毒婦竟也來了衅码?” 一聲冷哼從身側響起,我...
    開封第一講書人閱讀 40,116評論 0 277
  • 序言:老撾萬榮一對情侶失蹤古胆,失蹤者是張志新(化名)和其女友劉穎肆良,沒想到半個月后,有當地人在樹林里發(fā)現了一具尸體逸绎,經...
    沈念sama閱讀 46,651評論 1 320
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 38,714評論 3 342
  • 正文 我和宋清朗相戀三年夭谤,在試婚紗的時候發(fā)現自己被綠了棺牧。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 40,865評論 1 353
  • 序言:一個原本活蹦亂跳的男人離奇死亡朗儒,死狀恐怖颊乘,靈堂內的尸體忽然破棺而出参淹,到底是詐尸還是另有隱情,我是刑警寧澤乏悄,帶...
    沈念sama閱讀 36,527評論 5 351
  • 正文 年R本政府宣布浙值,位于F島的核電站,受9級特大地震影響檩小,放射性物質發(fā)生泄漏开呐。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 42,211評論 3 336
  • 文/蒙蒙 一规求、第九天 我趴在偏房一處隱蔽的房頂上張望筐付。 院中可真熱鬧,春花似錦阻肿、人聲如沸瓦戚。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,699評論 0 25
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽较解。三九已至,卻和暖如春赴邻,著一層夾襖步出監(jiān)牢的瞬間印衔,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,814評論 1 274
  • 我被黑心中介騙來泰國打工乍楚, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留当编,地道東北人。 一個月前我還...
    沈念sama閱讀 49,299評論 3 379
  • 正文 我出身青樓徒溪,卻偏偏與公主長得像忿偷,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子臊泌,可洞房花燭夜當晚...
    茶點故事閱讀 45,870評論 2 361

推薦閱讀更多精彩內容

  • 個人認為鲤桥,Goodboy1881先生的TCP /IP 協議詳解學習博客系列博客是一部非常精彩的學習筆記,這雖然只是...
    貳零壹柒_fc10閱讀 5,062評論 0 8
  • 運輸層協議概述 從通信和信息處理的角度看渠概,運輸層向它上面的應用層提供通信服務茶凳,它屬于面向通信部分的最高層,同時也是...
    srtianxia閱讀 2,411評論 0 2
  • 計算機網絡七層模型中播揪,傳輸層有兩個重要的協議:(1)用戶數據報協議UDP (User Datagram Proto...
    Q南南南Q閱讀 1,720評論 0 3
  • 1.TCP報頭格式 UDP報頭格式 TCP報頭格式 UDP報頭格式 具體的各部分解釋看 TCP報文格式詳解 - ...
    杰倫哎呦哎呦閱讀 2,470評論 0 5
  • 1. 基礎知識 1.1 3種常見的計算機體系結構劃分 OSI分層(7層):物理層贮喧、數據鏈路層、網絡層猪狈、傳輸層箱沦、會話...
    Mr希靈閱讀 19,898評論 6 120