Welcome to CS 3516: Advanced Computer Networks Prof. Yanhua Li Time: 9:00am 9:50am M, T, R, and F Location: Fuller 320 Fall 2017 A-term 1 Some slides are originally from the course materials of the textbook Computer Networking: A Top Down Approach, 7th edition, by Jim Kurose, Keith Ross, Addison-Wesley March 2016. Copyright 1996-2017 J.F Kurose and K.W. Ross, All Rights Reserved.
Quiz 8 has been graded Link Layer 5-2
Quiz 8 has been graded Link Layer 5-3
Link layer, LANs: outline 6.1 introduction, services 6.2 error detection, correction 6.3 multiple access protocols 6.4 LANs addressing, ARP Ethernet switches Link Layer 5-4
Ethernet: physical topology LAN bus: coaxial cable star switch
Ethernet: physical topology v bus: popular through mid 90s all nodes in same collision domain (can collide with each other) v star: prevails today active switch in center each spoke runs a (separate) Ethernet protocol (nodes do not collide with each other) bus: coaxial cable LAN: Local area network star switch Link Layer 5-6
MAC addresses and ARP v 32-bit IP address: network-layer address for interface used for layer 3 (network layer) forwarding v Media access control (MAC or LAN or physical or Ethernet) address: function: used locally to get frame from one interface to another physically-connected interface (same network, in IPaddressing sense) 48 bit MAC address (for most LANs) burned in NIC ROM, also sometimes software settable e.g.: 1A-2F-BB-76-09-AD hexadecimal (base 16) notation (each number represents 4 bits) Link Layer 5-7
LAN, MAC addresses each adapter on LAN has unique MAC address 1A-2F-BB-76-09-AD 71-65-F7-2B-08-53 LAN (wired or wireless) 58-23-D7-FA-20-B0 adapter 0C-C4-11-6F-E3-98 LAN: Local area network Link Layer 5-8
LAN addresses (more) v MAC address allocation administered by IEEE v manufacturer buys portion (2 24 ) of MAC address space (to assure uniqueness) v analogy: MAC address: like Social Security Number IP address: like postal address Domain Name: Person name v MAC flat address portability can move LAN card from one LAN to another v IP hierarchical address not portable address depends on IP subnet to which node is attached IEEE: Institute of Electrical and Electronics Engineers Link Layer 5-9
ARP: address resolution protocol Question: how to determine interface s MAC address, knowing its IP address? 137.196.7.23 71-65-F7-2B-08-53 137.196.7.88 LAN 137.196.7.78 1A-2F-BB-76-09-AD 137.196.7.14 58-23-D7-FA-20-B0 0C-C4-11-6F-E3-98 ARP table: each IP node (host, router) on LAN has 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) Link Layer 5-10
ARP protocol: same LAN v A wants to send datagram to B B s MAC address not in A s ARP table. v A broadcasts ARP query packet, containing B's IP address dest MAC address = FF-FF- FF-FF-FF-FF all nodes on LAN receive ARP query v B receives ARP packet, replies to A with its (B's) MAC address frame sent to A s MAC address (unicast) v A caches (saves) IP-to- MAC address pair in its ARP table until information becomes old (times out) soft state: information that times out (goes away) unless refreshed v ARP is plug-and-play : nodes create their ARP tables without intervention from net administrator Link Layer 5-11
Addressing: routing to another LAN walkthrough: send datagram from A to B via R focus on addressing at IP (datagram) and MAC layer (frame) assume A knows B s IP address assume A knows IP address of first hop router, R (how?) assume A knows R s MAC address (how?) A 111.111.111.111 74-29-9C-E8-FF-55 111.111.111.112 CC-49-DE-D0-AB-7D R 111.111.111.110 E6-E9-00-17-BB-4B 222.222.222.220 1A-23-F9-CD-06-9B B 222.222.222.222 49-BD-D2-C7-56-2A 222.222.222.221 88-B2-2F-54-1A-0F Link Layer 5-12
Addressing: routing to another LAN v v A creates IP datagram with IP source A, destination B A creates link-layer frame with R's MAC address as dest, frame contains A-to-B IP datagram MAC src: 74-29-9C-E8-FF-55 MAC dest: E6-E9-00-17-BB-4B IP src: 111.111.111.111 IP dest: 222.222.222.222 IP Eth Phy A 111.111.111.111 74-29-9C-E8-FF-55 R 222.222.222.220 1A-23-F9-CD-06-9B B 222.222.222.222 49-BD-D2-C7-56-2A 111.111.111.112 CC-49-DE-D0-AB-7D 111.111.111.110 E6-E9-00-17-BB-4B 222.222.222.221 88-B2-2F-54-1A-0F Link Layer 5-13
Addressing: routing to another LAN v v frame sent from A to R frame received at R, datagram removed, passed up to IP MAC src: 74-29-9C-E8-FF-55 MAC dest: E6-E9-00-17-BB-4B IP src: 111.111.111.111 IP src: 111.111.111.111 IP dest: 222.222.222.222 IP dest: 222.222.222.222 IP Eth Phy A 111.111.111.111 74-29-9C-E8-FF-55 111.111.111.112 CC-49-DE-D0-AB-7D IP Eth Phy R 111.111.111.110 E6-E9-00-17-BB-4B 222.222.222.220 1A-23-F9-CD-06-9B B 222.222.222.222 49-BD-D2-C7-56-2A 222.222.222.221 88-B2-2F-54-1A-0F Link Layer 5-14
Addressing: routing to another LAN v v R forwards datagram with IP source A, destination B R creates link-layer frame with B's MAC address as dest, frame contains A-to-B IP datagram IP Eth Phy MAC src: 1A-23-F9-CD-06-9B MAC dest: 49-BD-D2-C7-56-2A IP src: 111.111.111.111 IP dest: 222.222.222.222 IP Eth Phy A 111.111.111.111 74-29-9C-E8-FF-55 R 222.222.222.220 1A-23-F9-CD-06-9B B 222.222.222.222 49-BD-D2-C7-56-2A 111.111.111.112 CC-49-DE-D0-AB-7D 111.111.111.110 E6-E9-00-17-BB-4B 222.222.222.221 88-B2-2F-54-1A-0F Link Layer 5-15
Addressing: routing to another LAN v v R forwards datagram with IP source A, destination B R creates link-layer frame with B's MAC address as dest, frame contains A-to-B IP datagram IP Eth Phy MAC src: 1A-23-F9-CD-06-9B MAC dest: 49-BD-D2-C7-56-2A IP src: 111.111.111.111 IP dest: 222.222.222.222 IP Eth Phy A 111.111.111.111 74-29-9C-E8-FF-55 R 222.222.222.220 1A-23-F9-CD-06-9B B 222.222.222.222 49-BD-D2-C7-56-2A 111.111.111.112 CC-49-DE-D0-AB-7D 111.111.111.110 E6-E9-00-17-BB-4B 222.222.222.221 88-B2-2F-54-1A-0F Link Layer 5-16
Addressing: routing to another LAN v v R forwards datagram with IP source A, destination B R creates link-layer frame with B's MAC address as dest, frame contains A-to-B IP datagram MAC src: 1A-23-F9-CD-06-9B MAC dest: 49-BD-D2-C7-56-2A IP src: 111.111.111.111 IP dest: 222.222.222.222 IP Eth Phy A 111.111.111.111 74-29-9C-E8-FF-55 R 222.222.222.220 1A-23-F9-CD-06-9B B 222.222.222.222 49-BD-D2-C7-56-2A 111.111.111.112 CC-49-DE-D0-AB-7D 111.111.111.110 E6-E9-00-17-BB-4B 222.222.222.221 88-B2-2F-54-1A-0F Link Layer 5-17
Link layer, LANs: outline 6.1 introduction, services 6.2 error detection, correction 6.3 multiple access protocols 6.4 LANs addressing, ARP Ethernet switches Link Layer 5-18
Ethernet frame structure sending adapter encapsulates IP datagram (or other network layer protocol packet) in Ethernet frame preamble preamble: dest. address source address type data (payload) CRC-32 8 6 6 2 4 26bytes overhead v 7 bytes with pattern 10101010 followed by one byte with pattern 10101011 v used to synchronize receiver, sender clock rates Link Layer 5-19
Ethernet frame structure (more) v addresses: 6 byte source, destination MAC addresses if adapter receives frame with matching destination address, or with broadcast address (e.g. ARP packet), it passes data in frame to network layer protocol otherwise, adapter discards frame v type: (2 bytes) indicates higher layer protocol (mostly IP but others possible, e.g., Novell IPX, AppleTalk) v CRC-32: (4 bytes)cyclic redundancy check at receiver error detected: frame is dropped type preamble dest. address source address data (payload) CRC Link Layer 5-20
Link layer, LANs: outline 6.1 introduction, services 6.2 error detection, correction 6.3 multiple access protocols 6.4 LANs addressing, ARP Ethernet switches Link Layer 5-21
Ethernet switch v link-layer device: takes an active role store, forward Ethernet frames examine incoming frame s MAC address, selectively forward frame to one-or-more outgoing links v transparent hosts are unaware of presence of switches v plug-and-play, self-learning switches do not need to be configured switch star Link Layer 5-22
Switch: multiple simultaneous transmissions v switches buffer packets v no collisions; v full duplex v switching: A-to-A and B-to-B can transmit simultaneously, without collisions C 6 5 A 1 2 4 3 B B C A switch with six interfaces (1,2,3,4,5,6) Link Layer 5-23
Switch forwarding table Q: how does switch know A reachable via interface 4, B reachable via interface 5? v A: each switch has a switch table, each entry: (MAC address of host, interface to reach host, time stamp) looks like a routing table! Q: how are entries created, maintained in switch table? something like a routing protocol? C 6 5 A A 1 2 B C 4 3 switch with six interfaces (1,2,3,4,5,6) B Link Layer 5-24
Switch: self-learning Source: A Dest: A v switch learns which hosts can be reached through which interfaces when frame received, switch learns location of sender: incoming LAN segment records sender/location pair in switch table A A A C 6 1 2 5 4 3 B C A B MAC addr interface TTL A 1 60 min Switch table (initially empty) Link Layer 5-25
Switch: frame filtering/forwarding when frame received at switch: 1. record incoming link, MAC address of sending host 2. check switch table using MAC destination address 3. if entry found for destination then { if destination on segment from which frame arrived then drop frame else forward frame on interface indicated by entry } else flood /* forward on all interfaces except arriving interface */ Link Layer 5-26
Self-learning, forwarding: example Source: A Dest: A v frame destination, A, locaton unknown: flood v destination A location known: selectively send on just one link A A A C 6 1 2 A A 5 4 3 B C A A A B MAC addr interface TTL A 1 60min switch table A 4 60 (initially empty) Link Layer 5-27
Interconnecting switches v switches can be connected together S 4 A B S 1 C S 2 D E F G S 3 H I Q: sending from A to G - how does S 1 know to forward frame destined to F via S 4 and S 3? v A: self learning! (works exactly the same as in single-switch case!) Link Layer 5-28
Switches vs. routers both are store-and-forward: routers: network-layer devices (examine networklayer headers) switches: link-layer devices (examine link-layer headers) datagram frame application transport network link physical switch link physical frame both have forwarding tables: routers: compute tables using routing algorithms, IP addresses switches: learn forwarding table using flooding, learning, MAC addresses application transport network link physical network link physical datagram frame Link Layer 5-29
Questions? Link Layer 5-30
Sample questions for final will be ready by tomorrow morning We will review it in the class on next Tuesday Final exam, next Thursday 31
Next Monday Quiz 9 w/ bonus points Topics include link layer error detection, Ethernet frame format, and ARP Next Tuesday two deadlines Project 3 Lab 3 (Bonus assignment) 32
Office hours today 10-10:30AM AK 130 11AM-12PM AK 130 1-3PM TA office by John 33
Class evaluation. v Black or blue ink (no markers and pencils) Mark selected response with an X Two volunteers: return to Academic Advising in Daniel Hall Link Layer 5-34