|
|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
平时经常会听人说「打开了80号端口」,为了安全「不要打开多余的端口」等等。那么,这里的端口或者端口号是什么呢?! T$ f+ E8 V" l- L( q+ f
: n( f# ?7 Q* X; t
% m0 c- Q, L3 V |- [' Y
8 |9 y: O6 J! i# l" H6 Z
首先,「端口」是TCP或者UDP上使用的概念,经常被比喻成「窗口」。而且,端口号也被比喻成窗口编号。 H R2 a$ V) X7 ?" |* i7 a
0 |) x3 n- B) j- \ o举个例子,比如去邮局汇款时,并不是每个窗口都可以汇款的,只有特定的窗口才能办理汇款业务。所以,每个窗口都会编号。" _7 m6 ?7 N" T# t0 k" y$ B- t! L
2 u4 C; ^) i' E/ Y
; q k8 ?" [& D2 i
4 X" S2 ?8 D3 N! J. B" o端口号和上面的情况类似,比如,Web服务器通过HTTP接受通信的时候,是通过Web服务器的80号端口来通信的。% t) m. `% f# B1 O2 }
6 Y& g/ L( T; |& c' g5 z6 S同样,SMPT使用25号端口来通信,SSH使用22号端口来通信。所以把端口当成「通信的窗口」来考虑也不错。: x" g+ B6 b% m3 `8 u3 g1 J
, b! I" ?. ?3 w+ F
' E+ Q- g6 ?+ s# h& N1 `4 o1 P w
Z* t. j2 M/ O此外,客户端也是用端口来通信的。但是,服务端的端口号基本都是固定的,客户端的端口基本上每次通信时都会变。2 W9 R; d# Z/ F0 L7 }$ x$ d
! r- @8 ]7 m/ I# r U7 t1 E8 |& \% \
, n. N' p0 B8 A% n* P$ T
虽然说服务端的端口号都是固定的,实际上只要去配置的话,也可以用其他的端口号来通信。但是,「有的服务器用25号端口来接受HTTP请求,有的服务器用80号端口来接受HTTP请求」的话,9 b( n) w7 k" W: D4 K
: L8 q% Y2 A7 y! N- x那么每个服务器使用的端口号会显得很零乱,没有规律,自然就会带来混乱。因此,服务器上的端口号做了一定程度的规定。这些被规定的端口号被称为「Well known ports」。% D* v8 b1 h2 r7 g/ w7 \- E
4 t# d1 C/ L2 C! j; _# F
几乎所有的服务器都是使用「Well known ports」来进行通信的。前面提到的「SSH服务用的22号端口,HTTP服务用的80号端口」都是Well known ports。) m8 K4 J' s- D4 e1 e
, o5 d u% S5 j5 j9 X0 W5 C
Well known ports 0-1023- l7 B' B" v0 Y, O2 g6 ^
Registered ports 1024-49151
" {. d6 h/ `; ~. l; S# oDynamic and/or private ports 49152-65535
: B1 u2 s: S7 S- A8 J5 I. z- X- C+ g 6 q4 M% p* O5 r& z& N7 b
0 F/ l+ V4 D1 P7 eWell known ports是由「Internet Assigned Numbers Authority (IANA)」这个组织管理的。IANA这个组织除了管理Well known ports之外,还专注于IP地址和域名等的标准化。
8 H: v/ p: {6 t2 Q9 }4 R: q |
|