日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

TCP及socket通信原理详解

發布時間:2025/1/21 编程问答 48 豆豆
生活随笔 收集整理的這篇文章主要介紹了 TCP及socket通信原理详解 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

TCP/IP原型

DARPA一個項目,逐漸演變而來的。

端口號

0~1023:管理員才有權限使用,永久地分配給某應用使用;

注冊端口:

1024~41951:只有一部分被注冊,分配原則上非特別嚴格;

動態端口或私有端口:

41952+:

/proc/sys/net/ipv4/ip_local_port_range:內核參數定義兩個數字,表示可以做為臨時端口的起始數字和結束數字。

套接字類型:

tcp socket??? TCP傳輸數據協議、 SCTP流控制傳輸協議

??????? udp socket?? UDP用戶數據報協議????? DCCP

raw socket?? 裸套接字? 不通過TCP和UDP等協議直接由應用層的程序直接到達網絡層由ipv4? ipv6封裝傳輸

TCP協議的功能:

①連接建立

②將數據打包成段?? MTU通常為1500以下

?????? 校驗和

③確認、重傳以及超時機制

④排序

序列號 32位? 并非從0開始? 過大的話循環輪換 從0開始

⑤流量控制? 速度不同步2臺數據的服務器??? 防止阻塞

緩沖區? 發送緩沖??? 接收緩沖

滑動窗口?

⑥擁塞控制? 多個進程通信

慢啟動?? 通過慢啟動的方式探測,啟動的時候很小? 隨后以指數級增長。

擁塞避免算法

RFC:請求注解文檔,起草定義這個協議的組織定義這個協議實現的過程等。

socket: IPC的一種實現,用于同一或不同主機上的進程間的通信;

socket通信在domain中實現:

識別一個socket的方法(socket地址格式)

Domain:

Unix Domain: 基于socket機制實現同一主機不同進程間通信的一種方式;AF_UNIX, AF_LOCAL,地址是一個路徑名(文件) 同一主機通過內核中一個文件直接傳輸,而不需要通過協議棧傳輸。

IPv4 Domain: AF_INET, 基于socket機制借助于ipv4協議實現不同主機(也可以是同一主機)上的進程間通信的機制; 地址是32位的ipv4地址+16位的端口號。

IPv6 Domain: AF_INET6, 地址是128位的Ipv6地址+16位的端口號

socket的類型:

TCP:流式socket,SOCK_STREAM

可靠、雙向、面向字節流

UDP:數據報式socket, SOCK_DGRAM

相關的系統調用:

socket(): 創建一個新的socket

bind():綁定于一個套接字地址上;

listen(): 監聽套接字;

accept(): 接收連接請求;

connect(): 發起連接請求;

close(): 關閉連接

read()和write(): recv(), send(), recvfrom(), sendto()

?

tcp協議通過tcp狀態來標記當前處于通信過程的哪個階段:

CLOSED, LISTEN, SYN_SENT, SYN_RECV, ESTABLISHED, FIN_WAIT1, CLOSE_WAIT, FIN_WAIT2, LAST_ACK, TIME_WAIT, CLOSED

轉載于:https://blog.51cto.com/zerofly/1541724

總結

以上是生活随笔為你收集整理的TCP及socket通信原理详解的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。