每次我使用不同的路由器和不同的 P2P 程序时,都会遇到同样的问题——端口转发。然后我通常会读取端口的随机值(TCP、UDP 等)并将其粘贴到我的路由器设置页面中的随机位置并重复此过程,直到该死的东西开始工作。因为我有点厌倦了,所以我想稍微了解一下它背后的理论,这样我就可以立即把正确的东西放在正确的地方。谁能用几句话简单地向我解释一下?很抱歉对问题进行了冗长的描述,但我不知道如何以更简洁的方式描述我正在谈论的理解程度。
谢谢。
好吧,路由器将您从外部世界隐藏起来,因此您只能进行传出连接,路由器负责将您的请求发送到外部世界,接收响应并将其发送回给您。除非您特别要求,否则没有人可以向您发送数据包——即您只能接收响应。
在 p2p 的情况下,将数据包发送到您的机器的能力即使不是很重要也是很重要的。所以你要做的是让路由器转发(这里!这就是这个词的来源)所有传入的数据包到端口 X 到你的机器,端口 X。
最初 IP 地址是为每台设备提供的,现在我们倾向于每个家庭有 1 个 IP 地址(除非您做一些疯狂的事情),也称为您的外部 IP。您的外部 IP 是您通过路由器与世界的连接,但您网络中的每台计算机都有自己的 IP(称为内部 IP)。端口转发允许外部世界与特定计算机建立通信。
Web 服务器就是一个简单的例子,Web 服务通常依赖于端口 80,假设您的网络中有 4 台计算机,其中 1 台是您的 Web 服务器。外界怎么知道要联系哪台 PC?端口转发允许您告诉您的路由器将互联网流量引导到该服务器。