在讨论IP编址之前,我们需要讨论一下主机与路由器连入网络的方法。一台主机通常只有一条链路链接到网络;当主机中的IP想发送一个数据报时,它就在链路上发送,主机与物理链路之间的边界叫做接口(interface)。现在考虑一套路由器及其接口。因为路由器的任务是从链路上接收数据报并将这些数据报从某些其他链路转发出去,所以路由器必须拥有两条或更多条链路与它链接。路由器与它的任意一条链路之间的边界也叫做接口。因此,一台路由器有多个接口,每个路由器有一条链路。因为每台主机与路由器都能发送和接收IP数据报,所以IP要求每台主机和路由器接口都拥有自己的IP地址。因此,一个IP地址在技术上是与一个接口相关联的,而不是与包括该接口的主机或路由器相关联的。

  每个IP地址长度为32比特(等于4字节),因此总共有大概40(232)亿个可能的IP地址。这些地址一般按照所谓点分十进制记法(dotted-decimal notation)的方式书写,即地址中的每个字节用十进制形式书写,各字节之间用句号(点)隔开。例如,地址193.32.216.9的二进制记法是:11000001 00100000 11011000 00001001。在全球因特网中,每台主机和路由器上的每个接口都必须有一个全球唯一的IP地址(在NAT后面的除外。

  传统的IP地址是分类的地址。分为A、B、C、D、E五类。无论哪类IP地址,都是由网络号和主机号两部分组成。其中,网络号代表主机所连接的网络,主机号代表该主机或路由器中的地址。

  分类的IP地址如下所示:

特殊的IP地址:

有一些IP地址用于表示特殊用途,不用作主机IP地址:

  

  与子网相关:

  主机号全为0表示网络本身。比如,在192.168.0.0/24的子网中,192.168.0.0表示这个子网本身。

  主机号全为1表示本网络的广播地址。比如,在192.168.0.0/24的子网中,192.168.0.255表示这个子网的广播地址。

  0.0.0.0表示整个TCP/IP网络。

  255.255.255.255表示整个TCP/IP网络的广播地址。对本机来说,这个地址指本网段内(同一广播域)的所有主机。这个地址不能被路由器转发。

  保留地址:

  A类:127.X.X.X (127.0.0.0~127.255.255.255)是为环回接口预留的。根据惯例,大多数系统把IP地址127.0.0.1分配给这个接口,并命名为localhost。一个传给环回接口的IP数据报不能在任何网络上。

  B类:169.42.X.X 如果主机使用了动态主机设置协议(Dynamic Host Configuration Protocol, DHCP)功能自动获得一个IP地址,那么当动态主机设置协议服务器(DHCP服务器)发生故障,或响应时间太长而超出了一个系统规定的时间,系统会分配这样一个地址。如果发现主机IP地址是一个这样的地址,该主机的网络大都不能正常运行。

  私有地址:

  私有IP地址值用于LAN,不用于WLAN连接。因此私有IP地址不能直接用于Internet,必须通过网关理由NAT把私有IP地址转换为Internet中合法的全球IP地址后才能用于Internet。私有IP地址有效解决了IP地址不足的问题,私有IP地址网段如下:

  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

CIDR:

  CIDR(无类别域间选路,Classless Interdomain Routing)是在使用变长子网掩码(VLSM)的基础上提出的一种消除A、B、C类网络划分,并且可以在软件的支持下实现超网构造的一种IP地址的网络划分方法。这样可以大幅度提高IP地址空间的利用率,并减小路由表的大小,提高路由器的路由转发能力。

  注意,路由协议可以分为有类路由协议和无类路由协议。有类路由协议的数据包中不包括子网掩码。所以只有无类路由协议才(RIPv2, BGP,OSPF)才可以支持CIDR。

  CIDR的主要特点如下:

  1) 消除了传统的A、B、C类地址以及子网的概念。这样IP地址分为两部分:网络前缀、主机号。

  CIDR使用斜线记法,即IP地址/网络前缀所占比特数。其中,网络前缀所占比特数对应于网络号的部分,等效于子网掩码中连续1的部分。

  2)将网络前缀都相同的连续的IP地址组合成“CIDR地址块”。一个CIDR地址块可以包括多个A、B、C类地址,这种地址的聚合称为路由聚合,或称为构成超网。路由聚合使得路由表中的一个项目可以表示很多个原来传统分类地址的路由,有利于减少路由之间的路由选择信息的交换,从而提高网络性能。

参考资料:

  1.《计算机网络-自顶向下方法》(第四版) 2.7/4.4

  2. 《王道程序员求职宝典》

  3. http://baike.baidu.com/view/39496.htm

  4. http://baike.baidu.com/view/2558390.htm

IPv4编址及子网划分的更多相关文章

  1. IPv4协议及VLSM可变长子网划分和CIDR无类域间路由

    IPv4协议及VLSM可变长子网划分和CIDR无类域间路由 来源 https://blog.csdn.net/hongse_zxl/article/details/50054817 互联网世界一切通信 ...

  2. 计算机网络之IPv4(IPv4分组、IPv4地址、NAT、子网划分与子网掩码、CIDR、ARP协议、DHCP、ICMP)

    文章转自:https://blog.csdn.net/weixin_43914604/article/details/105138313 学习课程:<2019王道考研计算机网络> 学习目的 ...

  3. 网络学习day04_VLSM、子网划分

    IP子网划分 首先,在进行子网划分的学习之前,我们先来回顾一下IP地址的相关知识,同时了解一下公有和私有IP地址: 在Internet上有千百万台主机,为了区分这些主机,人们给每台主机都分配了一个专门 ...

  4. IP地址和子网划分学习笔记之《IP地址详解》

    2018-05-03 18:47:37   在学习IP地址和子网划分前,必须对进制计数有一定了解,尤其是二进制和十进制之间的相互转换,对于我们掌握IP地址和子网的划分非常有帮助,可参看如下目录详文. ...

  5. HCNP学习笔记之子网划分 VLSM CIDR

    子网划分.VLSM可变长子网掩码.CIDR无类域间路由是学习网络知识或者说是学习路由知识所必备的,但很多朋友说这三者理论性太强了,不好掌握.本文将结合实例讲解子网划分的方法并对VLSM和CIDR进行简 ...

  6. 网络基础之IP地址与子网划分

    IP地址 Ipv4地址格式:点分十进制 IP地址的分类 A类 B类 C类: D类:组播 E类: 公共IP地址 私有IP地址 特殊地址 保留地址 子网掩码 什么是子网掩码 CIDR表示法 子网划分 为啥 ...

  7. 第5章 子网划分和CIDR

    第5章 子网划分和CIDR 划分网络 根据A类.B类或C类网络ID来识别网段具有一些局限性,主要是在网络级别之下不能对地址空间进行任何逻辑细分 如果一个IP是一个A类网络.数据报到达网关,然后传输到9 ...

  8. 【网络】IP子网划分详解

    1.IP地址组成                                IP地址组成示意图 IP地址由32位二进制组成,32位二进制分成了4字节,每字节8位,字节之间用符.(点)分隔,为了方便 ...

  9. [转,讲的非常精彩]CIDR地址块及其子网划分(内含原始IP地址分类及其子网划分的介绍)

    http://blog.csdn.net/dan15188387481/article/details/49873923 CIDR地址块及其子网划分(内含原始IP地址分类及其子网划分的介绍)   1. ...

随机推荐

  1. IDEA新建Web项目

    file->New project->输入项目名(例如这里输入HelloWeb) 选择JDK为合适版本->next ->finish即可 在新建的项目HelloWorld上右击 ...

  2. 20155302 2016-2017-2 《Java程序设计》 第1周学习总结

    20155302 2016-2017-2 <Java程序设计> 第1周学习总结 教材学习内容总结 浏览全书提出问题 chapter1:怎么保证现在系统在用最高版本的JRE呢?在哪里查看及升 ...

  3. python 生成随机长度的字符串

    import os def randomString(n): return (''.join(map(lambda xx:(hex(ord(xx))[2:]),os.urandom(n))))[0:1 ...

  4. debug 调试原理理解

    引言: 昨天,看了一篇文章,很受启发,记得之前听别的人远程调试过代码,觉得很神奇,在自己程序里打断点,连接远程服务器,开启调试后可以调用远程方法来看数据的输入和输出,不需要查找问题,重新部署,测试问题 ...

  5. 优步UBER司机全国各地奖励政策汇总 (4月18日-4月24日)

    滴快车单单2.5倍,注册地址:http://www.udache.com/ 如何注册Uber司机(全国版最新最详细注册流程)/月入2万/不用抢单:http://www.cnblogs.com/mfry ...

  6. Kettle定时执行

    1,Kettle跨平台使用.    例如:在AIX下(AIX是IBM商用UNIX操作系统,此处在LINUX/UNIX同样适用),运行Kettle的相关步骤如下:    1)进入到Kettle部署的路径 ...

  7. SQL Server 2008 R2 链接 Oracle 10g

    首先sqlserver 链接oracle可以通过两个访问接口: “MSDAORA” 和“OraOLEDB.Oracle” 1.“MSDAORA”访问接口是由Microsoft OLE DB Provi ...

  8. appium+python自动化☞环境搭建

    前言:appium可以说是做app最火的一个自动化框架,它的主要优势是支持android和ios,另外脚本语言也是支持java和Python.略懂Python,所以接下来的教程是 appium+pyt ...

  9. 优先队列(堆) -数据结构(C语言实现)

    数据结构与算法分析 优先队列 模型 Insert(插入) == Enqueue(入队) DeleteMin(删除最小者) == Dequeue(出队) 基本实现 简单链表:在表头插入,并遍历该链表以删 ...

  10. SVN部署与简单使用

    原文发表于cu:2016-05-24 参考文档: http://www.tuicool.com/articles/Yv2iyu7 http://www.centoscn.com/CentosServe ...