4.HCNA-HNTD——IP编址

网络层位于数据链路层与传输层之间。网络层中包含了许多协议,其中最为重要的协议就是IP协议。网络层提供了IP路由功能。理解IP路由除了要熟悉IP协议的工作机制之外,还必须理解IP编址以及如何合理地使用IP地址来设计网络。

学习目标:

  1. 掌握IP报文的结构
  2. 掌握公有IP地址、私有IP地址、以及特殊IP地址的范围
  3. 掌握VLSM技术
  4. 理解网关的作用

在剥掉帧的头部和尾部之前,网络设备需要根据帧头中Type字段确定下 一步将帧发送到哪个上层协议进行处理。本例中的帧头部Type字段表示该帧需要上送到IP协议进行处理。以下将介绍帧的头部和尾部被剥掉后 ,IP协议将如何处理帧中的数据。

IP报文头部信息用于指导网络设备对报文进行路由和分片。同一个网段内的数据转发通过链路层即可实现,而跨网段的数据转发需要使用网络设备的路由功能。分片是指数据包超过一定长度时,需要被划分成不同的片段使其能够在网络中传输。

IP报文头部长度为20到60字节,报文头中的信息可以用来指导网络设备如何将报文从源设备发送到目的设备。其中,版本字段表示当前支持的IP协议版本,当前的版本号为4。DS字段早期用来表示业务类型,现在用于支持QoS中的差别服务模型,实现网络流量优化。

源和目的IP地址是分配给主机的逻辑地址,用于在网络层标识报文的发送方和接收方。根据源和目的IP地址可以判断目的端是否与发送端位于同一网段,如果二者不在同一网段,则需要采用路由机制进行跨网段转发。

IPv4地址为32比特的二进制数,通常用点分十进制表示。IP地址用来标识网络中的设备,具有IP地址的设备可以在同一网段内或跨网段通信。 IP地址包括两部分,第一部分是网络号,表示IP地址所属的网段,第二部分是主机号,用来唯一标识本网段上的某台网络设备。

每个网段上都有两个特殊地址不能分配给主机或网络设备。第一个是该网段的网络地址,该IP地址的主机位为全0,表示一个网段。第二个地址是该网段中的广播地址,目的地址为广播地址的报文会被该网段中的所有网络设备接收。广播地址的主机位为全1。除网络地址和广播地址以外的其他IP地址可以作为网络设备的IP地址。

IPv4地址被划分为A、B、C、D、E五类,每类地址的网络号包含不同的字节数。A类,B类,和C类地址为可分配IP地址,每类地址支持的网络数和主机数不同。比如,A类地址可支持126个网络,每个网络支持2^24 (16,777,216 )个主机地址,另外每个网段中的网络地址和广播地址不能分配给主机。C类地址支持200多万个网络,每个网络支持256个主机地址,其中254个地址可以分配给主机使用。

D类地址为组播地址。主机收到以D类地址为目的地址的报文后,且该主机是该组播组成员,就会接收并处理该报文。各类IP地址可以通过第一个字节中的比特位进行区分。如A类地址第一字节的最高位固定为0, B类地址第一字节的高两位固定为10,C类地址第一字节的高三位固定为110,D类地址第一字节的高四位固定为1110,E类地址第一字节的高四位固定为1111.

IPv4中的部分IP地址被保留用作特殊用途。为节省IPv4地址,A, B, C类地址段中都预留了特定范围的地址作为私网地址。现在,世界上所有终端系统和网络设备需要的IP地址总数已经超过了32位IPv4地址所能支持的最大地址数4,294,967,296。为主机分配私网地址节省了公网地址,可以用来缓解IP地址短缺的问题。企业网络中普遍使用私网地址,不同企业网络中的私网地址可以重叠。默认情况下,网络中的主机无法使用私网地址与公网通信;当需要与公网通信时,私网地址必须转换成公网地址。还有其他一些特殊IP地址,如127.0.0.0网段中的地址为环回地址,用于诊断网络是否正常。IPv4中的第一个地址0.0.0.0表示任何网络,这个地址的作用将在路由原理中详细介绍。IPv4中的最后一个地址255.255.255.255是0.0.0.0网络中的广播地址。

源主机必须要知道目的主机的IP地址后才能将数据发送到目的地。源主机向其他目的主机发送报文之前,需要检查目的IP地址和源IP地址是否属于同一个网段。如果是,则报文将被下发到底层协议进行以太网封装处理。如果目的地址和源地址属于不同网段,则主机需要获取下一跳路由器的IP地址,然后将报文下发到底层协议处理。

子网掩码用于区分网络部分和主机部分。子网掩码与IP地址的表示方法相同。每个IP地址和子网掩码一起可以用来唯一的标识一个网段中的某台网络设备。子网掩码中的1表示网络位,0表示主机位。

每类IP地址有一个缺省子网掩码。A类地址的缺省子网掩码为8位,即第一个字节表示网络位,其他三个字节表示主机位。B类地址的缺省子网掩码为16位,因此B类地址支持更多的网络,但是主机数也相应减少。 C类地址的缺省子网掩码为24位,支持的网络最多,同时也限制了单个网络中主机的数量。

通过子网掩码可以判断主机所属的网段、网段上的广播地址、以及网段上支持的主机数。图中这个例子,主机地址为192.168.1.7,子网掩码为24位(C类IP地址的缺省掩码),从中我们可以判断该主机位于192.168.1.0/24网段。将IP地址中的主机位全部置为1,并转换为十进制数,即可得到该网段的广播地址192.168.1.255。网段中支持的主机数为 2^n, n为主机位的个数。本例中n=8,2^8=256,减去本网段的网络地址和广播地址,可知该网段支持254个有效主机地址。

如果企业网络中希望通过规划多个网段来隔离物理网络上的主机,使用缺省子网掩码就会存在一定的局限性。网络中划分多个网段后,每个网段中的实际主机数量可能很有限,导致很多地址未被使用。

采用可变长子网掩码可解决上述问题。缺省子网掩码可以进一步划分, 成为变长子网掩码(VLSM)。通过改变子网掩码,可以将网络划分为多个子网。本例中的地址为C类地址,缺省子网掩码为24位。现借用一个主机位作为网络位,借用的主机位变成子网位。一个子网位有两个取值0和1,因此可划分两个子网。该比特位设置为0,则子网号为0,该比特位设置为1,则子网号为128。将剩余的主机位都设置为0,即可得到划分后的子网地址;将剩余的主机位都设置为1,即可得到子网的广播地址。每个子网中支持的主机数为2^7-2(减去子网地址和广播地址), 即126个主机地址。

无类域间路由CIDR(Classless Inter Domain Routing)由RFC1817定义。CIDR突破了传统IP地址的分类边界,将路由表中的若干条路由汇聚为一条路由,减少了路由表的规模,提高了路由器的可扩展性。

如上图所示,一个企业分配到了一段A类网络地址,10.24.0.0/22。该企业准备把这些A类网络分配给各个用户群,目前已经分配了四个网段给用户。如果没有实施CIDR技术,企业路由器的路由表中会有四条下连网段的路由条目,并且会把它通告给其他路由器。通过实施CIDR技术 ,我们可以在企业的路由器上把这四条路由10.24.0.0/24,10.24.1.0/24 ,10.24.2.0/24,10.24.3.0/24汇聚成一条路由10.24.0.0/22。这样,企业路由器只需通告10.24.0.0/22这一条路由,大大减少了路由表的规模。

报文转发过程中,首先需要确定转发路径以及通往目的网段的接口,然 后将报文封装在以太帧中通过指定的物理接口转发出去。如果目的主机与源主机不在同一网段,报文需要先转发到网关,然后通过网关将报文转发到目的网段。

网关是指接收并处理本地网段主机发送的报文并转发到目的网段的设备 。为实现此功能,网关必须知道目的网段的IP地址。网关设备上连接本地网段的接口地址即为该网段的网关地址。

网络中转发的IP报文的长度可以不同,但如果报文长度超过了数据链路所支持的最大长度,则报文需要分割成若干个较小的片段才能够在链路上传输。将报文分割成多个片段的过程叫做分片。

接收端根据分片报文中的标识符(Identification),标志(Flags),及片偏移(Fragment Offset)字段对分片报文进行重组。标识符用于识别属于同一个数据包的分片,以区别于同一主机或其他主机发送的其它数据包分片,保证分片被正确的重新组合。标志字段用于判断是否已经收到最后一个分片。最后一个分片的标志字段设置为0,其他分片的标志字段设置为1,目的端在收到标志字段为0的分片后,开始重组报文。片偏移字段表示每个分片在原始报文中的位置。第一个分片的片偏移为0, 第二个分片的片偏移表示紧跟第一个分片后的第一个比特的位置。比如 ,如果首片报文包含1259字节,那么第二片报文的片偏移字段值就应该为1260。

报文在网段间转发时,如果网络设备上的路由规划不合理,就可能会出现环路,导致报文在网络中无限循环,无法到达目的端。环路发生后, 所有发往这个目的地的报文都会被循环转发,随着这种报文逐渐增多, 网络将会发生拥塞。

为避免环路导致的网络拥塞,IP报文头中包含一个生存时间TTL(Time To Live)字段。报文每经过一台三层设备,TTL值减1。初始TTL值由源端设备设置。当报文中的TTL降为0时,报文会被丢弃。同时,丢弃报文的设备会根据报文头中的源IP地址向源端发送ICMP错误消息。

目的端的网络层在接收并处理报文以后,需要决定下一步对报文该做如何处理。IP报文头中的协议字段标识了将会继续处理报文的协议。与以太帧头中的Type字段类似,协议字段也是一个十六进制数。该字段可以标识网络层协议,如ICMP(Internet Control Message Protocol,因特 网控制报文协议),也可以标识上层协议,如TCP(Transmission Control Protocol,传输控制协议,对应值0x06)、UDP(User Datagram Protocol,用户数据报协议,对应值0x11)。

总结:

  1. 子网掩码的作用是什么?
  2. IP报文头部中TTL字段的作用是什么?
  3. 网关的作用是什么?
  4. 对于 100.102.10.20/27 如何快速求网段是啥,有效主机为多少?

    答:

    1. 32位的IP子网掩码用于区分IP地址中的网络号和主机号。网络号表示网络或子网,主机号表示网络或子网中的主机。
    2. 如果网络中存在环路,则IP报文可能会在网络中循环而无法到达目的端。TTL字段限定了IP报文的生存时间,保证无法到达目的端的报文最终被丢弃。
    3. 网关是指接收并处理本地网段主机发送的报文并转发到目的网段的 设备。
    4. 首先求掩码:

      27/8=商3余3

      所以是三个255,再加上3位

      这个3位就参照一个顺口溜:

      128——1

      192——2

      224——3

      240——4

      248——5

      252——6

      254——7

      255——8

    那么就有子网掩码为255.255.255.224

    256-224=32 得到有效子网大小

    那么就有.0 .32 .64 …..

    100.102.10.20中的.20落在了.0和.32之间

    那么100.102.10.20/27所在的网段为100.102.10.0/27

    广播位为下一个网段减一,那么有100.102.10.31

    有效主机为100.102.10.1~100.102.10.30

时间: 2024-10-28 16:27:05

4.HCNA-HNTD——IP编址的相关文章

《TCP/IP详解卷2:实现》笔记--IP编址

1.接口和地址 在本文中讨论的所有接口和地址结构的一个例子配置如下图所示: 上图中显示了我们三个接口例子:以太网接口,SLIP接口和环回接口.它们都有一个链路层地址作为地址列表中的第一个结点. 显示的以太网接口有两个IP地址,SLIP接口有一个IP地址,并且环回接口有一个IP地址和一个OSI地址. 所有的IP地址都被链接到in_ifaddr列表中,并且所有链路层地址能从ifnet_addrs数组访问. 后面的部分讨论上图的数据结构以及用来查看和修改这些结构的IP专用ioctl命令. 2.sock

CCNA   IP编址

IP编址 IP地址是分配给IP网络中唯一的标识号,指出主机在网络中的具体位置. IP主要作用是让一个网络的主机可以和另一台网络中的主机通信,而不用管主机的类型. IP地址长32位,分为4个字节(每个字节8位). 可以用一下三种方法表示 1)点分十进制 2)二进制 3)十六进制 一般二进制和十六进制容易识别,便于使用.但是十六进制也会用到. 1P地址为结构化地址.不选择平面编址方案的原因是. 1)结构化地址优点是总地址为2^32=4 294 967 296个. 2)平面编址方案的确定与路由选择有关

IP编址

IP地址 /include/linux/inetdevice.h,定义IPV4专用的网络设备相关的结构.宏等 /net/ipv4/devinet.c,支持IPV4特性的设备操作接口 数据组织 net_device结构中包含了驱动相关的所有信息,先按分类把同一类型的信息组织到其他结构中,然后嵌套到net_device结构中.例如,与ipv4相关的配置存放在in_device结构中,IP地址.子网掩码.广播地址等信息存放到in_ifaddr结构中等 相关函数 inetdev_init()     为

<TCP/IP原理> (四) IP编址

1.IP地址的基本概念:作用.结构.类型 2.特殊地址:作用.特征 网络地址.广播地址(直接.受限) 0.0.0.0 环回地址 3.单播.多播.广播地址:特征 4.专用地址:作用.范围 5.计算和应用 确定类别,提取net id和host id 确定网络地址.直接广播地址.主机地址 第4章 IP编址 4.0 引言 1. IP地址——通用标识符 唯一标识互联网(不同的网络上)上的主机或路由器.(唯一.通用(可以包含不同类型的物理网络).网络连接) 2. 主机标识符 1)Name:是什么,可读性强

OSI/RM模型的编址方案与TCP/IP编址方案的对比

还是抛出老问题,IP地址到底是属于主机的还是属于网卡的?理解了这个看似无聊的问题,可以帮助你增强各种动态路由协议,IPv6等技术的理解深度.        请看我在2013年的一篇文章<闲聊计算机IP网络>,此文从技术的角度解释了该问题,本文将从另外一个角度来解释....        这个问题是在帮朋友设计一个IS-IS和IP Anycast相关模块时一起聊到的,由于朋友不想透露更多的细节,我也就不再说过多.仅仅针对问题而解释问题.        其实这个问题现在非常好回答,我们把IP地址换

TCP/IP协议原理与应用笔记17:IP编址之 IP地址简介(重点)

1. IP地址(通用标识符) 对于同一个网络设备(主机或路由器)的不同网络连接,需要不同的IP地址进行标识 2. 主机标识符 主要有下面三种方式的主机标识方式: (1)Name:是什么,可读性强(了解主机的属性或者用途) (2)Address:在哪里,软件效率高. (3)Route(路由的标识):怎样到达 3. IP地址结构 (1)32 bit二进制地址 它模拟物理网的编址机制,如下示意图: (2)IP地址分类,如下: TCP/IP协议原理与应用笔记03:IP地址分类

网络基础---IP编址

一,有类编址:按照严格的界限的IP地址分类的思想为有类编址. 比如,IP地址中的A,B,C,D,E类地址为有类编址. 好处:有类编址严格的将网络号和主机号区分开,有效的利用了地址空间 坏处:严格的分类,影响了地址使用的高效性,例如有可能只要两个地址的链路互联地址却用了一个C类地址. 二,无类编址:没有严格的区分网络号和主机号的位数,一个IP地址的网络号被解释成某一长度的前缀. 好处:高效的利用了地址空间,更加符合实际使用地址空间的实情.且具有灵活性,比如一个有类A类地址可以分成多个小块地址分配给

IP编址-路由交换原理2-【HCNA笔记】

1.IP报文组成 IP报文由IP报头和Data部分组成,报头由6个数据块组成,其中前5个数据块每块大小是固定的4字节(32位),后一个数据块长度可变,但规定了IP报头最大不能超过60字节,所以IP报头的大小范围在20到60字节. IP报头 Data 数据块1 数据块2 数据块3 数据块4 数据块5 数据块6 4字节 4字节 4字节 4字节 4字节 0-40字节 20-60字节 2.IP报头详解 数据块1(32位=4字节) Version Header Length Type of Service

【jc2-1】 网络层IP编址

网络层位于TCP/IP协议栈第三层.在数据链路层和传输层中间,网络层通过定义一些协议保证了数据包的正确转发.本文简单介绍IP地址分类.合理进行子网地址划分(VLSM ,variable lengthsubnet mask可变长子网掩码).ARP/RARP协议原理以及路由器工作原理. 网络层数据封装 前面已经学习到,数据链路层有物理地址--MAC地址.MAC地址是全球唯一的.当有数据发送时,源网络设备查询对端设备的MAC地址,然后将数据发送过去. MAC地址通常存在于一个平面地址空间,没有清晰的地