CST311.7 Module Seven
CST311.7 Module Seven
What I learned this week:
This week consisted of both the Final and dropping down one layer in our Internet model to enter into the Link layer. The link layer is primary composed of two different types of link layer channels. One being a broadcasting channel, and the other is point-to-point communication. Links are basically communication channels that connect adjacent nodes along communication paths. This is also where a given datagram is encapsulated with a long-layer frame. The basic service of any link layer is to move a datagram from one node to an adjacent node over a single communication link. With a similar pattern of other layers covered you could consider that the link layer has the capability to offer: Reliable Delivery and Error Detection and Correction to ensure data gets delivered in a timely fashion. however there are other potentials that can be offered too, such as framing, and Link Access. The link layer is implemented on a chip called the network adapter also referred to as an Network Interface Controller(NIC). Provided its is on a chip, would imply that link layer's controller is also implemented in hardware, and not software. We also covered various methods possible for error detection in the form of parity checking, check summing and a new one called Cyclic Redundancy Checking(CRC) that's actually incorporated in more layers than just the Link Layer.
We also covered Multiple Access Links and specific protocols that all address the problem of collisions. Collision occur in these multiple access links because they want to minimize the amount of collisions that occur when two senders are trying to send at the same time. One of which was channel partiitioning using time division multiplexing where time is divided into time slots and each node can only transmit during their allocated timeslot. this eliminates collisions but on average their throughput would be at R/N bps so even if they were the only node transmitting, they'd still be limited to transmit during their allocated time slot. Another form of channel partitioning would be frequency division multiplexing, where the broadcast channel be divided into N frequency channels, this would allow for each node to transmit at R/N bps and avoid collisions, however same issue occurs as time division multiplexing, when there is only one node they are still limited to R/N bps. Another interesting approach to manage collision is Random Access protocols, one general one called ALOHA(time slotted and legacy) have a method in which if a collision occurs, they designate a random delay to each node experiencing a collision, after the delay they can then transmit. However since multiple collisions can still occur especially as you up the amount of nodes transmitting you end up with a lot of wasted bandwidth. There was one other does quite well though and that is Carrier Sense Multiple Access with Collision Detection. In the book it uses the analogy of a party and in order to communicate well there are certain protocols we adapt to as human beings, one being when someone else is talking, listen, and the other is when you and another are talking at the same time, stop talking, and wait your turn. That is precisely what CSMA/CD does as it listens to the broadcast channel while allowing any node to transmit, if one node wants to transmit and can see that someone is already transmitting, the node will wait until the channel is idle. However with propagation delay, there is moments in time in which a node will not be able to immediately see that the broadcast channel is being used, and that is when potential collisions can occur. But as mentioned in the above analogy, when two people are talking stop, so if a collision occurs, the node will abort transmission, awaiting some time using the binary backoff algorithm.(also a cool function I can appreciate as it is sort of a tool fits all method) until again attempting re-transmission.
Comments
Post a Comment