52
基于IPv6anycast服务 张丽

基于IPv6的anycast服务 - EOLfree.eol.cn/edu_net/down/IPv6-anycast.pdfanycast定义 l为anycast报文提供到服务于该anycast地址的一 组服务器中的至少一台(最好是一台)的尽力而

  • Upload
    others

  • View
    21

  • Download
    0

Embed Size (px)

Citation preview

Page 1: 基于IPv6的anycast服务 - EOLfree.eol.cn/edu_net/down/IPv6-anycast.pdfanycast定义 l为anycast报文提供到服务于该anycast地址的一 组服务器中的至少一台(最好是一台)的尽力而

基于IPv6的anycast服务

张丽

Page 2: 基于IPv6的anycast服务 - EOLfree.eol.cn/edu_net/down/IPv6-anycast.pdfanycast定义 l为anycast报文提供到服务于该anycast地址的一 组服务器中的至少一台(最好是一台)的尽力而

报告内容

l anycast定义l 应用背景(做什么样的事情)

l 需要解决哪些问题

l 为什么在IP层来做l 计划怎样做

l 相关研究

l 进度安排

Page 3: 基于IPv6的anycast服务 - EOLfree.eol.cn/edu_net/down/IPv6-anycast.pdfanycast定义 l为anycast报文提供到服务于该anycast地址的一 组服务器中的至少一台(最好是一台)的尽力而

anycast定义

l 为anycast报文提供到服务于该anycast地址的一组服务器中的至少一台(最好是一台)的尽力而为传送的无状态服务。(RFC1546,1993)

l 发送到一个 anycast 地址的报文被传送到由该地址标识的接口之一(最近的一个,根据路由协议的距离量度标准)。(RFC2373,1998)

Page 4: 基于IPv6的anycast服务 - EOLfree.eol.cn/edu_net/down/IPv6-anycast.pdfanycast定义 l为anycast报文提供到服务于该anycast地址的一 组服务器中的至少一台(最好是一台)的尽力而

Group A

(Member 1)

Group A

(Member 2)

Sender 2

Sender 1

Anycast Packet

Anycast Packet

IP anycast

Page 5: 基于IPv6的anycast服务 - EOLfree.eol.cn/edu_net/down/IPv6-anycast.pdfanycast定义 l为anycast报文提供到服务于该anycast地址的一 组服务器中的至少一台(最好是一台)的尽力而
Page 6: 基于IPv6的anycast服务 - EOLfree.eol.cn/edu_net/down/IPv6-anycast.pdfanycast定义 l为anycast报文提供到服务于该anycast地址的一 组服务器中的至少一台(最好是一台)的尽力而
Page 7: 基于IPv6的anycast服务 - EOLfree.eol.cn/edu_net/down/IPv6-anycast.pdfanycast定义 l为anycast报文提供到服务于该anycast地址的一 组服务器中的至少一台(最好是一台)的尽力而
Page 8: 基于IPv6的anycast服务 - EOLfree.eol.cn/edu_net/down/IPv6-anycast.pdfanycast定义 l为anycast报文提供到服务于该anycast地址的一 组服务器中的至少一台(最好是一台)的尽力而
Page 9: 基于IPv6的anycast服务 - EOLfree.eol.cn/edu_net/down/IPv6-anycast.pdfanycast定义 l为anycast报文提供到服务于该anycast地址的一 组服务器中的至少一台(最好是一台)的尽力而
Page 10: 基于IPv6的anycast服务 - EOLfree.eol.cn/edu_net/down/IPv6-anycast.pdfanycast定义 l为anycast报文提供到服务于该anycast地址的一 组服务器中的至少一台(最好是一台)的尽力而
Page 11: 基于IPv6的anycast服务 - EOLfree.eol.cn/edu_net/down/IPv6-anycast.pdfanycast定义 l为anycast报文提供到服务于该anycast地址的一 组服务器中的至少一台(最好是一台)的尽力而

XXX://1.1.1.2/yyy/…..

到哪个1.1.1.2最快,而且它能够服务?四川联通! …

…北京联众

1.1.1.2

四川联通

1.1.1.2

广州电信

1.1.1.2

保定热线

1.1.1.2

我们的目标

Page 12: 基于IPv6的anycast服务 - EOLfree.eol.cn/edu_net/down/IPv6-anycast.pdfanycast定义 l为anycast报文提供到服务于该anycast地址的一 组服务器中的至少一台(最好是一台)的尽力而

需要解决哪些问题

l 怎样知道这个地址对应于哪些服务器,而且这些服务器都是活着的

l 怎样找到能够最快的服务器

l 怎样保证连续的服务都由同一台服务器来做

l 其他

Page 13: 基于IPv6的anycast服务 - EOLfree.eol.cn/edu_net/down/IPv6-anycast.pdfanycast定义 l为anycast报文提供到服务于该anycast地址的一 组服务器中的至少一台(最好是一台)的尽力而

为什么要在IP层来做

l 应用层做法

l IP层做法优缺点

Page 14: 基于IPv6的anycast服务 - EOLfree.eol.cn/edu_net/down/IPv6-anycast.pdfanycast定义 l为anycast报文提供到服务于该anycast地址的一 组服务器中的至少一台(最好是一台)的尽力而

应用层的三种常见做法

l 用户在每次连接服务器之前逐个测试(等待时间过长);

l 目录服务器

l DNS

Page 15: 基于IPv6的anycast服务 - EOLfree.eol.cn/edu_net/down/IPv6-anycast.pdfanycast定义 l为anycast报文提供到服务于该anycast地址的一 组服务器中的至少一台(最好是一台)的尽力而

目录服务器

l 目录服务器定期替潜在的用户检测;

l 用户连接服务器前向目录服务器查询;

缺点:

用户必须首先知道“目录服务器”的位置每个用户区域内必须有这样的“目录服务器”每次探测都直接由anycast服务器参与

Page 16: 基于IPv6的anycast服务 - EOLfree.eol.cn/edu_net/down/IPv6-anycast.pdfanycast定义 l为anycast报文提供到服务于该anycast地址的一 组服务器中的至少一台(最好是一台)的尽力而

DNS

l 多个服务器由一个域名标识;

l anycast服务器定期探测到潜在用户的距离,并发送给DNS服务器;

l 用户在解析时获得一个最优的服务器

缺点:

用户需要知道DNS服务器的位置每次探测都直接由anycast服务器参与每次用户访问都必须解析域名

Page 17: 基于IPv6的anycast服务 - EOLfree.eol.cn/edu_net/down/IPv6-anycast.pdfanycast定义 l为anycast报文提供到服务于该anycast地址的一 组服务器中的至少一台(最好是一台)的尽力而

IP层做法的优点

l 用户连接服务器前,不用进行距离探测,也不用向任何做选择的服务器查询;

l anycast服务器只定期报告其状态,不再参与到用户距离的探测,该开销与用户数量无关;

l 探测距离过程的开销比应用层小。

Page 18: 基于IPv6的anycast服务 - EOLfree.eol.cn/edu_net/down/IPv6-anycast.pdfanycast定义 l为anycast报文提供到服务于该anycast地址的一 组服务器中的至少一台(最好是一台)的尽力而

探测距离过程的开销比应用层小

ABC

DE

FGIP层测量G,C,B 到A距离的开销

应用层测量G 到A距离的开销

应用层测量C 到A距离的开销

应用层测量E 到A距离的开销

Page 19: 基于IPv6的anycast服务 - EOLfree.eol.cn/edu_net/down/IPv6-anycast.pdfanycast定义 l为anycast报文提供到服务于该anycast地址的一 组服务器中的至少一台(最好是一台)的尽力而

IP层做法的缺点

l 必须分配IP地址空间:l 使用anycast寻址需要路由器支持;l 服务器选择由网络来做,用户没有参与的可能;

l 无连接服务问题;

l 网络层处理服务器吞吐率、负载之类的应用层路由指标比较难。

Page 20: 基于IPv6的anycast服务 - EOLfree.eol.cn/edu_net/down/IPv6-anycast.pdfanycast定义 l为anycast报文提供到服务于该anycast地址的一 组服务器中的至少一台(最好是一台)的尽力而

对这些缺点这样说

l IPv6已经为anycast分配了地址空间;l 由于IPv6的接纳,anycast已经被路由器厂商逐步支持;l 在多数情况下,用户不参与是一种方便;

l 无连接服务可以通过IP源路由轻松解决,开销非常小;l 网络层可以通过anycast服务器向路由器的活动报告中,捎带服务器吞吐率、负载之类的指标,使IP-anycast在一定程度上考虑这些指标。

Page 21: 基于IPv6的anycast服务 - EOLfree.eol.cn/edu_net/down/IPv6-anycast.pdfanycast定义 l为anycast报文提供到服务于该anycast地址的一 组服务器中的至少一台(最好是一台)的尽力而

无连接服务问题

Group A

(Member 1)

Group A

(Member 2)

Group A

(Member 3)

TCP client

TCP SYN

packet

SYN-ACK Packet

TCP ACK

packet

Page 22: 基于IPv6的anycast服务 - EOLfree.eol.cn/edu_net/down/IPv6-anycast.pdfanycast定义 l为anycast报文提供到服务于该anycast地址的一 组服务器中的至少一台(最好是一台)的尽力而

计划怎样做

l 任务分析

l IP对anycast支持现状分析l 到底怎样做

Page 23: 基于IPv6的anycast服务 - EOLfree.eol.cn/edu_net/down/IPv6-anycast.pdfanycast定义 l为anycast报文提供到服务于该anycast地址的一 组服务器中的至少一台(最好是一台)的尽力而

目标

l 找到最快的服务器

l 最快=最短服务时间=最短网络传输时间+最短服务器服务时间

l 服务器服务时间在负载不过重的情况下认为近似相同

l 目标:找到网络传输时间最短的服务器

Page 24: 基于IPv6的anycast服务 - EOLfree.eol.cn/edu_net/down/IPv6-anycast.pdfanycast定义 l为anycast报文提供到服务于该anycast地址的一 组服务器中的至少一台(最好是一台)的尽力而

总任务

以最短网络传输时间为路由指标的

IP-anycast服务

Page 25: 基于IPv6的anycast服务 - EOLfree.eol.cn/edu_net/down/IPv6-anycast.pdfanycast定义 l为anycast报文提供到服务于该anycast地址的一 组服务器中的至少一台(最好是一台)的尽力而

要做哪些事情

l 知道一个anycast地址对应于哪些服务器,而且这些服务器都是活着的

l 找到网络传输时间最短的服务器

l 保证连续的服务都由同一台服务器来做

l 其他

组管理协议

路由协议

无连接问题解决方案

链路地址解析方案

Page 26: 基于IPv6的anycast服务 - EOLfree.eol.cn/edu_net/down/IPv6-anycast.pdfanycast定义 l为anycast报文提供到服务于该anycast地址的一 组服务器中的至少一台(最好是一台)的尽力而

如果什么都不做,IPv6能实现以最短传输时间为路由指标的anycast吗?

l 成立了组管理小组,没有结果;anycast服务器可以通过直接运行路由协议直接进入路由系统

lRIPlOSPFlBGP

lND (邻居发现)

lARP

l 路由协议(没有专门的路由协议)l 无连接服务

l 链路地址解析

l 结论

Page 27: 基于IPv6的anycast服务 - EOLfree.eol.cn/edu_net/down/IPv6-anycast.pdfanycast定义 l为anycast报文提供到服务于该anycast地址的一 组服务器中的至少一台(最好是一台)的尽力而

Anycast in RIP

B,CBCBCC

522644

ABCDEF

hopcostdest

3

4

2

1

4

2

2

2

1

1

A

DB

C E

F

S

A

A

Page 28: 基于IPv6的anycast服务 - EOLfree.eol.cn/edu_net/down/IPv6-anycast.pdfanycast定义 l为anycast报文提供到服务于该anycast地址的一 组服务器中的至少一台(最好是一台)的尽力而

路由协议( RIP )

只支持跳数做最短路径选择;

不支持多个等距离路径之间的选择;

结论:

可以知道最短网络传输时间的服务器;

相同距离服务器中的一台屏蔽掉其他服务器

前提:

跳数反映网络传输时间;主机直接参与路由

Page 29: 基于IPv6的anycast服务 - EOLfree.eol.cn/edu_net/down/IPv6-anycast.pdfanycast定义 l为anycast报文提供到服务于该anycast地址的一 组服务器中的至少一台(最好是一台)的尽力而

Anycast in OSPF

R3 R4 R5

A

R2

A

R1

R3 R4 R5

R2 A

R1

Page 30: 基于IPv6的anycast服务 - EOLfree.eol.cn/edu_net/down/IPv6-anycast.pdfanycast定义 l为anycast报文提供到服务于该anycast地址的一 组服务器中的至少一台(最好是一台)的尽力而

路由协议( OSPF)(1)

支持一个或多个路由指标。若只用一个路由指标,则任选。如,cisco的OSPF:基本带宽是否支持等距离多路径选择由实现决定

结论:

可以找到最短网络传输时间的服务器;

相同距离服务器中的一台可能屏蔽掉其他服务器

不同自治系统的OSPF可能使用不同的路由指标

Page 31: 基于IPv6的anycast服务 - EOLfree.eol.cn/edu_net/down/IPv6-anycast.pdfanycast定义 l为anycast报文提供到服务于该anycast地址的一 组服务器中的至少一台(最好是一台)的尽力而

路由协议( OSPF)(2)

前提:

各个自治系统路由的距离指标统一

支持反映网络传输时间的距离指标

支持等距离多路径选择

主机参与路由

主机路由作为外部路由

Page 32: 基于IPv6的anycast服务 - EOLfree.eol.cn/edu_net/down/IPv6-anycast.pdfanycast定义 l为anycast报文提供到服务于该anycast地址的一 组服务器中的至少一台(最好是一台)的尽力而

路由协议( BGP )

以最短AS(自治系统)数目为路由指标

结论:

可以找到最短传输时间的服务器

前提:

最短AS路径反映网络传输时间

Page 33: 基于IPv6的anycast服务 - EOLfree.eol.cn/edu_net/down/IPv6-anycast.pdfanycast定义 l为anycast报文提供到服务于该anycast地址的一 组服务器中的至少一台(最好是一台)的尽力而

无连接服务问题

建议更改TCP协议,规定anycast地址不能做源地址结论:

有副作用

anycast源地址鉴别机制的新需求源/目的地址对安全检查的手段无法奏效实施困难

Page 34: 基于IPv6的anycast服务 - EOLfree.eol.cn/edu_net/down/IPv6-anycast.pdfanycast定义 l为anycast报文提供到服务于该anycast地址的一 组服务器中的至少一台(最好是一台)的尽力而

更改TCP协议

TCP client

TCP server

TCP SYN(SA=C,DA=A)

TCP SYN-ACK(SA=S,DA=C)

TCP ACK(SA=C,DA=S)

SA:源地址

DA:目的地址

S:server地址

C:client地址

A:anycast地址

Page 35: 基于IPv6的anycast服务 - EOLfree.eol.cn/edu_net/down/IPv6-anycast.pdfanycast定义 l为anycast报文提供到服务于该anycast地址的一 组服务器中的至少一台(最好是一台)的尽力而

地址解析协议

ND和ARP只能将一个IP地址解析成一个链路地址区别:

ND较快发现正在使用的链路地址的主机宕机ARP等到超时才能发现结论:

若局域网内有多个anycast服务器,则一个将篇屏蔽掉其他的

ARP的超时更新会破坏有连接服务

Page 36: 基于IPv6的anycast服务 - EOLfree.eol.cn/edu_net/down/IPv6-anycast.pdfanycast定义 l为anycast报文提供到服务于该anycast地址的一 组服务器中的至少一台(最好是一台)的尽力而

地址解析过程

R

A

A

A

A的MAC?

A的MAC?

A的MAC?

MAC1

MAC2

MAC3

A:MAC2

MAC1

MAC3

Page 37: 基于IPv6的anycast服务 - EOLfree.eol.cn/edu_net/down/IPv6-anycast.pdfanycast定义 l为anycast报文提供到服务于该anycast地址的一 组服务器中的至少一台(最好是一台)的尽力而

总结

l 没有组管理,主机通过运行路由协议加入,很危险

l 建议更改TCP协议,有副作用,而且实施困难l 路由协议需要改动,需要反映网络传输时间的路由指标,而跳数和AS数不能反映网络传输时间

l 链路地址解析协议不能满足anycast的要求

Page 38: 基于IPv6的anycast服务 - EOLfree.eol.cn/edu_net/down/IPv6-anycast.pdfanycast定义 l为anycast报文提供到服务于该anycast地址的一 组服务器中的至少一台(最好是一台)的尽力而

结论

如果什么都不做,IPv6不能实现以最短传输时间为路由指标的anycast!

Page 39: 基于IPv6的anycast服务 - EOLfree.eol.cn/edu_net/down/IPv6-anycast.pdfanycast定义 l为anycast报文提供到服务于该anycast地址的一 组服务器中的至少一台(最好是一台)的尽力而

跳数和来回时间的关系(RTT)

Page 40: 基于IPv6的anycast服务 - EOLfree.eol.cn/edu_net/down/IPv6-anycast.pdfanycast定义 l为anycast报文提供到服务于该anycast地址的一 组服务器中的至少一台(最好是一台)的尽力而

在IP层到底怎样做

l 要解决的问题 l无连接服务问题

l组管理

l路由

l链路地址解析

l 要注意的问题– 应该避免主机参与路由

– 无连接服务不采用更改TCP协议的解决方案

Page 41: 基于IPv6的anycast服务 - EOLfree.eol.cn/edu_net/down/IPv6-anycast.pdfanycast定义 l为anycast报文提供到服务于该anycast地址的一 组服务器中的至少一台(最好是一台)的尽力而

IPv6对anycast的特别限制(技术成熟时去掉)

l IPv6限制1:Anycast地址不能分配给主机主机参与路由-〉很危险-〉 Anycast地址不能分配给主机-〉服务器不能使用anycast服务

l IPv6限制2: Anycast地址不能作为源地址更改TCP协议-〉anycast不能作为源地址

-〉实施困难-〉源地址鉴别

-〉不能用源/目的检查手段

Page 42: 基于IPv6的anycast服务 - EOLfree.eol.cn/edu_net/down/IPv6-anycast.pdfanycast定义 l为anycast报文提供到服务于该anycast地址的一 组服务器中的至少一台(最好是一台)的尽力而

无连接服务问题

l 目标

简单、易于实现、开销小、能够将anycast地址做源地址,避免带来的安全需求

l 解决方案

使用IP源路由选项

Page 43: 基于IPv6的anycast服务 - EOLfree.eol.cn/edu_net/down/IPv6-anycast.pdfanycast定义 l为anycast报文提供到服务于该anycast地址的一 组服务器中的至少一台(最好是一台)的尽力而

插入IP源路由

Page 44: 基于IPv6的anycast服务 - EOLfree.eol.cn/edu_net/down/IPv6-anycast.pdfanycast定义 l为anycast报文提供到服务于该anycast地址的一 组服务器中的至少一台(最好是一台)的尽力而

组管理

l 目标

及时把可用的、合法的anycast成员列表反应给路由系统;

l 解决方案

针对anycast特点的组管理协议

Page 45: 基于IPv6的anycast服务 - EOLfree.eol.cn/edu_net/down/IPv6-anycast.pdfanycast定义 l为anycast报文提供到服务于该anycast地址的一 组服务器中的至少一台(最好是一台)的尽力而

D1

D3NAM

D2

AM

A4

A2

A3

A1SAM

AM

AM

AM

R1

R2R3

R4 R5R6

R8

R7

R9

Anycast 组管理协议

SAM:超级组管理者,负责管理和分发组成员列表

AM:组管理者,负责根据组成员列表鉴别成员,产生并传播合法可用活动成员表

NAM:非组管理者,没有组成员表,负责传播活动成员表

Page 46: 基于IPv6的anycast服务 - EOLfree.eol.cn/edu_net/down/IPv6-anycast.pdfanycast定义 l为anycast报文提供到服务于该anycast地址的一 组服务器中的至少一台(最好是一台)的尽力而

路由

l 目标

以最短网络传输时间为指标、简单、开销小,

l 解决方案

独立于其他路由协议的以最短网络传输时间为目标的anycast路由算法

Page 47: 基于IPv6的anycast服务 - EOLfree.eol.cn/edu_net/down/IPv6-anycast.pdfanycast定义 l为anycast报文提供到服务于该anycast地址的一 组服务器中的至少一台(最好是一台)的尽力而

R1 R2 R3 R4

R5 R6 R7 R8

R9 R10

R11 R12 R13 R14

R15 R16 R17 R18

14

13

12

1

4

13

22

6

17

36

3 1

32 4

1

5

吸收算法

吸收过程从每个与anycast服务器相连的路由器开始,依次由近及远经过每个网络节点

路由形成过程反映网络传输时间

一个路由器经过一些会话成为另一个路由器关于某个anycast地址的下一跳的过程叫做吸收

Page 48: 基于IPv6的anycast服务 - EOLfree.eol.cn/edu_net/down/IPv6-anycast.pdfanycast定义 l为anycast报文提供到服务于该anycast地址的一 组服务器中的至少一台(最好是一台)的尽力而

地址解析

l 目标

简单,支持同一局域网中多个anycast主机l 解决方案

不改变地址解析协议,把anycast成员的单播地址作为最后一跳,由路由系统通过现有地址解析协议变相完成地址解析

Page 49: 基于IPv6的anycast服务 - EOLfree.eol.cn/edu_net/down/IPv6-anycast.pdfanycast定义 l为anycast报文提供到服务于该anycast地址的一 组服务器中的至少一台(最好是一台)的尽力而

地址解析解决方案

U3的MAC?

U3的MAC?

U3的MAC?

MAC3

U3:MAC3

U1,U2,U31A

nextcostdest

R

A

A

A

U1

U2

U3

Page 50: 基于IPv6的anycast服务 - EOLfree.eol.cn/edu_net/down/IPv6-anycast.pdfanycast定义 l为anycast报文提供到服务于该anycast地址的一 组服务器中的至少一台(最好是一台)的尽力而

相关研究

l anycast多路路由协议四种序(SSP,MIN_D,SBT,CBT),加权随机多路径选择

l GIA(a framework for scalable global ip-anycast)利用cache技术,使用带有宿主网络号的独立anycast地址,修改BGP

l CCDA(content distribution architecture using network layer anycast)边缘路由器负责探测距离,更改DNS,更改客户端程序

l 其他

安全、QoS,地址预留等等

Page 51: 基于IPv6的anycast服务 - EOLfree.eol.cn/edu_net/down/IPv6-anycast.pdfanycast定义 l为anycast报文提供到服务于该anycast地址的一 组服务器中的至少一台(最好是一台)的尽力而

进度安排

2002年8月- 2002年8月末,路由算法以及组管理协议性能模拟测试

2002年9月- 2002年9月末,设计anycast服务总体体系结构,同时修改并进一步完善路由及组管理协议;

2002年10月- 2002年10月末,设计并实现anycast服务原型系统,同时考虑地址压缩算法;

2002年11月- 2002年12月末,测试,改进系统,形成一个比较稳定的原型系统。

Page 52: 基于IPv6的anycast服务 - EOLfree.eol.cn/edu_net/down/IPv6-anycast.pdfanycast定义 l为anycast报文提供到服务于该anycast地址的一 组服务器中的至少一台(最好是一台)的尽力而