一 IPv4协议族
IPv4协议族是TCP/IP协议族中最为核心协议族;IPv4协议族主要包括地址解析协议ARP、逆地址解析协议RARP、互联网控制消息协议ICMP、传输控制协议TCP、用户数据报文协议UDP等协议;
ARP和RARP的功能是地址解析,介于数据链路层和网络层之间,所以常常被调用,ICMP协议的功能是为了更有效地转发IP数据报文和提高数据报文交付成功的机会,是介于网络层和传输层之间的协议;
1 ARP协议
ARP协议是用来将IP地址解析为MAC地址的协议,可以分为动态和静态两种类型,另外,ARP还有扩展应用功能,包括代理ARP、免费ARP、ARP安全、ARP-Ping;
2 RARP协议
RARP和ARP正好相反,是将主机的MAC地址解析为IP地址的协议;
3 ICMP协议
为了更有效转发IP数据报文和提高数据报文交付成功的机会,在网络层使用ICMP协议,ICMP允许主机或路由器报告差错情况和提供有关异常情况的报告,ICMP报文作为IP层数据报文的数据,加上数据报文的首部,组成IP数据报文发送出去;
二 IPv4地址
1、点分十进制表示法
在IP网络上,如果用户要将一台计算机连接到Internet上,就需要向因特网服务提供方ISP申请一个IP地址;
IP地址是在计算机网络中被用来唯一标识一台设备的一组数字,IPv4地址由32位二进制数值组成,但为了便于用户识别和记忆,采用了“点分十进制表示法”,采用了这种表示法的IP地址由4个点分十进制整数表示,每个十进制整数对应一个字节;
例如,IPv4地址使用二进制的表示形式为 0000 1010 0000 0001 0000 0001 0000 0010,采用点分十进制表示法表示10.1.1.2;
2、IPv4地址组成
(1)网络号码字段 Net-id:IP地址的网络号码字段用来标识一个网络,网络号码字段的前几位用来区分IP地址的类型;
(2)主机号码字段 Host-id:主机号码字段用来区分一个网络内的不同主机,对于网络号相同的设备,无论实际所处的 物理位置如何,它们都是处于同一个网络中;
3、IPv4地址的特点
(1)IP地址是一种非等级的地址结构,IP地址不能反映任何有关主机位置的地理信息,只能通过网络号码字段判断出主机属于哪个网络;
(2)当一台主机同时连接到两个网络上时,该主机就必须具有两个相应的IP地址,其网络号码Net-id是不同的,这种主机称为多地址主机,主机上的每个接口都对应着一个IP地址,因此多接口主机会有多个IP地址;
(3)在IP地址中,所有分配到网络号码Net-id的网络都是平等的;
4、IPv4地址分类
为了方便IP地址的管理及组网,IP地址分为五类,如下图所示:
目前大量使用的IP地址属于A、B、C三类IP地址中的一种,D类地址是组播地址,E类地址保留;A、B、C、D、E类的类别字段分别是二进制数0、10、110、1110、1111,通过网络号码字段的前几个比特就可以判断IP地址属于哪一类,这是区分各类地址最简单的方法,在IETF发布的RFC 1166中进行了描述;
在使用IP地址时要注意,一些IP地址是是保留作为特殊用途的,一般的用户不能使用,表1列出各类IP地址的范围;
(1)A类
0.0.0.0~127.255.255.255
全0的主机号码表示该IOP地址就是网络的地址,用于网络路由;全1的主机号码表示广播地址,即对该网络上所有的主机进行广播;
(2)B类
128.0.0.0~191.255.255.255
全0的主机号码表示该IP地址就是网络的地址,用于网络路由;全1的主机号码表示广播地址,即对该网络上所有的主机进行广播;
(3)C类
192.0.0.0~223.255.255.255
全0的主机号码表示该IP地址就是网络的地址,用于网络路由;全1的主机号码表示广播地址,即对该网络上所有的主机进行广播;
(4)D类
224.0.0.0~239.255.255.255
D类为组播地址;
(5)E类
240.0.0.0~255.255.255.255
保留地址,255.255.255.255用于局域网广播地址;
5、私有IPv4地址
A 10.0.0.0~10.255.255.255
B 172.16.0.0~172.31.255.255
C 192.168.0.0~192.168.255.255
三 IPv4报文格式
1、IPv4报文格式
一个IPv4数据报文由首部和数据两部分组成,首部的前一部分是规定长度,共20字节,是所有IPv4数据报必须具有的;在首部的固定部分的后面是一些可选字段,其长度是可变的;
2、IPv4报文字段
特殊字段介绍:
Version:协议版本;
Header Length:头部长度,默认为20字节;
Differentiated Services Field:不同的服务领域 (Tos);
Total Length:数据包总长度;
Identification:识别码;
Flags:标识;
Reserved:复位;
Don‘t Fragment:不分段;
More Fragments:更多的分段;
Fragment offset:分段偏移-计算值为前面报文的大小(最大1500bit,可修改)
Time to Live:生存时间;
Protocol:协议;
Header Checksum:头部检验码;
Source:源IP地址;
Destination:目的IP地址;
四 子网划分
1 原理
通过将IP地址的网络部分进一步划分为若干个子网,解决了IP底子空间利用率和两级IP地址不够灵活的问题;
当一个单位的主机很多而且分布在很广的地理范围时,为了便于管理,可将单位内部的主机号码 再进一步划分为多个子网,通过子网划分,整个网络地址可以划分成更多的小网格;
子网的划分是网络内部的行为,从外部看,这个单位只有一个网络号码。只有当外部的报文进入到本单位范围后,本单位的路由设备才根据子网号码再进行选路,找到目的主机;
如图所示,为一个B类IP地址子网划分情况,其中子网掩码由一串连续的1和一串连续的0组成,1对应于网络号码和子网号码字段,0对应主机号码字段;
把一个B类地址的Host-id的高位5bits用来划分子网,Subnet-id的范围是从00000~11111,总共可以划分为32个子网出来,对应的子网掩码也会相应的发生变化,比如Subnet-id为11111的子网掩码就是255.255.248.0,将IP地址与其相应掩码位执行与运算的结果就是网络地址;
多划分出一个子网号码字段是要付出代价的;
举例来说,本来一个B类IP地址可以容纳65534个主机号码,但是划分出5bits长的子网字段后,最多可用32个子网,每个子网有11bit的主机号码,即每个子网最多可用2046(2048-2)个主机号码,因此主机号码的总数是32x2046=65472个,比不划分子网时要少62个;
2 原则
子网划分与IP地址规划时,要考虑以下原则实现高效合理的网络规划:
(1)层次性
实现网络的层次性划分,需要综合考虑地域和业务因素,采用自顶向下的方法划分,达到有效管理网络、简化路由表的目标,一般情况下:
- 对于大骨干网络和大城城域网相结合的网络,采用层次性划分方式;
- 对于行政区类型的网络,采用多级网络分配方式;
(2)连续性
连续地址在层次结构的网络中易于进行路由聚合,大大缩减路由表数量,提高路由查找的效率;
尽量为每个区域分配连续的IP地址空间;
尽量为具有相同业务和功能的设备分配连续的IP地址;
(3)扩展性
分配地址时,在每一层次上都要留有余量,当网络规模扩展时能保证地址分配的连续性,实现网络的长远规则;
骨干网络应有足够的连续地址组成独立的自治域,并为今后的扩展留有余地;
(4)高效性
划分子网时,要保证充分利用地址资源,使子网的划分满足主机个数的要求;
利用可变长子网掩码VLSM技术分配IP地址,充分合理地利用地址资源;
与网络的路由机制设计相结合,合理使用已划分的地址空间,提高地址的利用率;
五 IP地址解析
一台路由设备用来连接多个网络,具有多个网络的IP地址,为了保证用户使用IP地址进行正常通信,需要满足以下两点:
- IP地址只是主机在网络层中的地址,若要将网络层中传送的数据报交给目的主机,必须知道该主机的物理地址,因此必须将IP地址解析为物理地址;
- 用户平时不愿意使用难于记忆的IP地址,而愿意使用易于记忆的主机名,因此也需要将主机名解析为IP地址;
在以太网上,主机的物理地址就是指MAC地址,将主机名解析为IP地址的操作是由DNS服务器来完成,而将IP地址解析为MAC地址的操作是由ARP来完成的,