《tcp/ip详解卷一》笔记

1.移动网络切换基站不会导致 tcp 断开

移动网络切换基站漫游不会改变原有 ip 地址,所以也不会导致tcp断开,只是会改变链路层ip(路由优化)或者建立双向隧道(速度受到影响)

2.tcp 传输的数据未必一定正确

tcp 虽然提供了校验,但是还是有几种可能使得数据是错误的:

1.校验算法本身比较简单,存在错误没有被检测出的可能性

2.由于 tcp 使用了4元组,可能有一个以前的数据的延迟再下一次使用相同4元组时才被送达,而正好又满足这次的窗口范围等(虽然每次的 seq 和端口是随机,但还是存在极低的概率,现代 tcp 都被带上了时间戳可以避免这种情况)

3.中间人故意伪装数据包(除非使用加密)

3. 使用 socket 监听 tcp 的服务

1.tcp 应用接收到系统的新连接通知时已经处理完3次握手了

2.linux 有两个等待队列:

1.处于 SYN_RCVD 状态的连接队列大小ipv4.tcp_
max_syn_backlog (默认为100)。当此队列满时一般操作系统会延迟回复SYN 包。
2.TCP三次握手已经完成,但未被应用程序接受。应用程序会对这一队列net.core.somaxconn,默认值为128。
所以应用程序无法在连接建立完成前限制 tcp 连接。

4. tcp shutdown() 和 close()

发表评论

电子邮件地址不会被公开。 必填项已用*标注

请输入正确的验证码