1 / 38

Chapter 2: Direct Link Networks (continued)

Chapter 2: Direct Link Networks (continued). Slide Set 5. Reminder + Announcements. Quiz January 27th. Chapters 1 and 2.1 to 2.6 (Upto this set of slides) Bring Scantron sheets, calculators. In this set. Reliable Transmissions -- retransmissions. Ethernet. Why retransmissions ?.

jericho
Download Presentation

Chapter 2: Direct Link Networks (continued)

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Chapter 2: Direct Link Networks (continued) Slide Set 5

  2. Reminder + Announcements • Quiz January 27th. • Chapters 1 and 2.1 to 2.6 (Upto this set of slides) • Bring Scantron sheets, calculators

  3. In this set.. • Reliable Transmissions -- retransmissions. • Ethernet

  4. Why retransmissions ? • Error correction although feasible, is not enough to handle all kinds of errors -- especially burst errors. • Corrupt frames cannot be deciphered and are therefore dropped. • Retransmissions needed to provide reliability.

  5. ACKs and Time-outs • When frames are sent piggyback an acknowledgement (ACK) for received packets onto sent packets. • If no ACK received up to a preset time-out, resend frame. • Called ARQ -- Automatic Repeat request. 1 Ack 1 100

  6. Stop and Wait • Allow only one outstanding packet at any given time. • If ACK not received within time-out, send again.

  7. How efficient is Stop and Wait ? • Consider a 1.5 Mbps link with 45 ms RTT. • BW - Delay product = 67.5 Kb = 8KB. • You can fill 8 Kilo bytes of data prior to receiving an ACK. • However, if your frame size is 1 KB, you are using only 1/8 of the capacity. • Inefficient.

  8. Sliding Window • What we really like is that the 9th frame be transmitted when ACK for the first frame arrives :). • Say we do this -- A window of packets sent -- as ACKs are received window slides i.e., more packets sent. • Now what do we need in addition ? • Need to know which packets have been received and which have not. • Packets labeled using sequence numbers.

  9. Some definitions • We have a window of packets sent -- Send Window Size or SWS. • Last Acknowledgement received is denoted LAR. • LFS represents the last frame sent. • NOTE: LFS - LAR <= SWS.

  10. < SWS ─ ■ ■ ■ ■ ■ ■ LAR LFS Sender Functions • When an ACK is received, the LAR moves to the right. • This allows for the transmission of an additional frame.

  11. < ─ RWS ■ ■ ■ ■ ■ ■ LFR LAF Receiver functions Notation: RWS -- Receive Window Size LAF -- Largest Acceptable Frame. LFR -- Last Frame Received. • When frame with Seq_Num arrives: • If Seq_Num <= LFR or Seq Num > LAF, discard. • Frame is outside window. • If LFR < Seq_Num < LAF, accept frame. • Frame within window. • Let Seq_Num_to_Ack be the largest sequence number yet to be acked. This implies, all frames <= Seq_Num_to_Ack have been received. • LFR = Seq_Num_to_Ack • Adjust LAF = LFR + RWS.

  12. An Example • Let LFR =5 and RWS = 4. • This implies LAF = 9 • If packets 7 and 8 arrive (not 6), they are buffered. • Note that they are out of order. • Typically, Receiver will resend an ACk for packet 5. • When 6 arrives, it can cumulatively ACK all buffered packets i.e., it ACKs 8 and moves LFR to 8 and LAF to 12.

  13. Other possibilities • Send NAK (negative acknowledgement) for lost packets -- example for 6, when 7 is received. • Duplicate ACKs -- send an ACK for 5 again when 7 is received to trigger retransmission of 6. • Selective ACKs : Explicitly ACK frames that are received -- more complex.

  14. Setting the Window Size • SWS -- Set considering the BW product. • RWS -- Receiver can set it to something appropriate -- may depend on buffering resources. • If RWS = 1 what happens to out of order frames ?

  15. Sequence number wrapping • Sequence numbers are finite -- thus there is a need to reuse -- called wrap around. • What is the relationship between the SWS and MaxSeqNum ?

  16. Maximum Sequence Number and SWS • Should it not be SWS <= MaxSeqNum + 1 ? • Let us consider an example: • Sender has eight Seq Nums from 0 to 7. • SWS = RWS = 7. • Sender transmits frames 0-6 • Receiver gets them, ACKs but ACKs get lost. • Receiver expects 7 and next 0...5. But sender sends the previous 0..5. • When the receiver gets these, he cannot distinguish. • Thus, when RWS = SWS, SWS < (MaxSeqNum+1)/2. (Verify that system works).

  17. Sequence Numbers and SWS • For other cases i.e., when RWS is not equal to SWS, other rules may apply. • Depends on the specific case. • A different way with TCP -- we will see later. • Easy solution -- large Sequence number space.

  18. Flow Control + • Feedback control that allows the receiver to throttle the sender. • Informs sender not only about what frames it has received but also how many more frames it can receive. • Need this in order to ensure that receiver buffer does not overflow. • Read rest of the parts on Sliding Window -- implementation etc.

  19. Multiple Access • Nodes send and receive frames over a shared “direct link” network. • One way -- contention based i.e., nodes contend to send -- example Ethernet. • A second way is scheduled access -- everyone knows when and how to send -- i.e., they take turns -- example Token Ring. • Decentralized operations needed.

  20. CSMA - CD • Stands for Carrier Sense Multiple Access with Collision Detection. • Carrier sensing -- nodes can distinguish between an idle and a busy line. • Collision detection -- nodes can detect when a transmission is “interfered” with. • CSMA-CD can work on a bus architecture as an example. • Forms the basis for Ethernet.

  21. The Ethernet Standard • Specified by IEEE. • Referred to as the 802.3 standard. • Initially started out as a standard for a bus topology -- 10 Mbps Ethernet. • Today, we have switched Ethernet -- Fast Ethernet with 100 Mbps and Gigabit Ethernet with 1000 Mbps.

  22. Ethernet on a Coax • We consider the 10 Mbps Ethernet. • Ethernet implemented on a coax cable of up to 500m. • Hosts tap into this cable and must be at least 2.5 meters apart. • Transceiver which is attached detects idle line and drives signal.

  23. É É É É Repeater Host Repeaters • Multiple Ethernet segments can be joined using “repeaters”. • Repeaters amplify and forward signals. • No more than four repeaters between any two hosts. • This ensures that maximum reach of Ethernet = 2500 meters. • We will see why this is needed later.

  24. Ethernet -- Signal broadcasts • Signal broadcast over the multiple-access link • Broadcast means, sent to everyone. • Each node propagates signal in both directions. • Repeaters forward on all outgoing segments. • Note: Ethernet uses Manchester encoding.

  25. Cables • Use of a 10base2 cable -- 10 Mbps, base --> it is baseband -- frequency shifting -- No more than 200 m (actually only 185 m). • 10base T -- T stands for twisted pair.

  26. Ethernet Frame • Nuggets: (Other details refer book) • 64 bit preamble for synchronization. • 48 bit hardware or Ethernet address. • Ethernet frame size: up to 1500 bytes of data and “at least” 46 bytes --> padding may be necessary. • Note -- Body carries IP datagram -- length of IP header specified packet size -- can determine padding.

  27. Ethernet Address • Ethernet address unique for every host. • Technically address belongs to adaptor and not host -- burned into ROM. • 6 bytes -- represented as six numbers separated by colons: 8:0:2b:e4:b:1:2. • Each number corresponds to a pair of hexadecimal units -- one for each of the nibbles in the byte.

  28. Addressing (cont) • Uniqueness: Each manufacturer (e.g. AMD) is allocated a different prefix -- 8:0:2b --> 24 bits. • Every frame transmitted on the Ethernet is received by every adaptor on the network -- the address is recognized and only the particular adaptor recovers frame. • All 1’s implies broadcast -- every adaptor picks it up. • An address that has the 1st bit set to 1 but is not the broadcast address is used for multicast.

  29. Transmitter Algorithm • Intelligence mainly on transmitter side -- receiver dumb. • Algorithm: • If line idle, transmit frame immediately; no negotiation with other adaptors. • If line busy, wait for the line to be idle and either • Transmit immediately (1-persistent version) • Transmit with a probability p (p-persistent version). With a probability q=1-p, defer the transmission for a later time.

  30. Why p-persistency? • Deference is needed since multiple transmitters may be waiting to transmit. • If for example, p = 0.25, one could have up to 4 transmitters on average -- only one would transmit when the line is free. • If multiple transmitters send simultaneously, a collision will result.

  31. Waiting time • Each node looks at a “slot” time. • Each slot is of a duration equal to that of a frame. • When node has something to send, in each idle slot, it sends with a probability p, and defers to the next slot with a probability q and so on. • Just a note: 1-persistency is good if nodes are lightly loaded -- has been found effective.

  32. Upon Collision Detection • When an adaptor detects a collision, it transmits a 32 bit jamming sequence and stops transmission. • Minimal amount of data sent 64 bit preamble + 32 jamming sequence = 96 bits. • How does a node detect a collision ? As nodes send, they monitor the line for other transmissions.

  33. Runt frame • If two hosts that simultaneously transmit are very close to each other, they can detect a collision quickly. • In this case, enough only the 96 bits are sent -- such a frame is called a runt frame.

  34. Effects of distance on CD • What if nodes are far apart ? Let us consider the case where propagation time is d. • Let A transmit at time t. • A’s transmission jams that of node B which just begins transmission at “t+d”. • It then sends out a jamming sequence -- this takes another d seconds to reach A. • Thus, A knows of the collision at “t+2d”. • A has to be transmitting at this time in order to realize the collision i.e., it has to be transmitting for 2d seconds. • Note that 2d = RTT. • So transmission time should be at least equal to RTT.

  35. Transmission time and RTT • To repeat : Transmission time at least equal to RTT. • Now since RTT is at most 51.2 ms given that maximum reach is 2500 meters. • Thus, Transmission time at least 51.2 ms. On a 10 Mbps link, transmitter needs to send at least 512 bits. • Thus, we have a minimum size of 46 bytes for the body (header makes frame 512 bits).

  36. Ethernet back-off • Once adaptor detects collision, it waits before trying again. • First delay -- selected randomly from the pair 0, (21-1)51.2 ms = {0, 51.2} ms. • If a second collision is experienced, choose back-off time from 0, (22-1)51.2 ms i.e, from {0, 51.2, 102.4 and 153.6} ms. • Thus, after N collisions choose a back-off time from {0.. (2N-1)51.2} ms. • In reality, Ethernet gives up after a maximum number of attempts which is 16. However, maximum value of N is fixed; typically N = 10.

  37. Key properties • Ethernet works best when loads are light -- small number of active nodes. • Typically utilization is less than 30 %. • Easy to administer and maintain; inexpensive. • Currently, switched Ethernet.

  38. Next time • Token Ring, • FDDI, • Wireless LANs.

More Related