1 / 64

Chapter 2: Direct Link Networks

Chapter 2: Direct Link Networks. Hardware Building Blocks. Networks constructed from 2 types of Building blocks - Nodes and Links Nodes: - A host/ general propose computer running application programs or - A PC or workstation configured as a switch or router to forward packets.

caine
Download Presentation

Chapter 2: Direct Link Networks

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

  2. Hardware Building Blocks • Networks constructed from 2 types of Building blocks - Nodes and Links • Nodes: - A host/ general propose computer running application programs or - A PC or workstation configured as a switch or router to forward packets. -switch/router implemented by special purpose hardware. - Better performancethangeneral purpose computer • Links: • Wired or wireless • Shared or dedicated

  3. Direct Link Networks • 2 Nodes can successfully exchange packets if the following 5 operations can be performed. • Encoding: Convert bits to signals on the link (wire or fiber) so they can be understood by the receiving host • Framing: Delineate the sequence of bits transmitted over link. • detecting the beginning and end of a frame • Error Detection: Detect errors (may be correction also ) introduced in the transmission medium due to noise/distortion. • Reliable delivery: Make link appear reliable even though it can introduce errors • Media Access Control: Specify how individual host can access a shared medium fairly.

  4. NRZ Encoding • Signal propagates over links; bits transmitted between nodes. • Binary data needs to be encoded into signals the links can carry, then decoded into binary data at receiver. • Network adaptor: A piece of hardware that connects node to a link • Encoding: Map data value=1 to “high” signal; data value=0 to “low” signal

  5. NRZ Encoding • Disadvantages: long strings of 1’s or 0’s cause problems • Receiver cannot distinguish between long string of 0’s & dead line (unipolar encoding) • Receiver uses average signal level (baseline) to differentiate between high & low signal. Too many consecutive 1’s change baseline • Frequent transitions from high to low & low to high are needed for clock recovery. • Whenever the signal changes(0 to 1, 1 to 0) the receiver knows it is at a clock boundary & resynchronizes itself. • A long period w/o transitions leads to clock drift. • Advantage:NRZ is very simple

  6. NRZI Encoding • Non return zero inverted (NRZI): • make a transition from current signal to encode a 1, • stays at current signal to encode a 0 • Advantage: Solves problem of consecutive 1’s • Disadvantage: does not solve problem consecutive 0’s.

  7. Manchester Encoding • Transmits exclusive-OR of NRZ signal & clock • 0 is low to high transition • 1 is high to low transition • Disadvantage: Requires double the rate of signal transitions over the link. • Receiver has half the time to detect each pulse. • If the Receiver can keep up, NRZ & NRZI could transmit twice as many bits • Manchester encoding only 50% efficient.

  8. Example Encode:001011110100

  9. 4b/5bEncoding • Insert extra bits to break up long sequences of 0’s and 1’s • Every 4 bits of data encoded into 5 bits, hence the name 4B/5B. • The 5 Bit codes are selected, so that each one has at most 1 leading & 2 trailing 0’s. • Maximum 3 consecutives 0’s. • The 5 bit encoded using NRZI. • Consecutives 1’s not a problem. • This scheme has 80% efficiency.

  10. 4b/5b Codes • 16 bits codes are left over from these • 11111 idle line • 00000 dead line • 00100 halt • Of the remaining 13,7 are invalid,(violate 1 leading & 2 trailing 0’s condition) others represent various control symbols. Maybe used by some framing protocols

  11. Direct Link Networks * Encoding:Convert bits to signals on the link (wire or fiber) so they can be understood by the receiving host Framing: Delineate the sequence of bits transmitted over link. detecting the beginning and end of a frame Error Detection: Detect errors (may be correction also ) introduced in the transmission medium due to noise/distortion. Reliable delivery: Make link appear reliable even though it can introduce errors Media Access Control: Specify how individual host can access a shared medium fairly.

  12. Framing • In a packet switched network blocks of data (called “frames” at link level) are exchanged between hosts. • Network adaptor enables hosts to exchange frames. • The adaptor at node A transmits a frame from its memory . • The adaptor at B collects the arriving bits to form a frame & puts it in memory of B. • Recognizing what sequence of bits constitute a frame - detecting beginning & end of a frame is the main challenge for adaptor.

  13. Framing • Sentinel based • Uses special characters or bit patterns to denote start/end of frame. 8 8 8 8 8 16 BISYNC Header Body CRC • Main Disadvantage: Sentinel Characters may occur in body of message. • Solution: Escape sentinel characters in body by inserting DLE (Data-Link Escape)

  14. Framing Counting • Counts number of characters (or bits) • Frame includes a special ‘count’ field. DDCMP header • Transmission error can corrupt count field  frame not correctly detected. • The receiver will collect as many bytes as bad count indicates • Framing error: One signal error may corrupt up to two consecutive frames

  15. Direct Link Networks * Encoding:Convert bits to signals on the link (wire or fiber) so they can be understood by the receiving host. * Framing: Delineate the sequence of bits transmitted over link. detecting the beginning and end of a frame Error Detection: Detect errors (may be correction also ) introduced in the transmission medium due to noise/distortion. Reliable delivery: Make link appear reliable even though it can introduce errors Media Access Control: Specify how individual host can access a shared medium fairly.

  16. Error Detection • Bit errors are sometimes introduced into frames due to electrical interference, thermal noise, etc. • We need to detect such errors so corrective action can be taken • The most popular method is CRC-it is used in IMP IMP,HDLC, DDCMP, CSMA & token ring. • Other methods include parity checking, Error correcting codes (ECC) etc.

  17. Cyclic Redundancy Check • Main Idea in error detection : Add redundant bits (info) which can be used to detect errors. • e.g. Transmit 2 sets of data → if both identical at receiver → high probability that no error was introduced. • This method is very inefficient: n redundant bits for n bits of data. • In general send only k bits for n bits of data, where k<<n e.g. Ethernet frame with 12000 bits require only 32 bit CRC code.

  18. CRC • A message containing n-bits →represented by polynomial M(x) of degree n-1. e.g. for 10011010 M(x)=x7+x4+x3+x1 • We also choose a divisor polynomial C(x) of degree k for some value of k<<n • e.g. k=3 C(x)=x3+x2+1 • C(x) for different values of k given in table 3-4 x8+x2+x1+1 x10+x9+x5+x4+x1+1 x12+x11+x3+x2+1 x16+x15+x2+1 x32+x26+x23+x22+x16+x12+x11+x10+x8 +x7+x5+x4+x2+x+1 CRC-8 CRC-10 CRC-12 CRC-16 CRC-32

  19. CRC • Instead of transmitting M(x) we transmit a polynomial P(x) which is exactly divisible by C(x). • If there is error, a term E(x) has been added to it • At receiver if P(x)+E(x) exactly divisible by C(x): • either E(x)=0 or • E(x) exactly divisible by C(x) • 2nd case very rare, 0 →no error

  20. Steps for CRC: • At transmitter: • Calculate xk.M(x) by appending k 0’s to M(x) • Calculate remainer (R) of xk.M(x)/C(x) • P(x) = xk. M(x)- R is exactly divisible by C(x) • Obtain P(x) by appending R to M(x) • Transmit P(x)

  21. Example • M(x)=10011010 → x7+x4+x3+x1, k=3 • xk.M(x)= x10+x7+x6+x4 → 10011010000 • K=3 : C(x)=1101 • Calculate R by polynomial division • Rules: C(x) divides any polynomial B(x) of same degree & remainder=B(x) + C(x)

  22. Example 1 1 1 1 1 0 0 1 Generator Message 1101 10011010000 1101 1001 1101 1000 1101 1011 1101 1100 1101 1 0 0 0 1101 Remainder 101

  23. Transmit P(x)= xk.M(x)-R append R to M(x). • So, P(x)=10011010101 • The Receiver divides the received value P(x)+E(x) by C(x). If Remainder=0 → E(x)=0 → no error. • With some codes it is possible to correct small errors → error correcting code(ECC)

  24. Example (continued) 1 1 1 1 1 0 1 0 Divisor Message 1101 10011000000 1101 1001 1101 1000 1101 1010 1101 1110 1101 11 0 0 1101 10 Remainder

  25. In general it can be shown • C(x) detect all single bit error if xk and x0 have non-zero coefficients • All double bit errors if C(x) has a factor at least 3 terms • Any odd no of errors if C(x) has factor (x+1) • Any ‘burst’ error if length of burst <k bits

  26. Direct Link Networks * Encoding:Convert bits to signals on the link (wire or fiber) so they can be understood by the receiving host. * Framing: Delineate the sequence of bits transmitted over link. detecting the beginning and end of a frame * Error Detection: Detect errors (may be correction also ) introduced in the transmission medium due to noise/distortion. Reliable delivery: Make link appear reliable even though it can introduce errors Media Access Control: Specify how individual host can access a shared medium fairly.

  27. Reliable Transmission • Frames are corrupted due to transmission errors and corrupted frames must be discarded. • A link level protocol that wants to deliver frames reliably must be able to recover from these errors. • This is done by using 2 mechanisms: • Acknowledgements • Timeouts

  28. Reliable Transmission • ACK: A control frame that a protocol sends back to its peer indicating it has received an earlier frame. • Control Frame: Header without any data. ACK can also be sent as part of a data frame that was being sent anyway. • Getting ACK means frames was successfully delivered; • Timeout: waiting for a reasonable amount of time before retransmission. • Using ACK & timeout to implement reliable delivery → automatic repeat request (ARQ)

  29. Stop and Wait (S&W) • S&W → simplest method; sender waits for ACK before Transmitting next frame. • If no ACK in a certain period of time → timeout & retransmit original frame

  30. Stop and Wait (S&W) ACK received before timeout b) Original frame is “lost” “lost” → error detected in frame at receiver & frame is discarded

  31. Disadvantages: • Allows senders to have only one outstanding frame on a link → does not efficiently utilize the links capacity. • E.g. Consider a 1.5Mbps link with 45ms RTT • Delay*BW= ? • 1.5*106*45x10-3=67.5kbits=8kbytes • Let frame size =1kB; • Sender can send only 1 frame per RTT. • Max sending rate = 1kB/45*10-3=1024x8/(45*10-3)=182*103 bps • Which is approx one-eighth of the link capacity.

  32. In figures c & d sender times out & retransmits original frame. But receiver has already sent ACK for that frame, so receiver thinks it is the next frame

  33. Solution: headers include a 1 bit sequence number → can have value 0&1 and alternate for successive frames. • When sender retransmits frame 0, Receiver knows it is a copy of frame 0 & not the next frame (frame 1)

  34. S&W with 1 bit sequence number

  35. Sliding Window • Sender assigns a sequence number to each frame. • Sender maintains 3 variables • Send Window Size (SWS) → max number of outstanding (unacknowledged) frames the sender can transmit • LAR → denotes sequence number of Last frame for which ACK Received. • LFS →sequence number of Last Frame Sent. • The sender ensures the following condition is always satisfied :LFS-LAR ≤ SWS

  36. < SWS ─ ■ ■ ■ ■ ■ ■ LAR LFS Sliding Window • When an ACK is received sender moves LAR 1 position to the right, allowing next frame (after LFS) to be transmitted • Also sender has a timer for each frame; • if timer expires before ACK received → retransmit frame • Sender has to buffer SWS frames since it may have to retransmit any one of them

  37. Receiver maintains 3 variables. • Receive Windows Size (RWS): Max number of out of order frames receiver is willing to accept. • LFA: Sequence number of Last Frame Acceptable • NFE: Sequence Next Frame Expected. • Must have LFA-NFE+1 ≤ RWS

  38. < ─ RWS 6 7 9 ■ ■ ■ ■ ■ ■ NFE LFA • Example: • For NFE=5 (last ACK sent for frame 4) & RWS=8 • LFA=12 • When Receiver gets a frame with sequence number = n • If n < NFE or n > LFA → Frame is discarded • If NFE ≤ n ≤ LFA → Frame is accepted. 12

  39. Updating NFE & LFA • Sequence Number To ACK: • Largest sequence number not yet ACK’ed • All frames with sequence number <Sequence number to ACK have been received • The receiver ACK’s receipt of sequence Number to Ack even if higher numbered packets have been received. • It then sets: • NFE = Sequence number to ACK + 1 & • LFA = Sequence number to ACK + RWS

  40. Example NFE LFA • For NFE=5 & RWS=8 LFA=12 • Let frame 6,7&9 arrive before 5 • Now when 5 arrives: • Sequence Number To Ack = 7 • Receiver sends ACK for frame 7 and sets • NFE = 8 • LFA=15 • If frame8 arrives next what will be the values for NFE and LFA ? RWS RWS 5 6 7 ■ ■ ■ ■ ■ ■ 9 4 ■ ■ ■ ■ ■ ■ NFE LFA NFE LFA

  41. Variations on ACK Receiver can send negative ACK(NAK) for 5 as soon as 6 arrives → unnecessary as senders timeout can catch this & it adds complexity to receiver. Send additional ACK for frame 4 when 6&7 arrive duplicate ACK’s (eg for 4) help sender to know a frame was lost Selective ACK’s : Receiver ACK each frame received receiver would ACK 6&7 as soon as they arrive → More info for sender → easier to keep pipe full → but more complex implementation. • SWS depends on delayXBW(RTT) • RWS can be anything: usually RWS=1 , or RWS =SWS

  42. Finite Sequence Numbers • Sequence number specified by a header field of finite size: • can’t go infinitely high • e.g. 3 bit field → 8 sequence number • Sequence numbers wrap around. • Problem: differentiate between different incarnations of same sequence number. • SWS < (Max sequence number +1) /2 • So, protocol alterates between 2 halves of the sequence number space. • Actually continually slides between 2 halves  sliding window protocol

  43. Direct Link Networks * Encoding:Convert bits to signals on the link (wire or fiber) so they can be understood by the receiving host. * Framing: Delineate the sequence of bits transmitted over link. detecting the beginning and end of a frame * Error Detection: Detect errors (may be correction also ) introduced in the transmission medium due to noise/distortion. * Reliable delivery: Make link appear reliable even though it can introduce errors. Media Access Control: Specify how individual host can access a shared medium fairly.

  44. Shared Media Access • Two nodes should not transmit at the same time • Each node should have a fair chance to access the media • Wired • Ethernet • Token Ring • Wireless • 802.11

  45. Physical properties • EN segments can be joined by repeaters: • no more than 4 repeater between any 2 hosts→ • maximum reach of EN=2500m. • Any signal placed on the EN by a host is broadcast over entire network • signal propagated in both directions and • repeaters forward signals on all outgoing segments. • Terminators at end of each segment to absorb signals and keep them from “bouncing back” and interfering with other signals.

  46. Ethernet 8 • Uses CSMA/CD • Preamble: sequence of alternating 0’s and 1’s • allows receiver to synch with clock. • Source and Destination Address: • Each 48-bits; globally unique • Type: Identifies the higher level protocol • Body: • up to 1500 bytes of data • minimum 46 bytes data – why? • required to detect collision • host may have to pad frame Post amble

  47. Token Rings (FDDI) • consists of a set of nodes connected in a ring, e.g. FDDI (Fiber Distributed Data Interface). • data flows in one particular direction around ring, each node receives data from its upstream neighbor. • a single shared medium rather than a set of point-to-point links connected in a ring. • distributed algorithm controls who gets to transmit and • all nodes see all frames. • Token: • A special sequence of bits circulating around the ring. • Each node receives and than forwards the token.

  48. Frame Format • Unique bit sequence denoting begin & end of frame. • Frame up to 4500 bytes long including header info →4500-22=4478 bytes of data. • Control field: 1st bit indicates asynch (0) or synch (1) data 2nd bit indicates 16 bits (0) or 48 bit(1) address being used Last 6 bit indicates demux key similar to type field in EN Certain frame types do not identify a hlp but are used internally, e.g. token itself, claim frame • Status: used by destination to send info back e.g. If there was an error. If it copied frame (i.e. had enough buffer space).

  49. Transmission Protocol • When a node with frame to transmit sees the token, it takes it off the ring (i.e. does not forward) and inserts its frame into the ring. • Each node forwards the frame and destination node saves a copy before forwarding. • When frame reaches source, it takes frame off ring and reinserts token. • Now some downstream node has chance to transmit frame. • Fair: each node (eventually) gets chance to transmit • node serviced in round–robin fashion.

  50. Timed-Token Algorithm • Token Holding Time (THT): max amount of time a node is allowed to hold token. • THT = a means a node transmits as much data as it has before releasing token. • More bytes a node can send each time it has token (i.e. a higher THT)->higher utilization of ring. • disadvantages: not good if multiple nodes have data to send • favors nodes with more data, even if a small message needs to be delivered as soon as possible. ∴Balance is needed

More Related