日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > linux >内容正文

linux

Linux网络编程 之 无连接和有连接通信(二)

發布時間:2024/2/28 linux 19 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Linux网络编程 之 无连接和有连接通信(二) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

目錄
1. 無連接和有連接通信的區別
2. 有連接和無連接通信的實現


無連接和有連接通信的區別

使用無連接協議就像寄信,而使用面向連接的協議就像打電話。

無連接協議中的分組被稱為數據報(datagram),每個分組都是獨立尋址,并由應用程序發送的。從協議的角度來看,每個數據報都是一個獨立的實體,與在兩個相同的對等實體之間傳送的任何其他數據報都沒有關系,這就意味著協議很可能是不可靠的。也就是說,網絡會盡最大努力傳送每一個數據報,但并不保證數據報不丟失、不延遲或者不錯序傳輸。

另一方面,面向連接的協議則維護了分組之間的狀態,使用這種協議的應用程序通常都會進行長期的對話。記住這些狀態,協議就可以提供可靠的傳輸。比如,發送端可以記住哪些數據已經發送出去了但還未被確認,以及數據是什么時候發送的。如果在某段時間間隔內沒有收到確認,發送端可以重傳數據。接收端可以記住已經收到了哪些數據,并將重復的數據丟棄。如果分組不是按序到達的,接收端可以將其保存下來,直到邏輯上先于它的分組到達為止。

有連接和無連接通信的實現

首先TCP 和 UDP 都是構建在 IP 之上的。因此,IP 是構建整個 TCP/IP 協議族的基礎。但 IP 提供的是一種盡力而為的、不可靠的無連接服務。它接收來自其上層的分組,將它們封裝在一個 IP 分組中,根據路由為分組選擇正確的硬件接口,從這個接口將分組發送出去。一旦將分組發送出去了,IP 就不再關心這個分組了,和所有無連接協議一樣。

而UDP協議只向底層的IP協議添加了兩項功能,
- 它提供了一個可選的校驗和來檢測數據的損壞情況。盡管 IP 也有校驗和,但它只對 IP 分組首部進行計算,所以,TCP 和 UDP 也都提供了校驗和來保護它們自己的首部和數據。
- UDP 向 IP添加的第二項特性就是端口的概念。

為了提供可靠性,TCP 添加了分組,被稱為段(segment),放在 IP 數據報中發送的,其中TCP 向基本的 IP 服務中添加了三項功能:

  • 它為 TCP段中的數據提供了校驗和。這樣有助于確保抵達目的地的數據在傳輸過程中不會被網絡損壞。

  • 它為每個段(segment)分配了一個序列號,這樣,如果數據抵達目的地時真的錯序了,接收端也能夠按照恰當的順序將其重裝起來。

  • TCP 提供了一種確認-重傳機制,以確保最終每個段都會被傳送出去。

總結

以上是生活随笔為你收集整理的Linux网络编程 之 无连接和有连接通信(二)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。