c# - 私有IP的端口?
问题描述
如果这是重复的,我深表歉意,但我无法理解大多数看起来相似的答案。在不了解它们的情况下,很难浏览所有维基百科页面和内容。
我知道具有公共 IP 地址的路由器可以使用传入请求的端口来确定它应该将其发送到哪个私有设备。但问题是每个私有 IP 地址也有端口,那么路由器如何决定不仅要向哪个 IP 地址发送数据包,还要决定它应该在该私有 IP 地址的哪个端口上呢?
我现在能想到的唯一方法是端口映射将每个传入端口映射到 IP 和端口,例如端口11000
可以转到192.168.86.250:25565
. 我写的越多,它似乎就越明显,但是有人可以确认它是如何工作的吗?
此外,如果有人能指出我使用 c# 来确定可以与我的公共 IP 一起使用的端口来访问我正在运行的程序的正确方向,那么奖励积分192.168.86.250:25565
。
解决方案
我知道具有公共 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
推荐阅读
- android - MPAndroidChart:条形图 xAxis 标签未居中 - 为什么?
- reactjs - .NET Core API 和本地网络中的 React 视图?
- gitlab - gitlab-ci.yml 忽略私人跑步者中的 docker 图像
- android - 如何从 Google Play Console 中删除测试人员的帐户?
- json - SwiftUI 中的动态列表从 JSON 和 Textfield 更新
- python - 检查一个数字是否可以被小数整除
- css - Chrome 无法识别“break-after: Avoid”
- java - 机制是什么?
- google-apps-script - 如何使用谷歌应用程序脚本在谷歌文档中的特定文本之后从工作表中插入表格?
- java - Spring HATEOAS 1.x 上的 ResourceSupport.getId()