任选字段(options )支持各种选项,提供扩展余地。根据选项的不同,该字段可变长; IP 地址(source/destination address)指 32 位的源地址与目标地址分别指出源主机和目的主机的网络地址;
数据(data) 指来自上层的数据,可变长,但最长为 64 Kb.。
IP 首部的可变部分就是一个选项字段,用来支持排错、测量以及安全等措施,内容很丰富。选项字段的长度可变,从 1 个字节到 40 个字节不等,取决于所选择的项目。增加首部的可变部分是为了增加 IP 数据报的功能,但这同时也使得 IP 数据报的首部长度成为可变的。这就增加了每一个路由器处理数据报的开销。实际上这些选项很少被使用。
3. IP 协议的数据封装
若 IP 数据报的长度小于等于物理网的最大帧长度,则直接进行数据封装
1. IP 地址及其表示方法
IP 地址就是给每个连接在因特网上的主机(或路由器)分配一个在全球范围内是唯一的 32bit 的标识符。现阶段 IP 地址长 32 位(4 字节),采用点分十进制表示,字节内采用十进制数表示,字节间用点号“·”隔开。 如:192·125·10·252。
分类 IP 地址是将 IP 地址划分为若干个固定类。IP 地址分为 A、B、C、D、E 共五类,最常用的是 A、B、C 三类。IP 地址由网络标识字段(net-id)和主机标识字段(host-id)组成,IP 地址可以标识为:IP 地址::={<网络标识>,<主机标识>}
具有正常的网络号部分,而主机号部分为全“0”的 IP 地址代表一个特定的网络,即作为网络标识之用;例如:102.0.0.0 代表了一个 A 类、B 类和 C 类网络;138.1.0.0 代表了一个 A 类、B 类和 C 类网络;198.10.1.0 分别代表了一个 A 类、B 类和 C 类网络。具有相同网络标识的主机被认为位于同一个网络中,可以直接相互通信;具有不同网络标识的主机不能直接相互通信。
网卡)就相当于一个路由器。由于一个路由器至少应当连接到两个网络(这样它才能将 IP 数据报从一个网络转发到另一个网络),因此一个路由器至少应当有两个不同的 IP 地址。按照因特网的观点,用转发器或网桥连接起来的若干个局域网仍为一个网络,因此这些局域网都具有同样的网络号 net-id。
7.IP 地址规划的基本步骤
第一步,分析网络规模:
包括相对独立的网段数量和每个网段中可能拥有的最大主机数;
注意:路由器的每一个接口所连的网段都是一个独立网段;
第二步,确定使用公用地址还是私有地址,并根据网络规模确定所需要的网络号类别。
若采用公有地址需要向网络信息中心(Network Information Center, NIC)提出申请并获得地址使用权;
第三步,根据可用的地址资源进行主机 IP 地址的分配。
在同一个局域网上的主机或路由器的 IP 地址中的网络号必须是一样的。用网桥(它只在链路层工作)互连的网段仍然是一个局域网,只能有一个网络号。路由器总是具有两个或两个以上的 IP 地址。当两个路由器直接相连时,在连线两端的接口处,可以指明也可以不指明 IP 地址。
1.逻辑地址是第三层地址,有时又称为网络地址;该地址是随着设备所处网络位置不同而变化的,又称为 IP 地址;设备从一个网络被移到另一个网络时,其 IP 地址也会相应地发生改变。IP 地址是一种结构化的地址,可以提供关于主机所处的网络位置信息。比喻:人的住址
2.物理地址是第二层地址,有时又称为硬件地址;固化在网卡的硬件结构中,又称为 MAC 地址;只要主机或设备的网卡不变,则其 MAC 地址就是不变的,即使其从一个网络被移到另一个网络,从地球的一端移到另一端。一种平面化的地址,不能提供关于主机所处的网络位置信息。比喻:人的姓名。
IP 地址放在 IP 数据报的首部,硬件地址则放在 MAC 帧的首部。在网络层及以上使用的是 IP 地址,而数据链路层及以下使用的是硬件地址。因而在数据链路层看不见数据报的 IP 地址。
在 IP 层抽象的互连网上,只看到 IP 数据报;路由器只根据目的站的 IP 地址进行选择;
在具体的物理网络的链路层,只看到 MAC 帧;IP 数据报被封装在 MAC 帧里面;路由器都有各自的 IP 地址和两个硬件地址; 物理地址是数据链路层和物理层使用的地址,而 IP 地址是网络层和以上各层使用的地址
虽然在 IP 数据报首部有源站 IP 地址,但路由器只根据目的站的 IP 地址的网络号进行路由选择。在具体的物理网络的链路层,只能看见 MAC 帧。尽管互连在一起的网络的硬件地址体系各不相同,但 IP 层抽象的互联网却屏蔽了下层这些很复杂的细节。只要中国在网络层上讨论问题,就能够使用统一的、抽象的 IP 地址研究主机和主机或路由器之间的通信
1.地址解释协议 ARP
IP 地址只是一种在网际范围内标识主机的逻辑地址,不能直接利用它们在物理上发送分组。因为数据链路层的硬件是不能识别因特网地址的,它们只能以物理方式进行寻址,
例如,以太网中的主机是通过网卡连接到以太网中的,这些网卡只能识别 48 位的 MAC 地址,并且以以太网帧的形式发送数据,它们不能识别 32 位的 IP 地址。也就是说,为了在物理上实现 IP 分组的传输,需要在网络互连层提供从主机 IP 地址到主机物理地址或 MAC 地址的映射功能。ARP 正是实现这种功能的协议,其全称为地址解释协议(address resolution protocol,简称 ARP),该协议在 RFC865 中定义。
不管网络层使用的是什么协议,在实际网络的链路上传送数据帧时,最终还是必须使用硬件地址; 每一个主机都设有一个 ARP 高速缓存(ARP cache),里面有所在的局域网上的各主机和路由器的 IP 地址到硬件地址的映射表。当主机 A 欲向本局域网上的某个主机 B 发送 IP 数据报时,就先在其 ARP 高速缓存中查看有无主机 B 的 IP 地址。如有,就可查出其对应的硬件地址,再将此硬件地址写入 MAC 帧,然后通过局域网将该 MAC 帧发往此硬件地址。
由网络管理员将一个给定的网络分为若干个更小的部分,称为子网划分;这些被划分出来的更小部分被称为子网(subnet)。当网络中的主机总数未超出所给定的某类网络可容纳的最大主机数,但内部又要划分成若干个分段(segment)进行管理时,就可以采用子网划分的方法。为了创建子网,网络管理员需要从原有 IP 地址的主机位中借出连续的高若干位作为子网络标识。
由于两级 IP 地址的缺点是 IP 地址空间的利用率低,给每一个物理网络分配一个网络号会使路由表变得太大因而使网络性能变坏。两级的 IP 地址不够灵活。所以解决办法是增加子网字段,变两级 IP 地址为三级 IP 地址。一个拥有许多物理网络的单位,可将所属的物理网络划分为若干个子网(subnet)。划分子网纯属一个单位内部的事情。这个单位对外仍然表现为一个没有划分子网的网络。划分子网的方法是从网络的主机号借用若干个比特作为子网号 subnet-id,而主机号 host-id 也就相应减少了若干个比特。两级的 IP 地址在本单位内部就变为三级的 IP 地址:网络号 net-id、子网号 subnet-id 和主机号 host-id。凡是从其他网络发送给本单位某个主机的 IP 数据报,仍然是根据 IP 数据报的目的网络号 net-id 找到连接在本单位网络上的路由器。但此路由器在收到 IP 数据报后,再按目的网络号 net-id 和子网号 subnet-id 找到目的子网,将 IP 数据报交付给目的主机。
3.划分 IP 子网的目的
节约 IP 地址空间、增加网络号;一个 IP 网络对应多个物理网络。首先,要明确划分后需要获得的子网数量和每个子网中所要拥有的主机数;确定需要从原主机位借出的子网络标识位数。根据全“0”和全“1” IP 地址保留的规定:原则上,子网划分时至少要从主机位的高位中选择两位作为子网络位;而只要能保证保留两位作为主机位,A、B、C 类网络最多可借出的子网络位是不同的,A 类至多可达 22 位、B 类至多为 14 位,C 类则为 6 位。划分 IP 子网的方法是:
<主机编号>:<子网编号>+<主机编号>
4.子网掩码
长度是 32 位,用于区分 IP 地址中的网络标识和主机标识,将网络切割成为数个子网,表示方法同 IP 地址,由 2 部分构成:“全 1”+“全 0” 。网络地址(即子网地址)就是将主机号置为全 0 的 IP 地址。网络标识=IP 地址 & 子网掩码;对于连接在一个子网上的所有主机和路由器,其子网掩码都是同样的。子网掩码是整个子网的一个重要属性。子网掩码(subnet mask)通常与 IP 地址配对出现,其功能是告知主机或路由设备,IP 地址的哪一部分代表网络号(含网络标识与子网络标识),哪一部分代表主机号。子网掩码使用与 IP 地址相同的编址格式,即 32 位长度的二进制比特位,也可分为 4 个 8 位组并采用点十进制来表示。在子网掩码中,与 IP 地址中的网络位部分对应的位取值为“1”,而与 IP 地址主机部分对应的位取值为“0”。通过将子网掩码与相应的 IP 地址进行求“与”操作,就可决定给定的 IP 地址所属的网络号信息。 子网络位数与子网数量、有效子网数量的对应关系如表