1. 程式人生 > >你知道SOCKET嗎

你知道SOCKET嗎

bsp 傳輸 net ack int ospf cnblogs 技術 color

技術分享


要想理解socket首先得熟悉一下TCP/IP協議族, TCP/IP(Transmission Control Protocol/Internet Protocol)即傳輸控制協議/網間協議,定義了主機如何連入因特網及數據如何再它們之間傳輸的標準。

從字面意思來看TCP/IP是TCP和IP協議的合稱,但實際上TCP/IP協議是指因特網整個TCP/IP協議族。不同於ISO模型的七個分層,TCP/IP協議參考模型把所有的TCP/IP系列協議歸類到四個抽象層中

應用層:TFTP,HTTP,SNMP,FTP,SMTP,DNS,Telnet 等等

傳輸層:TCP,UDP

網絡層:IP,ICMP,OSPF,EIGRP,IGMP

數據鏈路層:SLIP,CSLIP,PPP,MTU

每一抽象層建立在低一層提供的服務上,並且為高一層提供服務。

技術分享

技術分享

技術分享


兩個進程如果需要進行通訊最基本的一個前提能能夠唯一的標示一個進程,在本地進程通訊中可以使用PID來唯一標示一個進程,但PID只在本地唯一,網絡中的兩個進程PID沖突幾率很大,這時候需要另辟它徑了,P層的ip地址可以唯一標示主機,而TCP層協議和端口號可以唯一標示主機的一個進程,這樣就可以利用ip地址+協議+端口號唯一標示網絡中的一個進程。

能夠唯一標示網絡中的進程後,它們就可以利用socket進行通信了,什麽是socket呢?經常把socket翻譯為套接字,socket是在應用層和傳輸層之間的一個抽象層,它把TCP/IP層復雜的操作抽象為幾個簡單的接口供應用層調用已實現進程在網絡中通信。

技術分享

socket是"打開—讀/寫—關閉"模式的實現,以使用TCP協議通訊的socket為例,其交互流程大概是這樣子的。

技術分享


版權所有權歸卿萃科技,轉載請註明出處

作者:卿萃科技ALIFPGA

原文地址:卿萃科技FPGA極客空間 微信公眾號


技術分享

掃描二維碼關註卿萃科技FPGA極客空間


你知道SOCKET嗎