7.IP地址分类与TCP/UDP端口
要想使网络设备或者主机能够连接到 Internet,必须为网络设备配置 IP 地址。由于在
Internet 上 IP 地址是全世界唯一的,IP 地址可以标识一个主机。目前应用范围最广泛的因
特网地址使用的是 IPv4(IP 第 4 版本)的 IP 地址,长为 32 位,由 4 组十进制数组成,每
组数值的范围为 0~255,中间用点号(“.”)隔开,称之为四组“点分二进制”。例如,IP
地址 172.16.12.204 对应的二进制表达方式为:
10101100 00010000 00001100 11001100
1.因特网中 IP 地址的分类
一个 IP 地址由 IP 地址类型、网络 ID 和主机 ID 组成。网络类型标识本 IP 地址所属的
类型,网络 ID 标识 IP 表示设备或主机所在的网络,主机 ID 标识网络上的工作站、服务器
或路由选择器。每个网络设备对应的网络 ID 必须唯一,在同一个网络中各网络设备的主
机 ID 不能重复。IP 地址的一般格式为:
类别 + 网络标识 + 主机标识
类别:用来区分 IP 地址的类型;
网络标识(Network ID):表示主机所在的网络;
主机标识(Host ID):表示主机在网络中的标识。
1.IP 地址的分类
IP 地址通常分为 5 类:A 类、B 类、C 类、D 类、E 类。
因特网规定的一些特殊地址
在 IP 地址中有一些特殊的地址,含义如下:
-
主机 ID 全为 0 的 IP 地址,它不分配给任何主机,仅用于表示某个网络的网络地
址,例如 192.168.1.0,表示网络为 192.168.1.0,其中的主机为 192.168.1.1~192.168.
1.254。
-
主机 ID 全为 1 的 IP 地址,这个地址也不分配给任何主机,仅用做广播地址。目
的地址为这个 IP 地址的分组数据发送给该网络中的所有结点,至于能否执行广播,
则要依赖于其物理网络是否支持广播的功能。例如, 192.168.1.255 为网络
192.168.1.0 的广播值,向此 IP 地址发送的分组数据,全网络的主机都接受。
-
IP 地址的 32 位全为 1 的地址,即 255.255.255.255,为有限广播地址,这个地址通
常由无盘工作站启动时使用,从网络 IP 地址服务器获得一个分配给工作站的 IP
地址。
-
IP 地址的 32 位全为 0 的地址(即 0.0.0.0),表示主机本身,发往此 IP 地址的数
据分组由本机接收。
-
IP 地址 127.0.0.1 是一个特殊的回环接口,它常用于在本地进行软件测试。例如在
Linux 操作系统下有一个配置文件/etc/hosts,其中一行代码定义了 localhost 的 IP
地址:
127.0.0.1 localhost
2.子网掩码
子网掩码指的是一个 32 位字段的数值,利用此字段来屏蔽原来网络地址的划分情况,
从而获得一个范围较小的、可以实际使用的网络。
具体看:https://baijiahao.baidu.com/s?id=1606474671793061553&wfr=spider&for=pc
3. 端口
TCP 和 UDP 协议是以 IP 协议为基础的传输,为了方便多种应用程序,区分不同应用
程序的数据和状态,引入了端口的概念。
端口是一个 16 位的整数类型值,通常称这个值为端口号。如果是服务程序,则需要
对某个端口进行绑定,这样某个客户端可以访问本主机上的此端口来与应用程序进行通信。
由于 IP 地址只能对主机进行区分,而加上端口号就可以区分此主机上的应用程序。实际上,
IP 地址和端口号的组合,可以确定在网络上的一个程序通路,端口号实际上是操作系统标
识应用程序的一种方法。
端口号的值可由用户自定义或者由系统分配,采用动态系统分配和静态用户自定义相
结合的办法。一些常用的服务程序使用固定的静态端口号,例如,Web 服务器的端口号为
80,电子邮件 SMTP 的端口号为 25,文件传输 FTP 的端口号为 20 和 21 等。
对于其他的应用服务,特别是用户自行开发的客户端应用程序,端口号采用动态分配
方法,其端口号由操作系统自动分配。通常情况下,对端口的使用有如下约定,小于 1024
的端口为保留端口,由系统的标准服务程序使用;1024 以上的端口号,用户应用程序可以
使用。如图 5.30 所示为 Linux 下常用的端口及绑定的服务
在Linux系统的文件/etc/services中列出了系统提供的服务,以及各服务的端口号等信息。