计算机网络体系结构整理-第二单元IP技术
阅读原文时间:2022年02月01日阅读:2

IP技术

1、IPV4

Ipv4的报头格式

Ipv4地址分为ABCDE类,

类别

IP地址范围

私有IP地址范围

A

0.0.0.0-127.255.255.255

10.0.0.0-10.255.255.255

B

128.0.0.0-191.255.255.255

172.16.0.0-172.31.255.255

C

192.0.0.0-223.255.255.255

192.168.0.0-192.168.255.255

CIDR:使用变长掩码表示网络前缀的长度,可打破传统地址类别的边界

压缩路由表规模,提高ip使用效率

IP地址的微观管理:

用户:获得地址(DNS静态配置、DHCP动态配置、ARP地址解决)

ISP:(地址规划:路由、流控、安全)

IP地址的宏观管理:管理机构、获取方式、IP地址状态

2011年IPv4地址耗尽

NAT44:

静态NAT仅限于服务器,内外IP地址的映射是固定的

动态NAT常用,请求时从地址池动态获取IP地址

复用PAT多个内部地址同时映射到一个外部地址(通过端口区分)

Ipv4其他问题:管理效率、安全、对新协议的支持能力比较差

2、ipv6概论

1998年ipv6成为正式标准

Ipv6报头VERSION是6,TrafficClass是分组优先级、数字越小优先级越低,Flowlabel表示是否支持流交换,payload length指出报文剩余部分的长度,NextHeader指出基本报头之后是哪种扩展报头,如果没有扩展报头则指出随后的是TCP还是UDP报头,HOP limit类似于TTL

Ipv6的扩展报头的含义

Hopbyhop options定义了途经路由器所需检验的信息 Routing列举出通往宿主机的路径上必须经过的路由器Fragmentation允许源主机对超长报文进行分段Authentication用于报文鉴别Encrypted security payload用于传送加密的报文Destination给宿主机解释和使用的

分段功能仅用于IPv6报文长度超过传输通路MTU的情形,分段在源点、合段在宿点

3、ipv6地址

数量2^128,号称地球上的每一粒沙子就有一个ipv6地址

Ipv6地址可以分为三类:单播、组播、任意播:如果一个数据报文要求被传送到一个任意点地址,则将被传送到最近一个接口、任意播地址不能指定给IPv6主机只能指定给v6路由器

地址表示方式:8个四位十六进制数用冒号隔开,前导0可省略,连续0可压缩。使用mask表示网络部分。

global unicast address全球单播地址

linklocal address链路本地地址(有效范围是本地链路)

uniqueLocalAddress本地站点地址(类似于v4的内网地址)

端口标识:在本地网络中必须唯一、可指派语义、从链路层地址中导出,DHCPv6服务器分配、手工配置

EUI64规范将MAC地址转换成接口ID

接口ID可以构成链路本地地址,也可以在无状态配置环境中构成单播的IPv6地址

Ipv6有特殊的以太网协议ID

4 ipv6的操作

节点自动配置各端口的ipv6地址:接口初始化、失败后重新初始化、连接、禁用无状态

无状态:网络前缀来自路由器,端口标识部分自动生成根据MAC

有状态DHCPv6

利用NDP中RA消息中的M、O标记,M代表是否无状态自动配置地址,O代表是否无状态自动配置其他参数

地址自动配置:1、节点端口启动后使用端口生成一个linklocal地址2、使用邻居请求报文在链路上使用all-nodes组播地址发送出去3、如果地址冲突重新配置4、发送路由器请求报文并等待通过报文(指出是否无状态)

私有地址:内嵌mac地址的ipv6可以被追踪、主机作为服务器时使用Server地址(变化),而作为客户端时使用Client地址(不变) Server地址按正常方法生成端口标识符IIDs

ICMPv6是IPv6的基础协议之一,封装在ipv6报头后面的,Ipv6的Next Header字段值是58,ICMPv6有两种:差错和信息

邻居发现:相当于ipv4的ARP,NDP的报文由ICMPv6承载

ND的基本协议机制:在可组播的链路上,每个路由器都要定期组播自己的路由器通告,以表面可达性。主机根据所收到的路由器通告构造一个缺省路由表。路由器通过包括一个使用判定和地址自动配置

5、IPv4和ipv6并存技术

三种方法:双栈方法、Translation、Tunneling

NAT64

假设,你的网络仅ipv6能访问公网,而你想上百度,而百度是不支持ipv6访问的,这时候,可以用nat64做中间路由,你通过dns查询的方式向nat64发送百度的域名查询请求,nat64接到查询请求后,查询百度的域名信息,发现只有ipv4的a记录,没有ipv6的aaa记录,此时,由于ipv6地址很长,128位,是ipv4的4倍,完全可以把ipv4嵌套在ipv6中,于是,nat64服务器,就把百度的ipv4地址套在一个属于它自己的ipv6地址中,并把这个地址作为你查询百度域名dns的结果返回给你,这样,你在访问百度的时候,就不是访问百度的真实ip了,而是发送请求到这个嵌套了百度真实地址的ipv6地址,而这个地址的目的地是nat64服务器,nat64服务器再次接收到你的请求,但这次不是dns解析请求了,而是tcp连接请求,它接下来根据ipv6中嵌套的ipv4地址,替你发送请求到百度,百度响应请求,将响应数据发送到nat64服务器,nat64服务器再把百度传过来的响应数据传递给你,这样,虽然你没有ipv4公网访问权限,百度又不支持pv6,但你依然能访问百度了。

双重翻译NAT444 

采用两级NAT,在客户端网络中使用一级NAT实现私网地址到私网地址的映射,在运营商LSN(LargeScaleNAT)中使用第二级NAT,实现私网地址到公网地址的映射

MAP

无状态双重ipv4/ipv6

MAP-E

Basic Mapping Rule

IP地址映射

MAP地址格式

Port-Mapping Algorithm

BMR例子

Forwarding Mapping Rule

FMR例子

无状态双重ipv4/ipv6翻译模式

MAP-T翻译的例子