【计网II】

Part I TCP/IP——IPv6

Chapter 1 IPv6基础知识

1.
计算机网络的定义
通过通信协议和传输介质,把分散在不同地点的计算机设备连接起来,实现资源共享和数据传输的系统
 
产生的Internet的核心技术协议分层、协议封装、分组交换、网关、以太网、路由器和TCP/IP协议

计算机网络体系结构是计算机网络协议和层次的集合。

计算机网络中每一层的功能和提供的服务由网络协议数据单元(Protocol Data Unit,PDU)描述和实现

 

采用5层结构,自顶向下依次为:
应用层、运输层、网络层、数据链路层、物理层,
对应的PDU分别称为报文(message)、报文段(segment)、分组(packet)、帧(frame)、位流(bits)

 

协议数据单元(PDU)在经过网络中的路由器和交换机的中间结点时,进行协议拆封和再封装
 
目前常用的计算机网络体系结构是:
 开放系统互连参考模型(OSI)
 TCP/IP协议簇
 局域网体系结构
 
 

 

协议和层次的绑定

 

TCP/IP协议栈(因为很像stack的结构):

四层:

1.网络接口层

2.网际层(ICMP,IGMP,ARP IP,PARP)

3.传输层(TCP/UDP)

4.应用层

TCP报文段和UDP数据报可以封装在IP分组中。

 2.1  IPv4协议的局限性以及需要改进的原因

 IP地址空间的局限性
 缺乏对安全性的支持
 IPv4网络中结点配置很复杂
 缺乏对服务质量(QoS)的支持
 不支持移动通信传输
 IPv4地址的层次分配缺乏统一的分配和管理
 网络地址翻译问题

IPv6协议首部结构

1.
IPv6协议数据单元的结构
2.
IPv6协议的扩展首部
3.
IPv6协议与相邻层协议的关系
IPv6协议数据单元称为分组(Packet)。有时也将IPv6协议数据单元称为数据报

 

 

IPv6协议与IPv4协议的比较

 

 

转发分组过程:

 

 

相邻的路由器只是定义上的相邻,并不代表物理上相邻。


 

2 IPv6协议的扩展首部

首部的放置顺序有要求
1.固定
2.逐跳(每个路由器都需要解码解释)
3.目的选项扩展首部(1./2.)
4.路由的扩展首部(路由器/目的选项)
5.分段扩展(分片/原则上认为链路足够大)
6.7.
8.目的选项2:只允许接收端接收解释的数据(不需要中间节点进行解释)

 

 

扩展首部的用法
 IPv6协议中的扩展首部是可选的,只在需要时才插入,使得IPv6分组的生成更加灵活和高效,提高了分组的转发效率。

 

 

源路由方式可以绕过危险的网络,选择可靠的路径

更加的灵活方便

 

 

 *要注意MTU,超过会被扔掉

要先探测路段的MTU

 

 

报头是不可分段部分,后面分段首部是用于重组(净荷部分)

分段首部有些长得不一样,因为偏移量不一样。

类似于链表

2.2 逐跳选项扩展首部

 前边的长度是指总的长度

3. 填充

 

 

 

几乎不需要切片

 

 

提取出有效的部分

 

 

多播,减少骨干网的负担

 

 

相邻的路由器可以进行传输

*(多播侦听)路由器传递的信息->应该发送多少个副本

 

流标签:(对于非弹性资源)

预分配资源(带宽/缓冲区)

相同路径传输:时延抖动差不多

可以解决服务质量的一些问题

流标签可用来标记特定流的报文,以便在网络层区分不同的报文。转发路径上的路由器可以根据流标签来区分流并进行处理。由于流标签在IPv6报文头中携带,转发路由器可以不必根据报文内容来识别不同的流,目的节点也同样可以根据流标签识别流,同时由于流标签在报文头中,因此使用IPSec后仍然可以根据流标签进行QoS处理。


 

2.5 身份认证首部

Hash,MD5,摘要,CRC(校验和)

证书(保证来源)

认证就是A用私钥加密,B从公共机构里获得A的公钥,证明消息确实来自于A

 

 

 


 

目的选项扩展首部(源路由)

第一跳:基本首部

第二跳..第三跳..最终..(想要到达的路由器的IP地址):目的选项扩展首部

 

A->B

不能直通,v4做不到,但v6可以

 

使用目的选项首部有两种方式
若存在路由首部,目的选项首部在路由首部之前,则目的选项首部指定在每个中间节点都要转发或处理的选项
若不存在路由首部,或目的选项首部在路由首部之后,则目的选项首部指定在最后路由节点转发或处理的选项

 

 


 

Chapter 3 IPv6地址结构

 

1.1 IPv6地址标识方法

规定IPv6地址有3种格式:
首选格式,压缩表示格式,内嵌IPv4地址的IPv6地址格式

 

1.首选格式

把IPv6地址的128位二进制地址按每16位划分为一个位段,
IPv6地址可以划分为8个位段
IPv6地址首选格式为X:X:X:X:X:X:X:X,其中X标识一个位段,各位段之间用冒号间隔
例如,一个128位二进制位的IPv6地址:
00100000(20) 00000001(01) 00000100(04) 00010000(10)
00000000(00) 00000000(00) 00000000(00) 00000001(01)
00000000(00) 00000000(00) 00000000(00) 00000000(00)
00000000(00) 00000000(00) 01000101(45) 11111111(FF)
得出该IPv6地址首选格式:2001: 0410: 0000: 0001: 0000: 0000:0000: 45ff

 

2.压缩表示格式

压缩表示格式也称为零压缩表示法
  • RFC 4291规定IPv6地址结构中允许用“空隙”来表示这些0,并且规定在一个位段4位十六进制整数的起始位置的0可以省略(压缩掉)
  • 但是一组4位十六进制整数中间和后面的0不可以省略
  • 规定每个位段至少有一个数字,如“0000” 简写为“0”
  • 多个连续位段0用两个冒号(双冒号)表示,简写为“::”
  • IPv6标准规定双冒号在地址中只能出现一次,并且不能省略一个位段中有效的0
首选格式表示的IPv6地址:2001: 0410: 0000: 0001: 0000: 0000: 0000: 45ff
可采用压缩格式写为:2001: 410: 0: 1: 0: 0: 0: 45ff

 

3.内嵌IPv4地址的IPv6地址格式

 内嵌IPv4地址的IPv6地址格式可以分为两类:

  1. IPv4兼容的IPv6地址(废除)
  2. IPv4映射的IPv6地址

 

 

 

 

IPv6地址被分成两个部分:子网前缀和接口标识符。
IPv6地址前缀格式如下:
IPv6地址/前缀长度
例如,4030:0:0:0:C9B4:FF12:48BC:1A27/60
这个地址中前缀长度为60位 

 

网络中的一个结点可以有一个或多个网络接口,IPv6地址是分配给网络接口
在IPv6网络中一个接口可以有一个或多个IPv6地址,包括单播地址、任播地址和多播地址
由ICANN将IPv6地址分配给各个区域
区域→国家→本地机构→ISP→企业→部门

一个典型的IPv6地址由3个部分组成:
全球路由前缀(Global Routing Prefix,GRP)
子网ID(Subnet ID)
接口ID(Interface ID)

 

 

 

3 IPv6单播地址

一个结点可以具有多个IPv6网络接口。每个接口必须具有一个与之相关的单播地址
一个IPv6单播地址可看做一个两字段实体
  1. 其中一个字段为网络标识符,用来标识网络
  2. 另一个字段为接口标识符,标识该网络上结点的接口

3.2 可汇聚全球单播地址

每个可聚合全球单播IPv6地址有如下3个部分
1)公共拓扑
2)站点拓扑
3)接口ID

 

 

 

 

 

 

3.3 链路本地地址

 

 

 

 
1.链路本地地址格式
链路本地地址的作用范围限制在连接到同一链路本地的结点之间,即以路由器为界的单一链路范围内
链路本地地址是自动配置的。在邻居发现等IPv6机制中使用该类型的地址
2. EUI-48地址

 

3.5 6to4地址和ISATAP地址

 

 

 

2.ISATAP地址

 

4 IPv6多播地址

 

 IPv6协议中的多播地址(Multicast Address,MA)也通过特定的地址前缀标识
用最高8位的二进制位组合“1111 1111”来标识多播地址

 

 

 

4.2 请求结点多播地址
用于重复地址检测和获取邻居结点的链路层地址
 请求结点多播地址由前缀FF02::1:FF00:0/104和单播(或任播)地址的后24位组成
 请求结点多播地址的地址范围为
FF02:0:0:0:0:1:FF00:0000~FF02:0:0:0:0:1:FFFF:FFFF
仅把与地址解析有关的结点的地址作为目的地址,在地址解析过程中,与地址解析无关的结点不会受到干扰。
 
5 IPv6任播地址
任播地址与单播地址有相同的格式,当一个单播地址属于多个接口时,它就是任播地址 

 

8.1 IPv6地址无状态自动配置的特征

无状态自动配置要求链路本地支持多播,而且网络接口能够发送和接收多播
*没有重复
完成自动配置的结点首先将其链路本地地址(如IEEE EUI-64地址)追加到链路本地前缀之后,构成网络接口的IPv6地址。这样,结点就与同一网络链路上的其他结点通信,只要同一链路没其他结点使用与之相同的EUI-64地址即可
在使用该地址之前,结点必须先证实起始地址在链路本地是
唯一的,结点必须确定同一链路上没有其他结点使用与之相
同的EUI-64地址
无状态地址自动配置中的地址前缀的获取是最为重要的

IPv6主机地址自动配置过程

1.
生成临时链路本地地址
2.
主机发送邻居请求报文,进行地址重复检测
3.
主机发送路由器请求报文
4.
若收到路由器通告报文,主机根据收到的报文内容配置MTU、重发计时器、可到达事件和跳数限制等。
5.
若收到的报文带有前缀信息选项,则进行标志位判断
6.
若路由器通告报文中的管理地址标志位置为1,则用有状态地址自动配置协议获取其他的地址。
7.
若路由器通告报文中的有状态配置标志位置为1,则用有状态地址自动配置协议获取其他的参数。
 

IPv6地址有状态自动配置DHCPv6

 通过DHCPv6服务器,可以把IPv6网络地址和其他配置信息通过IPv6网络传送IPv6结点,这些信息都是通过选项来传递的,使网络具有自动分配可重用的网络地址和附加配置信息的功能。
DHCPv6服务器与客户端使用运输层协议UDP来交换
 
报文内容按网络字节顺序存储
 
这个全称叫DHCPv6前缀代理DHCPv6 PD(Prefix Delegation)是一种
前缀分配机制,通俗的说是分配网段的。
 
 

10 IPv6域名系统

 

IPv6域名地址正向解析DNS记录有两种新的类型:
AAAA和A6

 

A6类型的记录支持AAAA类型记录所不具备的一些特性,这些特性包括地址汇聚、地址重编号等

 什么叫地址汇聚?

 

1.自动发现DNS服务器

 无状态:通过中间服务器发布通告信息
 有状态:通过任播地址发送查询请求

2.自动域名更新

自动域名更新指的是DNS服务器能够自动跟踪网络中的每个结点,在各结点的域名与IPv6地址的对应关系变化时,DNS服务器实现随时更新
自动域名更新采用客户机/服务器模式
 
 

 

 

DNS逆向地址解析
 
 

 

10.1主机的数据结构

地址空间足够的大,可以扩展接入的网络范围

多子网交叠

10.2IPv6地址解析

互联网设计规律

*邻居发现协议

*多播(IPv6不再采用广播的方式因为会产生不必要的资源浪费,让无关的主机接收到报文)

请求解析的结点把邻居请求报文以多播的形式发送到与目的IPv6地址有关的多播地址上。

目的结点通告自己的位置

 

——

知道B的IP地址,不知道MAC地址

尽管是以多播的形式发出去,但只有目的主机能收到报文

目的路由器把邻居通告报文以单播的形式传回去

 

相同链路:没有跨越路由器

 

类型=135:目的是查询MAC地址

 

多播IP是怎么生成的?

数据是可写可不写的

4个3开头代表MAC地址是多播MAC地址(多个终端会以该MAC接收数据)

 

其他结点会忽略该报文

http://www.firewall.cx/networking-topics/general-networking/107-network-multicast.html

 

多播地址能代表单播地址

根据多播地址低位映射出多播MAC地址

 

为什么不直接采用请求节点的IP地址?

不知道单播MAC,所以不能用单播的IP地址

问:这个多播MAC地址对应的是服务器/终端还是什么东西呢?

B会监听属于自己的多播MAC地址

多播MAC地址可能存在歧义

 

类型=134

路由通告

 

一个网络节点有一个网络接口,这个接口上至少有三个MAC地址

10.4 邻居可达性检测

posted on 2020-10-13 11:14  中大网安维修师傅  阅读(232)  评论(0编辑  收藏  举报