240 likes | 350 Views
S imple E fficient E xtensible Mesh (SEE-Mesh) Proposal. IEEE 802.11-05/0562r0 June 2005 This proposal can be obtained from http://www.802wirelessworld.com/. Current 802.11s Proposals. Table from: “Proposals for TGs”, IEEE 802.11-05/0597r8. Outline. General Description
E N D
Simple Efficient Extensible Mesh (SEE-Mesh) Proposal IEEE 802.11-05/0562r0 June 2005 This proposal can be obtained from http://www.802wirelessworld.com/.
Current 802.11s Proposals Table from: “Proposals for TGs”, IEEE 802.11-05/0597r8
Outline • General Description • Mesh Topology Discovery and Formation • Neighbor Discovery • Channel Selection • Link Establishment • Local Link State Measurement • Mesh Path Selection and Forwarding • Path Selection Metrics • Path Selection Protocol • Data Message Forwarding • Interworking Support
Bridge/ Router MPP MAP MAP STA STA 1. General Description • Device Classes • Mesh Point (MP) • Mesh Access Point (MAP): MP+AP • Simple Station (STA) • Mesh Portal (MPP): MP+Bridge MP MP MP MP MP MP
2. Mesh Topology Discovery and Formation • MP Boot Sequence • Neighbor discovery • Channel selection • Link establishment • Local link state measurement • Path selection initialization • AP initialization (optional – if MAP) described in this section described in the next section
Each device supports one or more profiles. • Each profile consists of • A Mesh ID: like SSID, e.g., “NCTU Mesh” • A path selection protocol identifier: AODV, OLSR • A path selection metric identifier: airtime cost • The neighbor state is one of{Neighbor, Candidate_peer, Association_pending, Subordinate_link_down, Superordinate_link_down, Subordinate_link_up, Superordinate_link_up}
C beacon pc=1 N A beacon pc=0 • Neighbor Discovery • The following is executed for each profile in the order of user’s preference. The first match is selected. • Passive (listen beacon) or Active (probe request) Scanning • Beacon/Probe Response frame contains: (1) Mesh ID (2) Active Protocol ID (3) Active Metric ID (4) Peer Capacity: # of additional peer that can accommodate • If (1)~(3) are the same, State := Neighbor • If, in addition, (4) > 0, State := Candidate_peer • Example: max_peer_capacity = 3
beyond the scope of the proposal • Channel Selection • Two channel selection modes: Simple unification mode (a) oradvanced mode (b)(c). • Simple Channel Unification Protocol: • Use the channel in the 1st profile if no neighbor is found. • Use channel precedence indicator (a random number) to coalesce disjoint graphs and support channel switching for dynamic channelselection. Figure from: “802.11 TGs Simple Efficient Extensible Mesh (SEE-Mesh) Proposal”, IEEE 802.11-05/0562r0
2. MP B is turned on. No neighbor is found. It switches on channel 2 and initiates a CPI = 8. B 6 5 D C 4. MP D is turned on. Find neighbor MP A and MP B. Because MP B has the higher CPI, MP C switches on channel 2 as MP B. 3. MP C is turned on. Find neighbor MP A. It switches on channel 1 as MP A and sets CPI to the same as MP A. 5. MP A discovers a higher CPI on channel 2. It sets a channel switch wait timer and broadcasts a channel cluster switch announcement. 6. MP C receives the channel cluster switch announcement and knows that it needs to switch to channel 2. It also forwards the channel cluster switch announcement. 1. MP A is turned on. No neighbor is found. It switches on channel 1 and initiates a CPI = 5. • Example: A 7. When the timer expires, MP A and MP C switch to channel 2 simultaneously.
assoc req (dir=5) State of B = association_pending assoc req (dir=3) State of A = association_pending assoc rep (reject) If dirrecv<=dirsend then reject assoc rep (accept) State of B = subordinate_link_down State of A = superordinate_link_down • Link Establishment • A MP selects from its candidate_peersto establish peer links with based on measurement of signal quality,until the maximum number of peers is established. • Use association request and association reply frame to establish the link, and use directionality field (a random number) to break two concurrent associations. • Example: A B State of B = candidate_peer State of A = candidate_peer
local link state ann. (r, ept) State of B = subordinate_link_up State of A = superordinate_link_up • Local Link State Measurement • The superordinate node is responsible for measuring the link quality. And then it sends a local link state announcement frame to the subordinate node. • The measuring parameters may be: • r : current bit rate in use (modulation mode) • ept: packet error rate at the current bit rate • Example: subordinate superordinate A B State of B = subordinate_link_down State of A = superordinate_link_down measuring after the measurement
3. Mesh Path Selection and Forwarding • The framework enables flexible implementation of path selection protocols and metrics. But the following default mandatory protocol and metric must be supported for all implementations. • Path Selection Metrics • Airtime Cost • Path Selection Protocols • Radio Metric AODV • Radio Aware OLSR (optional)
405ms 48Mb/s, 12%PER D D 344ms 54Mb/s, 2%PER 891ms 48Mb/s, 6%PER 1024ms 12Mb/s, 15%PER 435ms 36Mb/s, 5%PER S S 54Mb/s, 8%PER 367ms • Path Selection Metric – Airtime Cost • Airtime cost reflects the amount of channel resources (time) consumed by transmitting the frame. (75+110+ 8224/48)* (1/0.88) = 404.6 us
Path Selection Protocol – RMAODV • RadioMetric Ad hocOn-DemandDistanceVector • Summary of features beyond AODV: • Identify best-metric path with arbitrary path metrics • Reduce flooding when maintaining multiple paths • Aggregate multiple RREQs in same message • Modification to RREQ/RREP processing/forwarding rules • Forward RREQ with better metric • No route caching • Optional periodic path maintenance • Allows proactive maintenance of routes to popular destinations (e.g. MPP)
m=13, prev=A 4 4 m=8, prev=S m=8,prev=S C D C D 3 3 RREQ(m=10) RREQ(m=0) 8 m=10, prev=S A 8 m=10 prev=S A 10 10 4 4 S S B B 3 3 m=3, prev=S m=3, prev=S Forward RREQ m=13, prev=A m=13, prev=A 4 4 m=8, prev=S m=8, prev=S C D C D 3 3 RREP(m=13) 8 m=10, prev=S, next=D 8 m=7, prev=B, next=D A A RREQ(m=3) 10 10 4 4 next=A S S next=A B B 3 3 m=3, prev=S m=3, prev=S Destination replies RREP Forward RREQ • Example: Initiate RREQ
m=10, prev=A m=10, prev=A 4 4 m=8, prev=S m=8, prev=S C D C D 3 3 RREP(m=10) RREQ(m=7) 8 m=7, prev=B, next=D A 8 m=7, prev=B, next=D A 10 10 4 4 S next=A next=B S B B 3 3 m=3, prev=S, next=A m=3, prev=S Forward RREQ with better metric Reply RREP with better metric m=10, prev=A 4 m=8, prev=S C D 3 RREQ(m=8) 8 m=7, prev=B, next=D A 10 4 next=B S B 3 m=3, prev=S, next=A Forward RREQ. But the destination do not reply because the metric is no better. • Example (cont.):
MAC Header 2 6 6 6 3 2 6 2 2 4 Frame Ctrl Dur Addr 1 Addr 2 Addr 3 Seq Ctrl Addr 4 QoS Ctrl Mesh Ctrl Body FCS 0 7 8 23 Mesh TTL Mesh E2E Seq • Data Message Forwarding • MSDU Ordering • Mesh E2E Sequence Number • Use a buffer to re-order the frame • Use a timer to avoid indefinitely waiting • Eliminates possibility of infinite loops • Mesh TTL new field
MP MP ToDS FromDS Addr1 Addr2 Addr3 Addr4 Four-address frames MP Frames in Mesh 1 1 RA TA DA SA Frames to AP in BSS 1 0 BSSID SA DA N/A MAP Frames from AP in BSS 0 1 DA BSSID SA N/A Three-address frames STA STA • Translation between four-address frames and three-address frames
The Mesh is considered a broadcast LAN. 4. Interworking Support • MPPs are expected to support: • Transparent forwarding (broadcast LAN) • Bridge learning (overhearing of packets) • Support for bridge-to-bridge communications (e.g. allowing MPPs to participate in Spanning Tree Protocol) Y E A H G X C F B D
Key Decisions in Packet Forwarding • Determine if the destination is inside or outsidethe Mesh: first ask all MPPs • For the destination inside the Mesh, • Use Mesh path selection • For the destination outside the Mesh, • Forward to all MPPs, until the right MPP is found • Identify the right MPP and deliver packets via unicast What is the path to the destination? inside Is the destination inside or outside the Mesh? Which MPP(s) should forward the packet? outside
Forwarding table of H Forwarding table of H Forwarding table of G Forwarding table of G A A X A A A A C C H H G G Y Y B X B X A A G and H have no information of X in their forwarding tables. So their do not respond. Forwarding table of H Forwarding table of G Forwarding table of H C Forwarding table of G C H G H G Y B X Y B X A A When a timeout expires, A floods the data packet to all MPPs. MPPs forward it to the whole LAN. When X replies (e.g. TCP-ACK),G and A learn that information. • Example: When A wants to send data to X, A multicasta portal update request message to all MPPs.
Forwarding table of H Forwarding table of H Forwarding table of G Forwarding table of G C X A X X A,B A,B A A,B A,B C H H G G Y B Y X B X A A Because G knows where X is, it replies a portal update response message to B. Forwarding table of H Forwarding table of G C H G Y B X A So B can send the data packet to X via G. • Example (cont.): When B wants to send data to X, B multicasta portal update request message to all MPPs.
Forwarding table of H Forwarding table of H Forwarding table of G Forwarding table of G X A,B X X A,B,C A,B,C A,B A,B,C A,B,C C C H H G G Y Y B B X X A A G and H know A is in the Mesh, they reply portal update response messages to C. Forwarding table of H Forwarding table of G C H G Y B X A Since C knows A is in the Mesh, it initiates a RREQ to find the path. • Example (cont.): When C wants to send data to A, C multicast a portal update request message to all MPPs.
Conclusion • The SEE-Mesh proposal provides a simple, efficient and extensible solution for wireless mesh networks. • It just specifies a framework which provides all the common features of the target applications. • It is flexible to extend for future enhancements. • Channel selection modes • Path selection protocols • Path selection metrics