文档章节

3.IPv4地址

alon龙武
 alon龙武
发布于 2014/11/14 22:24
字数 2058
阅读 258
收藏 16

TCP/IP协议簇中,用于在IP层识别每一个连接到因特网设备的标识符称为IP地址。IPv4地址是一个32为的地址,唯一地且全球地定义一台主机或路由器与因特网之间的一个连接。IPv4的地址空间是232 4294967296


1.分类编址

1.1 分类

分类编址时,IP地址空间被分为A~E五类,每一类地址空间占用情况:

网络标识和主机标识

对于A类地址,前一个字节用于定义网络标识;对于B类地址,前两个字节用于定义网络标识;对于C类地址,前三个字节用于定义网络标识


1.2 地址类和地址块

A类地址,一个字节定义网络标识,而且最左一位始终为0,剩下7位可变。所以,A类地址共有27=128个地址块,每个地址块包含16777216个地址,存在大量的地址浪费

B类地址,两个字节定义网络标识,而且最左两位始终为10,剩下14可变。所以,B类地址共有214=16384个地址块,每个地址块包含65536个地址,存在很多地址浪费

C类地址,三个字节定义网络标识,而且最左三位始终为110,剩下21可变。所以,C类地址共有221=2097152个地址块,每个地址块有256个地址,对于大多数机构来说不够用

D类地址用来进行多播,只有一个地址块。E类地址只有一个地址块,设计为保留地址


1.3 两级编址

分类编址时,同一个网络中的所有地址都属于同一个地址块,且每个地址都包含两部分:网络标识和主机标识。网络标识指明了网络,主机标识指明了连接到网络上的一台特定的主机

提取一个地址块中的信息:一个地址块就是一段地址。给定地址块中的任意一个地址,获取地址块的三个信息:地址数、首地址和末地址:

  • 地址块的地址数N可以用N=232-n求取

  • 要求出首地址,保持最左边的n位不变,并将右边的32-n位全部置0

  • 要求出末地址,保持最左边的n位不变,并将右边的32-n位全部置1

网络地址

给定任意一个地址可以求出有关该地址的所有信息。其中首地址就是网络地址,用来为分组选择路由,使其能够到达目的地址。假设一个互联网由m个网络组成,且一个路由器有m个接口。当来自任意源主机的一个分组到达路由器,路由器根据分组首部包含的目的地址找出网络地址之后,咨询路由表找出响应的接口转发分组。网络地址实际上就是网络的标识,所有网络都要通过网络地址来识别

网络掩码

因特网上的路由器通常用一种算法从分组的目的地址提取网络地址。要做到这一点,需要一个网络掩码。分类地址的网络掩码或默认掩码是一个32位的数,左边n位全部置1,右边32-n位全部置0:


1.4 三级编址:子网划分

IP地址最初的设计为两级编址,要想抵达因特网的一台主机,首先必须抵达其网络,然后才能找到主机。然而,两级编址不够,原因有两点:首先,一个被授权使用A类或B类地址的组织,处于安全性和管理方便考虑,有必要将自己的大网络进一步划分为若干个子网。其次,因为A类和B类地址几近耗尽,而C类地址又太小,无法满足大多数组织的需要,所以已经拥有A类或B类地址使用权的组织可以将地址块进一步划分为多个较小的子地址块,并与其他组织一起分享一个地址块分割为若干较小地址块的思想称为子网划分。一个网络被划分为若干个较小的子网络,每个子网都有自己的子网地址。网络地址中出现的/16表示的是网络标识的长度

子网掩码

当一个网络没有子网划分时,使用的是网络掩码。而当一个网络划分为若干子网后,需要为每个子网建立一个子网掩码。一个子网又子网标识和主机标识两部分组成。子网划分增加了网络标识的长度,同时减少了主机标识的长度。当一个网络划分为s个子网且每个子网的主机数相同时,计算每个子网的子网标识:Nsub=N+log2S。N是网络标识的长度,Nsub是各子网标识的长度,而S是子网的数目,它必须是2的乘方

例如:一个B类网络划分为四个子网,因此N的值为16,而N1=N2=N3=N4=16+log24=18。意味着子网掩码有18个1和14个0组成,即子网掩码是255.255.192.0,不同于B类的网络掩码255.255.0.0

子网地址

当一个网络划分子网后,子网的首地址就是它的子网标识符,也是路由器为分组选择路由到达正确子网时要用到的。给定某个子网的一个任意地址,路由器可以找出其子网掩码。用子网掩码与给定的地址做与运算,可以求出子网地址。例如一个B类网络划分为四个子网,已知子网2的一个地址为141.14.120.77,可以求出子网掩码为255.255.192.0,进而算出子网地址为141.14.64.0


2. 特殊地址

2.1 特殊地址块

0地址:地址块0.0.0.0/32仅含有一个地址,被保留用于某主机需要发送一个IPv4分组,但不知道自己地址的情况下。通常用于主机正在启动,主机为了获取自己的地址,向引导DHCP服务器发送一个IPv4分组,以全0的地址作为源地址,受限广播地址作为目的地址

1地址:受限广播地址

地址块255.255.255.255/32仅含有一个地址,被保留用于当前网络的受限广播地址。如果某主机想把报文发送给网络中其它所有主机,可用这个地址作为IPv4分组的目的地址。但是,路由器会把这种类型地址的分组阻挡住,所以广播只能局限在本地网络

环回地址

地址块127.0.0.0/8被用作环回地址,用来测试机器上的软件。使用这个地址,分组没有离开主机,只是简单地由协议软件返回。例如客户进程可以用环回地址向本机的服务器进程发送一个报文。应当注意,环回地址在IPv4分组只能用于目的地址

专用地址

有些地址被指派为专用地址,它们不会再全球被识别

多播地址

地址块224.0.0.0/4为多播通信保留

 

2.2 每个地址块中的特殊地址

网络地址:一个地址块的首地址定义为网络地址。实际上,这个地址指的是网络本身,而不是网络哪一台主机。当然,子网络中的首地址称为子网络地址

直接广播地址

一个地址的末地址可用作直接广播地址。通常,路由器会用这个地址把一个分组发送给某个特定网络上的所有主机。注意这个地址只能被用作目的地址



© 著作权归作者所有

共有 人打赏支持
alon龙武
粉丝 2
博文 14
码字总数 20481
作品 0
深圳
程序员
51CTO为您精心推荐:挨踢攻城师必备的路由交换技术视频课程

亲爱的学员们: 您好!51CTO学院为梦想增值,诚邀您的关注!51CTO学院致力于让专家分享技术并让技术变现,让广大技术爱好者便捷、实惠的获取优质学习资源。 为了方便大家的学习,我们特别整理...

视频课程
06/26
0
0
Wireshark分析器分析数据流过程

Wireshark分析器分析数据流过程 分析包是Wireshark最强大的功能之一。分析数据流过程就是将数据转换为可以理解的请求、应答、拒绝和重发等。帧包括了从捕获引擎或监听库到核心引擎的信息。W...

大学霸
2015/01/21
0
0
关于IPv4协议的一点看法-地址空间,分段标识,LinuxNAT

IPv4实际上是一个被设计的很勉强的协议,远远没有TCP等传输层协议设计的好。对于它的升级版,IPv6,实际上我也一样不看好,虽然它解决了很多问题,扩展了地址空间,增加了协议堆栈化的支持....

晨曦之光
2012/04/10
359
0
顶尖程序员是如何炼成的----Java学习(创世纪篇)

写程序就像发现哥伦布发现新大陆,越深入越有趣,介绍Java学习。 一、 网络参考模型 1、OSI参考模型和TCP/IP 参考模型 七层描述: (1). 物理层:主要定义物理设备标准,如网线的接口类型、光...

crossmix
2015/11/17
0
0

没有更多内容

加载失败,请刷新页面

加载更多
这周撸了两款小程序,分享下关键点。

本周撸了两款小程序,在这里总结下开发过程中的小经验,希望对大家有用。 小程序端 我们先说小程序要注意的地方。 ##默认入口转发问题 当一个小程序Page的js文件中存在 onShareAppMessage 方...

阿北2017
19分钟前
1
0
物联网技术很新吗?不!都是旧技术

通常,当我们想到物联网时,我们会想到新的、令人兴奋的现代技术。毕竟,还有什么比不用起床就能通过智能手机告诉咖啡机开始煮晨杯的“未来”更重要呢? 多亏了物联网,我们可以在世界任何地方...

linuxCool
26分钟前
1
0
利用责任链模式设计一个拦截器

前言 近期在做 Cicada 的拦截器功能,正好用到了责任链模式。 这个设计模式在日常使用中频率还是挺高的,借此机会来分析分析。 责任链模式 先来看看什么是责任链模式。 引用一段维基百科对其...

crossoverJie
45分钟前
2
0
属性动画

透明度 alpha 平移translationX/translationY 旋转 rotation 缩放 scaleX/scaleY 多个动画一起AnimatorSet 透明度 ObjectAnimator oa = ObjectAnimator.ofFloat(iv,"alpha" ......

lanyu96
45分钟前
1
0
Docker和Kubernetes如何让DevOps更具效力

缩短time-to-makrt对于任何一家企业都至关重要,这直接决定了客户满意度、市场竞争力乃至盈利能力。但在部署应用时,大多数企业内的IT团队都或多或少会遇到Dev和Ops之间的问题,这两个部门围...

好雨云帮
54分钟前
1
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部