运维开发网

网络 – TCP会话和IP更改

运维开发网 https://www.qedev.com 2020-04-01 10:51 出处:网络 作者:运维开发网整理
当客户端的IP发生变化时,TCP会话会发生什么? 我做了一个简单的测试,让netcat监听端口,并从客户端机器连接到该端口.然后我在nc会话打开时更改了客户端的IP并发送了一些数据,更改IP后服务器没有收到任何数据. >我知道他们是不同的层, 但TCP是如何使用IP的 它区分会话? >我的例子不起作用是因为 应用程序如何处理它,或 这是不行的,因为 发生的事情 TCP / IP /以太网层? >这
当客户端的IP发生变化时,TCP会话会发生什么?

我做了一个简单的测试,让netcat监听端口,并从客户端机器连接到该端口.然后我在nc会话打开时更改了客户端的IP并发送了一些数据,更改IP后服务器没有收到任何数据.

>我知道他们是不同的层,

但TCP是如何使用IP的

它区分会话?

>我的例子不起作用是因为

应用程序如何处理它,或

这是不行的,因为

发生的事情

TCP / IP /以太网层?

>这取决于操作系统的实施吗? (目前我对Linux最感兴趣)

我的理解是TCP套接字由IP端口号组成,因此更改IP会破坏该连接. nc无法知道IP已更改,因此它会继续将数据发送到原始IP,直到会话超时.

见RFC 793(传输控制协议),特别是第2.7节:

2.7.连接建立和清除

为了识别TCP可以处理的单独数据流,TCP提供端口标识符.由于端口标识符是由每个TCP独立选择的,因此它们可能不是唯一的.为了在每个TCP中提供唯一的地址,我们将标识TCP的互联网地址与端口标识符连接起来,以创建一个套接字,该套接字在连接在一起的所有网络中都是唯一的.

我建议使用Wireshark或其他数据包嗅探器来监视自己的流量并查看它的实际运行情况.

0

精彩评论

暂无评论...
验证码 换一张
取 消