UDL On-link Scalability
Kotaro Kataoka
Keio University
Outline
• How many nodes can a single UDL handle?
• How do we improve on-link scalability?– Tune parameters on existing protocols– Provide new systems
• Address Resolution on large scale UDLs
Background
• Broadcast Media as Internet Infrastructure– Huge number of subscribers– Unidirectional links + Feedback BDL
• What will happen there?
Definition of Scalability
• Number of nodes which a link can accommodate– Rate of “control traffic” against available bandwidth
• Control Traffic– IPv6 Address Auto-configuration (RS, ND)– Multicast Group Management (MLD)– Unicast / Multicast Routing Protocols– Ack / Nack / And more…
• Data Traffic– Many types of traffic
Possible Service Traffic (1/1)
InternetInternet
Host Host HostHost ・・・
Router
ExternalNode
ExternalNode
P1
P2
P5?
P3
P4
Possible Service Traffic (2/2)
1. Multicast from an external (Internet) node to subscriber nodes
2. Unicast between a subscriber node and an external (Internet) node
3. Multicast from a subscriber node to external (Internet) nodes
4. Multicast from a subscriber node to subscriber (on-link) nodes
5. Unicast between subscriber (on-link) nodes
Prio
rity
Pro
babi
lity
Focus of Research: IPv6
• Problem– Bandwidth consumption on UDL
• Approach / Solution– Tune back-off timers on ICMPv6– Proxy
• Filtering Approach• BDL Approach
Problem Analysis
• Evaluate how many hosts a single UDL can handle without any tuning / new system on the link
• Scenarios– Static (stable on changes on
the network)• No node up/down, No node
join/leave, No UDL up/down
– Dynamic• Nodes get up/down• Nodes get join/leave
(multicast)• UDL gets up/down
• How do we evaluate on-link scalability?– Calculation
• Check parameters from RFCs• Mathematical Model
– Simulation• Omnet++• NS2?• Make by myself?
– Emulation• Xen?• Experiment on AI3 UDL
Steps
• Step1: Simple Leaf Network (LAN)– Address Auto-configuration– Manipulation of Neighbor Cache and Prefix
• Step2: Enable Multicast Services– Multicast Group Management
• Step3: Enable Routing Protocols– Unicast / Multiast
Related RFCs for Initial Discussion
• RFC4294: IPv6 Node Requirements – RFC2461: Neighbor Discovery for IP Version
6 (IPv6)– RFC2462: IPv6 Stateless Address Autoconfig
uration– RFC2710: Multicast Listerner Discovery
• To simplify the situation…– Scenario for the first step
Steps to establish IPv6 communication on the links
• Stateless Address Autoconfiguration– Link-Local Addresses
• Creation of Link-Local Addresses
• Duplicate Address Detection
– Global Addresses• Router Solicitation• Router Advertisement• Creation of Global Addres
ses• (Duplicate Address Detecti
on)
• Maintenance of neighbor cache on each node– Several Scenarios to exami
n in a step-by-step manner
• Maintenance of prefix on the link– Router Advertisement
Calculation?
• How much does “control data” flows on the UDL?
• Bandwidth Consumption– # of nodes– Packet size of each message and frequency
Simple Scenario
• Every host is communicating only with non-link-local nodes– RAs from a Router– Neighbor Solicitation to from every host to Default Router on expiry of Neighbor
Cache and its reverse case– Neighbor Advertisement to from Default Router to every host as the answer for
Neighbor Solicitation and its reverse case
InternetInternet
Host Host HostHost ・・・
Router
ExternalNode
ExternalNode
P2
Calculation for Simple Scenario
• Total amount of control data which flows on the UDL is…
• NH: Number of Hosts
• LNS: Length of Neighbor Solicitation
• LNA: Length of Neighbor Advertisement
• LRA: Length of Router Advertisement
• TR: Time duration during which nodes recognize that the other nodes are reachable on the link (Default: 30 sec)
• IRA: Interval of RA (Default: 600sec)
)(LI
Δt)L(L
T
ΔtN)L(L
T
Δt)(N RA
RANANS
RHNANS
RH
1
ICMPv6 Traffic (Kbps)
0
50
100
150
200
250
300
10 70 200
400
600
800
1000
3000
5000
7000
9000
# of Hosts on UDL
Am
mou
nt o
f Con
trol
Tra
ffic
(Kbp
s)
Methods for Designing Solutions
• Solutions?– Filtering approach– Reverse UDL approach
• Evaluation would be done by same method of problem analysis
Filtering Approach
UDL FeedBridge
IPEncapsulater
Router
Internet(BDL)
Internet(BDL)
UDLDAD Proxy
UDLReceiver
UDL
Router Advertisementwith Short Interval
Suppressed Router Solicitation
Neighbor Solicitation for DAD
Neighbor Solicitation for DAD
Neighbor Solicitation for DAD
Filtered Neighbor Solicitation for DAD
Reverse UDL Approach
• Receiver nodes advertise their BDL IP address which are mapped to UDL IP address
• Specific traffics (protocols) go to BDL
・・・・
Data Band via UDL
Control Band via BDL
Control
Data
UDL ReceiversUDL Feed
Future Work / Directions
• Have to do many things...– Define communications models (scenarios) on
UDL– Analyze scalability for other scenarios– Implement scenarios in the simulator– Design and Implement the approach to
improve scalability on simulator– Move into the real world
Comments?
Materials
What a router has to maintain onan idle network on a stable link
• Unsolicited (Periodic) Router Advertisement– 1 per 600sec (Default MAX Interval)
• Solicited (On-demand) Router Advertisement– Active network only…
どう改善するか• は別の話• まずは analysis frameworkが必要
Road Map
• 何やるのか• いつごろやるのか• 何を協力してほしいのか
Control Traffic on an Active (non-link-local only) Network on a Stable Link
• Active (non-link-local only)?– Every host is communicating only with non-link-local nodes
• RAs from a Router
• Neighbor Solicitation to from every host to Default Router on expiry of Neighbor Cache and its reverse case
• Neighbor Advertisement to from Default Router to every host as the answer for Neighbor Solicitation and its reverse case
• For neighboring routers, reachability means that packets sent by a node's IP layer are delivered to the router's IP layer, and the router is indeed forwarding packets (i.e., it is configured as a router, not a host)
• For hosts, reachability means that packets sent by a node's IP layer are delivered to the neighbor host's IP layer
• 新規性はあるっぽい–当然多と思うからやってない–その他の理由
• 何でやるのか–背景を述べる
• 地デジを IPで使うにはどうするかとか
RFCs for IPv6 Infrastructure
• Internet Protocol Version 6– RFC 2460
• Neighbor Discovery for IPv6: RFC2461
• ICMP for the Internet Protocol Version 6 (IPv6) - RFC 2463
• Multicast Listener Discovery (MLD) for IPv6 - RFC 2710 .....
Sirokuma-san’s comment
• Two different themes– UDL scalability (ARP, Broadcast Protocols could work
or not with many hosts?)– Time from network down to recovery
• Recovery time depens on many technologies from L2~L3– Terrestrial performance– Check OUR SITUATION ONLY
– Use Starbet
On-going work
• Omnet++ Tutorial– IP + IPv6 Suite Install and start to touch
• What I want to present at AI3 Meeting– Simple calculation on link scalability– Simple simulation of large-scale ethernet
• BCMA with delay tuning to emulate UDL– Narrow band– Long delay
• IPv6 nodes on UDL
めも• どうスケーラビリティを evaluateするのかを関連研究から整理してまとめる
• 計算したい– Estimate number of packet
• Expire time of neighbor cache on each IPv6 node• RA interval
• やり方– On-link では何のプロトコルがあるのか– それぞれのプロトコルは Number of node dependentなのか independentなのか– ICMPv6 Routing Protocol
– 時間の設定が設定できるのか• Hello Intervalとか• Timerは Implementation Dependentなのか、 RFCで硬く定義されているのか
– ARP Cacheは 30秒
– AdhocのMethodを参考にしてシミュレーションとアナリシス
Hosts / Routers
• Hosts need– Maintain Neighbor
Cache
• Routers need to– Maintain Neighbor
Cache– Issue Router
Advertisement
UDL上のプロトコルの分類• Neighbor Discovery
• Address Autoconfiguration
• 10. PROTOCOL CONSTANTS
• Router constants:
• MAX_INITIAL_RTR_ADVERT_INTERVAL 16 seconds
• MAX_INITIAL_RTR_ADVERTISEMENTS 3 transmissions
• MAX_FINAL_RTR_ADVERTISEMENTS 3 transmissions
• MIN_DELAY_BETWEEN_RAS 3 seconds
• MAX_RA_DELAY_TIME .5 seconds
• Host constants:
• MAX_RTR_SOLICITATION_DELAY 1 second
• RTR_SOLICITATION_INTERVAL 4 seconds
• MAX_RTR_SOLICITATIONS 3 transmissions
•
• Node constants:
• MAX_MULTICAST_SOLICIT 3 transmissions
• MAX_UNICAST_SOLICIT 3 transmissions
• MAX_ANYCAST_DELAY_TIME 1 second
• MAX_NEIGHBOR_ADVERTISEMENT 3 transmissions
• REACHABLE_TIME 30,000 milliseconds
• RETRANS_TIMER 1,000 milliseconds
• DELAY_FIRST_PROBE_TIME 5 seconds
• MIN_RANDOM_FACTOR .5
• MAX_RANDOM_FACTOR 1.5
• Additional protocol constants are defined with the message formats in
• Section 4.
Scenarios
• Node definition (Make problems for each type clear)– Router (Host + Forwarding capability)– Host (End node)– Router + Host
• Type of Traffic (Services) on UDL– See next page
What nodes have to maintain onan idle network on a stable link
• Neighbor Cache– Life time for each cache entry is 30sec
• Send Neighbor Solicitation to Default Router on expiry• Send Neighbor Advertisement to Default Router on request
• Destination Cache– Maybe vacant on an idle network– As a result of communication, this cache is maintained
• Prefix List– Learn from Router Advertisement
• Default Router List– Learn from Router Advertisement– Associated with Neighbor Cache
Very simple scenario
• Stable Link– No New Host– No Packet Loss– No Link Down / UP
• Traffic– Idle network (no traffic) as first step– Active network as second step (Multicast from
Router)?• Some conditions affect behavior of hosts
Calculation?• How much does “control data” flows on the UDL?
• Bandwidth Consumption– # of nodes– duration– Packet size and frequency
• Steady State– Neigbor cacheだったら 30秒ごと?
• Transient State– Node UP/DOWN– シンプルなシナリオ
• 10ノードのうち 1が Up/Down次は 2個ダウン• Generalizationで切る