networking - 为什么tcp服务器可以获取客户端的ip?
问题描述
ip 协议头中的 ip 消息。当 tcp 协议接收到一个数据包时,它只有一个 tcp 头,没有 ip 地址。为什么我们可以从套接字中获取客户端的 IP 地址。
解决方案
TCP 基于 IP:它使用 IP 数据包在 Internet 上传输数据。更具体地说,整个 TCP 数据包在发送之前被装入 IP 数据包的主体中。
所以你不会在 TCP 数据包中找到 IP 地址,因为这些信息属于 IP 数据包。当客户端接收到一个 TCP 段时,它会在一个包含 IP 地址的 IP 数据包中接收它。
推荐阅读
- c# - 我可以将压缩文件从一个 Zip 文件复制到另一个而不解压缩和重新压缩它吗?
- python - 为什么在函数中使用print语句时赋值语句产生值而使用return时没有值?
- scala - For循环在Scala中选择一列
- database - 尝试将数据插入/更新/删除到 informix 时,ODBC 错误没有足够的空间用于解析器堆栈
- php - 来自控制器的 Laravel 过滤器数据库
- rust - 为什么没有为包装 FnMut 的`std::cell::RefMut<'_, [..]>` 实现 DerefMut?
- c# - ExcelDataReader 不读取带有逗号的浮点数,例如“123,45”(而是读取“123.45”)
- angular - 如何根据下拉列表参数生成不同的对象并创建专用网页?
- java - 使用 JLabel 添加背景图像
- oracle - APEX ORACLE 如何从链接运行 SQL 过程