首页 > 解决方案 > 私有IP的端口?

问题描述

如果这是重复的,我深表歉意,但我无法理解大多数看起来相似的答案。在不了解它们的情况下,很难浏览所有维基百科页面和内容。

我知道具有公共 IP 地址的路由器可以使用传入请求的端口来确定它应该将其发送到哪个私有设备。但问题是每个私有 IP 地址也有端口,那么路由器如何决定不仅要向哪个 IP 地址发送数据包,还要决定它应该在该私有 IP 地址的哪个端口上呢?

我现在能想到的唯一方法是端口映射将每个传入端口映射到 IP 和端口,例如端口11000可以转到192.168.86.250:25565. 我写的越多,它似乎就越明显,但是有人可以确认它是如何工作的吗?

此外,如果有人能指出我使用 c# 来确定可以与我的公共 IP 一起使用的端口来访问我正在运行的程序的正确方向,那么奖励积分192.168.86.250:25565

标签: c#networkingip

解决方案


我知道具有公共 IP 地址的路由器可以使用传入请求的端口来确定它应该将其发送到哪个私有设备。

这称为端口转发目标 NAT反向 NAT

但问题是每个私有 IP 地址也有端口,那么路由器如何决定不仅要向哪个 IP 地址发送数据包,还要决定它应该在该私有 IP 地址的哪个端口上呢?

(NAT) 路由器将公共IP:端口组合转发到TCP 或 UDP的私有IP:端口组合。您不能单独转发到 IP 地址。

对于要使用的端口号,您应该查看众所周知的端口列表https ://www.iana.org/assignments/service-names-port-numbers/service-names-port-numbers.xhtml


推荐阅读