1.5 网络常用术语
为了更好地学习网络知识,我们有必要熟练掌握一些常用的网络术语,比如Internet、ISP、IP、TCP、UDP等,受篇幅限制本节介绍几个常用的术语,其他术语可以自行从网络上查询掌握。
1.5.1 IP地址与子网掩码
IPv4是当今使用最广泛的网络协议,虽然近些年各种媒体在提IPv6,但全面推广IPv6尚需要一些时间,故本书中如无特别说明IP地址均指IPv4地址。
IP地址的长度为32位,由4个8位二进制组成,称之为“点分二进制”表示法。例如:11000000.10101000.01100100.00000001,然而这种由二进制数组成的IP地址不便于人们记忆,我们需要将二进制数转换为常用的十进制,转换成十进制之后是4组十进制数值,称之为“点分十进制”表示法,例如上面的地址可以转换为“192.168.100.1”,一个IP地址由网络ID和主机ID两部分组成,前者用以区分不同的网络,后者用以区分同一网络中的不同主机(计算机、路由器、交换机等IPv4设备)。
如表1-2所示,一个IP地址(192.168.100.1)被分为网络ID和主机ID两部分,其中网络ID为192.168.100,主机ID为1。
表1-2 IP地址
在我们给计算机配置IP地址的时候,经常还需要配置子网掩码,那么子网掩码的作用是什么呢?子网掩码用于确定32位IP地址中哪部分是网络ID,例如上面的IP地址写成192.168.100.1/24,其中“/24”表示32位IP地址的前24位是网络ID,也就是网络ID是192.168.100,其网络地址是192.168.100.0,如果一个IP地址是172.21.3.130/25,那也就意味着前25位是网络ID(掩码中的前25位为1,其他位用0补齐,即255.255.255.128),其网络地址是多少?计算是怎么计算的呢,请看下面的具体实例:
将IP地址和子网掩码都换算成二进制,然后进行与运算,结果就是网络地址。与运算如下所示,上下对齐,1位1位的算,1与1=1,其余组合都为0。
例如:计算IP地址为172.21.3.130/25、子网掩码为255.255.255.128的网络地址步骤如下:
(1)将IP地址和子网掩码分别换算成二进制
172.21.3.130换算成二进制为10101100.00010101.00000011.10000010。
255.255.255.128换算成二进制为11111111.11111111.11111111.10000000。
(2)将两者进行与运算
(3)将运算结果换算成十进制,这就是网络地址。
10101100.00010101.00000011.10000000换算成十进制是172.21.3.128。
其主机地址范围如表1-3所示。
表1-3 主机范围
其中172.21.3.128为网络地址,172.21.3.255为网络的广播地址,所以从IP列表中去除。
Internet定义了5种IP地址类型以适合不同容量的网络,即A类~E类。
其中A、B、C三类(如表1-4)由Internet NIC在全球范围内统一分配,D、E类为特殊地址。
表1-4 IP地址分类
1.A类IP地址
一个A类IP地址是指,在IP地址的四段号码中,第一段号码为网络号码,剩下的三段号码为本地计算机的号码。如果用二进制表示IP地址的话,A类IP地址就由1字节的网络地址和3字节主机地址组成,网络地址的最高位必须是“0”。A类IP地址中网络的标识长度为8位,主机标识的长度为24位,A类网络地址数量较少,可以用于主机数达1600多万台的大型网络。
A类IP地址范围为1.0.0.1~126.255.255.255(二进制表示为00000001 00000000 00000000 00000001~01111110 11111111 11111111 11111111)。
A类IP地址的子网掩码为255.0.0.0,每个网络支持的最大主机数为2563-2=16777214台。
2.B类IP地址
一个B类IP地址是指,在IP地址的四段号码中,前两段号码为网络号码。如果用二进制表示IP地址的话,B类IP地址就由2字节的网络地址和2字节主机地址组成,网络地址的最高位必须是“10”。B类IP地址中网络的标识长度为16位,主机标识的长度为16位,B类网络地址适用于中等规模的网络,每个网络所能容纳的计算机数为6万多台。
B类IP地址范围为128.1.0.0~191.255.255.255(二进制表示为10000000 00000001 00000000 00000001~10111111 11111111 11111111 11111111)。
B类IP地址的子网掩码为255.255.0.0,每个网络支持的最大主机数为2562-2=65534台。
3.C类IP地址
一个C类IP地址是指,在IP地址的四段号码中,前三段号码为网络号码,剩下的一段号码为本地计算机的号码。如果用二进制表示IP地址的话,C类IP地址就由3字节的网络地址和1字节主机地址组成,网络地址的最高位必须是“110”。C类IP地址中网络的标识长度为24位,主机标识的长度为8位,C类网络地址数量较多,适用于小规模的局域网络,每个网络最多只能包含254台计算机。
C类IP地址范围为192.0.1.1~223.255.255.255(二进制表示为11000000 00000000 00000001 00000001~11011111 11111111 11111111 11111111)。
C类IP地址的子网掩码为255.255.255.0,每个网络支持的最大主机数为256-2=254台。
4.特殊的地址
“1110”开始的地址都是多点广播地址。因此,任何第一个字节大于223且小于240的IP地址(范围为224.0.0.1~239.255.255.254)是多点广播地址。
每一个字节都为0的地址(0.0.0.0)对应于当前主机。
IP地址中的每一个字节都为1的IP地址(255.255.255.255)是当前子网的广播地址。
IP地址中凡是以“11110”开头的E类IP地址都保留用于将来和实验使用。
IP地址中不能以十进制“127”作为开头,该类地址中数字127.0.0.1~127.255.255.254用于回路测试,如127.0.0.1可以代表本机IP地址,用“http://127.0.0.1”就可以测试本机中配置的Web服务器。
网络ID的第一个8位组也不能全为“0”,全“0”表示本地网络。没有网络ID,只有主机ID。
5.子网掩码
子网掩码——屏蔽一个IP地址的网络部分的“全1”比特模式。对于A类地址来说,默认的子网掩码是255.0.0.0;对于B类地址来说默认的子网掩码是255.255.0.0;对于C类地址来说默认的子网掩码是255.255.255.0。利用子网掩码可以把大的网络划分成子网,也可以把小的网络归并成大的网络。
子网掩码的设定必须遵循一定的规则。与二进制IP地址相同,子网掩码由1和0组成,且1和0分别连续。子网掩码的长度也是32位,左边是网络位,用二进制数字“1”表示,1的数目等于网络位的长度;右边是主机位,用二进制数字“0”表示,0的数目等于主机位的长度。这样做的目的是让掩码与IP地址做AND运算时用0遮住原主机数,而不改变原网络段数字,而且很容易通过0的位数确定子网的主机数(2主机位数-2,因为主机号全为1时表示该网络广播地址,全为0时表示该网络的网络号,这是两个特殊地址)。只有通过子网掩码,才能表明一台主机所在的子网与其他子网的关系,使网络正常工作。
子网掩码不是一个地址,但是可以确定一个网络层地址哪一部分是网络号,哪一部分是主机号,1的部分代表网络号,掩码为0的部分代表主机号。子网掩码的作用就是获取主机IP的网络地址信息,用于区别主机通信不同情况,由此选择不同路由。根据子网掩码格式可以发现,子网掩码有:0.0.0.0;255.0.0.0;255.255.0.0;255.255.255.0;255.255.255.255五种,其中A类地址的默认子网掩码为255.0.0.0;B类地址的默认子网掩码为255.255.0.0;C类地址的默认子网掩码为255.255.255.0。
6.子网的作用
使用子网是为了减少IP的浪费。因为随着互联网的发展,越来越多的网络产生,有的网络多则几百台,有的只有区区几台,这样就浪费了很多IP地址,所以要划分子网。使用子网可以提高网络应用的效率。
通过IP地址的二进制与子网掩码的二进制进行与运算,确定某个设备的网络地址和主机号,也就是说通过子网掩码分辨一个网络的网络部分和主机部分。子网掩码一旦设置,网络地址和主机地址就固定了。子网一个最显著的特征就是具有子网掩码。与IP地址相同,子网掩码的长度也是32位,也可以使用十进制的形式。例如,为二进制形式的子网掩码:1111 1111.1111 1111.1111 1111.0000 0000,采用十进制的形式为:255.255.255.0。
它的主要作用有两个:一是用于屏蔽IP地址的一部分以区别网络标识和主机标识,并说明该IP地址是在局域网上,还是在远程网上;二是用于将一个大的IP网络划分为若干小的子网络。
7.子网掩码分类
子网掩码一共分为两类。一类是默认(自动生成)子网掩码,一类是自定义子网掩码。默认子网掩码即未划分子网,对应的网络号的位都置1,主机号都置0。
A类网络默认子网掩码:255.0.0.0(/8)。
B类网络默认子网掩码:255.255.0.0(/16)。
C类网络默认子网掩码:255.255.255.0(/24)。
自定义子网掩码是将一个网络划分为几个子网,需要每一段使用不同的网络号或子网号,实际上可以认为是将主机号分为两个部分:子网号、子网主机号。形式如下:
未做子网划分的IP地址:网络号+主机号。
做子网划分后的IP地址:网络号+子网号+子网主机号。
也就是说,IP地址在化分子网后,以前的主机号位置的一部分给了子网号,余下的是子网主机号。子网掩码是32位二进制数,它的子网主机标识用部分为全“0”。利用子网掩码可以判断两台主机是否在同一子网中。若两台主机的IP地址分别与它们的子网掩码相“与”后的结果相同,则说明这两台主机在同一子网中。
8.子网掩码表示方法
子网掩码通常有以下两种格式的表示方法:
(1)通过与IP地址格式相同的点分十进制表示,如255.0.0.0或255.255.255.128。
(2)在IP地址后加上“/”及1~32的数字,其中1~32的数字表示子网掩码中网络标识位的长度,如192.168.1.1/24的子网掩码也可以表示为255.255.255.0。
1.5.2 域名
企业、政府、非政府组织等机构或者个人在域名注册商上注册的名称,是互联网上企业或机构间相互联络的网络地址。
域名是Internet地址中的一项,是与网际协议(IP)地址相对应的一串容易记忆的字符,由若干个从a到z的26个字母及0到9的10个阿拉伯数字及“-”“.”符号构成并按一定的层次和逻辑排列。也有一些国家或地区在开发其他语言的域名,如中文域名。域名不仅便于记忆,而且即使在IP地址发生变化的情况下,通过改变解析对应关系,域名仍可保持不变。(具体来说域名由各个国家或地区文字的特定字符集、英文字母、数字及“-”(即连字符或减号)任意组合而成,但开头及结尾均不能含有“-”。域名中字母不区分大小写。域名最长可达63个字节(包括扩展名.com、.net、.org等)。中文域名格式如下:各级域名长度限制在26个合法字符。汉字,英文a~z、A-Z,数字0~9和-等均算一个字符。
网络是基于TCP/IP协议进行通信和连接的,每一台主机都有一个唯一标识固定的IP地址,以区别在网络上成千上万个用户和计算机。网络在区分所有与之相连的网络和主机时,均采用了一种唯一、通用的地址格式,即每一个与网络相连接的计算机和服务器都被指派了一个独一无二的地址。为了保证网络上每台计算机的IP地址的唯一性,用户必须向特定机构申请注册,分配IP地址。网络中的地址方案分为两套:IP地址系统和域名地址系统。这两套地址系统其实是一一对应的关系。IP地址用二进制数来表示,每个IP地址长32bit,由4个小于256的数字组成,数字之间用点间隔。例如61.138.98.240表示一个IP地址。由于IP地址是数字标识,使用时难以记忆和书写,因此在IP地址的基础上又发展出一种符号化的地址方案,来代替数字型的IP地址。每一个符号化的地址都与特定的IP地址对应,这样网络上的资源访问起来就容易得多了。这个与网络上的数字型IP地址相对应的字符型地址,就被称为域名。
可见域名就是网络上单位的名称,是一个通过计算机登上网络的单位在该网中的地址。一个公司如果希望在网络上建立自己的主页,就必须取得一个域名,域名也是由若干部分组成,包括数字和字母。通过该地址,人们可以在网络上找到所需的详细资料。域名是单位和个人在网络上的重要标识,起着识别作用,便于他人识别和检索某一企业、组织或个人的信息资源,从而更好地实现网络上的资源共享。除了识别功能外,在虚拟环境下,域名还可以起到引导、宣传、代表等作用。
通俗地说,域名就相当于一个家庭的门牌号码,别人通过这个号码可以很容易地找到你。
1.域名构成
以一个具体的域名为例说明,www.imvcc.com是由二部分组成,标号“imvcc”是这个域名的主体,而最后的标号“com”则是该域名的后缀,代表的这是一个.com国际域名,是顶级域名。而前面的www是网络名(主机名)。
DNS规定,域名中的标号都由英文字母和数字组成,每一个标号不超过63个字符,也不区分大小写字母。标号中除连字符(-)外不能使用其他的标点符号。级别最低的域名写在最左边,而级别最高的域名写在最右边。由多个标号组成的完整域名总共不超过255个字符。
2.发展历史
1985年,Symbolics公司注册了第一个.com域名。当时域名注册刚刚兴起,申请者寥寥无几。
1993年Internet上出现WWW协议,域名开始普及。
1993年Network Solutions(NSI)公司与美国政府签下5年合同,独家代理.com、.org、.net三个国际顶级域名注册权。当时的域名总共才7000左右。
1994年开始NSI向每个域名收取100美元注册费,两年后每年收取50美元的管理费。
1998年初,NSI已注册域名120多万个,其中90%使用“.com”后缀,进账6000多万美元。有人推算,到1999年中期,该公司仅域名注册费一项就将年创收2亿美元。
1997年7月1日,作为美国政府“全球电子商务体系”管理政策的一部分,克林顿总统委托美国商务部对域名系统实施民间化和引入竞争机制,并促进国际的参与。7月2日,美国商务部公布了面向公众征集方案和评价的邀请,对美国政府在域名管理中的角色、域名系统的总体结构、新顶级域名的增加、对注册机构的政策和商标事务的问题征集各方意见。
1998年1月30日,美国政府商务部通过其网站正式公布了《域名技术管理改进草案(讨论稿)》。这项由克林顿总统的Internet政策顾问麦格日那主持完成的“绿皮书”申明了美国政府将“谨慎和和缓地”将Internet域名的管理权由美国政府移交给民间机构,“绿皮书”总结了在域名问题上的四项基本原则,即移交过程的稳定性、域名系统的竞争性、“彻底的”协作性和民间性,以及反映所有国际用户需求的代表性。在这些原则下,“绿皮书”提出组建一个民营的非营利性企业接管域名的管理权,并在1998年9月30日前将美国政府的域名管理职能交给这个联合企业,并最迟在2000年9月30日前顺利完成所有管理角色的移交。
1998年6月克林顿政府发表一份白皮书,建议由非营利机构接管政府的域名管理职能。这份报告没有说明该机构的资金来源,但规定了一些指导原则,并建议组建一个非营利集团机构。
1998年9月30日美国政府终止了它与域名提供商NSI之间的合同。双方的一项现有协议延期两年至2000年9月30日。根据该协议,NSI与其他公司一道承接Internet顶级域名的登记工作。NSI和美国商务部国家电信和信息管理局(NTIA)于1999年3月31开始分阶段启动共享登记系统,至1999年6月1日完全实施。
1998年10月组建ICANN,一个非营利的Internet管理组织。它与美国政府签订协议,接管了原先IANA的职责,负责监视与Internet域名和地址有关的政策和协议,而政府则采取不干预政策。
2001年,在ICANN大会上,互联网国际域名管理机构ICANN通过决议,推出7个顶级域名,分别为代表航空运输业专用的.ero、面向企业的.biz、商业、行业协会专用的.coop、可以替代.com通用域名的.info、博物馆专用的.museum、个人网站专用的.name,以及会计、医生和律师等职业专用的.pro。
3.域名结构
域名由两个及以上的词构成,中间由点号(.)分隔开。最右边的为顶级域名。下面是几个常见的顶级域名及其用法:
.com——用于商业机构。它是最常见的顶级域名。任何人都可以注册.com形式的域名。
.net——最初是用于网络组织,例如因特网服务商和维修商。任何人都可以注册以.net结尾的域名。
.org——是为各种组织包括非营利组织而定的,任何人都可以注册以.org结尾的域名。
国家或地区代码一般是由两个字母组成的顶级域名,如.cn、.uk、.de,其中.cn是中国专用的顶级域名,其注册归CNNIC(中国互联网络信息中心)管理,以.cn结尾的二级域名我们简称为国内域名。
4.域名级别
域名可分为不同级别,包括顶级域名、二级域名等。
顶级域名分为两类:一是国家或地区顶级域名,200多个国家和地区都按照ISO 3166国家或地区代码分配了顶级域名,例如中国是cn,美国是us;二是国际顶级域名,例如表示工商企业的.com,表示网络提供商的.net,表示非营利组织的.org等。大多数域名争议都发生在.com的顶级域名下,因为多数公司上网的目的都是为了利益。为加强域名管理,解决域名资源的紧张,Internet协会、Internet分址机构及世界知识产权组织(WIPO)等国际组织经过广泛协商,在原来三个国际通用顶级域名的基础上,新增加了7个国际通用顶级域名:.firm(公司企业)、.store(销售公司或企业)、.web(突出WWW活动的单位)、.arts(突出文化、娱乐活动的单位)、.rec(突出消遣、娱乐活动的单位)、.info(提供信息服务的单位)、.nom(个人),并在世界范围内选择新的注册机构来受理域名注册申请。
二级域名:二级域名是指顶级域名之下的域名,在顶级域名下,它是指域名注册人的网上名称,例如ibm、yahoo、microsoft等;在国家或地区顶级域名下,它是表示注册企业类别的符号,例如.com,.edu,.gov,.net等。
中国在国际互联网络信息中心正式注册并运行的顶级域名是cn,这也是中国的一级域名。在顶级域名之下,中国的二级域名又分为类别域名和行政区域名两类。类别域名共6个,包括用于科研机构的.ac;用于工商金融企业的.com;用于教育机构的.edu;用于政府部门的.gov;用于互联网络信息中心和运行中心的.net;用于非营利组织的.org。
三级域名:三级域名用字母(A~Z、a~z)、数字(0~9)和连接符(—)组成,各级域名之间用实点(.)连接,三级域名的长度不能超过20个字符。如无特殊原因,建议采用申请人的英文名(或者缩写)或者汉语拼音名(或者缩写)作为三级域名,以保持域名的清晰性和简洁性。
1.5.3 TCP/IP及端口
TCP/IP(Transmission Control Protocol/Internet Protocol),中译名为传输控制协议/网际协议,是Internet最基本的协议、Internet的基础,由网络层的IP协议和传输层的TCP协议组成。TCP/IP定义了电子设备如何连入因特网,以及数据如何在它们之间传输的标准。协议采用了4层的层级结构,每一层都呼叫它的下一层所提供的协议来完成自己的需求。通俗地讲,TCP负责发现传输的问题,一有问题就发出信号,要求重新传输,直到所有数据安全正确地传输到目的地。而IP是给因特网的每一台计算机规定一个地址。
1.TCP
TCP是面向连接的通信协议,通过三次握手建立连接,通信完成时要拆除连接,由于TCP是面向连接的,所以只能用于端到端的通信。
TCP提供的是一种可靠的数据流服务,采用“带重传的肯定确认”技术来实现传输的可靠性。TCP还采用一种称为“滑动窗口”的方式进行流量控制,所谓窗口实际表示接收能力,用以限制发送方的发送速度。
如果IP数据包中有已经封好的TCP数据包,那么IP将把它们向上传送到TCP层。TCP将包排序并进行错误检查,同时实现虚电路间的连接。TCP数据包中包括序号和确认,所以未按照顺序收到的包可以被排序,而损坏的包可以被重传。
TCP将它的信息送到更高层的应用程序,例如Telnet的服务程序和客户程序。应用程序轮流将信息送回TCP层,TCP层便将它们向下传送到IP层,设备驱动程序和物理介质,最后到接收方。
面向连接的服务(例如Telnet、FTP、rlogin、X Window和SMTP)需要高度的可靠性,所以它们使用了TCP。DNS在某些情况下使用TCP(发送和接收域名数据库),但使用UDP传送有关单个主机的信息。
2.IP
IP层接收由更低层(网络接口层例如以太网设备驱动程序)发来的数据包,并把该数据包发送到更高层——TCP或UDP层;相反,IP层也把从TCP或UDP层接收来的数据包传送到更低层。IP数据包是不可靠的,因为IP并没有做任何事情来确认数据包是按顺序发送的或者没有被破坏。IP数据包中含有发送主机的地址(源地址)和接收主机的地址(目的地址)。
高层的TCP和UDP服务在接收数据包时,通常假设包中的源地址是有效的。也可以这样说,IP地址形成了许多服务的认证基础,这些服务相信数据包是从一个有效的主机发送来的。IP确认包含一个选项,称为IP Source Routing,可以用来指定一条源地址和目的地址之间的直接路径。对于一些TCP和UDP的服务来说,使用了该选项的IP包好像是从路径上的最后一个系统传递过来的,而不是来自于它的真实地点。这个选项是为了测试而存在的,说明了它可以被用来欺骗系统来进行平常是被禁止的连接。那么,许多依靠IP源地址做确认的服务将产生问题并且会被非法入侵。
3.UDP
UDP是面向无连接的通信协议,UDP数据包括目的端口号和源端口号信息,由于通信不需要连接,所以可以实现广播发送。
UDP通信时不需要接收方确认,属于不可靠的传输,可能会出丢包现象,实际应用中要求程序员编程验证。
UDP与TCP位于同一层,但它不管数据包的顺序、错误或重发。因此,UDP不被应用于那些使用虚电路的面向连接的服务,UDP主要用于那些面向查询-应答的服务,例如NFS。相对于FTP或Telnet,这些服务需要交换的信息量较小。使用UDP的服务包括NTP(网络时间协议)和DNS(DNS也使用TCP)。
欺骗UDP包比欺骗TCP包更容易,因为UDP没有建立初始化连接(又称握手,因为在两个系统间没有虚电路),也就是说,与UDP相关的服务面临着更大的危险。
4.ICMP
ICMP与IP位于同一层,它被用来传送IP的控制信息。它主要是用来提供有关通向目的地址的路径信息。ICMP的“Redirect”信息通知主机通向其他系统的更准确的路径,而“Unreachable”信息则指出路径有问题。另外,如果路径不可用,ICMP可以使TCP连接“体面地”终止。Ping是最常用的基于ICMP的服务。
5.端口
应用程序(调入内存运行后一般称为进程)通过系统调用与某端口建立连接绑定(binding)后,传输层传给该端口的数据都被相应的进程所接收,相应进程发给传输层的数据都从该端口输出。在TCP/IP协议的实现中,端口操作类似于一般的I/O操作,进程获取一个端口,相当于获取本地唯一的I/O文件,可以用一般的读写方式访问类似于文件描述符,每个端口都拥有一个叫端口号的整数描述符,用来区别不同的端口。由于TCP/IP传输层的TCP和UDP两个协议是两个完全独立的软件模块,因此各自的端口号也相互独立。如TCP有一个255号端口,UDP也可以有一个255号端口,两者并不冲突。端口号有两种基本分配方式:第一种是全局分配,这是一种集中分配方式,由一个公认权威的中央机构根据用户需要进行统一分配,并将结果公布于众;第二种是本地分配,又称动态连接,即进程需要访问传输层服务时,向本地操作系统提出申请,操作系统返回本地唯一的端口号,进程再通过合适的系统调用,将自己和该端口连接绑定起来。TCP/IP端口号的分配综合了以上两种方式,将端口号分为两部分,少量的作为保留端口,以全局方式分配给服务进程。每一个标准服务器都拥有一个全局公认的端口,即周知端口,即使在不同的机器上,其端口号也相同。剩余的为自由端口,以本地方式进行分配。TCP和UDP规定,小于256的端口才能作为保留端口。
由于TCP和UDP两个协议是独立的,因此各自的端口号也相互独立,比如TCP有235端口,UDP也可以有235端口,两者并不冲突。
(1)周知端口(Well-known Ports)
周知端口是众所周知的端口号,范围从0到1023,其中80端口分配给WWW服务,21端口分配给FTP服务等。在IE的地址栏里输入一个网址的时候是不必指定端口号的,因为在默认情况下WWW服务的端口号是“80”。
网络服务是可以使用其他端口号的,如果不是默认的端口号则应该在地址栏上指定端口号,方法是在地址后面加上冒号“:”(半角),再加上端口号。比如使用“8080”作为WWW服务的端口,则需要在地址栏里输入“网址:8080”。
但是有些系统协议使用固定的端口号,它是不能被改变的,比如139端口专门用于NetBIOS与TCP/IP之间的通信,不能手动改变。
(2)注册端口(Registered Ports)
端口1024~49151分配给用户进程或应用程序。这些进程主要是用户选择安装的一些应用程序,而不是已经分配好了公认端口的常用程序。这些端口在没有被服务器资源占用的时候,可以用用户端动态选用为源端口。
(3)动态端口(Dynamic Ports)
动态端口的范围是从49152到65535。之所以称为动态端口,是因为它一般不固定分配某种服务,而是动态分配。动态分配是指当一个系统进程或应用程序进程需要网络通信时,它向主机申请一个端口,主机从可用的端口号中分配一个供它使用。当这个进程关闭时,同时也就释放了所占用的端口号。
6.端口作用
我们知道,一台拥有IP地址的主机可以提供许多服务,比如Web服务、FTP服务、SMTP服务等,这些服务完全可以通过一个IP地址来实现。那么,主机是怎样区分不同的网络服务呢?显然不能只靠IP地址,因为IP地址与网络服务的关系是一对多的关系。实际上是通过“IP地址+端口号”来区分不同的服务的。
需要注意的是,端口并不是一一对应的。比如你的计算机作为客户机访问一台WWW服务器时,WWW服务器使用“80”端口与你的计算机通信,但你的计算机则可能使用“3457”这样的端口。
一种常见的技术是把一个端口重定向到另一个地址。例如默认的HTTP端口是80,不少人将它重定向到另一个端口,如8080。如果是这样改了。实现重定向是为了隐藏公认的默认端口,降低受破坏率。这样如果有人要对一个公认的默认端口进行攻击则必须先进行端口扫描。大多数端口重定向与原端口有相似之处,例如多数HTTP端口由80变化而来:81,88,8000,8080,8888。同样POP的端口原来在110,也常被重定向到1100。也有不少情况是选取统计上有特别意义的数,如1234,23456,34567等。许多人有其他原因选择奇怪的数,42,69,666,31337。近来,越来越多的远程控制木马(Remote Access Trojans,RATs)采用相同的默认端口。如NetBus的默认端口是12345。BlakeR.Swopes指出使用重定向端口还有一个原因,在UNIX系统上,如果你想侦听1024以下的端口需要有root权限。如果你没有root权限而又想打开Web服务,就需要将其安装在较高的端口。此外,一些ISP的防火墙将阻挡低端口的通信,这样即使你拥有整个机器,还须要重定向端口。