Chuyên đề mạng thế hệ mới mạngChuyên đề mạng thế hệ mới mạngChuyên đề mạng thế hệ mới mạngChuyên đề mạng thế hệ mới mạngChuyên đề mạng thế hệ mới mạngChuyên đề mạng thế hệ mới mạngChuyên đề mạng thế hệ mới mạngChuyên đề mạng thế hệ mới mạngChuyên đề mạng thế hệ mới mạngChuyên đề mạng thế hệ mới mạng
Addressing Prométhée Spathis promethee.spathis@{lip6,upmc}.fr http://www-rp.lip6.fr/~spathis/ What is Addressing? • Providing suitable identifiers to nodes – So you can direct data to a node – So you know which node sent the data – … and how to send data back to that node • Addressing in the French mail – Zip code: 94110 – Street: place Jussieu – Building on street: 4 – Room in building: 109 – Name of occupant: Prométhée Spathis ??? 4 What is Routing? • A famous quotation from RFC 791 “A name indicates what we seek. An address indicates where it is. A route indicates how we get there.” Jon Postel 5 Forwarding vs. Routing • Forwarding: data plane – Directing a data packet to an outgoing link – Individual router using a forwarding table • Routing: control plane – Computing paths the packets will follow – Routers talking amongst themselves – Individual router creating a forwarding table 6 Why Does Routing Matter? • End-to-end performance – Quality of the path affects user performance – Propagation delay, throughput, and packet loss • Use of network resources – Balance of the traffic over the routers and links – Avoiding congestion by directing traffic to lightly- loaded links • Transient disruptions during changes – Failures, maintenance, and load balancing – Limiting packet loss and delay during changes Overview of Today’s Lecture • Two widely-used addressing schemes – Medium Access Control (MAC) addresses – Internet Protocol (IP) addresses • Key concepts in addressing – Number of unique addresses – Allocating addresses to nodes – Flat vs. hierarchical structure – Persistent vs. temporary identifiers – Handling diminishing address space – Spoofing of source addresses Some Questions • Could every host on the Internet have an arbitrary, unique numerical address? – Would it scale? • If hierarchy is necessary, how to do it? – Tying the addressing to the topology & routing? – What about mobile hosts? Temporary addresses? • Who should allocate the addresses? – Network provider? Device manufacturer? • Does the sender of the traffic need to authenticate itself? The destination? – What about spoofing and impersonation? Comparing MAC and IP Addresses MAC IP Assignment Hard-coded in the adaptor Configured or learned Size 48 bits 32 bits (in v4) Structure Flat Hierarchical Portability Constant over life of the adapter Changes with time and location Purpose Delivery within a single network Delivery across an inter-network E.g., social security number vs. postal address MAC Addresses MAC Addresses • Flat name space of 48 bits – Typically written in six octets in hex – E.g., 00-15-C5-49-04-A9 for my Ethernet • Organizationally unique identifier – Assigned by IEEE Registration Authority – Determines the first 24 bits of the address – E.g., 00-15-C5 corresponds to “SONY VAIO” • Remainder of the MAC address – Allocated by the manufacturer – E.g., 49-04-A9 for my Ethernet card Scalability Challenges • MAC addresses are flat – Multiple hosts on the same network – No relationship between MAC addresses • Data plane – Forwarding based on MAC address – Table size? Look-up overhead? • Control plane – Determining where the host is located – Keeping the information up-to-date Forwarding Frames to Destination Adapter • Shared media – Forward all frames on the shared media – Adapter grabs frames with matching dest address • Multi-hop switched networks – Flood every frame over every link? – Learn where the MAC address is located? host host host host host host host When to Learn? • When the adapter connects to the network? – Requires adaptor to register its presence – Overhead even when not sending/receiving – Leading to control messages and large tables • When the adapter sends a frame? – Source MAC address is in the frame – Allows switch to learn about the adapter • When the adapter needs to receive a frame? – Destination MAC address is in the frame – Switch needs to figure out how to get there Motivation For Self Learning • Switches forward frames selectively – Forward frames only on segments that need them • Switch table – Maps dest MAC address to outgoing interface – Goal: construct the switch table automatically switch A B C D Self Learning: Building the Table • When a frame arrives – Inspect the source MAC address – Associate the address with the incoming interface – Store the mapping in the switch table – Use a TTL field to eventually forget the mapping A B C D Switch learns how to reach A. Self Learning: Handling Misses • When frame arrives with unfamiliar dest – Forward the frame out all of the interfaces – … except for the one where the frame arrived – Hopefully, this case won’t happen very often A B C D Switch floods frame that is destined to C. Switch Filtering/Forwarding When switch receives a frame: index switch table using MAC dest address if entry found for destination then { if dest on segment from which frame arrived then drop the frame else forward the frame on interface indicated } else flood forward on all but the interface on which the frame arrived 20 Flooding Can Lead to Loops • Switches sometimes need to broadcast frames – Upon receiving a frame with an unfamiliar destination – Upon receiving a frame sent to the broadcast address • Broadcasting is implemented by flooding – Transmitting frame out every interface – … except the one where the frame arrived • Flooding can lead to forwarding loops – E.g., if the network contains a cycle of switches – Either accidentally, or by design for higher reliability 21 Solution: Spanning Trees • Ensure the topology has no loops – Avoid using some of the links when flooding – … to avoid forming a loop • Spanning tree – Sub-graph that covers all vertices but contains no cycles – Links not in the spanning tree do not forward frames 22 Constructing a Spanning Tree • Need a distributed algorithm – Switches cooperate to build the spanning tree – … and adapt automatically when failures occur • Key ingredients of the algorithm – Switches need to elect a “root” • The switch with the smallest identifier – Each switch identifies if its interface is on the shortest path from the root • And it exclude from the tree if not – Messages (Y, d, X) • From node X • Claiming Y is the root • And the distance is d root One hop Three hops [...]... Longest Prefix Match Forwarding • Forwarding tables in IP routers – Maps each IP prefix to next-hop link(s) • Destination-based forwarding – Packet has a destination address – Router identifies longest-matching prefix – Pushing complexity into forwarding decisions forwarding table destination 12.34.158.5 4.0.0.0/8 4.83.128.0/17 12.0.0.0/8 12.34.158.0/24 126.255.103.0/24 outgoing link Serial0/0.1 Are 32-bit... 5.6.7.0/24 forwarding table router WAN router Easy to Add New Hosts • No need to update the routers – E.g., adding a new host 5.6.7.213 on the right – Doesn’t require adding a new forwarding entry 1.2.3.4 1.2.3.7 1.2.3.156 host host 5.6.7.8 5.6.7.9 5.6.7.212 host host host host LAN 2 LAN 1 router WAN router WAN router host 5.6.7.213 1.2.3.0/24 5.6.7.0/24 forwarding table Classful Addressing (and Dotted... providers 42 Scalability Through Hierarchy • Hierarchical addressing – Critical for scalable system – Don’t require everyone to know everyone else – Reduces amount of updating when something changes • Non-uniform hierarchy – Useful for heterogeneous networks of different sizes – Initial class-based addressing was far too coarse – Classless InterDomain Routing (CIDR) helps • Next few slides – Plots are # of... recompute the spanning tree • Root switch continues sending messages – Periodically reannouncing itself as the root (1, 0, 1) – Other switches continue forwarding messages • Detecting failures through timeout (soft state!) – Switch waits to hear from others – Eventually times out and claims to be the root 26 6 MAC Addresses • Disadvantages – Large forwarding tables in the data plane – Flooding overhead to... Addressing: Scalability Through Hierarchy • Hierarchy through IP prefixes – Routing between networks – Allocation of address blocks • Non-uniform hierarchy – More efficient address allocation – More complex packet forwarding • Dealing with limited address space – Larger address space (IPv6 with 128 bits) – Sharing a small set of addresses (NAT) – Dynamic assignment of addresses (DHCP) Grouping Related... things – Physical layer: electrical signals (repeaters, hubs) – Link layer: frames (bridges, switches) – Network layer: packets (routers) • Key ideas in switches – Self learning of the switch table – Cut-through switching – Spanning trees • Virtual LANs (VLANs) Frame Packet TCP header header header User data IP Addresses Application gateway Transport gateway Router Bridge, switch Repeater, hub IP Addressing: ...Steps in Spanning Tree Algorithm • Initially, each switch thinks it is the root – Switch sends a message out every interface – … identifying itself as the root with distance 0 – Example: switch X announces (X, 0, X) • Switches update their view of the root – Upon receiving a message, check the root id – If the new id is smaller, start viewing that switch as root • Switches compute... Short-term solutions: limping along with IPv4 – Private addresses – Network address translation (NAT) 54 – Dynamically-assigned addresses (DHCP) Short-Term Solutions: Limping Along • Network Address Translation (ARES) – Allowing multiple hosts to share an IP address – IP addresses not unique and not end-to-end 138.76.29.7 10.0.0.1 NAT 10.0.0.2 outside inside Short-Term Solutions: Limping Along • Dynamic... identifier (well, except for spoofing) – Mobile hosts are easy to handle – Forwarding-table look-up is a simple match Christian: Internet Control Protocols • Dynamic Host Configuration Protocol (DHCP) – End host learns how to send packets – Learn IP address, DNS servers, and gateway • Address Resolution Protocol (ARP) – Others learn how to send packets to the end host – Learn mapping between IP and MAC addresses... Deployed (1994-1996): Much Flatter 45 Efforts to aggregate (even decreases after IETF meetings!) CIDR Growth (1996-1998): Roughly Linear 46 Good use of aggregation, and peer pressure in CIDR report Boom Period (1998-2001): Steep Growth 47 Internet boom and increased multi-homing Long-Term View (1989-2005): Post-Boom 48 Obtaining a Block of Addresses • Separation of control – Prefix: assigned to an institution