View
217
Download
0
Tags:
Embed Size (px)
Citation preview
What is a LAN?• Multiple systems attached to a shared medium• “High” bandwidth• “Low” delay• “low” error rate• Broadcast (multicast) capability• Limited geography (several kilometers)• Limited stations (hundreds)• Peer (equivalent) relationships (rather than
master/slave)• Confined to private property• Can be viewed as a cloud (like a WAN)
Sharing LAN Bandwidth
• Each station gets a fair share
• Each station gains access in reasonable time
• Bandwidth waste is minimized
Popular Arbitration Mechanisms
• Token schemes– Token ring– Token bus
• Contention– If two stations transmit at same time – collision – Probabilistically fair– Starvation is possible– Worrisome, but we rely on probability every day
IEEE 802 LANs
• 802 is a IEEE committee whose purpose is to standardize several LANs
• LAN protocols reside at the bottom two layers of the OSI Reference Model
Data Link Layer• 802 devides the data link layer into two
sublayers– Medium Access Control (MAC) addresses issues
specific to a particular type of LAN, i.e., token passing and collision detection, priorities, error detection, and framing
• Logical Link Control (LLC)– LLC type 1 datagram protocol (packet is
delivered with “best-effort” service– LLC type 2 reliable connection-oriented data link
protocol High-Level Data Link Control (HDLC)
Other Types of LLC• 802.1 – Issues common across all 802
LANs• 802.2 – Defines LLC, MAC and physical
layers• 802.3 – Deals with Carrier Sense Multiple
Access with Collision Detection (CSMA/CD) LAN used with Ethernet
• 802.4 – Deals with Token Bus LAN• 802.5 – Deals with Token Ring LAN
Names, Addresses, Routes• Name: what something is (identifier (ID))
– Location-independent– Unchanged even if the destination moves
• Address: where it is– Valid regardless of the location– If a destination moves, it is assigned a new
address
• Route: how to get there– Dependent on the location of both the source
and destination
LAN Addresses• Every station on LAN hears every packet, so it is
necessary to include a destination field in each packet
• Source field is also included• LAN adaptors can filter out packets not addressed to
a particular station• 48-bit addresses (6 octets) enable stations to be
provided with a globally unique identifier at the time of manufacture
• Global authority is responsible for handing out blocks of addresses
• Global authority used to be XEROX, now it’s IEEE
Octets
• First three octets form vendor code or Organizationally Unique Identifier (OUI)
• The vendor allocates the remaining three octets
Fixed-Value Octets
• Group/Individual– If 0, address refers to a particular station– If 1, address refers to a logical group of stations
(multicast)
• Global/Local– If 0 (local), vendors purchase a block of
addresses from the global authority– If 1 (global), vendors are free to use any
address
IEEE LAN Address
1st octet 2nd octet 3rd octet 4th octet 5th octet 6th octet
1011101 01110101 11001111 01011111 01000101 01111010
Global/Local (G/L) Bit
Group/Individual (G/I) Bit
Multicast Addresses
• Most common use of multicast addresses is for discovering appropriate neighbors by:– Solicitation: Clients multicast message to
group address (i.e., Zservers) in order to find a server
– Advertisement: Z servers periodically transmit packets to Zclients address. When client receives packet, it now knows address of Z servers
Multicast vs Unicast• Each all Z servers must listen for multicast
address as well as their own
• If any unicast address can multicast, each Z server must listen for all packets – promiscuous listening
• Normally, promiscuity is not desirable
• If the packet is of interest, the hardware should pass it up to the software, if not, the hardware should filter it
If Software Receives Addresses
• Chip designer would have to specify max addresses to receive
• If max is too large it would be expensive
• If max is too small, chip would be useless for station that required more addresses than provided by the chip
Compromise Solution• Station informs chip of the single individual
address it wants to receive• A bit in the address designates address as
individual or group• Chip partitions set of group addresses into a
number of groups (hash buckets)• Station wishing to receive a particular group
address requests bucket into which that address hashes
• After bucket is selected, chip will send all packets whose destination addresses hash to that bucket
Theory
• A station will only be interested in its own address and some small number of group addresses
Alternative Chip Design• Software can receive some fixed number of
exact addresses (group or individual)
• Station can request any subset of some number of hash buckets for addresses– With this design, the chip gets perfect filtering
(it does not get software interrupts for addresses it isn’t interested in
– If it needs more addresses, it can fall back on the hashing scheme
Broadcast Address
• One particular group address is named broadcast address
• Broadcast address consists of all 1’s
• All stations should receive any packet transmitted to the broadcast address – but really it is only all stations that have implemented this particular protocol
802 Standard• Separate fields for source and destination• These fields are known as Service Access Points
(SAPs)• 802 header contains Source Service Access Point
(SSAP) and Destination Service Access point (DSAP)
• SAP gives flexibility in assigning numbers to protocols differently in each machine
• SAP fields are 8 bits (1 octet) long
Problems with SAP
• With global, SSAP and DSAP are equal (the same as the SAP value assigned that protocol)
• Protocols with locally assigned SAP can have unique numbers, but it is hard to send a protocol message to another machine when the SAP numbering of a foreign machine is unknown
Structure of SAP
• Global – 802 committee has assigned the number• Local – Owner of the network or system manages the
number• Group/Individual – Allows you to send a packet that can
be received by multiple higher-layer protocols, which provides little real benefit
• Six bits does not allow the 802 committee to grant numbers to every organization that wants to design its own protocol
1010101
Global/Local (G/L) Bit
Group/Individual (G/I) Bit
SNAP
assigned by IEEE
vendor assigned
address block
10111010
01110110
00010111
10110010
11010110
00100011
assigned by IEEE vendor assigned
protocol type 10111010
01110110
00010111
01011101
11101000
SNAP Addressing
• When an organization purchases a block of addresses it receives a 3-octet quantity such as XYZ and addresses have the form XYZ***
• Organizations can assign station addresses of XYZ***
• They can assign multicast addresses X’YZ*** where X’ is X with G/I set to group
• It can assign protocol types having the form XYZ**
Address Representation
• A serious problem with addresses is how they are represented and transmitted
• 802.1 committee defined a canonical format for writing addresses– 6 octets separated by hyphens– Each octet is two hex digits– Example: a2-41-42-59-31-51
Bit ordering
• 802.3 and 802.4 – Least significant bit is transmitted first
• 802.5 and FDDI – Most significant bit is transmitted first
Transmission Problems
• Group/Individual bit is not defined as least or most significant, but rather the first bit on the wire
• Thus, group address on 802.3 would not necessarily be group on 802.5 because adifferent bit would be transmitted
Canonical Format
• Assumes least-significant-bit-first order
• Therefore a2-41-42-59-31-51 is not a group address because least significant bit of a2 (10100010) is 0
Canonical Least-Significant Bit First
Address – a2-41-42-59-31-51
1st octet 2nd octet 3rd octet 4th octet 5th octet 6th octet
10100010 01000001 01000010 01011001 00110001 01010001
Most-Significant Bit First
1st octet 2nd octet 3rd octet 4th octet 5th octet 6th octet
01000101 10000010 01000010 10011010 10001100 10001010
Address – a2-41-42-59-31-51
Address Shuffling• Bridges must shuffle address fields when
forwarding packets between 802.5 (or FDDI) and any other LANs
• If LAN addresses in higher-layer protocol messages such as Address Resolution Protocol (ARP) are not converted to canonical format before placing it in a protocol message, the destination cannot interpret the field that contains the LAN address without knowing the type of LAN the message originated from
• This results in confusion and interoperability problems
More Shuffling Problems• At least one protocol reported failure if the bits at
the data link layer did not match the bits in the higher-layer header
• If a bridge did the appropriate bit shuffling, when forwarding between 802.3 and 802.5, the protocol failed
• Vendors were forced to specifically check for this protocol type and not shuffle
• Bridged packets will have different addresses than they should– Station address could appear to be multicase– Station address with flipped order could be address of
another station
Logical Link Control (LLC)• LLC is described in specs as if it were a sublayer
separate from the MAC sublayer• If people had agreed on datagram model, 802
committee might not have felt a need to divide data link layer into MAC and LLC
• Only data link layer fields DSAP, SSAP, and CTl are within LLC
• Source and destination are considered part of MAC
• This means LANs can define addresses as they choose even though they end up pretty much the same
LLC Type 1 CTL Field• Type 1 implies datagrams• CTL field is always 1 byte long and has one of
following values:– UI (unnumbered information) – datagram – XID (exchange identification)
• command – informs recipient of identity of transmitter of XID command message and LLC types the transmitter supports
• response – required reply to XID command message
– TEST • command – sends a test message• response – responds to test message
• XID and TEST are distinguished by group/individual bit in SSAP field – no reason to send message from SAP group
LLC Type 2 CTL Field
• Type 2 implies connection-oriented
• CTL field is 1 or 2 bytes long depending on what type of packet it is
• Packet types with CTL of 2 bytes contain a sequence number
2-byte LCL Type 2 CTL Field• I (Information) – is a data packet with 7 bit
sequence number• RR (Receive Ready) – is an acknowledgement
with sequence number. Indicates all packets with lower sequence numbers have been received
• RNR (Receive Not Ready) – Like RR but also indicates receiver is temporarily busy. No further packets should transmitted until RR is received
• REJ (Reject) – Receiver requests retransmission of packets starting with number in sequence field
1-Byte LCL Type 2 CTL Field• SABME (Set Asynchronous Balanced Mode
Extended) – Start connection• DISC (Disconnect) – Terminate connection• DM (Disconnected Mode) – Transmitted in
response to DISC indicating DISC has been received
• FRMR (Frame Reject) – Indicates receipt of invalid packet such as out of order sequence number
• UA (Unnumbered Acknowledgement) – Acknowledges a DISC or SABME message
CSMA/CD• CS (Carrier Sense)
– A station wishing to transmit listens first
– If another station is transmitting, first station waits until medium is idle
• MA (Multiple Access) Many stations share the same medium
• CD (Collision Detect) – Stations monitor the medium even while they are
transmitting
– Detect occurrence of a collision (another station transmitting)
Collision Detection
Time t0 S1 starts transmission
Just before Time t0 + X Bits have not quite reached S2. S2 begins transmission
Time t0 + X S2 detects that collision has
occurred
Time t0 + 3/2 X Half of the stations detect a
collision has occurred
Time t0 + 2 X S1 detects that collision has
occurred
S2S1
Ethernet• Original CSMA/CD LAN was designed at Xerox
and was called Ethernet• To guarantee collision detection, length of wire
had to be limited to minimum size determined by packet lengths
• If station 2 initiates transmission just before bits from station 1 arrive, station 1 will not detect collision until twice the length of time it takes for signal to go from one end of wire to the other (slot time)
Slot time
• If 512 bits can be transmitted before a collision can be detected, then packets should be at least 512 bits long
• If station finishes transmitting a packet and collision is not detected, it will assume no collision occurred
• Protocols wishing to send shorter packets must pad them to the required minimum length
802.3 Modifies Ethernet Format
6 6 2 46 – 1,500 4
destination
source protocol
data FCS
ethernet
6 6 2 1 1 1 43 – 1,497 4
destination
source length DSAP SSAP CTL data FCS
802.3
Distinguishing Ethernet from 802.3
• Luckily formats can be distinguished by 2-byte protocol and length fields
• Max packet length in 802.3 is 1,500 bytes• Xerox made no protocol types smaller than 1,500• 2-byte field after source < 1500 implies 802.3• 2-byte field after source > 1500 implies Ethernet
Another Difference
Another difference between 802.3 and Ethernet is protocol type and SAP fields. Currently (except for XID and TEST), SAP uses either:
• an 802 approved protocol in which DSAP = SSAP and they equal the globally assigned SAP value (not the SNAP value)
• or DSAP = SSAP and they equal the globally assigned SNAP SAP value. Following the CTL field is a 5-byte protocol type field
Technology Limitations• Limited number of stations – For example
each station attached to a ring increases delay
• Limited size – In 802.3, the cable must be sufficiently short so that transmitter will detect a collision during transmission
• Limited amount of traffic – Available bandwidth must be shared among stations. The more stations, the smaller the share of bandwidth
Reason for Bridges• Single LAN is often insufficient to meet
requirements of organization• If all packets are forwarded to LANs by routers,
all stations must implement network layer protocol• However, if stations are designed assuming entire
world is a single LAN, they will not have implemented layer 3 and thus cannot use the router
• For stations without layer 3, the bridge allows LANs to be glued together
• Packets can be forwarded from one LAN to another without any cooperation from the stations
• Bridges can also support any layer 3 protocol