the computer communication lab (236340) winter 2004 - 2005 resilient packet ring gui simulator...

27
The Computer Communication Lab (236340) Winter 2004 - 2005 Resilient Packet Ring GUI Simulator eveloped By: Anton Spirkov 312104078 spirkova@t2 Slava Olekh 304572225 slava161@t2 Ziv Rabizanovich 304639396 szorikr@t2

Upload: hilda-baldwin

Post on 30-Dec-2015

215 views

Category:

Documents


0 download

TRANSCRIPT

The Computer Communication Lab (236340)Winter 2004 - 2005

Resilient Packet RingGUI Simulator

Developed By:Anton Spirkov 312104078 spirkova@t2 Slava Olekh 304572225 slava161@t2Ziv Rabizanovich 304639396 szorikr@t2

Introduction

RPR uses a bi-directional dual ring topology. The rings are referred as “inner” and “outer”. On the outer ring the data is transmitted

clockwise and on the inner anticlockwise. Each station has two neighbors, to one of

them the station transmits on the inner ring and to the other on the outer. From one it receives transitions on outer ring and from the other on inner.

OuterRing

InnerRing

1

2

3

4

Protection Switching and

Traffic Wrapping (IPS)

IPS allows the ring to automatically and rapidly recover from a fiber facility or

node failure by wrapping traffic around the failure. Nodes adjacent to the failure wrap the ring to restore the ring from the failure. On the following topology discovery procedure the stations will discover the wrap and supersede their ARP data as will be described in the topology discovery algorithm.

Topology Discovery

Each node on the ring periodically sends out topology discovery packets on the

outer ring. Stations receiving the topology discovery

packet append their MAC binding information and indication whether the station is wrapped.

Once the packet is updated it is passed along to the next station on the ring. If there is a ring wrap, the topology discovery packet follows the wrap, and the packet is not updated until it comes out of the wrap and returned to the outer ring. When the topology discovery packet returns to the source station on the outer ring, it is stripped from the ring and the received topology map is extracted.

Upon receiving two consecutive topology maps that are identical the node updates its topology map with the new received one.

The saved topology map is used by the ARP protocol, which will be described later, using which the station determines on what ring to send data to each station.

Each time the topology map is changed the ARP data is flushed.

Example 1

• Station 1 sends topology discovery.• There are no wraps.

1

2

3

4

Topology Discovery Message

Topology Discovery MessageMAC = 2 not wrapped

Topology Discovery MessageMAC = 2 not wrappedMAC = 3 not wrapped

Topology Discovery MessageMAC = 2 not wrappedMAC = 3 not wrappedMAC = 4 not wrapped

Example 2

• Station 1 sends topology discovery.• There is a wrap between station 3 and 4.

1

2

3

4

Topology Discovery Message

Topology Discovery MessageMAC = 2 not wrapped

Topology Discovery MessageMAC = 2 not wrappedMAC = 3 wrapped

Topology Discovery MessageMAC = 2 not wrappedMAC = 3 wrappedMAC = 4 wrapped

Topology Discovery MessageMAC = 2 not wrappedMAC = 3 wrapped

Topology Discovery MessageMAC = 2 not wrappedMAC = 3 wrapped

ARP

The station uses an ARP information to determine on which ring to send

messages to each of the stations. When a station wants to send a message

to other station it checks if it has ARP information for the target station. If there is ARP information, the station

sends the message on the ring stated in the ARP information.

Otherwise it generates an ARP request message and sends it on a random ring, when in the message stated the IP of the target station and broadcast MAC address is used.

Each station receiving ARP request checks the target IP, and if does not match the station’s IP the message is forwarded on the same ring. When the message reaches the target station, the station generates an ARP response message.

The station checks its topology map and determines on what ring it is shorter to send the response and sends it on that

ring. The ARP initiating station receives the

response and adds to the saved ARP information the opposite ring to the ring the response was received on, as the ring to send messages to the target station. When a topology map is changed the ARP data is flushed.

Example

• Station 1 wants to send data message to station 4 but does not have the ARP information for it.

1

2

3

4

ARP Request MessageFrom MAC 1

To IP 4

ARP Request MessageFrom MAC 1

To IP 4

ARP Request MessageFrom MAC 1

To IP 4

ARP Response MessageFrom IP 4To MAC 1

Data MessageFrom MAC 1

To MAC 4

SRP Fairness Algorithm (SRP-

fa)

The fairness algorithm tries to accomplish:

Global Fairness: Each node on the ring gets its fair share of the ring bandwidth by controlling the

rates at which packets are forwarded onto the ring from upstream or downstream sources in relation to packets that are sourced by the node. The goal is to ensure that misbehaving neighbors cannot act as bandwidth hogs, creating either node starvation or excessive delay conditions.

Local Optimization: This ensures that nodes on the ring

maximally leverage the spatial reuse properties of the ring so that they can utilize more than their fair share on local ring segments as long as other nodes are not adversely impacted due to traffic locality.

Each station executes SRP_fa for each of the rings (inner and outer).

When congestion is detected, meaning the transit buffer depth is bigger than a

defined threshold, the station sends Usage message on the opposite ring with its usage (amount of transmitted data in bytes). The value of usage sent in the message

also depends on the value received in the Usage messages from upstream nodes.

If the station is not congested it sends either NULL_USAGE or a usage of the upstream nodes if he still forwards a big amount of data (more than specified threshold). When the node receives usage that is not

NULL_USAGE it updates allowed_usage variable that influence the decision

whether the node will transit or transmit data.

When the allowed_usage value is low the node will give priority to transited data.

When the allowed_usage value is high the node will give priority to his own

data.

CYAN – DATA MESSAGE

YELLOW – TOPOLOGY DISCOVERY MESSAGE

BLUE – ARP MESSAGE

DARK BLUE – ARP RESPONSE MESSAGE

DARK YELLOW – USAGE MESSAGE

GUI Message Colors