關于TCP UDP IP SOCKET的總結

OSI七層模型

它從低到高分別是:物理層、數據鏈路層、網絡層、傳輸層、會話層、表示層和應用層。每一層的功能是獨立的。它利用其下一層提供的服務并為其上一層提供服務,而與其他層的具體實現無關。這里所謂的“服務”就是下一層向上一層提供的通信功能和層之間的會話規定,一般用通信原語實現。兩個開放系統中的同等層之間的通信規則和約定稱之為協議。通常把1~4層協議稱為下層協議,5~7層協議稱為上層協議。

傳輸層:定義了一些傳輸數據的協議和端口號(如HTTP的端口80等),TCP(傳輸控制協議,傳輸效率低,可靠性強,可以用于傳輸可靠性要求高,數據量大的數據),UDP(用戶數據報協議,與TCP特性恰恰相反,用于傳輸可靠性要求不高,數據量小的數據,如QQ聊天數據就是通過這種方式傳輸的)。 主要是從下層接收的數據進行分段和傳輸,到達目的地址后再進行重組。常常把這一層數據叫做報文段。

會話層:通過傳輸層(端口號:傳輸端口與接收端口)建立數據傳輸的通路。主要在你的系統之間發起會話或者接受會話請求(設備之間需要互相認識可以是IP也可以是MAC或者是主機名)


傳輸層協議和傳輸協議一樣嗎?

答:傳輸層(TransportLayer)是OSI中最重要,答:最關鍵的一層,是唯一負責總體的數據傳輸和數據控制的一層.傳輸層提供端到端的交換數據的機制,檢查分組編號與次序。傳輸層對其上三層如會話層等,提供可靠的傳輸服務,對網絡層提供可靠的目的地站點信息.

傳輸控制協議(TCP)(重點了解)

TCP工作原理 :TCP的連接建立過程又稱為TCP三次握手。

首先客戶端向服務器發起一個建立連接的同步(SYN)請求;

服務器在收到這個請求后向客戶端回復一個同步/確認(SYN/ACK)應答;

客戶端收到此應答確認之后再向服務器發送一個確認(ACK),,此時TCP連接成功建立.

一旦初始的三次握手完成,在發送和接收主機之間將按順序發送和確認數據段,數據傳輸完成之后,關閉連接之前,TCP使用類似的握手過程驗證兩個主機是否都完成發送和接收全部數據。

它可以提供可靠的、面向連接的網絡數據傳遞服務。傳輸控制協議主要包含下列任務和功能。

用戶數據報協議(UDP)(重點了解)

UDP全稱是User Datagr2am Protocol,中文名為用戶數據報協議。UDP 提供無連接的網絡服務,該服務對消息中傳輸的數據提供不可靠的、最大努力傳送。這意味著它不保證數據報的到達,也不保證所傳送數據包的順序是否正確。 同學們也許會問:“既然UDP是一種不可靠的網絡協議,那么還有這種協議的出現是為什么呢?”其實在有些情況下UDP可能會變得非常有用。因為UDP具有效率優勢。雖然TCP中植入了各種安全保障功能,正因為有安全你的保障,所以對效率的保障就會很低,在實際執行的過程中會占用大量的系統開銷,無疑效率受到嚴重的影響。反觀UDP由于排除了信息可靠傳遞機制,將安全和排序等功能移交給上層應用來完成,極大地降低了執行時間,使效率得到了保證。

UDP(User Datagram Protocol)用戶數據報協議   它是定義用來在互連網絡環境中提供包交換的計算機通信的協議, 此協議默認認為網路協議(IP)是其下層協議。 UDP是TCP的另外一種方法,象TCP一樣,UDP使用IP協議來獲得數據單元(叫做數據報),不象TCP的是, 它不提供包(數據報)的分組和組裝服務。 而且,它還不提供對包的排序,這意味著,程序程序必須自己確定信息是否完全地正確地到達目的地。 如果網絡程序要加快處理速度,那使用UPD就比TCP要好。 UDP提供兩種不由IP層提供的服務,它提供端口號來區別不同用戶的請求,而且可以提供奇偶校驗。 在OSI模式中,UDP和TCP一樣處于第四層,傳輸層。HTTPS(Secure Hypertext Transfer Protocol)安全超文本傳輸協議   它是由Netscape開發并內置于其瀏覽器中,用于對數據進行壓縮和解壓操作, 并返回網絡上傳送回的結果。?

HTTPS實際上應用了Netscape的完全套接字層(SSL)作為HTTP應用層的子層。 (HTTPS使用端口443,而不是象HTTP那樣使用端口80來和TCP/IP進行通信。) SSL使用40 位關鍵字作為RC4流加密算法,這對于商業信息的加密是合適的。 HTTPS和SSL支持使用X.509數字認證,如果需要的話用戶可以確認發送者是誰。

Socket(重點)

Socket原意為插座,意譯為套接字

本地上的兩個進程如何通信?

內存共享

消息隊列

管道 NSPipe NSTask

RPC remote protocol control

本地Socket

網絡上的兩個進程如何通信?

本地進程間通信(IPC)通過PID可以唯一確定彼此,然后通過共享內存,消息隊列等來通信。

網絡上的兩個進程確定彼此需要IP與端口號,通過傳輸層(TCP/UDP)協議進行通信 socket的特點—>在TCP/UDP 加一個端口綁定

由于端口號是被進程獨占,因此socket通信經常與進程通信畫上等號

假設電腦是一個大插座,有不同的插座型號,socket就是遍布在上面的插孔,可以為不同的插頭提供服務 這個比喻不恰當的地方是一個插孔可以讓多個插頭插進來 反過來 上述比喻中,服務端進程即為服務本身,區別一臺主機的不同服務則是通過端口來區分 因此只要是在這個特定的端口建立起來的TCP/IP連接就應該通往對應的進程 所以唯一確定這個socket的前提是找到這個插板(主機IP),找到這個插孔(端口) Socket通信就是一種確定了端口號的TCP/IP通信 上面那句話寫成這樣也要認識: Socket通信與IP通信差別就是端口確定,協議確定

端口的打開是雙方的,很多人在C/S結構的TCP連接中只注意到S的端口(監聽的),實際上C也開了一個端口,而C端的端口是動態端口,TCP連接建立的時候,C端的端口會在三次握手結束后確定,動態打開一個,這個端口不受用戶/程序員的控制

服務端socket通信步驟

提供一些服務

將這個服務與自己的IP地址、端口綁定

監聽任何到這個IP+端口的TCP請求

接受/拒絕 建立這個TCP連接

讀寫 數據

斷開TCP連接

BSD提供了一套底層API來處理這些過程

目前基本上互聯網的所有服務都基于socketAPI,所以socket通信技術的基礎。

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市,隨后出現的幾起案子,更是在濱河造成了極大的恐慌,老刑警劉巖,帶你破解...
    沈念sama閱讀 229,117評論 6 537
  • 序言:濱河連續發生了三起死亡事件,死亡現場離奇詭異,居然都是意外死亡,警方通過查閱死者的電腦和手機,發現死者居然都...
    沈念sama閱讀 98,860評論 3 423
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人,你說我怎么就攤上這事。” “怎么了?”我有些...
    開封第一講書人閱讀 177,128評論 0 381
  • 文/不壞的土叔 我叫張陵,是天一觀的道長。 經常有香客問我,道長,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 63,291評論 1 315
  • 正文 為了忘掉前任,我火速辦了婚禮,結果婚禮上,老公的妹妹穿的比我還像新娘。我一直安慰自己,他們只是感情好,可當我...
    茶點故事閱讀 72,025評論 6 410
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著,像睡著了一般。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發上,一...
    開封第一講書人閱讀 55,421評論 1 324
  • 那天,我揣著相機與錄音,去河邊找鬼。 笑死,一個胖子當著我的面吹牛,可吹牛的內容都是我干的。 我是一名探鬼主播,決...
    沈念sama閱讀 43,477評論 3 444
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了?” 一聲冷哼從身側響起,我...
    開封第一講書人閱讀 42,642評論 0 289
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后,有當地人在樹林里發現了一具尸體,經...
    沈念sama閱讀 49,177評論 1 335
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 40,970評論 3 356
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發現自己被綠了。 大學時的朋友給我發了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 43,157評論 1 371
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖,靈堂內的尸體忽然破棺而出,到底是詐尸還是另有隱情,我是刑警寧澤,帶...
    沈念sama閱讀 38,717評論 5 362
  • 正文 年R本政府宣布,位于F島的核電站,受9級特大地震影響,放射性物質發生泄漏。R本人自食惡果不足惜,卻給世界環境...
    茶點故事閱讀 44,410評論 3 347
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧,春花似錦、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 34,821評論 0 28
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至,卻和暖如春,著一層夾襖步出監牢的瞬間,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 36,053評論 1 289
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人。 一個月前我還...
    沈念sama閱讀 51,896評論 3 395
  • 正文 我出身青樓,卻偏偏與公主長得像,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 48,157評論 2 375

推薦閱讀更多精彩內容

  • 1.1 TCP/IP協議組 TCP/IP協議(傳輸控制協議)由網絡層的IP協議和傳輸層的TCP協議組成 IP層負責...
    F麥子閱讀 2,806評論 0 25
  • 個人認為,Goodboy1881先生的TCP /IP 協議詳解學習博客系列博客是一部非常精彩的學習筆記,這雖然只是...
    貳零壹柒_fc10閱讀 5,083評論 0 8
  • 1.這篇文章不是本人原創的,只是個人為了對這部分知識做一個整理和系統的輸出而編輯成的,在此鄭重地向本文所引用文章的...
    SOMCENT閱讀 13,112評論 6 174
  • 名詞延伸 通俗的說,域名就相當于一個家庭的門牌號碼,別人通過這個號碼可以很容易的找到你。如果把IP地址比作一間房子...
    楊大蝦閱讀 20,619評論 2 56
  • 網絡概念第一天 兩臺電腦怎么通過網絡傳輸數據?怎樣才能知道傳輸的是數據?誰摸過網線? 看電影,怎么看的?通過電流,...
    小吖朱閱讀 1,574評論 0 1