1.1 介绍
定义
IPv4(Internet Protocol Version 4)协议族是TCP/IP协议族中最为核心的协议族。它工作在TCP/IP协议栈的网络层,该层与OSI参考模型的网络层相对应。网络层提供了无连接数据传输服务,即网络在发送分组时不需要先建立连接,每一个分组(也就是IP数据报文)独立发送,与前后的分组无关。
目的
网络层的IPv4协议族为数据链路层和传输层实现互通提供了保障。IPv4协议族可以屏蔽各链路层的差异,为传输层提供统一的网络层传输标准。
1.2 原理描述
1.2.1 IPv4简介
IPv4协议族
IPv4协议族是TCP/IP协议族中最为核心的协议族。IPv4协议族主要包括地址解析协议ARP(Address Resolution Protocol)、逆地址解析协议RARP(Reverse Address Resolution Protocol)、互联网控制消息协议ICMP(Internet Control Message Protocol)、传输控制协议TCP(Transmission Contronl Protocol)和用户数据报协议UDP(User Datagram Protocol)等协议。
从图以看出来,ARP和RARP的功能是地址解析,介于数据链路层和网络层之间,所以常常被调用。ICMP协议的功能是为了更有效地转发IP数据报文和提高数据报文交付成功的机会,是介于网络层和传输层之间的协议。
ARP协议
ARP是用来将IP地址解析为MAC地址的协议,可以分为动态和静态两种类型。另外ARP还有扩展应用功能,包括Proxy ARP功能、免费ARP、ARP安全以及ARP-Ping。
RARP协议
RARP和ARP正好相反,是将主机的MAC地址解析为IP地址的协议。
ICMP协议
为了更有效地转发IP数据报文和提高数据报文交付成功的机会,在网络层使用ICMP协议。ICMP允许主机或路由器报告差错情况和提供有关异常情况的报告。ICMP报文作为IP层数据报文的数据,加上数据报文的首部,组成IP数据报文发送出去。
1.2.2 IPv4地址
在IP网络上,如果用户要将一台计算机连接到Internet上,就需要向因特网服务提供方ISP(Internet Service Provider)申请一个IP地址。
IP地址是在计算机网络中被用来唯一标识一台设备的一组数字。IPv4地址由32位二进制数值组成,但为了便于用户识别和记忆,采用了“点分十进制表示法”。采用了这种表示法的IP地址由4个点分十进制整数来表示,每个十进制整数对应一个字节。例如,IPv4地址使用二进制的表示形式为00001010 00000001 00000001 00000010,采用点分十进制表示法表示为10.1.1.2。
IPv4地址由如下两部分组成:
网络号码字段(Net-id)。IP地址的网络号码字段用来标识一个网络,网络号码字段的前几位用来区分IP地址的类型。
主机号码字段(Host-id)。主机号码字段用来区分一个网络内的不同主机。对于网络号相同的设备,无论实际所处的物理位置如何,它们都是处在同一个网络中。
IPv4地址的特点
IPv4地址的主要特点有:
IP地址是一种非等级的地址结构,IP地址不能反映任何有关主机位置的地理信息,只能通过网络号码字段判断出主机属于哪个网络。
当一台主机同时连接到两个网络上时,该主机就必须同时具有两个相应的IP地址,其网络号码Net-id是不同的,这种主机称为多地址主机(Multihomed Host)。主机上的每个接口都对应着一个IP地址,因此多接口主机会有多个IP地址。
在IP地址中,所有分配到网络号码Net-id的网络都是平等的。
IPv4地址分类
为了方便IP地址的管理及组网,IP地址分成五类,
目前大量使用的IP地址属于A、B、C三类IP地址中的一种。D类地址是组播地址,E类地址保留。A、B、C、D、E类的类别字段分别是二进制数0、10、110、1110、1111,通过网络号码字段的前几个比特就可以判断IP地址属于哪一类,这是区分各类地址最简单的方法。在IETF(Internet Engineering Task Force)发布的RFC1166 Internet Numbers中详细描述了各类IP地址。
在使用IP地址时要注意,一些IP地址是保留作为特殊用途的,一般的用户不能使用。表1-1列出各类IP地址的范围。