網絡編程之TCP/UDP

源於螞蟻課堂的學習,點擊這裏查看(老餘很給力)  

七層網絡模型

其實就是隨着科技不斷髮展的一個過程。即從下游發展至上游。按照自上而下排列,有:
應用層:HTTP協議,郵件傳輸,文件服務器等。
表示層:不同計算機系統語法之間的通訊
會話層:建立與應用程序之間的通訊
傳輸層:定義了應用程序可以啓動端口號和接口協議,如:TCP/UDP
網絡層:定義了ip地址,可以根據ip地址找到對應的服務器,以路由器、交換機等設備實現計算機之間的通訊
數據鏈路層:將比特組合成字節進而組合成幀,用MAC地址訪問介質,錯誤發現但不能糾正(錯誤檢測機制)
物理層:在物理的計算機上以二進制的方式進行數據的傳輸。

 TCP

一種建立在連接基礎上的數據傳輸,是一種可靠的通訊,即只有確定數據接收方存在且可以建立連接,纔會進行數據通訊。

三次握手

TCP協議在建立連接時,通過三次握手協議去確保連接正常。即:
客戶端會先發送請求至服務器,告訴服務器客戶端想要傳輸數據,是否可以建立連接。
服務器收到請求後,會回覆客戶端,可以進行數據傳輸。
由於網絡可能抖動等原因,故客戶端會再發一次請求確定前兩次握手的服務器是否真的可以接收數據。
這樣一來,兩端通訊三次,判斷可傳輸數據,就會建立連接,客戶端開始發送數據的傳輸

 四次揮手

客戶端想要關閉連接時,會發送請求通知服務器,
服務器會先回復客戶端,可能通訊中有一些善後的工作需要處理,稍等一會
服務器確定數據已全部傳輸結束,發送關閉的報文至客戶端
客戶端收到信息後會再次發送確認關閉的請求至服務器
服務器收到信息後,關閉連接

 UDP

面向無連接通訊協議,即就算沒有數據接收方也無所謂,只要確保數據發送出去即可。屬於不可靠傳輸,可能會存在丟包的現象。

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章