question about ESS (modified pls see gain)
Last Post: June 7, 2006:
-
Hi,
I have a question about the sequence of packets that are generated and which layers of protocol stack are invoked when a packet is transferred from one STA in an ESS to another STA in the same ESS but different BSS. I would really appreciate it if someone could shed some light!
Suppose two BSSs have been connected through a DS to form a ESS.
Suppose STA1 is in BSS1 and STA2 is in BSS2. Also, suppose FTP application at STA1 wants to send a packet to STA2.
Config: STA1-->AP-BSS1-----DS----AP-BSS2<STA2> 802.11 MAC at STA1 --> 802.11 MAC at AP-BSS1 --> (through DS unspecified by spec) --> 802.11 AP-BSS2 --> 802.11 STA2 --> LLC STA2 --> IP STA2. Is this correct?
3) In particular, since LLC is used only for multplexing/demultiplexing here, the packet reaches the LLC layer only at STA2 (destination). Is this correct?
4) Finally, the way the 802.11 MAC layers at AP-BSS1 and AP-BSS2 know how to forward packets is because STA1, AP-BSS1, AP-BSS2 place the right combination of addresses in the address1 fields - address 2 field - address 3 field and adrress 4 field, and in the from DS & to DS fields. Is this correct?
5) If STA2 belongs to a different ESS or has to be accessed through a portal, then the IP address at STA1 for next hop will be the IP address of gateway router. Is this correct?
Thanks for your time. I look forward to hearing from you.
Arvind - Ph.D. student preparing job interviews (which never seem to come)!! -
Hi Arvind:
I concur with all your assertions except number 5. In your example STA1 and STA2 may be on the same bridged broadcast domain and same IP subnet, or may not.
I hope this helps. Can you add your location to your forum profile? Thanks. /criss -
Hi Arvind:
Correction to my last post:
Being on the same ESS is defined as being on the same bridged datalink. Therefore there is never an intervening router. Here is the ESS definition:
802.11-1999: section 3.25 extended service set (ESS): A set of one or more interconnected basic service sets (BSSs) and integrated local area networks (LANs) that appears as a single BSS to the logical link control layer at any station associated with one of those BSSs.
Communicating between ESSs thus requires a router.
As a side note, it is proposed to change the ESS definition to exclude the integrated LANs (such as Ethernet) between several BSSs:
802.11n draft 2005: section 3.45 extended service set (ESS): A set of one or more interconnected basic service sets (BSSs) that appears as a single BSS to the logical link control (LLC) layer at any station associated with one of those BSSs.
I hope this helps. Thanks. /criss -
Hi Chris,
Thanks for the reply. But it looks a part of my post always gets modified (size limit?). I have placed the deleted portions below. Could you please take a look at it and tell me your comments.
************
Suppose two BSSs have been connected through a DS to form a ESS.
Suppose STA1 is in BSS1 and STA2 is in BSS2. Also, suppose FTP application at STA1 wants to send a packet to STA2.
Config: STA1-->AP-BSS1-----DS----AP-BSS2<--STA2
1) Will the next hop listed in the IP routing table at STA1 be the IP address of STA2 or the IP address at of AP-BSS1? -
And 2'nd deleted question:
from the spec it looks like the following sequence of protocol stacks are invoked.
802.11 MAC at STA1 --> 802.11 MAC at AP-BSS1 --> (through DS unspecified by spec) --> 802.11 AP-BSS2 --> 802.11 STA2 --> LLC STA2 --> IP STA2.
Is this correct?
Arvind -
Hi Arvind:
I do all my forum composition in a text editing session including spell check, then check if the forum thread has changed just before I cut and paste into a forum post. Maybe something like this would help you not lose text.
Your protocol sequence appears to be correct.
In your example let's say that STA1 is given the domain name of STA2. A directory lookup converts the name to an IP address. The IP address of STA2 must be within the same IP subnet as is STA1.
LLC on STA1 is used to mark the IP protocol as the ultimate source and destination for the rest of the L2 payload.
STA1 uses ARP to discover the MAC address of STA2. STA1 already knows the MAC address of its AP from having associated with it.
STA1 uses these two MAC addresses, plus its own, to fling frames into the air within hearing of its AP. In this process STA1 cares not what the IP address of its AP is. STA1 sends its frames to the distribution system (DS) of the AP.
The first AP discerns from the destination MAC address and its internal tables of MAC address whereabouts that the frame must be sent wirelessly by way of a second AP. Here is where all four MAC address fields are brought into play. The mysterious connection between APs joins the two DSs into a single wireless distribution system (WDS). Neither AP concerns itself with the LLC header.
The second AP does a normal delivery to STA2 using only three MAC address fields. STA2 reads the LLC header and passes the rest of the L2 payload up to the IP process.
While this is a good exercise, WDS is seldom used. Usually multiple APs are each bridged to a common Ethernet which takes the place of the WDS. Frames crossing the Ethernet carry only two MAC addresses, those of the ultimate source and the ultimate destination STAs. The STAs are oblivious to the difference and operate just the same.
I hope this helps. Thanks. /criss -
Hi Criss,
Thanks a lot for your reply. It helps me a great deal in understanding how things work.
I just have a follow up.
>Frames crossing the Ethernet carry only two MAC addresses, those of >the ultimate source and the ultimate destination STAs. The STAs
> are oblivious to the difference and operate just the same.
In this case the packet from AP1 to AP2 contains STA1's and STA2's MAC address (right?). How does AP2 know that it has to receive this packet and forward it onto STA2. In particular, suppose a hub in which each segment has only terminal is used, how does the hub know that it has to forward ethernet packets with STA2 as destination onto the segment that contains AP2?
And this brings me to the question in the other post, why is this concept of extending BSS to form ESS even necessary. Why have this need for four address fields, when two of them are there in the IP header itself?
Arvind -
Hi Arvind:
Yes, the Ethernet frames between AP1 and AP2 only carry the MAC addresses of STA1 and STA2. To an Ethernet protocol analyzer STA1 and STA2 appear to be nothing but Ethernet connected stations.
Each AP has an association table with the MAC addresses of all its STAs. When it sees a frame on the Ethernet with one of these MAC addresses in the destination address field, it acts as a translational bridge, creates an 802.11 frame with the proper header and payload, and transmits the new frame into the air. Cool.
A translation in the other direction happens when APs see 802.11 frames destined for MAC addresses it has learned are reachable via the Ethernet, are destination multicast, or are destination unknown. An Ethernet switch next to an AP learns the MAC addresses of the associated STAs from the source address fields of Ethernet frames sent onto the Ethernet from the AP.
Concerning your ESS question, the layer three IP header has two IP addresses but no MAC addresses. The layer two Ethernet header has two MAC addresses.
The layer two WLAN header has two, three, or four MAC addresses, depending on circumstance. Only two MAC addresses are required if the immediate transmitter and immediate receiver are also the ultimate source and ultimate destination -- for example an ACK frame. Three MAC addresses are required if an access point acts as an intermediary between the ultimate source and destination.
Four MAC addresses are required if one AP needs to wirelessly use another AP as a relay. AP1 says to AP2, "I'm talking directly to you. You must ACK directly to me. The payload is meant for your STA2. Tell your STA2 that my STA1 sourced the payload. And don't mention my address to STA2, thank you."
Ethernet has none of this built in relaying function at the MAC level. Ethernet repeaters function at the PHY level to relay frames. Ethernet brides (aka switches) interpose themselves transparently and, like repeaters, make no bit changes to the relayed frames.
I hope this helps. Thanks. /criss -
Hi Criss, (see my post below too)
Thanks once more for the very informative explanation. Yes, it indeed helps me a lot in understanding how things work in practise. U r amazing at this!
But my question, why have a concept of ESS, why not treat two separate BSSs as two separate broadcast domains still remains. That is, STA1 has to send a packet to STA2 in another BSS, then why not put
1) STA1 IP address and STA2 IP address in IP header?
2) STA1 MAC address and AP1 MAC address in first packet.
This 802.11 packet recahes AP1's IP, Then AP 1 forwards the original IP packet to AP2 (which has AP1 MAC address and AP2 MAC address). When AP2 receives this MAC (wireless/ethernet whatever the DS uses) packet, the IP layer at AP2, then forwards the original IP packet onto STA2. This final 802.11 packet will have
1) STA1 IP address and STA2 IP address in IP header of IP packet in 802.11 packet?
2) AP2 MAC address and STA2 MAC address in 802.11 packet.
This way, there is no need for all this complicated 4 address things.
Did I just confuse you?? :)
Arvind -
Hi Criss,
One more thing. The reason I am asking the "why ESS and hence 4 address thing", is as follows. In most cases the STAs are going to be communicating with servers/clients out in the public internet and not with each other. So why go to all this trouble of extending broadcast domain by having 4 addresses when you can handle it easily with 2 addresses and some IP layer routing?
Thanks,
Arvind