ipv4
一、简介
1、网络协议版本(IPV4),又称互联网通信协议第四版,是网络协议开发过程中的第四个修订版本,也是此协议第一个被广泛部署的版本。到2011年,IANAIPv4地址完全用尽时,IPv6仍处于部署的初期
2、ipv4使用3位(4字节)地址,地址空间有2^32次方个地址。
有一些地址是为特殊用途保留的,随着地址不断被分配给最终用户,IPv4地址枯竭的问题也在随之产生。
基于分类网络、无类别域间路由和网络地址转换的地址构造显著减少了地址枯竭的速度
二、IPV4地址
1、地址格式
IPv4地址可被写作任何表示一个32位整数值的形式,它通常被写为点分十进制
几种不同的格式如下表
格式 | 地址值 | 从点分十进制转换 |
点分十进制 | 192.0.2.235 | 不用 |
点分十六进制 | 0xC0 0x00 0x02 0xEB | 每个字节单独转换为十六进制 |
点分八进制 | 0300 0000 0002 0353 | 每个字节单独转换为八进制 |
十六进制 | 0xC00002EB | 将点分十六进制连在一起 |
十进制 | 3221226219 | 用十进制写出的32位整数 |
八进制 | 030000001353 | 用八进制写出的32位整数 |
在点分格式中,每个字节都可用任意的进制表达
2、专用网络
在IPV4所允许的大约40亿地址中,三个地址块(A类、B类、C类)被保留作专用网络。这些地址块在专用网络之外不可以路由,专用网络之内的主机也不能直接与公共网络通信。通过网络地址转换(NAT),使用这些地址的主机拥有共有地址的主机在互联网上通信
名称 | 地址范围 | 地址数量 | 类别描述 | 最大的CIDR地址块 |
一类(24位) | 10.0.0.0-10.255.255.255 | 2^24次方 | A类地址 | 10.0.0.0/8 |
二类(20位) | 172.16.0.0-172.31.255.255 | 2^20次方 | 连续的16个B类 | 172.16.0.0/12 |
三类(16位) | 192.168.0.0-192.168.255.255 | 2^16次方 | 连续的256个C类 | 192.168.0.0/16 |
3、虚拟专用网络
一般情况下,路由器根据数据报文的目的地址决定转发数据报文的下一跳地址,使用专用网络地址作为目的地址的数据包通常无法被公共路由器正确送达(公共路由器没有相应的路由信息,无法得知如何才能转发到该ip地址)。使用虚拟专用网,将IP报文封装在其它报文内,以便通过公网上的公共路由器,达到能处理该报文内层数据的网络设备上解除报文后,该数据包可以被继续转发到目的地址。
将数据报文封装的过程中,可以将数据报文封装于IP报文中,也可以使用多协议标签交换协议等,通过其它协议引导数据报文转发;也可以封装同时加密数据,以保护数据内容。
4、环回地址(127.0.0.1)
地址127.0.0.1/8被保留作环回口通信用。
发送此报文的报文地址被作为同一虚拟网络设备上的入站报文(环回),主要用于检查TCP/IP协议栈是否正确运行和本机对本机的链接。
(1)以0或者255结尾的地址
一个常见的误解:以0或255结尾的地址永远不能分配给主机(这仅在子网掩码至少为24位长度时)
在有类别的编址中,只有三种可能的子网掩码:
A类:255.0.0.0;B类:255.255.0.0;C类:255.255.255.0
(2)广播地址允许数据包发往子网上的所有设备(广播弟子是子网中的最后一个地址),一般情况下,子网的第一个和最后一个分别被作为网上识别码和广播地址,任何其它地址都可以被分配给其上的主机。但是这并不是说,每个已255结尾的地址都不能用作主机地址。随着CIDR(无类别域间路由)的到来,广播地址不一定总是以255结尾。
5、域名系统
互联网的主机通常被指定,但IP报文的路由是IP地址不是名字决定的,这就需要域名解析系统来解析地址。
DNS(域名系统)提供了域名转换为IP地址的服务,DNS是层级结构
三、ipv4子网规划和地址划分
1、一个校园网要对一个B类地址(156.26.0.0)进行子网划分。这个校园网有近210个局域网。
由于210离2^8=256最近,可行方案从主机号借8位来作为子网号
子网的掩码变化:255.255.255.0/156.26.0.0/22
子网划分的结果
(1)156.26.1.1---156.26.1.254
(2)156.26.2.1---156.26.2.254
..........................................
..........................................
(254)156.26.254.1---156.26.254.254
主机号不能全为0或者全为1,每个子网的主机号有254个
2、子网长度的确定
(1)子网数
(2)每个子网中主机和路由器数
3、可变长子网掩码划分
例如:某公司申请一个C类202.60.31.0的IP地址,这个公司有100名员工在销售部,50名在财务部,50名在设计部。为销售部门、财务部门、设计部门分别组建子网
解析:三个部门三个子网,借出两位作为子网号,主机号剩下6位,每一个子网的最大主机号2^6=64个,销售部门行不通
这时,采用可变长度的子网掩码划分方法
(1)销售部100台主机,主机号至少7位,子网为1位
子网掩码:255.255.255.128/202.60.31.0/25(第25位开始)
子网位为0:202.60.31.1---202.60.31.124(作为销售部子网)
子网位为1:202.60.31.129---202.60.31.254
(2)对于子网位为1,需要在划分出两个子网给财务部门和设计部门
需要6个主机号,用2位当作子网号,子网掩码:255.255.255.192/202.60.31.0/26(26位开始为主机号)
子网位为10:202.60.31.129---202.60.31.190(作为财务部子网)
子网位为11:202.60.31.193---202.60.31.254(作为设计部子网)
四、CIDR(无类别域间路由)
1、CIDR的概念和格式
标准的IP地址采用的是点分十进制(网络位-主机号的二层结构)
CIDR用区别于传统标准分类的IP地址和划分子网的概念,使用是“<网络前缀>/<主机号>”代替“网络号---主机号”的二层结构,形成新的无 分类二层地址结构
<网络前缀>/<主机号>这种格式叫做“斜线记法”(200.16.23.0/20表示:前20位是网络前缀,后12位是主机号)
主机号全0的网络地址和全1的广播地址不分配给主机
2、CIDR的应用
例如:一个校园网获得200.24.16.0/20的地址块,要把它划分为8个等长的较小的地址块,划分情况如下表所示:
五、网络地址转换NAT
1、NAT作用
解决网络地址短缺,支持IP地址复用
网络安全
2、IP地址复用
NAT技术解决IP地址短缺,主要用于ISP、ASDL、有线电视和无线移动接入的动态IP地址分配
NAT就是私网地址和全局地址转换的功能
3、NAT分类
动态NAT:一对一,配置一个内部专用IP地址对应一个公用IP地址
静态NAT:多对多,多个专业IP地址对应一个或几个全局IP地址
4、NAT的工作原理
5、NAT的潜在问题
NAT(NAPT)依赖于自己的转换表
(1)无法从NAT外部向内部服务器建立连接
(2)转换表的生成和转换操作都会产生一定的开销
(3)通信过程中一旦NAT发生异常需要重新启动时,所有的TCP连接都会被重置
(6)即使备置两台NAT做容灾备份,TCP连接还是会被断开
***********************************************************************************************************************
ipv6
一、ipv6的概念
1、ipv6是(Internet Protocol Version 6,互联网协议第六版)的缩写,是互联网工程任务组(IETF)设计的用于替代IPV4的下一代协议,其地址数量号称可以为全世界的每一粒沙子编上一个地址。
2、由于IPV4最大的问题在于网络地址资源不足,严重制约了互联网的应用和发展。IPV6的使用,不仅能解决网路地址资源数量的问题,而且也解决了多种接入设备接入互联网的障碍。
3、互联网数字分配机构(IANA)在2016年以向国际互联网工程任务组(IETF)提出建议,要求新制定的国际互联网标准只支持IPV6,不再兼容IPv4.
二、IPv6的发展历史
----------------时间历程----------
到1992年初,一些关于互联网地址系统的建议在互联网工程任务组(IETF)上提出,并于1992年底形成白皮书
1993年9月,IETF建立了一个临时的ad-hoc下一代IP领域来专门解决下一代IP的问题
1996年开始,一系列用于定义IPv6的RFC表发表出来,最初的版本为RFC1883
2003年1月22日,IETF发布了IPv6测试性网络,即6bone网络
截至2009年6月,6bone网络技术已经支持了39个国家的260个组织机构
从2011年开始,主要用在个人计算机和服务器系统上的操作系统基本上都支持高质量IPv6配置产品
2012年6月6日,国际互联网协会举行了世界IPv6启动纪念日,这一天,全球IPv6网络正式启动
根据飓风电子统计,截至2013年9月,互联网318个顶级域名中的283个支持IPv6接入它们的DNS。约占89.0%,其中276个域名包含IPv6黏附记录,共5,138,365个域名在各自的域内拥有IPv6地址记录
2018年7月,百度云制定了中国的IPv6改造方案
要求到2020年末,IPv6活跃连接数达到11.5 亿,较2019年8亿连接数的目标提高了43%
三、ipv6的组成结构
1、表示方法
ipv6的地址长度为128位,是ipv4地址长度的4倍,采用十六进制表示,IPv6有三种表示方法
(1)冒号十六进制表示法,格式:X:X:X:X:X:X:X:X(每个x表示地址的16b,十六进制)
这种表示方法每个x前的0是可以省略的
(2)0位压缩表示法:在某些情况下,一个ipv6地址中间可能包含很长的一段0,可以把连续的一段0压缩为‘::’,但一个地址中,‘::’只能出现一次
(3)内嵌IPv4地址表示法
为了实现IPv4---IPv6互通,IPv4会嵌入IPv6地址中,此时地址常表示为‘X:X:X:X:X:X:d.d.d.d’,前96b采用冒分十六进制表示(压缩0位的方法依旧适用),最后32b地址则使用IPv4的点分十进制表示
2、报文内容
ipv6报文的整体结构分为ipv6报头、扩展报头和上层协议数据3部分。
IPv6报头是必选报文头部,长度固定为40B,包含该报文的基本信息
扩展报头是可选报头,可能存在0个、一个或者多个,IPv6协议通过扩展报头实现各种丰富的功能
上层协议数据是该IPv6报文携带的上层数据,可能是ICMP报文、TCP报文、UDP报文或者其它可能报文
(1)IPv6的报文头部结构如图
(2)ipv6报文头结构信息
版本号 | 表示协议版本,值为6 |
流量等级 | 主要用于QoS |
流标签 | 用来标识同一个流里面的报文 |
载荷长度 | 表明该IPv6包头部后包含的字节数,包含扩展头部 |
下一报头 | 指明报头后接的报文头部的类型;若存在扩展头,表示第一个扩展头的类型,否则表示其上层协议的类型,它是IPv6各种功能的核心实现方法 |
跳数限制 | 该字段类似于IPv4中的TTL,每次转发跳数减一,该字段达到0时包将会被丢弃 |
源地址 | 标识该报文的来源地址 |
目的地址 | 标识该报文的目的地址 |
3、扩展头部
四、ipv6的地址类型
ipv6协议主要定义了三种地址类型(单播地址(Unicast address)、组播地址(Multicast address)、任播地址Anycast address)
单播地址:用来唯一标识一个接口,类似于ipv4的单播地址,发送到单播地址的数据报文将被传送给此地所标识的一个接口
组播地址,用来标识一组接口(通常这组接口属于不同的节点),类似于ipv4的组播地址,发送到组播地址的数据报文被传递给此地址所标识的所有接口
任播地址,用来标识一组接口(通常这组接口属于不同的节点),发送到任播地址的数据报文被传送给此地所标识的一组接口中距离源节点最近(根据使用的路由协议进行度量)的一个接口
ipv6地址类型由地址前缀部分来确定,主要地址类型与地址前缀的对应关系如下
1、单播地址(包括四个类型)
(1)全局单播地址:等同于ipv4中的公网地址,可以在ipv6因特网上进行全局路由和访问,这种地址类型允许路由前缀的聚合,从而限制了全球路由表项的数量
(2)本地单播地址:链路本地地址和唯一本地地址都属于本地单播地址。在ipv6中,本地单播地址是ipv4地址中局域网专用地址。每个接口上至少有一个链路本地单播地址
a,链路本地地址(FE80::/10):仅用于单个链路(链路层不能跨vlan),不能在不同子网中路由,节点使用链路本地地址与同一个链路上的相邻节点进行通信
b,唯一本地地址(FC00::/7):它是本地全局的,它应用于本地通信,但不通过Internet路由,将其范围限制为组织的边界
(3)兼容性地址:在ipv6的转换机制中还包含了一种通过ipv4路由以隧道方式动态传递ipv6包的技术,这样的ipv6结点会被分配在低32位中带有全球ipv4单播地址的ipv6全局单播地址;另有一种嵌入ipv4的ipv6地址,用于局域网内部,这类地址用于把ipv4结点当作ipv6结点
(4)特殊地址:包括未指定地址和环回地址
未指定地址(0:0:0:0:0:0:0:0或者::)仅表示某个地址不存在===ipv4的0.0.0.0,未指定地址通常被用做尝试验证暂定地址唯一性数据包的源地址,并且永远不会指派给某个接口或被用做目标地址
环回地址(0:0:0:0:0:0:0:1或者::1)用于标识环回接口,允许节点将数据包发送给自己===ipv4的127.0.0.1,发送到环回地址的数据包永远不会发送给某个链接,也永远不会通过IPv6路由器转发
2、组播地址
ipv6组播地址可以识别多个接口,对应于一组接口的地址(通常分属于不同节点)
发送到组播地址的数据包送到由该地址标识的每个接口
使用适当的组播路由拓扑,将向组播地址发送的数据包发送给该地址识别的所有接口
任意位置的ipv6节点可以侦听任意ipv6组播地址上的组播通信
ipv6节点可以同时侦听多个组播地址,也可以随时加入或者离开组播组
3、任播地址
一个ipv6任播地址与组播地址一样也可以识别多个接口,对应一组接口的地址(大多数情况这些接口属于不同的节点),发送到任播地址的数据包被送到由该地址标识的其中一个接口
通过合适的路由拓扑,目的地址为任播地址的数据包将被发送到单个接口(该地址识别的最近接口,最近接口定义的根据是因为路由距离最近),而组播地址用于一对多通信,发送到多个接口。一个任播地址必须不能用作IPv6数据包的源地址;也不能分配给IPv6主机,仅可以分配给IPv6路由器
4、使用的地址配置协议
ipv6使用无状态地址自动配置协议(SLAAC)和ipv6动态主机配置协议(DHCPv6)
SLAAC不需要服务器对地址进行管理,主机直接根据网络中的路由器通告信息与本机MAC地址结合计算出本机IPv6地址,实现地址自动配置
DHCPv6由DHCPv6服务器管理地址池,用户主机从服务器请求并获取ipv6地址及其它信息,达到地址自动配置的目的
五、过渡技术
1、ipv6/ipv4双协议栈技术
双栈机制就是使ipv6网络节点具有一个ipv4栈和一个ipv4栈,同时支持ipv4和ipv6协议
2、隧道技术
在必要时将ipv6数据包作为数据封装在ipv4数据包里,使ipv6数据包能在已有的ipv4基础设施上传输的机制
隧道对于源站点和目的站点是透明的
隧道只起到物理通道的作用,不能实现ipv4主机和ipv6主机之间的通信
3、网络地址转换技术(NAT)
将ipv4地址和ipv6地址分别看作内部地址和全局地址,或者反过来
六、ipv6的特点
1、ipv6具有更大的地址空间
ipv4:32位,最大地址个数2^32
ipv6:128位,最大地址个数2^128
2、ipv6使用更小的路由表
3、ipv6增加增强的组播支持以及对流的控制,这使得网络上的多媒体应用有了长足发展机会,为服务质量控制提供了良好的网络平台
4、ipv6加入了对自动配置的支持
5、在使用ipv6网络中用户可以对网络层的数据进行加密并对ip报文进行校检,在ipv6中的加密与鉴别选项提供了分组的保密性与完整性,极大的增强了网络的安全性
6、如果新的技术或技术需要时,ipv6允许协议进行扩充
7、ipv6使用新的头部格式,其选项与基本头部分开,如果需要,可以将选项插入到基本头部和上层数据之间
8、ipv6有一些新的选项来实现附加的功能
9、安全性能
10、应用前景
虽然IPv6在全球范围内还仅仅处于研究阶段,许多技术问题还有待于进一步解决,并且支持IPv6的设备也非常有限。但总体来说,全球IPv6技术的发展不断进行着,并且随着IPv4消耗殆尽,许多国家已经意识到了IPv6技术所带来的优势,特别是中国,通过一些国家级的项目,推动了IPv6下一代互联网全面部署和大规模商用。随着IPv6的各项技术日趋完美,其成本过高、发展缓慢、支持度不够等问题将很快淡出人们的视野