全世界唯一的32位/4字节标识符,标识路由器主机的接口。
IP地址::= {<网络号><主机号>}
IP编址的历史阶段
- 分类的IP地址
- 子网的划分
- 构成超网(无分类编址方法)
分类的IP地址
特殊IP地址
私有IP地址
网络地址转换(NAT)
路由器对目的地址是私有IP地址的数据报一律不进行转发。
网络地址转换NAT(Network Address Translation):
在专用网连接到因特网的路由器上安装NAT软件,安装了NAT软件的路由器叫NAT路由器,它至少有一个有效的外部全球IP地址。
A主机先把数据报传输到NAT,NAT会把A主机IP替换为NAT IP,然后把端口号(主机中每个进程端口号都是唯一的,但是不同主机的进程端口号可能相同,但是在NAT会对端口号进行转换,保证不同主机不同进程的端口号唯一)
子网划分与子网掩码
分类的IP地址的弱点:
- IP地址空间的利用率有时很低
- 两级IP地址不够灵活
子网划分
主机号不能全0全1
子网掩码
子网掩码就是网络号都是1,主机号都是0,子网掩码与IP地址逐位相与,就得到子网网络地址。
使用子网时分组转发
路由表:
- 目的网络地址
- 目的网络子网掩码
- 下一跳地址
路由器转发分组的算法:
- 提取目的IP地址
- 是否直接交付(把目的IP与每个子网掩码相与,看与子网是否相同)
- 特定主机路由
- 检测路由表中有无路径
- 默认路由 0.0.0.0
- 丢弃,报告转发分组出错
IP无分类编址CIDR
CIDR
无分类域间路由选择CIDR:
1.消除了传统的A类,B类和C类地址以及划分子网的概念,只有网络前缀和主机号
CIDR记法:IP地址后加上“/”,然后写上网络前缀(可以任意长度)的位数。
2.融合子网地址与子网掩码,方便子网划分。
CIDR把网络前缀都相同的连续的IP地址组成一个“CIDR地址块”
比如128.14.35.7/20是某CIDR地址块中的一个地址,那么该地址块最小地址和最大地址分别是?
首先把该CIDR地址写成二进制:
10000000 00001110 00100011 00000111
那么网络号就是10000000 00001110 0010
把主机号位数全部置为0也就是该地址块最小地址:
10000000 00001110 00100000 00000000 也就是128.14.32.0
把主机号位数全部置为1也就是该地址块最大地址:
10000000 00001110 00101111 11111111 也就是128.14.47.255
地址掩码(子网掩码)
以上例子的子网掩码也就是11111111 11111111 11110000 00000000
CIDR --- 构成超网
将多个子网聚合成一个较大的子网,叫做构成超网,或网络聚合
方法:
将网络前缀缩短
CIDR --- 最长前缀匹配
使用CIDR时,查找路由表可能得到几个匹配结果,应选择具有最长网络前缀的路由。前缀越长,地址块越小,路由越具体。
IPv6
以上所属的IP编址方式都是IPv4的编址方式,32位的IPv4地址空间已分配殆尽,所有就有CIDR和NAT技术,但是治标不治本。所以可以通过IPv6,从根本上解决地址耗尽问题。同时改进首部格式,实现快速处理/转发数据报,同时支持QoS(QoS --- Quality of Service,服务质量:指一个网络能够利用各种基础技术,为指定的网络通信提供更好的服务能力,是网络的一种安全机制,是用来解决网络延迟和阻塞等问题的一种技术。)
IPv6数据报格式
- 版本:指明了协议版本,总是6
- 优先级:区分数据报的类别和优先级
- 流标签:“流”是互联网络上从特定源点到特定终点的一系列数据报。所有属于同一个流的数据报都具有同样的流标签。
- 有效载荷长度:
- 下一个首部:标识下一个扩展首部或上层协议首部。每一个扩展首部都有下一个首部(类似链表),所以基本首部也会有下一个首部。
- 跳数限制:相当于IPv4的TTL。
IPv6和IPv4
区别:
- IPv6将地址从32位(4B)扩大到128位(16B),更大的地址空间。
- IPv6将IPv4的校验和字段彻底移除,以减少每跳的处理时间。
- IPv6将IPv4的可选字段移出首部,变成了扩展首部,成为灵活的首部格式,路由器通常不对扩展首部进行检查,大大提高了路由器的处理效率。
- IPv6支持即插即用(即自动配置),不需要DHCP协议。
- IPv6首部长度必须是8B的整数倍,IPv4首部是4B的整数倍。
- IPv6只能在主机处分片,IPv4可以在路由器和主机处分片。
- ICMPv6:附加报文类型,比如“分组过大”
- IPv6支持资源的预分配,支持实时视像等要求,保证一定的带宽和时延的应用。
- IPv6取消了协议字段,改成下一个首部字段。
- IPv6取消了总长度字段,改用了有效载荷长度字段。
- IPv6取消了服务类型字段。
IPv6地址表示形式
一般形式
冒号十六进制记法,比如4BF5:AA12:0216:FEBC:BA5F:039A:BE9A:2170
压缩形式
4BF5:0000:0000:0000:BA5F:039A:000A:2176 -> 4BF5:0:0:0:BA5F:39A:A:2176
零压缩:一连串连续的0可以被一对冒号取代
FF05:0:0:0:0:0:0:B3 -> FF05::B3 (双冒号表示法在一个地址中仅可出现一次)
IP基本地址类型
- 单播:一对一通信 可做源地址 + 目的地址
- 多播:一对多通信 可做目的地址
- 任播:一对多中的一个通信 可做目的地址
IPv6向IPv4过度的策略
双栈协议
双协议栈技术就是指在一台设备上同时启用IPv4协议栈和IPv6协议栈。这样的话,这台设备既能和IPv4网络通信,又能和IPv6网络通信。如果这台设备是一个路由器,那么这台路由器的不同接口上,分别配置了IPv4地址和IPv6地址,并很可能分别连接了IPv4网络和IPv6网络。如果这台设备是一个计算机,那么它将同时拥有IPv4地址和IPv6地址,并具备同时处理这两个协议地址的功能。
隧道技术
通过使用互联网络的基础设施在网络之间传递数据的方式。使用隧道传递的数据(或负载)可以是不同协议的数据帧或包。隧道协议将其他协议的数据帧或包重新封装然后通过隧道发送。