精华内容
下载资源
问答
  • IP地址分配原理

    千次阅读 2018-09-16 20:43:55
    最终结合OSI和TCP/IP的优点,采用了一种只有五层协议的体系结构,本文的讲述的IP都是基于五层协议模型中的网络层。 OSI体系结构 TCP/IP体系结构 五层体系结构 7 应用层 应用...

    网络模型介绍

    在计算机网络中有著名的OSI七层协议体系结构,概念清楚,理论完整,但是它既复杂又不实用。TCP/IP体系结构则不同,得到的广泛的应用。最终结合OSI和TCP/IP的优点,采用了一种只有五层协议的体系结构,本文的讲述的IP都是基于五层协议模型中的网络层

    OSI体系结构TCP/IP体系结构五层体系结构
    7 应用层应用层5 应用层
    6 表示层
    5 会话层
    4 传输层传输层4 传输层
    3 网络层 网络层3 网络层
    2 数据链路层网络接口层2 数据链路层
    1 物理层1 物理层

    分类的IP地址

    IP地址的表示方法

    IP地址就是给英特网上的每个主机(路由器)的每个接口分配一个在全世界范围内是唯一的32位的标识符,每8位用等效十进制表示。其组成第一个字段是网络号,第二个字段是主机号。一个主机号在前面的网络号所指明的网络范围内必须是唯一的,所以一个IP地址在整个网络中都是唯一的。目前分为A、B、C、D、E 五类IP地址。
    IP

    • 在A、B、C 三类地址中灰色的部分即为网络号,网络号的前三位是类别位,分别是0,10,110。也就是说我们可以凭借这个类别位置来判断网络类别。
    • 32位的总长度,由于A、B、C 三类网络号的长度的不同,导致A、B、C 类地址的主机号字段的字节数分别为3、2、1(一个字节8位)。
    • D 类地址的网络号为1110,用于多播(一对多通讯)。E 类地址的网络号为1111,保留以后使用。

    常用IP地址的指派范围

    网络号指派范围
    • A类地址网络号占用一个字节,但是由于有一位是类别位,只有7位可供使用,但是由于规定,网络字段全0是个保留字段表示本网络,而127(01111111)是另外一个保留字段,作为本地软件的环回测试。我们常见的127.0.0.1表示本机,原因也是出自这里。所以A类地址可以指派的网络号个数为(27-2).
    • B类网络地址网络号有两个字节,前两位为10已经固定,只剩下14位可用,由于这14位无论怎么取值都不会使得网络号为全0或者全1,单实际上规定,规定B类最小网络地址为128.1.0.0。因此B类地址可指派的网络号个数为(214-1).
    • C类地址有3个字节的网络字段号,前三位固定110,只有剩下21位可用,同样C类地址可指派的最小网络地址也是192.0.1.0。因此C类地址可指派的网络号个数为(221-1).
    :转载自 https://blog.csdn.net/qzcsu/article/details/72859431
    展开全文
  • IP地址的分配原理

    万次阅读 多人点赞 2017-06-04 15:54:14
    网络模型介绍 在计算机网络中有著名的OSI七层协议体系结构,概念清楚,理论完整,但是它既复杂又不...最终结合OSI和TCP/IP的优点,采用了一种只有五层协议的体系结构,本文的讲述的IP都是基于五层协议模型中的网络层。

    网络模型介绍

    在计算机网络中有著名的OSI七层协议体系结构,概念清楚,理论完整,但是它既复杂又不实用。TCP/IP体系结构则不同,得到的广泛的应用。最终结合OSI和TCP/IP的优点,采用了一种只有五层协议的体系结构,本文的讲述的IP都是基于五层协议模型中的网络层

    OSI体系结构TCP/IP体系结构五层体系结构
    7 应用层应用层5 应用层
    6 表示层
    5 会话层
    4 传输层传输层4 传输层
    3 网络层 网络层3 网络层
    2 数据链路层网络接口层2 数据链路层
    1 物理层1 物理层

    分类的IP地址

    IP地址的表示方法

    IP地址就是给英特网上的每个主机(路由器)的每个接口分配一个在全世界范围内是唯一的32位的标识符。其组成第一个字段是网络号,第二个字段是主机号。一个主机号在前面的网络号所指明的网络范围内必须是唯一的,所以一个IP地址在整个网络中都是唯一的。目前分为A、B、C、D、E 五类IP地址。
    IP

    • 在A、B、C 三类地址中灰色的部分即为网络号,网络号的前三位是类别位,分别是0,10,110。也就是说我们可以凭借这个类别位置来判断网络类别。
    • 32位的总长度,由于A、B、C 三类网络号的长度的不同,导致A、B、C 类地址的主机号字段的字节数分别为3、2、1(一个字节8位)。
    • D 类地址的网络号为1110,用于多播(一对多通讯)。E 类地址的网络号为1111,保留以后使用。

    因此我们一般使用的就是ABC三类网络地址,IP地址是32位的二进制代码,为了提高可读性,把32位的IP地址中的每8位用等效的十进制表示出来(点分十进制),于是我们日常生活中常见的IP地址就出现了。

    例如:IP地址,128.11.3.31,转化为二进制为 100000000 00001011 00000011 00011111 ,可以看出类别位为 10,可以判断为一个B类地址。

    常用IP地址的指派范围

    网络号指派范围

    • A类地址网络号占用一个字节,但是由于有一位是类别位,只有7位可供使用,但是由于规定,网络字段全0是个保留字段表示本网络,而127(01111111)是另外一个保留字段,作为本地软件的环回测试。我们常见的127.0.0.1表示本机,原因也是出自这里。所以A类地址可以指派的网络号个数为(27-2).
    • B类网络地址网络号有两个字节,前两位为10已经固定,只剩下14位可用,由于这14位无论怎么取值都不会使得网络号为全0或者全1,单实际上规定,规定B类最小网络地址为128.1.0.0。因此B类地址可指派的网络号个数为(214-1).
    • C类地址有3个字节的网络字段号,前三位固定110,只有剩下21位可用,同样C类地址可指派的最小网络地址也是192.0.1.0。因此C类地址可指派的网络号个数为(221-1).

    主机号指派范围

    • 由于主机号有规定,全0的主机号代表IP地址是“本主机”所连接到的单个网络地址(例,一主机地址为5.6.7.8,则该主机所在的网络地址为5.0.0.0),而全1则表示“所有的”,即表示该网络上的所有主机。
    • A类地址的主机号是由三个字节,24位组成,所以每一个A类网络中可分配的主机个数为(224-2).
    • B类地址的主机号是由两个字节,16位组成,所以每一个B类网络中可分配的主机个数为(216-2).
    • C类地址的主机号是由一个字节,8位组成,所以每一个C类网络中可分配的主机个数为(28-2).

    总结IP指派范围

    综上网络号和主机号的指派描述可知,IP地址空间共有232个地址。
    所有A类地址共有(27-2) (224-2)个,大约231,占50%;
    所有B类地址共有(214-1)(216-2)个,大约230,占25%;
    所有C类地址共有(221-1) (28-2)个,大约229,占12.5%;

    网络类别 最大可分配网络数 首个可分配网络号 最后一个可分配网络号 每个网络中最大主机数
    A 126(27-2) 1 126 16777214
    B 16383(214-1) 128.1 191.255 65534
    C 2097151(221-1) 192.0.1 223.255.255 254

    • 所以可以这样来表示一个A类IP地址 n.x.y.z,若 1n126 0x,y,z255 ,其中 x,y,z 不同时为0也不能同时为255.

      • 所以可以这样来表示一个B类IP地址 n.m.x.y ,若 128n191 0m255 0x,y255 ,其中 I. n=128 时, m0 ; II. x,y 不同时为0也不能同时为255;
      • 所以可以这样来表示一个C类IP地址 n.m.k.x ,若 192n223 0m,k255 1x254 ,其中 当 n=192 时, k0 .

      • IP地址和硬件地址

        从层次角度来看,硬件地址是数据链路层和物理层使用的地址(常称作MAC地址),而IP地址是网络层和以上各层使用的地址,是一种逻辑地址。在网络层我们进行数据报文从IP1传输到IP2,无论我们中间经过多少次转发,从网络层来看,源地址始终是IP1,目的地址始终是IP2。但是从数据链路层来看,显然就不是这样了,这些是物理地址,很有可能从源节点经过多次中间节点的物理地址的转变才能到达目的节点。

        而IP地址和物理地址的之间的转化则需要依靠两个重要的协议ARP(地址解析协议),RARP(逆地址解析协议)。IP地址通过ARP转化成物理地址,物理地址可以通过RARP转化成相应的IP地址。


        子网和超网

        简单的来说就是如何来管理一个IP地址下的多台主机

        子网

        现在假设这样一个场景,一个数据报起目的地址是145.13.3.10(在子网 145.13.3.0中),已经到达路由器R1(145.13.0.0),那么这个路由器怎么将它转发到145.13.3.0呢?
        我们并不知道目的地址是否进行了子网的划分。
        这就引出了子网掩码的概念了,子网掩码也是32位,由一串1和0组成,子网掩码中的1对应于IP地址中的网络号位置+子网网络号位置,子网掩码中的0对应与IP地址中现在的主机号位置。
        我们只要将IP地址和子网掩码进行“与”运算,如果进行子网的划分,就立刻得出要找的子网的网络地址,如果没有进行子网划分(有默认的子网掩码),则直接能够得出该IP地址的网络地址出来。

        • A类地址的默认子网掩码是255.0.0.0
        • B类地址的默认子网掩码是255.255.0.0
        • C类地址的默认子网掩码是255.255.255.0

        超网

        无分类编址CIDR,使用变长的子网掩码,可以进一步提高IP地址的资源利用率。有两个特点
        第一,消除了传统的ABC类地址及划分子网的概念,CIRD把32位的IP地址划分成为两个部分,网络前缀和剩下的部分,表示方法为,在IP地址后面加上“/”,然后写上网络前缀所占位数。
        第二,把网络前缀相同的IP地址组成一个CIDR地址块,例如,IP地址 128.14.35.7/20 用二进制表示 100000000 00001110 00100011 00000111,所以我们很容易可以得出这块地址中最小地址为128.14.32.0,即 100000000 00001110 00100000 00000000,最大地址为128.14.47.255,即 100000000 00001110 00101111 11111111.

        为了更加方便进行路由选择,CIDR使用32位的地址掩码,1的个数就是网络前缀的长度,如上面所举例中的/20的地址块的地址掩码是 11111111 11111111 11110000 00000000

        因此可以看出,网络前缀越短,其地址块所包含的地址就越多,这样可以根据实际情况更加有效的分配IPv4的地址空间。而由很多个CIDR地址快构成的庞大的网络就就被称为“超网”。

    展开全文
  • 网络协议(7) IP地址的分配原理

    万次阅读 2019-05-02 11:17:32
    最终结合OSI和TCP/IP的优点,采用了一种只有五层协议的体系结构,本文的讲述的IP都是基于五层协议模型中的网络层。 OSI体系结构 TCP/IP体系结构 五层体系结构 7 应用层 应用层 5 应用层 6 表示层 ....

    网络模型介绍

    在计算机网络中有著名的OSI七层协议体系结构,概念清楚,理论完整,但是它既复杂又不实用。TCP/IP体系结构则不同,得到的广泛的应用。最终结合OSI和TCP/IP的优点,采用了一种只有五层协议的体系结构,本文的讲述的IP都是基于五层协议模型中的网络层

    OSI体系结构TCP/IP体系结构五层体系结构
    7 应用层应用层5 应用层
    6 表示层
    5 会话层
    4 传输层传输层4 传输层
    3 网络层网络层3 网络层
    2 数据链路层网络接口层2 数据链路层
    1 物理层1 物理层

    分类的IP地址

    IP地址的表示方法

    IP地址就是给英特网上的每个主机(路由器)的每个接口分配一个在全世界范围内是唯一的32位的标识符。其组成第一个字段是网络号,第二个字段是主机号。一个主机号在前面的网络号所指明的网络范围内必须是唯一的,所以一个IP地址在整个网络中都是唯一的。目前分为A、B、C、D、E 五类IP地址。
    IP

    • 在A、B、C 三类地址中灰色的部分即为网络号,网络号的前三位是类别位,分别是0,10,110。也就是说我们可以凭借这个类别位置来判断网络类别。
    • 32位的总长度,由于A、B、C 三类网络号的长度的不同,导致A、B、C 类地址的主机号字段的字节数分别为3、2、1(一个字节8位)。
    • D 类地址的网络号为1110,用于多播(一对多通讯)。E 类地址的网络号为1111,保留以后使用。

    因此我们一般使用的就是ABC三类网络地址,IP地址是32位的二进制代码,为了提高可读性,把32位的IP地址中的每8位用等效的十进制表示出来(点分十进制),于是我们日常生活中常见的IP地址就出现了。

    例如:IP地址,128.11.3.31,转化为二进制为 100000000 00001011 00000011 00011111 ,可以看出类别位为 10,可以判断为一个B类地址。

    常用IP地址的指派范围

    网络号指派范围

    • A类地址网络号占用一个字节,但是由于有一位是类别位,只有7位可供使用,但是由于规定,网络字段全0是个保留字段表示本网络,而127(01111111)是另外一个保留字段,作为本地软件的环回测试。**我们常见的127.0.0.1表示本机,原因也是出自这里。**所以A类地址可以指派的网络号个数为(27-2).
    • B类网络地址网络号有两个字节,前两位为10已经固定,只剩下14位可用,由于这14位无论怎么取值都不会使得网络号为全0或者全1,单实际上规定,规定B类最小网络地址为128.1.0.0。因此B类地址可指派的网络号个数为(214-1).
    • C类地址有3个字节的网络字段号,前三位固定110,只有剩下21位可用,同样C类地址可指派的最小网络地址也是192.0.1.0。因此C类地址可指派的网络号个数为(221-1).

    主机号指派范围

    • 由于主机号有规定,全0的主机号代表IP地址是“本主机”所连接到的单个网络地址(例,一主机地址为5.6.7.8,则该主机所在的网络地址为5.0.0.0),而全1则表示“所有的”,即表示该网络上的所有主机。
    • A类地址的主机号是由三个字节,24位组成,所以每一个A类网络中可分配的主机个数为(224-2).
    • B类地址的主机号是由两个字节,16位组成,所以每一个B类网络中可分配的主机个数为(216-2).
    • C类地址的主机号是由一个字节,8位组成,所以每一个C类网络中可分配的主机个数为(28-2).

    总结IP指派范围

    综上网络号和主机号的指派描述可知,IP地址空间共有232个地址。
    所有A类地址共有(27-2)∗∗(224-2)个,大约231,占50%;
    所有B类地址共有(214-1)∗∗(216-2)个,大约230,占25%;
    所有C类地址共有(221-1)∗∗(28-2)个,大约229,占12.5%;

    网络类别最大可分配网络数首个可分配网络号最后一个可分配网络号每个网络中最大主机数
    A126(27-2)112616777214
    B16383(214-1)128.1191.25565534
    C2097151(221-1)192.0.1223.255.255254

    • 所以可以这样来表示一个A类IP地址 n.x.y.zn.x.y.z,若1≤n≤1261≤n≤126,0≤x,y,z≤2550≤x,y,z≤255,其中 x,y,zx,y,z不同时为0也不能同时为255.
    • 所以可以这样来表示一个B类IP地址 n.m.x.yn.m.x.y,若128≤n≤191128≤n≤191,0≤m≤2550≤m≤255,0≤x,y≤2550≤x,y≤255,其中 I. 当n=128n=128时,m≠0m≠0; II. x,yx,y不同时为0也不能同时为255;
    • 所以可以这样来表示一个C类IP地址 n.m.k.xn.m.k.x,若192≤n≤223192≤n≤223,0≤m,k≤2550≤m,k≤255,1≤x≤2541≤x≤254,其中 当n=192n=192时,k≠0k≠0.

    IP地址和硬件地址

    从层次角度来看,硬件地址是数据链路层和物理层使用的地址(常称作MAC地址),而IP地址是网络层和以上各层使用的地址,是一种逻辑地址。在网络层我们进行数据报文从IP1传输到IP2,无论我们中间经过多少次转发,从网络层来看,源地址始终是IP1,目的地址始终是IP2。但是从数据链路层来看,显然就不是这样了,这些是物理地址,很有可能从源节点经过多次中间节点的物理地址的转变才能到达目的节点。

    而IP地址和物理地址的之间的转化则需要依靠两个重要的协议ARP(地址解析协议),RARP(逆地址解析协议)。IP地址通过ARP转化成物理地址,物理地址可以通过RARP转化成相应的IP地址。


    子网和超网

    简单的来说就是如何来管理一个IP地址下的多台主机

    子网

    现在假设这样一个场景,一个数据报起目的地址是145.13.3.10(在子网 145.13.3.0中),已经到达路由器R1(145.13.0.0),那么这个路由器怎么将它转发到145.13.3.0呢?
    我们并不知道目的地址是否进行了子网的划分。
    这就引出了子网掩码的概念了,子网掩码也是32位,由一串1和0组成,子网掩码中的1对应于IP地址中的网络号位置+子网网络号位置,子网掩码中的0对应与IP地址中现在的主机号位置。
    我们只要将IP地址和子网掩码进行“与”运算,如果进行子网的划分,就立刻得出要找的子网的网络地址,如果没有进行子网划分(有默认的子网掩码),则直接能够得出该IP地址的网络地址出来。

    • A类地址的默认子网掩码是255.0.0.0
    • B类地址的默认子网掩码是255.255.0.0
    • C类地址的默认子网掩码是255.255.255.0

    超网

    无分类编址CIDR,使用变长的子网掩码,可以进一步提高IP地址的资源利用率。有两个特点
    第一,消除了传统的ABC类地址及划分子网的概念,CIRD把32位的IP地址划分成为两个部分,网络前缀和剩下的部分,表示方法为,在IP地址后面加上“/”,然后写上网络前缀所占位数。
    第二,把网络前缀相同的IP地址组成一个CIDR地址块,例如,IP地址 128.14.35.7/20 用二进制表示 100000000 00001110 00100011 00000111,所以我们很容易可以得出这块地址中最小地址为128.14.32.0,即 100000000 00001110 00100000 00000000,最大地址为128.14.47.255,即 100000000 00001110 00101111 11111111.

    为了更加方便进行路由选择,CIDR使用32位的地址掩码,1的个数就是网络前缀的长度,如上面所举例中的/20的地址块的地址掩码是 11111111 11111111 11110000 00000000

    因此可以看出,网络前缀越短,其地址块所包含的地址就越多,这样可以根据实际情况更加有效的分配IPv4的地址空间。而由很多个CIDR地址快构成的庞大的网络就就被称为“超网”。

    展开全文
  • DHCP服务IP地址自动分配原理 DHCP在提供服务时,DHCP客户端是以UDP 68号端口进行数据传输的,而DHCP服务器是以UDP 67号端口进行数据传输的。DHCP服务不仅体现在为DHCP客户端提供IP地址自动分配过程中,还体现在后面...

    DHCP服务IP地址自动分配原理

        DHCP在提供服务时,DHCP客户端是以UDP 68号端口进行数据传输的,而DHCP服务器是以UDP 67号端口进行数据传输的。DHCP服务不仅体现在为DHCP客户端提供IP地址自动分配过程中,还体现在后面的IP地址续约和释放过程中。本节仅介绍DHCP客户端初次分配IP地址的过程。

       在整个DHCP服务器为DHCP客户端初次提供IP地址自动分配过程中,一共经过了以下四个阶段,利用了表11-10中的前四个报文:发现阶段(DHCP客户端在网络中广播发送DHCP DISCOVER请求报文,发现DHCP服务器,请求IP地址租约)、提供阶段(DHCP服务器通过DHCP OFFER报文向DHCP客户端提供IP地址预分配)、选择阶段(DHCP客户端通过DHCP REQUEST报文确认选择第一个DHCP服务器为它提供IP地址自动分配服务)和确认阶段(被选择的DHCP服务器通过DHCP ACK报文把在DHCP OFFER报文中准备的IP地址租约给对应DHCP客户端)。

    在DHCP客户端在获得了一个IP地址以后,就可以发送一个免费ARP请求探测网络中是否还有其它主机使用IP地址,来避免由于DHCP服务器地址池重叠而引发的IP冲突。以上四个阶段如图11-19所示,相当于DHCP客户端与DHCP服务器的四次握手过程。具体描述如下:

    图11-19  DHCP客户端从DHCP服务器获取IP地址的四个阶段

       (1)发现阶段:即DHCP客户端获取网络中DHCP服务器信息的阶段。在客户端配置了DHCP客户端程序(如在Windows系统中进行了如图11-16所示的配置)并启动后,以广播方式发送DHCP DISCOVER报文寻找网络中的DHCP服务器。示例如下。

        此广播报文采用传输层的UDP 68号端口发送(封装的目的端口为UDP 68号端口),经过网络层IP协议封装后,源IP地址为0.0.0.0(因为此时还没有分配IP地址),目的IP地址为255.255.255.255(有限广播IP地址)。如下是一个DHCP DISCOVER报文封装的IP报头示例,可以看到 Destination Address(目的地址)是 255.255.255.255,而Source Address(源地址)是 0.0.0.0。IP报头中的其它字段含义大家可以参见本书第7章7.3.4节相关内容。

    IP:ID = 0x0; Proto = UDP;Len: 328

    IP:Version = 4 (0x4)

    IP:Header Length = 20 (0x14)

    IP:Service Type = 0 (0x0)

    IP:Precedence = Routine

    IP:...0.... = Normal Delay

    IP:....0... = NormalThroughput

    IP:.....0.. = NormalReliability

    IP:Total Length = 328(0x148)

    IP:Identification = 0 (0x0)

    IP:Flags Summary = 0 (0x0)

    IP:.......0 = Last fragmentin datagram

    IP:......0. = May fragmentdatagram if necessary

    IP:Fragment Offset = 0 (0x0)bytes

    IP:Time to Live = 128 (0x80)

    IP:Protocol = UDP - User Datagram  !---使用UDP传输层协议

    IP:Checksum = 0x39A6

    IP:Source Address = 0.0.0.0    !---源IP地址为0.0.0.0

    IP:Destination Address = 255.255.255.255   !----目的IP地址为255.255.255.255

    IP:Data:Number of data bytesremaining = 308 (0x0134)

       【经验之谈】在以上DHCP DISCOVER报文中IP报头中的目的地址(Destination Address)是255.255.255.255这个有限广播地址。这个有限广播地址就是代表任意一个IPv4子网的广播地址,当然是发送报文的主机所在的子网和DHCP服务器所在子网的广播地址,但因为此时DHCP客户端并不知道DHCP服务器所在的是哪个子网。下面所有其它DHCP报文中的255.255.255.255地址的含义也是一样的。

        至于IP报头中的源地址(Source Address),由于当前DHCP客户端主机并未分配具体的IP地址,所以只能用具有任意代表功能的0.0.0.0地址来表示了。下面所有其它DHCP报文中指定的0.0.0.0地址的含义也是一样的。

        因为此时,DHCP客户端没有分配到IP地址,也不知道DHCP服务器或DHCP中继的IP地址,所以在DHCP DISCOVER报文中Ciaddr(客户端IP地址)、Yiaddr(被分配的DHCP客户端IP地址)、Siaddr(下一个为DHCP客户端分配IP地址的DHCP服务器地址)、Giaddr(DHCP中继IP地址)这四个字段均为0.0.0.0,如下所示。另外,从中可以看到,在CHADDR字段和DHCP选项中Client Identifier字段中都标识了DHCP客户端网卡MAC地址。

    DHCP:Discover           (xid=21274A1D)

    DHCP:Op Code           (op)     = 1 (0x1)

    DHCP:Hardware Type     (htype) = 1 (0x1) 10Mb Ethernet

    DHCP:Hardware Address Length(hlen) = 6 (0x6)

    DHCP:Hops              (hops)   = 0 (0x0)

    DHCP:Transaction ID    (xid)   = 556223005 (0x21274A1D)

    DHCP:Seconds           (secs)   = 0 (0x0)

    DHCP:Flags            (flags)  = 1 (0x1)   !---标志位置1,代表以广播方式发送

    DHCP:1............... = Broadcast

    DHCP:Client IP Address (ciaddr) = 0.0.0.0

    DHCP:Your   IP Address (yiaddr) =0.0.0.0

    DHCP:Server IP Address (siaddr) = 0.0.0.0

    DHCP:Relay  IP Address (giaddr) =0.0.0.0

    DHCP:Client Ethernet Address (chaddr) = 08002B2ED85E

    DHCP:Server Host Name  (sname) = <Blank>

    DHCP:Boot File Name    (file)  = <Blank>

    DHCP:Magic Cookie = [OK]

    DHCP:Option Field      (options)

    DHCP:DHCP Message Type      = DHCP Discover   !---DHCP报文类型为DHCP Discover

    DHCP:Client-identifier      =(Type:1) 08 00 2b 2e d8 5e

    DHCP:Host Name              = JUMBO-WS    !---DHCP服务器主机名

    DHCP:Parameter Request List= (Length:7) 01 0f 03 2c 2e 2f 06

    DHCP:End of this optionfield

       (2)提供阶段:即DHCP服务器向DHCP客户端提供预分配IP地址的阶段。网络中的所有DHCP服务器接收到客户端的DHCP DISCOVER报文后,都会根据自己地址池中IP地址分配的优先次序选出一个IP地址,然后与其它参数一起通过传输层的UDP 67号端口,在DHCP OFFER报文中以广播方式发送给客户端(目的端口是DHCP客户端的UDP 68号端口)。客户端通过封装在帧中的目的MAC地址(也就在DHCP DISCOVER报文中的CHADDR字段值)的比对来确定是否接收该帧。但这样一来,理论上DHCP客户端可能会收到多个DHCP OFFER报文(当网络中存在多个DHCP服务器时),但DHCP客户端只接受第一个到来的DHCP OFFER报文。

        DHCP OFFER报文经过IP协议封装后的源IP地址DHCP服务器自己的IP地址,目的地址仍是255.255.255.255广播地址,使用的协议仍为UDP。下面是一个DHCP OFFER报文的IP报头示例。

    IP:ID = 0x3C30; Proto = UDP;Len: 328

    IP:Version = 4 (0x4)

    IP:Header Length = 20 (0x14)

    IP:Service Type = 0 (0x0)

    IP:Precedence = Routine

    IP:...0.... = Normal Delay

    IP:....0... = NormalThroughput

    IP:.....0.. = NormalReliability

    IP:Total Length = 328(0x148)

    IP:Identification = 15408(0x3C30)

    IP:Flags Summary = 0 (0x0)

    IP:.......0 = Last fragmentin datagram

    IP:......0. = May fragmentdatagram if necessary

    IP:Fragment Offset = 0 (0x0)bytes

    IP:Time to Live = 128 (0x80)

    IP:Protocol = UDP - User Datagram

    IP:Checksum = 0x2FA8

    IP:Source Address = 157.54.48.151

    IP:Destination Address = 255.255.255.255

    IP:Data:Number of data bytesremaining = 308 (0x0134)

       在DHCP OFFER报文中,Ciaddr字段值仍为0.0.0.0,因为客户端仍没有分配到IP地址;Yiaddr字段已有值了,这是DHCP服务器为该客户端预分配的IP地址;因为此时仍没有得到客户端确认,所以Siaddr字段值仍为0.0.0.0;因为没有经过DHCP中继服务器,所以Giaddr字段值仍为0.0.0.0。另外,在 DHCP可选项部分,可以看到由服务器随 IP 地址一起发送的各种选项。在这种情况下,服务器发送的是子网掩码、默认网关(路由器)、租约时间、WINS 服务器地址(NetBIOS 名称服务)和 NetBIOS 节点类型。下面是一个DHCP OFFER报文示例。

    DHCP:Offer              (xid=21274A1D)

    DHCP:Op Code           (op)     = 2 (0x2)

    DHCP:Hardware Type     (htype) = 1 (0x1) 10Mb Ethernet

    DHCP:Hardware Address Length(hlen) = 6 (0x6)

    DHCP:Hops              (hops)   = 0 (0x0)

    DHCP:Transaction ID    (xid)   = 556223005 (0x21274A1D)

    DHCP:Seconds           (secs)   = 0 (0x0)

    DHCP:Flags             (flags)  = 1 (0x1)

    DHCP:1............... =  Broadcast

    DHCP:Client IP Address (ciaddr) = 0.0.0.0

    DHCP:Your   IP Address (yiaddr) =157.54.50.5

    DHCP:Server IP Address (siaddr) = 0.0.0.0

    DHCP:Relay  IP Address (giaddr) =0.0.0.0

    DHCP:Client Ethernet Address(chaddr) = 08002B2ED85E

    DHCP:Server Host Name  (sname) = <Blank>

    DHCP:Boot File Name    (file)  = <Blank>

    DHCP:Magic Cookie = [OK]

    DHCP:Option Field      (options)

    DHCP:DHCP Message Type      = DHCPOffer    !---DHCP报文类型为DHCP Offer

    DHCP:Subnet Mask            =255.255.240.0    !---所分配IP地址的子网掩码为255.255.240.0

    DHCP:Renewal Time Value (T1) = 8 Days, 0:00:00   !---想要继续租约原来分配的IP地址,则提出续约申请的期限为8天

    DHCP:Rebinding Time Value (T2) = 14 Days,  0:00:00 !---如果上次申请续约失败,再次申请绑定原来分配到的IP地址的期限为14天

    DHCP:IP Address Lease Time  = 16Days,  0:00:00   !---租约期限为16天,也就是DHCP客户端可使用此IP地址的最长时间为16天

    DHCP:Server Identifier      =157.54.48.151  !---DHCP服务器的IP地址为157.54.48.151

    DHCP:Router                 =157.54.48.1  !---默认网关IP地址为157.54.48.1

    DHCP:NetBIOS Name Service   =157.54.16.154  !---DNS服务器IP地址为157.54.16.154

    DHCP:NetBIOS Node Type      =(Length: 1) 04

    DHCP:End of this optionfield


        (3)选择阶段:即DHCP客户端选择IP地址的阶段。如果有多台DHCP服务器向该客户端发来DHCP OFFER报文,客户端只接受第一个收到的DHCP OFFER报文,然后以广播方式发送DHCP REQUEST报文。在该报文的“Requested Address”选项中包含DHCP服务器在DHCP OFFER报文中预分配的IP地址,对应的DHCP服务器IP地址等。这样也就相当于同时告诉得其他DHCP服务器,它们可以释放已提供的地址,并将这些地址返回到可用地址池中。

       在DHCP OFFER报文封装的IP协议头部中,客户端的 Source Address仍然是 0.0.0.0,数据包的 Destination 仍然是 255.255.255.255。但在DHCP OFFER报文中Ciaddr、Yiaddr、Siaddr、Giaddr 字段的地址均0.0.0.0,大家自己分析一下为什么,很简单的。下面是一个DHCP OFEER报文头部和DHCP OFFER报文示例。

    IP:ID = 0x100; Proto = UDP;Len: 328

    IP:Version = 4 (0x4)

    IP:Header Length = 20 (0x14)

    IP:Service Type = 0 (0x0)

    IP:Precedence = Routine

    IP:...0.... = Normal Delay

    IP:....0... = NormalThroughput

    IP:.....0.. = NormalReliability

    IP:Total Length = 328(0x148)

    IP:Identification = 256(0x100)

    IP:Flags Summary = 0 (0x0)

    IP:.......0 = Last fragmentin datagram

    IP:......0. = May fragmentdatagram if necessary

    IP:Fragment Offset = 0 (0x0)bytes

    IP:Time to Live = 128 (0x80)

    IP:Protocol = UDP - UserDatagram

    IP:Checksum = 0x38A6

    IP:Source Address = 0.0.0.0

    IP:Destination Address = 255.255.255.255

    IP:Data:Number of data bytesremaining = 308 (0x0134)

     

    DHCP:Request            (xid=21274A1D)

    DHCP:Op Code           (op)     = 1 (0x1)

    DHCP:Hardware Type     (htype) = 1 (0x1) 10Mb Ethernet

    DHCP:Hardware Address Length(hlen) = 6 (0x6)

    DHCP:Hops              (hops)   = 0 (0x0)

    DHCP:Transaction ID    (xid)   = 556223005 (0x21274A1D)

    DHCP:Seconds           (secs)   = 0 (0x0)

    DHCP:Flags             (flags)  = 1 (0x1)

    DHCP:1............... = Broadcast

    DHCP:Client IP Address (ciaddr) = 0.0.0.0

    DHCP:Your   IP Address (yiaddr) =0.0.0.0

    DHCP:Server IP Address (siaddr) = 0.0.0.0

    DHCP:Relay  IP Address (giaddr) =0.0.0.0

    DHCP:Client Ethernet Address(chaddr) = 08002B2ED85E

    DHCP:Server Host Name  (sname) = <Blank>

    DHCP:Boot File Name    (file)  = <Blank>

    DHCP:Magic Cookie = [OK]

    DHCP:Option Field      (options)

    DHCP:DHCP Message Type      = DHCP Request

    DHCP:Client-identifier      = (Type:1) 08 00 2b 2e d8 5e

    DHCP:Requested Address      =157.54.50.5

    DHCP:Server Identifier      =157.54.48.151

    DHCP:Host Name              =JUMBO-WS

    DHCP:Parameter Request List= (Length:7) 01 0f 03 2c 2e 2f 06

    DHCP:End of this optionfield

        (4)确认阶段:即DHCP服务器确认分配级DHCP客户端IP地址的阶段。某个DHCP服务器在收到DHCP客户端发来的DHCP REQUEST报文后,只有DHCP客户端选择的服务器会进行如下操作:如果确认将地址分配给该客户端,则以广播方式返回DHCP ACK报文;否则返回DHCP NAK报文,表明地址不能分配给该客户端。

       在DHCP 服务器发送的DHCP ACK报文的IP协议头部,Source Address是 DHCP 服务器IP地址,DestinationAddress仍然是广播地址255.255.255.255。在DHCP ACK报文中的Yiaddr字段包含要分配给客户端的IP地址,而Chaddr和DHCP:Client Identifier字段是发出请求的客户端中网卡的MAC地址。同时在选项部分也会在DHCP OFFER报文中把所分配的IP地址的子网掩码、默认网关、DNS服务器、租约期、续约时间等信息加上。

    IP:ID = 0x3D30; Proto = UDP;Len: 328

    IP:Version = 4 (0x4)

    IP:Header Length = 20 (0x14)

    IP:Service Type = 0 (0x0)

    IP:Precedence = Routine

    IP:...0.... = Normal Delay

    IP:....0... = NormalThroughput

    IP:.....0.. = NormalReliability

    IP:Total Length = 328(0x148)

    IP:Identification = 15664(0x3D30)

    IP:Flags Summary = 0 (0x0)

    IP:.......0 = Last fragmentin datagram

    IP:......0. = May fragmentdatagram if necessary

    IP:Fragment Offset = 0 (0x0)bytes

    IP:Time to Live = 128 (0x80)

    IP:Protocol = UDP - UserDatagram

    IP:Checksum = 0x2EA8

    IP:Source Address = 157.54.48.151

    IP:Destination Address = 255.255.255.255

    IP:Data:Number of data bytesremaining = 308 (0x0134)

     

    DHCP:ACK                (xid=21274A1D)

    DHCP:Op Code           (op)     = 2 (0x2)

    DHCP:Hardware Type     (htype) = 1 (0x1) 10Mb Ethernet

    DHCP:Hardware Address Length(hlen) = 6 (0x6)

    DHCP:Hops              (hops)   = 0 (0x0)

    DHCP:Transaction ID    (xid)   = 556223005 (0x21274A1D)

    DHCP:Seconds           (secs)   = 0 (0x0)

    DHCP:Flags             (flags)  = 1 (0x1)

    DHCP:1............... =Broadcast

    DHCP:Client IP Address (ciaddr) = 0.0.0.0

    DHCP:Your   IP Address (yiaddr) =157.54.50.5

    DHCP:Server IP Address (siaddr) = 0.0.0.0

    DHCP:Relay  IP Address (giaddr) =0.0.0.0

    DHCP:Client Ethernet Address(chaddr) = 08002B2ED85E

    DHCP:Server Host Name  (sname) = <Blank>

    DHCP:Boot File Name    (file)  = <Blank>

    DHCP:Magic Cookie = [OK]

    DHCP:Option Field      (options)

    DHCP:DHCP Message Type      = DHCP ACK

    DHCP:Renewal Time Value (T1)= 8 Days,  0:00:00

    DHCP:Rebinding Time Value(T2) = 14 Days,  0:00:00

    DHCP:IP Address LeaseTime  = 16 Days,  0:00:00

    DHCP:Server Identifier      =157.54.48.151

    DHCP:Subnet Mask            =255.255.240.0

    DHCP:Router                 =157.54.48.1

    DHCP:NetBIOS Name Service   =157.54.16.154

    DHCP:NetBIOS Node Type      = (Length: 1) 04

    DHCP:End of this optionfield

        【说明】客户端在收到服务器返回的DHCP-ACK确认报文后,会以广播的方式发送免费ARP报文(该报文中,源IP地址和目标IP地址都是本机IP地址,源MAC地址是本机MAC地址,目的MAC地址是广播MAC地址),探测是否有主机使用服务器分配的IP地址,如果在规定的时间内没有收到回应,客户端才使用此地址。否则,客户端会发送DHCP DECLINE报文给DHCP服务器,并重新申请IP地址。

       如果网络中存在多个DHCP服务器,除DHCP客户端选中的服务器外,其它DHCP服务器中本次未分配出的IP地址仍可分配给其他客户端。


    原文地址:https://blog.csdn.net/lycb_gz/article/details/8499559

    侵删。

    展开全文
  • IP映射原理

    千次阅读 2018-12-07 16:33:05
    IP映射原理 由于公网IP地址有限,不少ISP都采用多个内网用户通过代理和网关路由共用一个公网IP上INTERNET的方法,这样就限制了这些用户在自己计算机上架设个人网站,要实现在这些用户端架设网站,最关键的一点是,...
  • DHCP协议工作原理(分配IP地址的方式)

    万次阅读 2021-08-02 11:42:26
    DHCP工作在应用层,使用UDP协议工作,负责给局域网内的用户分配IP地址 分配IP地址的方式有三种:手动配置,自动配置,动态配置 手动配置是指管理员手动给客户端配置一个特定的IP地址 自动配置是指服务器为第一次链接...
  • 理解TCP/IP网络通信原理

    万次阅读 2013-09-14 20:56:34
    理解TCP/IP网络通信原理 一、 OSI模型 其中最下面两层:物理层与数据链路层可以不需要了解,他们主要是系统负责驱动的设备与网络硬件。 一般我们常用的网络协议是TCP与UDP,但在TCP/UDP与数据链路层之间有一个...
  • 学习过ip中的人都知道,ip的作用就是在网络通信中标识唯一一台主机。那么实际中,你购买了一个账号,运行商给你分配一个ip,通过路由器为什么就可以供多人(多台电脑)同时使用呢?这个时候不就和前面矛盾了吗? 1.让...
  • 关于IP网络号和主机号的原理

    万次阅读 多人点赞 2017-06-20 16:09:39
    1、标准分类的ip地址的网络号是,  A类是前8位  B类是前16位  C类是前24位  举一个例子  如172.16.10.2,因为172.16.10.2是B类地址,所以172.16所代表的位就是网络号的位,后面10.2代表的位是主机位,A类C...
  • 现在可以通过Dashboard创建instance并且分配floating IP,从而我们可以通过外网随意访问创建的instance,例如ping或者SSH。需要注意的是在分配security group的时候,如果要使用Default 的security group,需要添加...
  • DHCP服务器工作原理 使用DHCP为局域网中的机器分配IP地址 使用DHCP为服务器分配固定IP地址 ntpdate加计划任务同步服务器时间
  • 一、计算机网络体系结构分层 计算机网络体系结构分层示例图 计算机网络体系结构说明: 不难看出,TCP/IP 与 OSI 在分层模块上稍有区别。OSI 参考模型注重“通信协议必要的功能是什么”,而 TCP/IP 则更强调“在...
  • 第5章 Internet原理与技术1. 分类的IP地址IP 地址中的网络号字段和主机号字段点分十进制记法常用的三种类型的IP地址例题2. IP地址的分配与使用3. IP分组的格式4. 因特网地址到物理地址的映射(ARP协议)5. 差错与...
  • IP地址的划分原理

    千次阅读 2018-08-21 21:54:25
    接触过计算机网络方面知识的人都应该知道,IP地址划分为:A、B、C、D、E五类,划分IP地址的目的是使IP地址适应不同规模的网络。 那么在见到一个实际的IP地址后,怎么样辨识出他是那类IP地址,以及网络号、主机号已经...
  • 移动IP的工作原理

    千次阅读 多人点赞 2020-05-27 20:00:58
    移动IP的工作原理 一、移动IP的概念: 移动IP网络层的一种通信协议,使计算机在不改变IP地址的前提下,可以实现跨越不同的网段进行网络通信。 移动IP和动态IP的区别: 动态IP是指在局域网中的计算机可以通过DHCP...
  • IP接口层网络拓扑探测 定位精度提升
  • TCP/IP、路由交换原理网络编程yu

    千次阅读 2018-09-16 18:13:05
    1、TCP/IP以及OSI七层模型 1.1、数据链路层 IEEE802.3 MAC CSMA/CD 过程 交换机的转发过程:  理解冲突域和广播域  VLAN原理(Virtual Local Area Network) 1.2 网络层 VLAN间路由: DNS 网络中LAN、WAN...
  • 二、CentOS7环境中配置命令步骤 1、设置DHCP配置文件 2、设置全局配置(一般默认) 3、网段声明 4、host主机声明 5、最后开启服务 三、试题解析: 1、实验操作 四、通过固定IP分配地址 一、DHCP概述及原理 ...
  • 文章目录DHCP自动获取IP地址实验...第二步:服务器端通过单播发送DHCP Offer 报文向客户端提供IP地址等网络信息 第三步:客户端通过广播DHCP Request 报文告知服务器端本地选择使用哪个IP地址 第四步:服务器通过单播DH
  • IP可以分为Public IP 和 Private IP,出现这种规划的原因在于IPv4所能表示的IP太少而电脑太多以至于不够用,然而只有Public IP才能直接连接上网络,所以对于那些公司,学校,政府机构等场所,就可以集中使用私有的IP...
  • 虚拟ip实现原理

    千次阅读 2017-03-28 23:02:28
    一直不知道虚拟ip就是通过arp协议实现的,突然恍然大悟的感觉高可用性HA(High Availability)指的是通过尽量缩短因日常维护操作(计划)和突发的系统崩溃(非计划)所导致的停机时间,以提高系统和应用的可用性。...
  • IP欺骗的原理

    万次阅读 2014-03-26 16:36:31
    IP欺骗是在服务器不存在任何漏洞的情况下,通过利用TCP/IP协议本身存在的一些缺陷进行攻击的方法,这种方法具有一定的难度,需要掌握有关协议的工作原理和具体的实现方法。 IP地址欺骗是指行动产生的IP数据包为伪造...
  • 浅析IP分片原理

    千次阅读 2014-02-14 09:55:40
    IP分片是网络上传输IP报文的一种技术手段。IP协议在传输数据包时,将数据报文分为若干分片进行传输,并在目标系统中进行重组。 不同的链路类型规定有不同最大长度的链路层数据帧,称为链路层MTU(最大传输单元)。...
  • Kubernetes网络原理

    万次阅读 2017-09-10 14:33:59
    1. kubernetes网络模型1.1. 基础原则 每个Pod都拥有一个独立的IP地址,而且假定所有Pod都在一个可以直接连通的、扁平的网络空间中,不管是否运行在同一...Pod由docker0实际分配IP,Pod内部看到的IP地址和端口与外部保
  • IP切换原理

    千次阅读 2011-04-11 19:00:00
    何为虚IP那,就是一个未分配给真实主机的IP,也就是说对外提供数据库服务器的主机除了有一个真实IP外还有一个虚IP,使用这两个IP中的 任意一个都可以连接到这台主机,所有项目中数据库链接一项配置的都是这个虚IP,...
  • ip helper-address原理

    千次阅读 2019-10-22 21:17:32
    ip helper-address原理: 在客户端设备和DHCP服务器不再...DHCP服务器要给终端设备分配地址则需要掌握两个重要的信息: 1,该客户端设备所在网络的子网掩码,DHCP服务器依据子网掩码的信息来判断,服务器该分配哪...
  • 虚拟IP原理

    千次阅读 2019-01-12 18:51:24
     虚拟IP,就是一个未分配给真实主机的IP,也就是说对外提供服务器的主机除了有一个真实IP外还有一个虚IP,使用这两个IP中的任意一个都可以连接到这台主机。  虚拟IP一般用作达到HA(High Availability)的目的,...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 113,809
精华内容 45,523
关键字:

网络ip分配原理