IPv4编址及子网划分
在讨论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编址及子网划分的更多相关文章
- IPv4协议及VLSM可变长子网划分和CIDR无类域间路由
IPv4协议及VLSM可变长子网划分和CIDR无类域间路由 来源 https://blog.csdn.net/hongse_zxl/article/details/50054817 互联网世界一切通信 ...
- 计算机网络之IPv4(IPv4分组、IPv4地址、NAT、子网划分与子网掩码、CIDR、ARP协议、DHCP、ICMP)
文章转自:https://blog.csdn.net/weixin_43914604/article/details/105138313 学习课程:<2019王道考研计算机网络> 学习目的 ...
- 网络学习day04_VLSM、子网划分
IP子网划分 首先,在进行子网划分的学习之前,我们先来回顾一下IP地址的相关知识,同时了解一下公有和私有IP地址: 在Internet上有千百万台主机,为了区分这些主机,人们给每台主机都分配了一个专门 ...
- IP地址和子网划分学习笔记之《IP地址详解》
2018-05-03 18:47:37 在学习IP地址和子网划分前,必须对进制计数有一定了解,尤其是二进制和十进制之间的相互转换,对于我们掌握IP地址和子网的划分非常有帮助,可参看如下目录详文. ...
- HCNP学习笔记之子网划分 VLSM CIDR
子网划分.VLSM可变长子网掩码.CIDR无类域间路由是学习网络知识或者说是学习路由知识所必备的,但很多朋友说这三者理论性太强了,不好掌握.本文将结合实例讲解子网划分的方法并对VLSM和CIDR进行简 ...
- 网络基础之IP地址与子网划分
IP地址 Ipv4地址格式:点分十进制 IP地址的分类 A类 B类 C类: D类:组播 E类: 公共IP地址 私有IP地址 特殊地址 保留地址 子网掩码 什么是子网掩码 CIDR表示法 子网划分 为啥 ...
- 第5章 子网划分和CIDR
第5章 子网划分和CIDR 划分网络 根据A类.B类或C类网络ID来识别网段具有一些局限性,主要是在网络级别之下不能对地址空间进行任何逻辑细分 如果一个IP是一个A类网络.数据报到达网关,然后传输到9 ...
- 【网络】IP子网划分详解
1.IP地址组成 IP地址组成示意图 IP地址由32位二进制组成,32位二进制分成了4字节,每字节8位,字节之间用符.(点)分隔,为了方便 ...
- [转,讲的非常精彩]CIDR地址块及其子网划分(内含原始IP地址分类及其子网划分的介绍)
http://blog.csdn.net/dan15188387481/article/details/49873923 CIDR地址块及其子网划分(内含原始IP地址分类及其子网划分的介绍) 1. ...
随机推荐
- java入门---运算符&算术运算符&自增自减运算符&关系运算符&位运算符
计算机的最基本用途之一就是执行数学运算,作为一门计算机语言,Java也提供了一套丰富的运算符来操纵变量.我们可以把运算符分成以下几组: 算术运算符 关系运算符 位运算符 逻辑运算符 赋值运算符 ...
- JVM内存模型(转载)
原文地址:http://blog.csdn.net/u012152619/article/details/46968883 JVM定义了若干个程序执行期间使用的数据区域.这个区域里的一些数据在JVM启 ...
- 20155307《Java程序设计》实验二实验报告
一.单元测试和TDD 用程序解决问题时,要学会写以下三种代码: 伪代码 产品代码 测试代码 正确的顺序应为:伪代码(思路)→ 测试代码(产品预期功能)→ 产品代码(实现预期功能),这种开发方法叫&qu ...
- 20155321 《Java程序设计》实验三 敏捷开发与XP实践
实验内容 XP基础 XP核心实践 相关工具 实验步骤 敏捷开发与XP 软件工程是把系统的.有序的.可量化的方法应用到软件的开发.运营和维护上的过程.软件工程包括下列领域:软件需求分析.软件设计.软件构 ...
- jsp+servlet+javabean开发web项目
一.介绍: 项目依赖包:jdbc数据库包 jsp+servlet+javabean开发web项目,是最接近web项目原生运行原理的. 但是,jsp内容混乱,项目结构复杂时,代码会混乱 二.运行原理: ...
- OpenCV参考手册之Mat类详解
OpenCV参考手册之Mat类详解(一) OpenCV参考手册之Mat类详解(二) OpenCV参考手册之Mat类详解(三)
- 【HNOI2014】世界树
题面 题解 虚树好题(只是细节太多) 构出虚树后,一定要仔细梳理关键点之间的点是上面属于父亲,下面属于儿子. 然后二分出所有的点的所属就可以了 代码 #include<cstdio> #i ...
- 1、maven打包 install package deploy区别
maven package:打包到本项目,一般是在项目target目录下.如果a项目依赖于b项目,打包b项目时,只会打包到b项目下target下,编译a项目时就会报错. maven install:打 ...
- maven 手动安装jar包
1.问题 maven有时候在pom文件引入jar包会报错,所以可以通过手动导入jar包的方式导入. 2.解决: 通过maven命令导入jar包, mvn install:install-file -D ...
- linux菜鸟笔记
linux目录的子目录复制 cp -r 要复制的目录+新的目录 cp -r a test 意思就是将a的子目录及文件复制到新的目录test下面 zt@ubuntu:~/Desktop$ mkdir - ...