|
|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
平时经常会听人说「打开了80号端口」,为了安全「不要打开多余的端口」等等。那么,这里的端口或者端口号是什么呢?
! [; \2 |" x8 s" R8 `5 R7 G6 Y K; R: G7 M6 v: L. F& p% V
- `, \$ L- P& S; ~- W6 n { {! V' P! k$ y4 M i' ]) t; I
首先,「端口」是TCP或者UDP上使用的概念,经常被比喻成「窗口」。而且,端口号也被比喻成窗口编号。/ [% M: O1 P: T7 ^
' a% v, J/ O0 c7 m1 [
举个例子,比如去邮局汇款时,并不是每个窗口都可以汇款的,只有特定的窗口才能办理汇款业务。所以,每个窗口都会编号。# `* }! t1 J3 K1 h
% g' R" h/ B8 \4 q6 z) V( a* h # l9 s0 i8 { f+ i2 O) d! K+ D
2 K8 Z0 K! J( _' U
端口号和上面的情况类似,比如,Web服务器通过HTTP接受通信的时候,是通过Web服务器的80号端口来通信的。
* P7 S9 j h8 o+ P' _& D# i* w9 N3 C1 g" M! c. H: U
同样,SMPT使用25号端口来通信,SSH使用22号端口来通信。所以把端口当成「通信的窗口」来考虑也不错。) l+ H6 w2 R6 ^. v/ h
- O- q% v& ~% s: y
" d: p s1 L# G( ~: r5 Y1 a
' r! o- H$ E; P8 _此外,客户端也是用端口来通信的。但是,服务端的端口号基本都是固定的,客户端的端口基本上每次通信时都会变。, V, f% D* g3 L- P; c
6 M" m9 W3 W9 x4 z
% N6 ?6 {1 m" Q0 n! I5 E5 m
" L, r( w) ?0 d, Z. R+ w+ L3 R
虽然说服务端的端口号都是固定的,实际上只要去配置的话,也可以用其他的端口号来通信。但是,「有的服务器用25号端口来接受HTTP请求,有的服务器用80号端口来接受HTTP请求」的话,
3 d! M# P1 [! N3 A2 D
* I9 X( |# l2 K那么每个服务器使用的端口号会显得很零乱,没有规律,自然就会带来混乱。因此,服务器上的端口号做了一定程度的规定。这些被规定的端口号被称为「Well known ports」。
8 _+ P. r9 m$ J& E( {( \' x3 `/ b2 }* W1 r
几乎所有的服务器都是使用「Well known ports」来进行通信的。前面提到的「SSH服务用的22号端口,HTTP服务用的80号端口」都是Well known ports。& S8 W. }* C* N. ~7 k# E
R. ~3 n" _& s6 ^& PWell known ports 0-1023
: H' A- _/ ?/ ^- GRegistered ports 1024-49151
( T7 ~6 d/ O7 v/ E3 IDynamic and/or private ports 49152-65535
3 G1 a2 Q$ E/ S1 E8 z 4 h1 w4 t" }+ x: N
& v- M. {% S! \! n9 `3 u- pWell known ports是由「Internet Assigned Numbers Authority (IANA)」这个组织管理的。IANA这个组织除了管理Well known ports之外,还专注于IP地址和域名等的标准化。+ E' o: m% S& O% o" s, Z$ T0 v
|
|