|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
平时经常会听人说「打开了80号端口」,为了安全「不要打开多余的端口」等等。那么,这里的端口或者端口号是什么呢?/ z# j+ l- c* t& D' y2 H
: v; R- k' M* y* u0 ^0 ]
" {. `2 j9 `9 [* @# Y+ N' O# g; V! p0 X; v( ]2 Q+ x" C
首先,「端口」是TCP或者UDP上使用的概念,经常被比喻成「窗口」。而且,端口号也被比喻成窗口编号。7 W6 j* e/ c9 I
6 P9 L7 W! g! ]9 U$ l; y举个例子,比如去邮局汇款时,并不是每个窗口都可以汇款的,只有特定的窗口才能办理汇款业务。所以,每个窗口都会编号。+ h! c6 i& `6 r5 t6 t+ M, v! h
/ `3 A! s' ]2 U
8 F! N! J1 |# h- q6 d/ \3 w6 p# g& w, k: I% O" z/ C: E
端口号和上面的情况类似,比如,Web服务器通过HTTP接受通信的时候,是通过Web服务器的80号端口来通信的。+ [( |- O, D: l( J' s
* p) ?- z& n3 O
同样,SMPT使用25号端口来通信,SSH使用22号端口来通信。所以把端口当成「通信的窗口」来考虑也不错。' ]- G, B8 A! a4 w, c- s
* B5 p; G+ i0 f+ T7 o " C7 \7 ?& p2 n" W
, h7 s4 W# L' p5 P8 d& f4 a. X; G" z
此外,客户端也是用端口来通信的。但是,服务端的端口号基本都是固定的,客户端的端口基本上每次通信时都会变。
& @, n) D3 X2 z. a7 R5 E/ U9 F
# H7 c/ q/ i# `+ q
8 u! c& b9 l2 z- A0 {3 z7 q) H( K( r2 S6 [) p5 O
虽然说服务端的端口号都是固定的,实际上只要去配置的话,也可以用其他的端口号来通信。但是,「有的服务器用25号端口来接受HTTP请求,有的服务器用80号端口来接受HTTP请求」的话,
4 G% V c: F. k4 U2 G
( ^" _" `% W1 \$ @/ F4 [那么每个服务器使用的端口号会显得很零乱,没有规律,自然就会带来混乱。因此,服务器上的端口号做了一定程度的规定。这些被规定的端口号被称为「Well known ports」。
# }8 k4 l9 t+ d% j7 b: X. [
6 F/ H4 p6 G, F5 M; D5 N几乎所有的服务器都是使用「Well known ports」来进行通信的。前面提到的「SSH服务用的22号端口,HTTP服务用的80号端口」都是Well known ports。
# F& Z3 W7 ?& S
& i- F$ [5 C/ c4 x" V9 ]9 vWell known ports 0-1023
2 N; Y9 ?5 ~8 SRegistered ports 1024-491517 {7 b, h- h2 U) ~2 o! m$ _
Dynamic and/or private ports 49152-65535- y1 `4 X( R( Q4 a+ U
R U$ ^% a0 q
1 R5 N, H% S4 zWell known ports是由「Internet Assigned Numbers Authority (IANA)」这个组织管理的。IANA这个组织除了管理Well known ports之外,还专注于IP地址和域名等的标准化。; Z& V' U" l- k& o3 ^( O9 f) X9 V
|
|