Socket Tcp Udp Http 知識點學習

2021-07-22 19:13:47 字數 2020 閱讀 1025

開放式系統互連 (open systems interconnection reference,osi) 參考模型是一種抽象的分層模型。

tcp/ip和其他的協議在最初osi模型中的位置:

7 應用層例如http、smtp、snmp、ftp、telnet、sip、ssh、nfs、rtsp、xmpp、whois、enrp

6 表示層 例如xdr、asn.1、smb、afp、ncp

5 會話層 例如asap、tls、ssh、iso 8327 / ccittx.225、rpc、netbios、asp、winsock、bsd sockets

4 傳輸層 例如tcp、udp、rtp、sctp、spx、atp、il

3 網路層 例如ip、icmp、igmp、ipx、bgp、ospf、rip、igrp、eigrp、arp、rarp、x.25

2 資料鏈路層 例如乙太網、令牌環、hdlc、幀中繼、isdn、atm、ieee 802.11、fddi、ppp

1 物理層 例如線路、無線電、光纖、信鴿

其中高層(即7、6、5、4層)定義了應用程式的功能,下面3層(即3、2、1層)主要面向通過網路的端到端的資料流。

應用層協議:定義了執行在不同端系統上的應用程式程序如何相互傳遞報文。

ip 協議對應於網路層,

tcp協議對應於傳輸層,

http協議對應於應用層,

三者從本質上來說沒有可比性,

socket則是對tcp/ip協議的封裝和應用。

可以說,tpc/ip協議是傳輸層協議,主要解決資料如何在網路中傳輸,而http是應用層協議,主要解決如何包裝資料

socket是對tcp/ip協議的封裝,socket本身並不是協議,而是乙個呼叫介面(api),

通過socket,我們才能使用tcp/ip協議。

實際上,socket跟tcp/ip協議沒有必然的聯絡。socket程式設計介面在設計的時候,就希望也能適應其他的網路協議。

所以說,socket的出現只是使得程式設計師更方便地使用tcp/ip協議棧而已,是對tcp/ip協議的抽象,

從而形成了我們知道的一些最基本的函式介面,比如create、listen、connect、accept、send、read和write等等

實際上,傳輸層的tcp是基於網路層的ip協議的,而應用層的http協議又是基於傳輸層的tcp協議的,

而socket本身不算是協議,就像上面所說,它只是提供了乙個針對tcp或者udp程式設計的介面

tcp連線的三次握手:

第一次握手:客戶端傳送syn包(syn=j)到伺服器,並進入syn_send狀態,等待伺服器確認;

第二次握手:伺服器收到syn包,必須確認客戶的syn(ack=j+1),同時自己也傳送乙個syn包(syn=k),即syn+ack包,此時伺服器進入syn_recv狀態;

第三次握手:客戶端收到伺服器的syn+ack包,向伺服器傳送確認包ack(ack=k+1),此包傳送完畢,客戶端和伺服器進入established狀態,完成三次握手。 

握手過程中傳送的包裡不包含資料,三次握手完畢後,客戶端與伺服器才正式開始傳送資料

斷開連線時伺服器和客戶端均可以主動發起斷開tcp連線的請求,斷開過程需要經過「四次握手」

tcp是面向鏈結的,雖然說網路的不安全不穩定特性決定了多少次握手都不能保證連線的可靠性,

但tcp的三次握手在最低限度上(實際上也很大程度上保證了)保證了連線的可靠性;

而udp不是面向連線的,udp傳送資料前並不與對方建立連線,對接收到的資料也不傳送確認訊號,

傳送端不知道資料是否會正確接收,當然也不用重發,所以說udp是無連線的、不可靠的一種資料傳輸協議

也正由於上面的特點,使得udp的開銷更小資料傳輸速率更高,因為不必進行收發資料的確認,所以udp的實時性更好。

所以採用tcp傳輸協議的msn比採用udp的qq傳輸檔案慢,

但並不能說qq的通訊是不安全的,因為程式設計師可以手動對udp的資料收發進行驗證,

比如傳送方對每個資料報進行編號然後由接收方進行驗證啊什麼的,

即使是這樣,udp因為在底層協議的封裝上沒有採用類似tcp的「三次握手」而實現了tcp所無法達到的傳輸效率。 

TestLink知識點Mantis知識點

testlink知識點 1 testlink系統提供了六種角色 a guest 只有讀的許可權,適合於檢視測試用例和測試需求,以及專案分析的使用者。b testdesigner 可以開展測試用例和測試需求的所有工作。c tester 只能執行測試用例。d senior tester 可以檢視和維護測...

統計學 論統計學知識點

二 資料度量標準 三 概率分布 四 統計假設檢驗 五 相關和回歸 總結說明 統計學在資料分析的基礎上,研究如何測定,收集,整理,歸納和分析資料規律,以便給出正確訊息的學科。它在資料探勘,自然語言處理,機器學習中都被廣泛使用,比如博主之前的那篇關於規則與統計相結合的詞義消岐方法研究學習筆記,其中作者就...

應用密碼學知識點(一)

凱撒密碼 字母變代換密碼。這種密碼把信中每個文字的字母都用字母順序表中相隔兩位後的乙個字母代換 置換密碼 列代換,週期置換,齒輪置換 維吉尼亞密碼 多表代換密碼。經常用重合指數法破解 原理 明文和金鑰相加進行模26運算 k k 1 k 2 k 3 k n 明文 m m 1 m 2 m 3 m n 密...