seegongsik
网络

什么是网络端口

靠 IP 地址,已经找到是哪台电脑了。可那台电脑里,网页浏览器、邮件、游戏等好几个应用正一起运行。到达的数据包,该交给其中哪个应用?决定这件事的,就是端口。

01

IP 是大楼,端口是房间

前面学过 IP 地址,它能找到是哪台电脑。可电脑并不是只有一个房间的小屋,更像一栋有很多房间的大楼。
每个房间里住着不同的应用,所以光找到大楼还不够,还得知道是楼里的哪个房间,才能准确送到。这个房间号,就是端口。

点一下楼,打开里面的房间

点一下大楼(电脑),里面的房间就会打开。一栋楼有好几个房间,每个房间都有一个端口号。

打开大楼,房间一间间排了出来。从外面看只有一栋楼,IP 地址指的也是这一栋楼。
可走进去,里面分成了好几个房间。同一栋楼,不同的房间。所以准确的目的地,是楼的地址加上房间号,也就是 IP 地址加端口号。这一对,正好指定一个应用。

02

一台电脑,好几扇门

想想你自己的电脑:用浏览器搜索的同时,邮件在收发,音乐也在播放。这些应用都住在同一台电脑里。
所以它们的 IP 地址都一样。可它们不会搞混,是因为每个应用都有自己的房间,也就是自己的端口。

IP 地址203.0.113.5
点一下应用,看它用的端口

把同一台电脑(同一个 IP)里的应用一个个点一下,就会显示它用的端口号。地址三个都一样,只有端口因应用而不同。

点了一圈,IP 地址都一样,毕竟住在同一栋楼里。可端口号每个应用都不同。
浏览器用浏览器的房间,邮件用邮件的房间。像这样分房间,一台电脑上的好几个应用就能互不干扰地工作。那么,这些房间号是不是随便用哪个都行?

03

有代表号码

大楼里通常会把常去的地方,比如前台、收发室,定好房间号,这样第一次来的人也能直接找到。
端口也一样。常用的服务,都事先约定好了代表房间号:网页是 80 号,安全网页(HTTPS)是 443 号,等等。

点一下代表端口,看看是哪个应用的房间

把代表端口一个个点一下,就会显示那是哪个服务的房间。像网页=80、安全网页(HTTPS)=443 这样,号码都是事先约定好的。

代表号码一个个点过了:80 号是网页,443 号是安全网页。光看号码,就知道是哪个服务的房间。
有了这些约定好的号码,就不用在地址栏里一一写上端口,浏览器会自己找到网页服务器的那个房间。
严格地说,这些代表号码是服务器那一侧的房间号。你电脑上的浏览器每次连接时,都会领一个临时房间号来用,回复就送回那个临时房间。

04

送到哪个应用

现在假设有个数据包到了。它看着 IP 地址,顺利找到了大楼(电脑)。可楼里有好几个房间,数据包该进哪个房间?
不用担心。数据包上还写着端口号,只要按这个号码进到同号的房间,也就是对的应用就行。

收件203.0.113.5:80
看数据包的端口号,点一下相同号码的房间(应用)来送达

读出到达的数据包上写的端口号,点同一号码的房间(应用),就能送到。点错房间,它会告诉你号码对不上。

点了和端口号相同的房间,数据包就准确送到了对的应用;点别的房间,号码对不上,就进不去。
这就是端口做的事。IP 地址把数据包带到大楼,端口号再把它带到楼里的房间。两者配成一对,数据包才能准确到达真正的目的地,也就是那一个应用。

05

小结

一句话概括:IP 地址找到大楼(电脑),端口指向楼里的房间,也就是应用。所以准确的目的地是 IP 地址加端口号。
还有代表房间号,比如网页 80、安全网页 443。到达的数据包看端口号,进入对的应用:先找大楼,再找楼里的房间。

依次点要点回顾一下

按顺序点要点,就会一个个亮起来。(IP 是大楼,端口是房间 → 一台电脑多个应用 → 代表号码 → 看端口送到对的应用)四个都亮起来,回顾就完成了。

现在你知道数据包是怎样找到哪台电脑的哪个应用了:用 IP 地址找大楼,用端口号找房间。
可在家里,手机、笔记本、电视从外面看,常常共用一个地址。只有一个地址,回复怎么找回对的设备呢?下一课,就来讲路由器怎样让很多设备共用一个地址。

一句话总结IP 地址帮你找到大楼(电脑)。可一栋楼里有好几个房间,也就是好几个应用,房间号就是端口。所以准确的目的地是“IP 地址 + 端口号”。常用的服务都定好了代表房间号:网页用 80,安全网页(HTTPS)用 443。到达的数据包看端口号,进入那个号码的房间,也就是对的应用。
← 网络
如果有帮助,请支持我们