網絡協議之TCP

網絡協議是計算機之間為了實現網絡通信而達成的一種“約定”或者”規則“,有了這種”約定“,不同廠商的生產設備,以及不同操作系統組成的計算機之間,就可以實現通信。

什麼是TCP/IP協議?

TCP/IP傳輸控制協議/因特網互聯協議,又名網絡通訊協議),英文是Transmission Control Protocol/Internet Protocol,是Internet最基本的協議,它是TCP、IP協議等組成的協議集。

0SI: (Open System IInterConnection)開放式系統互聯模型

由ISO國際標準化組織定義的參考模型,這個模型把網絡通信的工作分為7層,分別為物理層、數據鏈路層、網絡層、傳輸層、會話層、表示層和應用層。

各層的順序及主要功能:

網絡協議之TCP/IP協議

但是OSI是一個理想的理論模型,實際網絡只涉及用到TCP/IP協議的這4層,下圖是OSI簡化為TCP/IP模型的對應關係,以及每層的主要協議。

網絡協議之TCP/IP協議

各層主要協議的中英文名稱:

TCP(Transport Control Protocol)傳輸控制協議

IP(Internetworking Protocol)網間網協議

UDP(User Datagram Protocol)用戶數據報協議

ICMP(Internet Control Message Protocol)互聯網控制信息協議

SMTP(Simple Mail Transfer Protocol)簡單郵件傳輸協議

SNMP(Simple Network manage Protocol)簡單網絡管理協議

FTP(File Transfer Protocol)文件傳輸協議

ARP(Address Resolation Protocol)地址解析協議

ICMP是(Internet Control Message Protocol)Internet控制報文協議

DNS是域名系統(DomainNameSystem)的縮寫

TCP與UDP的區別:

UDP(User Datagram Protocol),用戶數據報協議,

1.提供無連接的,不可靠的傳輸。傳輸速度較快。缺點是不可靠、不穩定。

2.發送數據之前不需要建立連接,減少了開銷和時延。UDP沒有阻塞機制,寧願阻塞時丟棄數據不傳,也不阻塞造成延時。

3.UDP支持一對一、一對多、多對一、多對多通信。

網絡協議之TCP/IP協議

TCP(Transmission Control Protocol)傳輸控制協議。

1.面向連接的、提供可靠的數據傳輸服務,但是開銷較大、傳輸速度較慢。

2.使用TCP通信之前,需要進行“三次握手”建立連接,通信結束後需要“四次揮手”斷開連接。

3.TCP是點對點的連接,一條TCP連接只能連接兩個端點。

4.TCP是全雙工通信,允許通信雙方任何時候都能發送數據,發送數據按順序、不丟失、不重複。

網絡協議之TCP/IP協議

TCP和UDP的使用場景

需要對網絡通訊質量有要求較高的時候,數據要準確無誤的傳遞給對方,如HTTP、HTTPS、FTP等傳輸文件的協議,以及POP、SMTP等郵件傳輸的協議。

常見使用TCP協議的應用如下:

瀏覽器,用的HTTP

Outlook,用的POP、SMTP

對網絡通訊質量要求不高的時候,並且要求網絡傳輸速度能儘量的快,這時就可以使用UDP協議。

日常生活中,常見使用UDP協議的應用如下:

QQ語音

QQ視頻

三次握手和四次揮手

SYN是標誌位,SYN=1表示請求連接.只

有ACK標誌位為1時,確認序號字段才有效,ack=seq+1

TCP的標誌位有6種標示:

SYN(synchronous建立聯機)

ACK(acknowledgement 確認)

PSH(push傳送) FIN(finish結束)

RST(reset重置)

URG(urgent緊急)

Sequence number(順序號碼)

Acknowledge number(確認號碼)

三次握手:客戶端(SYN=1)----服務端(SYN=1、ACK=1)----客戶端(ACK=1)

建立連接(撥打電話解讀):

客戶端:給對方撥電話:喂,你好,我是客戶端。

服務器:喂,你好,我是服務器。

客戶端:哦,我知道了,那咱們傳輸數據吧

網絡協議之TCP/IP協議

四次揮手:主動關閉方(FIN)---被動關閉方(ACK)----主動關閉方(FIN)----被動關閉方(ACK)

網絡協議之TCP/IP協議

網絡協議之TCP/IP協議


分享到:


相關文章: