首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >TCP数据包在码头上分成ACK和PSH,ACK

TCP数据包在码头上分成ACK和PSH,ACK
EN

Server Fault用户
提问于 2021-08-18 15:11:22
回答 1查看 681关注 0票数 1

我正在开发一个主要基于TCP的游戏服务器,并试图在一个Docker容器中运行它。但是,我注意到(通过游戏客户端)访问容器中的服务器时,每个SeqNo的数据包被分成两部分。第一部分是空的TCP-ACK (无有效载荷),第二部分是包含全部有效载荷的TCP,PSH.由于此模式适用于从服务器发送或发送到服务器的所有数据包,因此显然它们属于一起。

为什么会发生这种情况,而且为什么只有在服务器在Docker容器中运行时才会发生这种情况?

EN

回答 1

Server Fault用户

发布于 2021-08-18 15:24:35

我不知道您是如何在Docker内部运行游戏服务器的,但是docker的工作方式如下

主机-网络码头-网络码头群-进入网络码头服务-覆盖网络(集装箱服务)

在这种情况下,您需要在Docker中使用不同的网络层,并且所有Docker内部都是虚拟网络。

下一步您需要理解的是,如果您是在群集模式下工作--当您根据端口号按Docker twices指向您的容器服务时--如果您在集群中运行了超过1个副本,那么就有2个请求是mabey,mabey没有命中相同的服务器。

所以你问的问题,我认为这与码头的内部网络如何工作有关,你可以读到更多关于Docker中的网络是如何工作的,而mabey只是一个让你改变的设置。主机

码头网络驱动程序:https://docs.docker.com/network/#network-drivers

票数 1
EN
页面原文内容由Server Fault提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://serverfault.com/questions/1074948

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档