1 / 46

Data Link Layer part two

Data Link Layer part two. How LANs work Switching The ARP protocol Data link reliability Interconnecting LANs Hubs, bridges, routers. LAN technologies. LAN Addresses and ARP - 1. 32-bit IP address: network-layer address used to get datagram to destination network

jeaned
Download Presentation

Data Link Layer part two

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. Data Link Layer part two • How LANs work • Switching • The ARP protocol • Data link reliability • Interconnecting LANs • Hubs, bridges, routers

  2. LAN technologies

  3. LAN Addresses and ARP - 1 32-bit IP address: • network-layer address • used to get datagram to destination network • E.g. 138.23.169.129 LAN (or MAC or physical) address: • used to get datagram from one interface to another physically-connected interface (same network) • 48 bit MAC address (for most LANs) burned in the adapter ROM • E.g. 20:30:65:25:5a:93

  4. LAN Addresses and ARP - 2 Each adapter on LAN has unique LAN address

  5. LAN Address (more) • MAC address allocation administered by IEEE • manufacturer buys portion of MAC address space (to assure uniqueness) • Analogy: (a) MAC address: like Social Security Number (b) IP address: like postal address • MAC flat address => portability • can move LAN card from one LAN to another • IP hierarchical address NOT portable • depends on network to which one attaches

  6. IP vs MAC address • IP address refers to communicating end points • used in network layer to find path • MAC or physical address refers to physically connected machines • Data link layer to find next hop

  7. 223.1.1.1 223.1.2.1 E B A 223.1.1.2 223.1.2.9 223.1.1.4 223.1.2.2 223.1.3.27 223.1.1.3 223.1.3.2 223.1.3.1 Data Link and Routing Starting at A, given IP datagram addressed to B: • look up net. address of B, find B on same net. as A • link layer send datagram to B inside link-layer frame frame source, dest address datagram source, dest address A’s IP addr B’s IP addr B’s MAC addr A’s MAC addr IP payload datagram frame

  8. ARP: Address Resolution Protocol Question: how to determine MAC address of B given B’s IP address? • Each IP node (Host, Router) on LAN has ARPmodule, table • ARP Table: IP/MAC address mappings for some LAN nodes < IP address; MAC address; TTL> < ………………………….. > • TTL (Time To Live): time after which address mapping will be forgotten (typically 20 min)

  9. ARP protocol: in one LAN • A knows B's IP address, wants to learn physical address of B • A broadcasts ARP query pkt, containing B's IP address • all machines on LAN receive ARP query • B receives ARP packet, replies to A with its (B's) physical layer address • A caches (saves) IP-to-physical address pairs until information becomes old (times out) • soft state: information that times out (goes away) unless refreshed

  10. Routing to another LAN - 1 Walkthrough: routing from A to B via R

  11. Routing to another LAN - 2 • A creates IP packet with source A, destination B • Routing: A finds that R is next hop • A uses ARP to get R’s physical layer address for 111.111.111.110 • A creates Ethernet frame with • R's physical address as dest, • A, B IP datagram • A’s data link layer sends Ethernet frame

  12. Routing to another LAN - 3 • R’s data link layer receives Ethernet frame • R removes IP datagram from Ethernet frame, sees its destined to B • R uses ARP to get B’s physical layer address • R creates frame containing A-to-B IP datagram sends to B

  13. Data Link Reliability

  14. 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. • Note this is reliability at the data link layer • Similar considerations appear at the transport layer • TCP has reliability

  15. 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

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

  17. 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 Kbytes 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.

  18. Sliding Window • What we really like is that the 9th frame be transmitted when ACK for the first frame arrives :). • Sliding window: • 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.

  19. 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 • NOTE 2: Initially we will consider “cumulative ACKs” • ACK frame seq-no=15 means I have received all packets including 15.

  20. < SWS ─ ■ ■ ■ ■ ■ ■ LAR LFS Sender Functions k k+1 • When an ACK is received, the LAR moves to the right. • This allows for the transmission of an additional frames.

  21. < ─ 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 frame is outside window discard. • Seq_Num <= LFR or Seq Num > LAF • If frame within window, accept frame. • LFR < Seq_Num < LAF. • Send an ACK, if needed • Let Seq_Num_to_Ack be the largest seq-number • That I can ACK , (all frames <= Seq_Num_to_Ack have been received) • yet to be acked. • If have not sent ACK yet, send an ACK • Adjust parameters: • LFR = Seq_Num_to_Ack • Adjust LAF = LFR + RWS.

  22. 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.

  23. 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.

  24. Setting the Window Size • Sender window: SWS, set considering the BW delay product and link quality • How many packets should be “on flight”? • Receiver window: RWS, set to something appropriate -- may depend on buffering resources. • If RWS = 1 what happens to out of order frames ?

  25. 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 ?

  26. 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. • Assume 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. • Example: consider MaxSeqNum = 1 (one bit) • I can only send one packet at a time, alternating between 1 and 0

  27. 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.

  28. Interconnecting LANs • Hubs • Bridges • Routers

  29. Interconnecting LANs Q: Why not just one big LAN? • Limited amount of supportable traffic: on single LAN, all stations must share bandwidth • Limited length: 802.3 specifies maximum cable length • Large “collision domain” (can collide with many stations) • Limited number of stations: 802.5 have token passing delays at each station

  30. Overview: Order of increasing “intelligence’ • Hubs: • repeat everything to all ports except the incoming • only on tree topologies (otherwise -> loops) • Bridges: even with non-tree topologies • Select a tree structure and use only that • Default: behave like a hub • Learn: if known, forward only towards destination • Routers: • Handle arbitrary topologies • Perform complex routing decisions

  31. Hubs - 1 • Physical Layer devices: essentially repeaters operating at bit levels: repeat received bits on one interface to all other interfaces • Each connected LAN referred to as LAN segment • Hubs do not isolate collisiondomains: node may collide with any node residing at any segment in LAN

  32. Hub Advantages • simple, inexpensive device • Multi-tier provides graceful degradation: portions of the LAN continue to operate if one hub malfunctions • extends maximum distance between node pairs (100m per Hub)

  33. Hub limitations • Single collision domain results in no increase in max throughput • multi-tier throughput same as single segment throughput • Individual LAN restrictions pose limits on number of nodes in same collision domain and on total allowed geographical coverage • Cannot connect different Ethernet types (e.g., 10BaseT and 100baseT)

  34. Bridges - 1 • Link Layer devices: operate on Ethernet frames, examining frame header and selectively forwarding frame based on its destination • Bridge isolates collision domains since it buffers frames • When frame is to be forwarded on segment, bridge uses CSMA/CD to access segment and transmit

  35. Bridges - 2 • Bridge advantages: • Isolates collision domains resulting in higher total max throughput, and does not limit the number of nodes nor geographical coverage • Can connect different type Ethernet since it is a store and forward device • Transparent: no need for any change to hosts LAN adapters

  36. Bridges: frame filtering, forwarding • Bridges filter packets • Same-LAN -segment frames not forwarded onto other LAN segments • Forwarding: • How to know which LAN segment on which to forward frame? • Looks like a routing problem (more shortly!)

  37. Backbone Bridge

  38. Bridge Filtering - 1 • Bridges learn which hosts can be reached through which interfaces: maintain filtering tables • when frame received, bridge “learns” location of sender: incoming LAN segment • records sender location in filtering table • Filtering table entry: • (Node LAN Address, Bridge Interface, Time Stamp) • stale entries in Filtering Table dropped (TTL can be 60 minutes)

  39. Bridge Filtering - 2 • Filtering procedure: if destination is on LAN on which frame was received then drop the frame else { lookup filtering table if entry found for destination then forward the frame on interface indicated; else flood; /* forward on all but the interface on which the frame arrived*/ }

  40. Bridge Learning: example - 1 Suppose C sends frame to D and D replies back with frame to C • C sends frame, bridge has no info about D, so floods to both LANs • bridge notes that C is on port 1 • frame ignored on upper LAN • frame received by D

  41. Bridge Learning: example - 2 C | 1 • D generates reply to C, sends • bridge sees frame from D • bridge notes that D is on interface 2 • bridge knows C on interface 1, so selectively forwards frame out via interface 1

  42. Disabled Bridges Spanning Tree • For increased reliability, desirable to have redundant, alternate paths from source to dest • With multiple simultaneous paths, cycles result - bridges may multiply and forward frame forever • Solution: organize bridges in a spanning tree by disabling subset of interfaces

  43. The Spanning Tree Algorithm • Purpose: select a subset of ports for fwd-ing • Root bridge election: lowest ID wins • Each bridge: select one port towards root • Shortest path to root (break ties) • In each LAN: select designated bridge - select port • Root is designated for all adjacent LANs • Designated bridge: fwds frames towards root • Select the bridge closest to root (IDs to break ties) • Note: a bridge can be designated for many LANs • Active ports: the selected ones, others are stand by PetDavie 3.2.2 for more details

  44. WWF Bridges vs. Routers • Both store-and-forward devices • routers: network layer devices (examine network layer headers) • bridges are Link Layer devices • Routers maintain routing tables, implement routing algorithms • Bridges maintain filtering tables, implement filtering, learning and spanning tree algorithms

  45. Routers vs. Bridges - 1 Bridges + and - + Bridge operation is simpler requiring less processing bandwidth - Topologies are restricted with bridges: a spanning tree must be built to avoid cycles - Bridges do not offer protection from broadcast storms (endless broadcasting by a host will be forwarded by a bridge)

  46. Routers vs. Bridges - 2 Routers + and - + arbitrary topologies can be supported, cycling is limited by TTL counters (and good routing protocols) + provide firewall protection against broadcast storms - require IP address configuration (not plug and play) - require higher processing bandwidth • Bridges do well in small (few hundred hosts) while routers used in large networks (thousands of hosts)

More Related