【发布时间】:2014-01-22 17:41:32
【问题描述】:
我现在开始学习计算机网络。我一直在收集有关港口的信息。当我在互联网上搜索时,我可以看到有很多端口。我只想知道端口的用途/功能以及它们是否都做同样的工作。另外,我在大多数地方都看到了 8080 端口。这背后有什么具体原因吗(使用8080)?
【问题讨论】:
标签: sockets networking port
我现在开始学习计算机网络。我一直在收集有关港口的信息。当我在互联网上搜索时,我可以看到有很多端口。我只想知道端口的用途/功能以及它们是否都做同样的工作。另外,我在大多数地方都看到了 8080 端口。这背后有什么具体原因吗(使用8080)?
【问题讨论】:
标签: sockets networking port
端口以及 IP 地址构成 TCP 网络连接的基本端点。有效端口号范围从 0 到 65535(16 位),它们都做同样的工作。
现在它们是 Internet 上经常使用的一些知名服务,因此让它们监听知名端口已成为一种很好的做法。大多数这些服务都收集在the IANA web page。您会在那里发现8080 端口号主要由网络服务器和代理使用(您在互联网上进行的基本操作,浏览)。
更深入地说,端口是一个传输层的概念,用于与目标机器中的特定进程(即:IP地址指向的主机)进行通信。这使得多个服务可以在同一主机上运行而不会发生冲突。
一个普通的 TCP/IP 连接有两个端点,每个端点都由元组(IP 地址、端口号)组成。
您可以在the Wikipedia page for TCP 找到更多信息,并且有很多关于这个主题的好书。我个人最喜欢的:Andrew S. Tanenbaum - Computer Networks
希望这会有所帮助!
【讨论】:
bind()上,意味着应该分配一个ephemeral port。
每个端口都与其他端口相同。唯一的区别是在每个端口上附加和侦听的进程。一些端口已经标准化,例如用于 http 流量的 80。如果 IP 地址就像电话号码,那么端口就像分机号。
【讨论】:
常用端口列表在这里:
http://en.wikipedia.org/wiki/List_of_TCP_and_UDP_port_numbers
此 URL 指出,如果 Web 服务是代理或缓存服务器或以非 root 用户身份运行,则通常使用端口 8080 - 以非 root 用户身份使用端口 8080 将比默认设置安全得多。
但是,如果端口 80 正在使用中,则可以简单地使用 8080:
http://answers.yahoo.com/question/index?qid=20070309074112AADBBmL
【讨论】: