【網路協議-1】常見協議名詞簡介
一些名詞解釋:
1.Socket(套接字):
Socket是對TCP/IP協議的封裝,Socket本身並不是協議,而是一個呼叫介面(API),Socket只是為了更方便地使用TCP/IP協議棧而已,是對TCP/IP協議的抽象,提供給我們一些最基本的函式介面。
- 流式套接字(SOCK_STREAM):
流式套接字用於提供面向連線、可靠的資料傳輸服務。該服務將保證資料能夠實現無差錯、無重複傳送,並按順序接收。流式套接字之所以能夠實現可靠的資料服務,原因在於其使用了傳輸控制協議,即TCP(The Transmission Control Protocol)協議。
- 資料報套接字(SOCK_DGRAM):
資料報套接字提供了一種無連線的服務。該服務並不能保證資料傳輸的可靠性,資料有可能在傳輸過程中丟失或出現數據重複,且無法保證順序地接收到資料。資料報套接字使用UDP(User Datagram Protocol)協議進行資料的傳輸。由於資料報套接字不能保證資料傳輸的可靠性,對於有可能出現的資料丟失情況,需要在程式中做相應的處理。
- 原始套接字(SOCK_RAW):
原始套接字(SOCKET_RAW)允許對較低層次的協議直接訪問,比如IP、 ICMP協議,它常用於檢驗新的協議實現,或者訪問現有服務中配置的新裝置,因為RAW SOCKET可以自如地控制Windows下的多種協議,能夠對網路底層的傳輸機制進行控制,所以可以應用原始套接字來操縱網路層和傳輸層應用。比如,我們可以通過RAW SOCKET來接收發向本機的ICMP、IGMP協議包,或者接收TCP/IP棧不能夠處理的IP包,也可以用來發送一些自定包頭或自定協議的IP包。網路監聽技術很大程度上依賴於SOCKET_RAW
2.TCP/IP:
不是一個通訊協議,TCP/IP(Transmission Control Protocol/Internet Protocol)即傳輸控制協議/網間協議,定義了主機如何連入因特網及資料如何在它們之間傳輸的標準,裡邊包含了一堆具體的通訊協議。
3.TCP/UDP:
上圖可以看出,這兩是傳輸層的協議,負責傳輸資料。
4.HTTP:
基於TCP協議的超文字傳輸協議
參考:
https://blog.csdn.net/Pk_zsq/article/details/6087367
https://blog.csdn.net/sinat_37138973/article/details/72822229