This video by Kevin Wallace you learn about the Data Link Layer of the OSI
networking model. Keven's videos teach networking in a light conversational way,
with emphasis on retaining the information for the purpose of passing the CompTIA
Network+ certification exam.
At the Data Link layer of the OSI networking model we have a couple of sub-layers
We have a MAC (Media Access Control) sub-layer and we have an LLC (Logical Link
Control) sub-layer.
At the MAC sub-level is were physical addressing occurs, a MAC address is a 48-bit
address that is burned-into a media access card. The MAC sub-level also deals with
logical topologies.
Down at the physical layer we're dealing with physical topologies - how things are
physically interconnected. We might have a token ring network with stations
physically connected in a hub and spoke topology. But logically those
tokens going around the token ring are going through a logical ring.
So the logical topology that exists at layer 2, the MAC sublayer also deals with
how we transmit our media.
I mention token ring, that's more of a legacy LAN technology these days, but the
way token ring worked is; there was a token that was passed from station to station
in a circular fashion around this logical ring and when a device is in possession
of the token, if there was an opening in the token were it could insert its data,
it would do that. It would insert its data and pass it on around the ring until it
got to its destination.
We're more familiar with Ethernet. Ethernet in its original form used CSMACD
(Carrier Sense Multiple Access with Collision Detection). That was a way for
Ethernet to listen to the wire to make sure no-one was transmitting right then
and if the coast was clear then the Ethernet device could transmit on this segment.
But if two devices happened to be listening at the very same time, it's possible
that they could transmit at the same time resulting in a collision. When two devices
on an Ethernet segment transmit at the same time, a collision results that gives us
data corruption, and CSMACD - the CD says that were going to detect such a collision
and that's going to allow these stations to back off for a random amount of time
and then they will attempt to retransmit their data.
What about the LLC sub-layer? One of the things LLC is concerned with is connection
services. Connection services deal with flow control - if the sender is sending too
rapidly, a flow control mechanism can ask it to slow down.
Error control - that's part of connection services. Error control is a way to let
the sender know that the expected data was not received. Something else we have at
the LLC sub-layer is the synchronization of transmissions. Senders and receivers need
to coordinate with one another on when a data frame is transmitted and when
it should be received.
One way of doing that coordination is an isochronous approach. With isochronous
flow control, the devices look to a common external device for clocking and this
external device is going to create fixed time slots. Then the devices can determine
if a time slot has any free space and if it does, it can insert the data in that
free space. This gives us very little overhead.
Another approach is asynchronous flow control. With asynchronous flow control
the devices can reference their own internal clock rather than having a common clock,
and they're going to use a start bit and a stop bit to indicate the beginning and
the ending of a frame.
And to detect any errors, it can use parity bits. For example if we have
a frame of eight bits we could stick on an additional parity bit and if were using
even parity, if we add up all the 1's in the 8 bits in the frame and we add
on the parity bit if it's a 1 or we don't add it on if it's a 0 the total number
of 1s is an even number, that's an indication that the data has not been corrupted.
You could also do odd parity were your looking for an odd number of 1s. Of course
the bad thing about parity bits is if you've got a couple of errors - unfortunately
two wrongs do not make a right with parity bits. You could false sense of assurance
that the frame has not been corrupted when really it has.
And one other one for ya - synchronous flow control. With synchronous flow control
the sender and receiver can share clocking over a separate communication channel
and for error detection instead of using parity bits, they're going to use an
algorithm called a CRC - a Cyclical Redundancy Check.
Webmaster message: isochronous transmission is a new one for me. Apparently
it involves flow control between two devices that produce⁄consume data at
different rates, and the receiving device needs a constant flow of data. For example
if video data is not received at a constant rate jitter will result. A buffer might
be utilized to help maintain constant flow. And error correction is not as important
as maintaining constant data flow.
Let's think about what sort of network hardware would reside at layer 2. Here I've
got an Ethernet switch - a System Catalyst 3750 Ethernet Switch, and you see I've
got a series of ports along the front of the switch and we can have n stations
plug in to these ports and what's the switch going to do? The switch is going to
learn the MAC addresses of the devices plugged into those ports.
It kind of works like this - let me give you a diagram. Lets say we have a Catalyst
switch and we've got a couple of ports - port 1 port 2. For this example, I'm not
going to write a 48 bit MAC address for these PCs (an actual MAC address would have
12 hexadecimal digits - I'm just going to write 4) and the MAC address table is
going to be constructed inside the switch like this:
port MAC
---- ---
1 AAAA
2 BBBB
Let's look at some live gear and see which MAC addresses reside on which ports. The
switch has some built-in static addresses, but notice the dynamic addresses. We've
got MAC address that have been learned of of different ports.
Notice on a specific port that there are several MAC addresses learned off of that
one port. You see there's a switch connected off of a switch port in this case. We
can learn devices that live off of a switch connected into a switch port.
This connection of switches to switches and switches learning (port + MAC addresses )
off switches stops at a router. That's a layer 3 concept.
what good is it for the switch to know which MAC address reside off of which ports.
what is the purpose of this? When a frame comes into a switch. The switch, instead
of just flooding that frame out of all the ports other than the port that the frame
came in on, the switch can intelligently forward that frame because it knows were it's destined.