For better usage Use links for data in both directions, why Allows the receiver to wait until network layer passed to next packet. Acknowledgement then attached to the outgoing data frame. Causing piggybacking to act.
Piggybacking The technique of temporarily delaying outgoing acknowledgements so they can be hooked onto the next outgoing data frame. It gives a positive acknowledgement with retransmission protocol. Example: When data layer waits for a long period of time then the sender wants, the frames then get resubmitted, defeating the purpose of having acknowledgements.
Advantages of Piggybacking Allows the privilege of having distinct acknowledgement frames. It gives better use of available channel bandwidth. The ack field acts as an acknowledger and a checksum.
Ack Field Frame header cost only a few bits( One bit in frame header) Fewer frames means a lighter processing load of receiver.
Protocol 3 Allows unidirectional data flow over an unreliable channel. Goes in a number of sequences describing each protocol with the frames frame_to send-tells which frames the sender is trying to send frame_expected- tells which frames the receiver is expecting
Bidirectional Protocols Consist of a sequence numbers Stop-and-wait sliding window n=1 This restricts the numbers from 0 and 1 Consist of three class 1)Efficiency 2)Complexity 3)Buffer Requirements
Sending/Receiving Window Sender maintains a set of sequence numbers corresponding to frames it is permitted to send. The receiving end corresponds to the set of frames permitted to be accepted Must maintain the same lower and upper limits Must maintain the same size Some are fixed in size, but grow and shrink over time frame of being sent and received Gives date link more freedom about order of sending and receiving
Senders window may be lost or damaged in transit, sender must keep all frames in memory. If window grows to max size, the sending layer must forcible shut off the network until another buffer becomes free. ?v=UidfjVs-0f4
Purpose of Sequence of Numbers Represent frames that have been sent or can be sent Newest packet is sent at highest sequence number Maintains a list of acknowledgment frames
The receiving layer window corresponds to the frames it may accept. Any frame falling within the window is put into the receivers buffer
One-Bit Sliding Window Protocol Bidirectional Use the stop-and-wait protocol as discussed in slide 8 It starts by defining variables Frame_to_send- tells frames the sender is trying to send Frame_expected- tells which frame the receiver is expecting. O and 1 are the only possibilities
Contains the physical_layer and start_ timer procedure
Protocol Using Go-Back_N Allows sender to transmits w frames before blocking, instead of just one. With the large variety of w the sender will be able to continuously transmit frames since the acknowledgements will arrive for previous frames. Before the windows become full, it prevents the sender from blocking. Receiver would discard all subsequent frames, sending no acknowledgements for the discarded frames.
Bandwidth-delay product In order to find the appropriate value for w we need to know how many frames can fit inside the channel. Bandwidth in bits/sec multiplied by one-way transit time 2BD+1 Link utilization-< w/1+2BD This value is an upper bound because it does not allow for any frame processing time and treats the acknowledgement frame as having zero length, since its usually short.
Pipelining Technique of keeping multiple frames in flight Can cause serious issues Unreliable communication channel Frame can become lost of damaged
Approaches To Dealing With Errors In Pipelining To aid in the recovery the frames are discarded by data link layer When the window size is to large the frames are buffered by data link layer
Selective Repeat Another strategy for handling errors of frames When bad frame that is received is discarded, but any good frames received after it are accepted and buffered. Only the oldest unacknowledged frames are retransmitted. Often combined with having receiver send a negative acknowledgement(NAK) There are a few approaches to if NAK becomes lost, or is timed out
Alternative Approaches Bandwidth and data link layer buffer space The network_layer_ready- is used when the network layer has packet it wants to send The library procedures include: disable_network_layer enable_network_layer
Cumulative Acknowledgement Uses protocol 5 Extremely important when frames were lost or garbled Whenever acknowledgements come in, the data link layer check to see if any buffers can be released Has multiple outstanding frames, and needs multiple timers
Protocol Using Selective Repeat Allows receiver to accept and buffer the frames following a damaged or lost one Both sender and receiver maintain a window of outstanding and acceptable sequence number
Data Link Protocols Point to point lines in the internet with two common situations Used to send packets over these links
First: is when packets are sent over SONET optical fiber links in wide-area networks. These links are widely used, to connect routers in different locations of ISP’s network
SONET It provides a bitstream that runs at a well-defined rate The bitstream is organized as fixed-sized byte payloads that recur every 125msec whether or not there is data sent
Second: is the ADSL links running on the local loop of the television network at the edge of internet
Examples of data link protocols SLIP(serial line internet protocol)- is used to handle error detection link configuration, support multiple protocols, permit authentication, and more. LCP(link control protocol)- a link control that brings lines up, testing them, negotiating options, and bringing them down again gracefully when they are no longer needed. NCP(network control protocol)- a way to negotiate network-layer options in a way that is independent of the network layer protocol to be used. HDLC( high-level data link control)- provides reliable transmission with a sliding window, acknowledgements, and timeouts.
ADSL( Asymmetric Digital Subscriber Loop) Connects million of home subscribes to the internet at megabit/sec rates over same telephone local loop used for plain old telephone service It sends bits over a local loop to a device called DSLAM( DSL Access Multiplexer)
ATM(Asynchronous Transfer Mode) Link layer based on the transmission of fixed-length cells of information Means that cells do not always need to be sent in the way that bits are continuously sent over synchronous lines Connection-Oriented technology To send data over network it needs to be mapped into a sequence of cells Each cell carries a virtual circuit identifier in its header and devices use this identifier to forward cells along the paths of established connections They can divide the bandwidth of physical layer link into slices sending both voice and data
Adaption Layers To send data over an ATM network, it needs to be mapped into a sequence of cells, this is done with an ATM adaption layer in a process called segmentation and reassembly. Several are defined for different services Periodic voice samples Packet data AAL5 (ATM Adaption Layer 5) is the main one used for packet data
Summary The purpose of sliding protocols is to convert the raw bit stream offered by the physical layer into a stream of frames for use by the network layer It also provides error correction and detection