本机与另外一台机器有一个连接,本机的地址就是本地地址。另外一台机器的地址是外部地址。 一个连接的两端各有一个端口。端口可以是程序指定的(比如用 bind 启动服务),也可能是自动分配的(比如你连接到某一个服务的时候,自己的端口通常就是自动分配的)。 自动分配的时候端口范围通常一个固定的区间(根据操作系统而不同),所以不同的机器分配到同一个端口号是很正常的。 你说的那个正好反过来,可能只是碰巧另一台机器连了本机的 redis ,也去了它的 redis 。分配的端口号又碰巧是一样的。 本机地址的端口跟外部地址的端口没有任何联系。 本机地址,本机端口,外部地址,外部端口 四个属性决定了一个连接。 如果连接两端是同一台机器,那么一个连接在 netstat 里就会出现两次。比如你给出 127.0.0.1:6379 -- 127.0.0.1:37384 这个连接。