Skip to content

Commit 9fd0511

Browse files
Update 2023-09-07-note-from-work.md
1 parent 67553a3 commit 9fd0511

File tree

1 file changed

+12
-0
lines changed

1 file changed

+12
-0
lines changed

_posts/2023-09-07-note-from-work.md

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -415,6 +415,18 @@ Paxos 和 Raft 算法都属于一致性算法,所以是保证 CP
415415

416416
# 计算机网络
417417

418+
## 最大 TCP 连接数量
419+
420+
一台机器作为客户端和服务端时,能建立的最大 TCP 连接数量不同。
421+
422+
### 客户端
423+
424+
单个 IP 的情况下,受内核参数 `net.ipv4.ip_local_port_range` 的限制,范围为0 ~ 65535,但一般默认在 3w ~ 5w 之间。但多网卡的情况下可以有多个 IP,因此最大连接数的理论值以线性增长。
425+
426+
### 服务端
427+
428+
理论上连接数为 2^32 (IP数量) * 2^16(端口数量)* 2^16 (服务端口数量)。但每个 TCP 连接需要消耗内存 3.3 K 左右,因此实际上最大建立连接数为内存大小 / 3.3K,假设 4GB 内存,最大连接数为 100 万个左右。
429+
418430
## TCP/UDP 可以使用同一个端口吗
419431

420432
可以。传输层有两个传输协议分别是 TCP 和 UDP,在内核中是两个完全独立的软件模块。可以在 IP 包头的**协议号**字段判断出 TCP 还是 UDP

0 commit comments

Comments
 (0)