COMS/CSEE 4140 Networking Laboratory Lecture 02 Salman Abdul Baset Spring 2008 Previous lecture… Introduction to the lab equipment A simple TCP/IP example Overview of important networking concepts 2 Previous lecture… Web request Web page Web client Web server A user on host argon.netlab.edu (“Argon”) makes web access to URL http://neon.netlab.edu/index.html. What actually happens in the network? 3 Agenda Administrivia MICE access, lab groups. Data Link Protocols Address Resolution Protocol (ARP) Internet Protocol (IP) 4 Terminology Frame Packet Data link layer terminology for a data unit Includes error correction Network layer and above PDU Protocol specific 5 TCP/IP Suite and OSI Reference Model • The TCP/IP protocol stack does not define the lower layers of a complete protocol stack •How does the TCP/IP protocol stack interface with the data link layer? Application Layer Transport Layer Network Layer (Data) Link Layer Logical Link Control (LLC) Media Access Control (MAC) Sublayer in Local Area Networks 6 Data Link Layer The main tasks of the data link layer are: Transfer data from the network layer of one machine to the network layer of another machine Convert the raw bit stream of the physical layer into groups of bits (“frames”) Network Layer Data Link Layer Network Layer Data Link Layer Physical Layer Physical Layer 7 Two types of networks at the data link layer Broadcast Networks: All stations share a single communication channel Point-to-Point Networks: Pairs of hosts (or routers) are directly connected Broadcast Network Point-to-Point Network Typically, local area networks (LANs) are broadcast and wide area networks (WANs) are point-to-point 8 Local Area Networks Local area networks (LANs) connect computers within a building or a enterprise network Almost all LANs are broadcast networks Typical topologies of LANs are bus or ring or star We will work with Ethernet LANs. Ethernet has a bus or star topology. Comparing topologies: workstation vs. cable failure? Bus LAN Ring LAN Star LAN 9 MAC and LLC In any broadcast network, the stations must ensure that only one station transmits at a time on the shared communication channel The protocol that determines who can transmit on a broadcast channel are called Medium Access Control (MAC) protocol to Network Layer The MAC protocol are implemented Logical Link Control in the MAC sublayer which is the Medium Access lower sublayer of the data link layer Control The higher portion of the data link to Physical Layer layer is often called Logical Link Control (LLC) Data Link Layer 10 IEEE 802 Standards IEEE 802 is a family of standards for LANs, which defines an LLC and several MAC sublayers IEEE 802 standard IEEE Reference Model 802.1 Logical Link Control 802.2 802.11 802.5 802.4 802.3 Medium Access Control Physical Layer Higher Layer Data Link Layer Physical Layer 11 Ethernet and IEEE 802.3: Any Difference? There are two types of Ethernet frames in use, with subtle differences: “Ethernet” (Ethernet II, DIX) 802.3: An industry standards from 1982 that is based on the first implementation of CSMA/CD by Xerox. Predominant version of CSMA/CD in the US. IEEE’s version of CSMA/CD from 1985. Interoperates with 802.2 (LLC) as higher layer. Difference for our purposes: Ethernet and 802.3 use different methods to encapsulate an IP datagram. 12 Ethernet II, DIX Encapsulation (RFC 894) 802.3 MAC destination address source address type data CRC 6 6 2 46-1500 4 0800 IP datagram 2 38-1492 0806 ARP request/reply 2 28 0835 2 PAD 10 RARP request/reply PAD 28 10 13 IEEE 802.2/802.3 Encapsulation (RFC 1042) 802.3 MAC 802.2 LLC 802.2 SNAP destination address source address length DSAP AA SSAP AA cntl 03 org code 0 type data CRC 6 6 2 1 1 1 3 2 38-1492 4 0800 IP datagram 2 38-1492 0806 ARP request/reply PAD 2 28 10 - destination address, source address: MAC addresses are 48 bit - length: frame length in number of bytes - DSAP, SSAP: always set to 0xaa - Ctrl: set to 3 - org code: set to 0 - type field identifies the content of the data field - CRC: cylic redundancy check 0835 2 RARP request/reply PAD 28 10 14 Ethernet Speed: Standard: 10 Mbps -10 Gbps 802.3, Ethernet II (DIX) Most popular physical layers for Ethernet: 10Base5 10Base2 10Base-T 100Base-TX 100Base-FX 1000Base-FX 10000Base-FX Thick Ethernet: 10 Mbps coax cable Thin Ethernet: 10 Mbps coax cable 10 Mbps Twisted Pair 100 Mbps over Category 5 twisted pair 100 Mbps over Fiber Optics 1Gbps over Fiber Optics 10Gbps over Fiber Optics (for wide area links) 15 Bus Topology 10Base5 and 10Base2 Ethernets have a bus topology Ethernet 16 Star Topology Starting with 10Base-T, stations are connected to a hub in a star configuration Hub 17 Ethernet Hubs vs. Ethernet Switches An Ethernet switch is a packet switch for Ethernet frames Buffering of frames prevents collisions. Each port is isolated and builds its own collision domain An Ethernet Hub does not perform buffering: Collisions occur if two frames arrive at the same time. Hub Switch CSMA/CD CSMA/CD CSMA/CD CSMA/CD CSMA/CD CSMA/CD CSMA/CD CSMA/CD CSMA/CD CSMA/CD CSMA/CD HighSpeed Backplane CSMA/CD CSMA/CD CSMA/CD Input Buffers CSMA/CD CSMA/CD Output Buffers 18 Point-to-Point (serial) links Many data link connections are point-to-point serial links: Dial-in or DSL access connects hosts to access routers Routers are connected by high-speed point-to-point links Here, IP hosts and routers are connected by a serial cable Data link layer protocols for point-to-point links are simple: Main role is encapsulation of IP datagrams No media access control needed Access Router Modems Dial-Up Access Router Router Router Point-to-Point Links Router 19 Data Link Protocols for Point-toPoint links SLIP (Serial Line IP) (RFC 1055) PPP (Point-to-Point Protocol) (RFC 1661) • • First protocol for sending IP datagrams over dial-up links (from 1988) Encapsulation, not much else Successor to SLIP (1992), with added functionality Used for dial-in and for high-speed routers HDLC (High-Level Data Link) (ISO) • • • Widely used and influential standard (1979) Default protocol for serial links on Cisco routers Actually, PPP is based on a variant of HDLC 20 PPP - IP encapsulation The frame format of PPP is similar to HDLC and the 802.2 LLC frame format: flag addr ctrl 7E FF 03 1 1 1 protocol data CRC flag 7E 2 <= 1500 0021 IP datagram C021 link control data 8021 network control data PPP assumes a duplex circuit Note: PPP does not use addresses Usual maximum frame size is 1500 2 1 21 Additional PPP functionality In addition to encapsulation, PPP supports: multiple network layer protocols (protocol multiplexing) Link configuration Link quality testing Error detection Option negotiation Address notification Authentication The above functions are supported by helper protocols: LCP PAP, CHAP NCP 22 PPP Support protocols Link management: The link control protocol (LCP) is responsible for establishing, configuring, and negotiating a data-link connection. LCP also monitors the link quality and is used to terminate the link. Authentication: Authentication is optional. PPP supports two authentication protocols: Password Authentication Protocol (PAP) and Challenge Handshake Authentication Protocol (CHAP). Network protocol configuration: PPP has network control protocols (NCPs) for numerous network layer protocols. The IP control protocol (IPCP) negotiates IP address assignments and other parameters when IP is used as network layer. 23 Agenda Administrivia Data Link Protocols Address Resolution Protocol (ARP) Internet Protocol (IP) 24 Overview TCP UDP ICMP IP IGMP ARP Network Access RARP Transport Layer Network Layer Link Layer Media 25 ARP (RFC 826) and RARP (RFC 903) Note: The Internet is based on IP addresses Data link protocols (Ethernet, FDDI, ATM) may have different (MAC) addresses The ARP and RARP protocols perform the translation between IP addresses and MAC layer addresses We will discuss ARP for broadcast LANs, particularly Ethernet LANs IP address (32 bit) ARP RARP Ethernet MAC address (48 bit) 26 Processing of IP packets by network device drivers IP Input IP Output Put on IP input queue Yes Yes IP destination = multicast or broadcast ? No IP destination of packet = local IP address ? loopback Driver Put on IP input queue No: get MAC address with ARP Ethernet Driver ARP ARP Packet IP datagram demultiplex Ethernet Frame Ethernet 27 Topology Web request Web page Web client Web server A user on host argon.netlab.edu (“Argon”) makes web access to URL http://neon.netlab.edu/index.html. What actually happens in the network? 28 Address Translation with ARP ARP Request: Argon broadcasts an ARP request to all stations on the network: “What is the hardware address of Router137?” Argon 128.143.137.144 00:a0:24:71:e4:44 Router137 128.143.137.1 00:e0:f9:23:a8:20 ARP Request: What is the MAC address of 128.143.71.1? 29 Address Translation with ARP ARP Reply: Router 137 responds with an ARP Reply which contains the hardware address Argon 128.143.137.144 00:a0:24:71:e4:44 Router137 128.143.137.1 00:e0:f9:23:a8:20 ARP Reply: The MAC address of 128.143.71.1 is 00:e0:f9:23:a8:20 30 ARP Packet Format Ethernet II header Destination address Source address Type 0x8060 6 6 2 ARP Request or ARP Reply 28 10 Hardware type (2 bytes) Hardware address length (1 byte) Padding CRC 4 Protocol type (2 bytes) Protocol address length (1 byte) Operation code (2 bytes) Source hardware address* Source protocol address* Target hardware address* Target protocol address* * Note: The length of the address fields is determined by the corresponding address length fields31 Example ARP Request from Argon: Source hardware address: 00:a0:24:71:e4:44 Source protocol address: 128.143.137.144 Target hardware address: 00:00:00:00:00:00 Target protocol address: 128.143.137.1 ARP Reply from Router137: Source hardware address: 00:e0:f9:23:a8:20 Source protocol address: 128.143.137.1 Target hardware address: 00:a0:24:71:e4:44 Target protocol address: 128.143.137.144 32 ARP Cache Since sending an ARP request/reply for each IP datagram is inefficient, hosts maintain a cache (ARP Cache) of current entries. The entries expire after 20 minutes. Contents of the ARP Cache: (128.143.71.37) at 00:10:4B:C5:D1:15 [ether] on eth0 (128.143.71.36) at 00:B0:D0:E1:17:D5 [ether] on eth0 (128.143.71.35) at 00:B0:D0:DE:70:E6 [ether] on eth0 (128.143.136.90) at 00:05:3C:06:27:35 [ether] on eth1 (128.143.71.34) at 00:B0:D0:E1:17:DB [ether] on eth0 (128.143.71.33) at 00:B0:D0:E1:17:DF [ether] on eth0 33 Proxy ARP Proxy ARP: Host or router responds to ARP Request that arrives from one of its connected networks for a host that is on another of its connected networks. 34 Things to know about ARP What happens if an ARP Request is made for a nonexisting host? Several ARP requests are made with increasing time intervals between requests. Eventually, ARP gives up. On some systems (including Linux) a host periodically sends ARP Requests for all addresses listed in the ARP cache. This refreshes the ARP cache content, but also introduces traffic. Gratuitous ARP Requests: A host sends an ARP request for its own IP address: Useful for detecting if an IP address has already been assigned. 35 Vulnerabilities of ARP 1. 2. 3. Since ARP does not authenticate requests or replies, ARP Requests and Replies can be forged ARP is stateless: ARP Replies can be sent without a corresponding ARP Request According to the ARP protocol specification, a node receiving an ARP packet (Request or Reply) must update its local ARP cache with the information in the source fields, if the receiving node already has an entry for the IP address of the source in its ARP cache. (This applies for ARP Request packets and for ARP Reply packets) Typical exploitation of these vulnerabilities: A forged ARP Request or Reply can be used to update the ARP cache of a remote system with a forged entry (ARP Poisoning) 36 This can be used to redirect IP traffic to other hosts Agenda Administrivia Data Link Protocols Address Resolution Protocol (ARP) Internet Protocol (IP) 37 IP Addresses Structure of an IP address Classful IP addresses Limitations and problems with classful IP addresses Subnetting CIDR IP Version 6 addresses 38 IP Addresses 32 bits version (4 bits) header length Type of Service/TOS (8 bits) flags (3 bits) Identification (16 bits) TTL Time-to-Live (8 bits) Total Length (in bytes) (16 bits) Protocol (8 bits) Fragment Offset (13 bits) Header Checksum (16 bits) Source IP address (32 bits) Destination IP address (32 bits) Ethernet Header IP Header TCP Header Application data Ethernet Trailer Ethernet frame 39 IP Addresses 32 bits 0x4 0x5 0x00 9d08 12810 4410 0102 00000000000002 0x06 8bff 128.143.137.144 128.143.71.21 Ethernet Header IP Header TCP Header Application data Ethernet Trailer Ethernet frame 40 What is an IP Address? An IP address is a unique global address for a network interface Exceptions: Dynamically assigned IP addresses ( DHCP, Lab 7) IP addresses in private networks ( NAT, Lab 7) An IP address: - is a 32 bit long identifier - encodes a network number (network prefix) and a host number 41 Network prefix and host number The network prefix identifies a network and the host number identifies a specific host (actually, interface on the network). network prefix host number How do we know how long the network prefix is? Before 1993: The network prefix is implicitly defined (classbased addressing) or After 1993: The network prefix is indicated by a netmask. 42 Dotted Decimal Notation IP addresses are written in a so-called dotted decimal notation Each byte is identified by a decimal number in the range [0..255]: Example: 10000000 1st Byte = 128 10001111 2nd Byte = 143 10001001 3rd Byte = 137 128.143.137.144 10010000 4th Byte = 144 43 Example Example: ellington.cs.virginia.edu 128.143 137.144 Network address is: 128.143.0.0 Host number is: 137.144 Netmask is: 255.255.0.0 Prefix or CIDR notation: 128.143.137.144/16 (or 128.143) (or ffff0000) Network prefix is 16 bits long 44 Special IP Addresses Reserved or (by convention) special addresses: Loopback interfaces all addresses 127.0.0.1-127.255.255.255 are reserved for loopback interfaces Most systems use 127.0.0.1 as loopback address loopback interface is associated with name “localhost” IP address of a network Host number is set to all zeros, e.g., 128.143.0.0 Broadcast address Host number is all ones, e.g., 128.143.255.255 Broadcast goes to all hosts on the network Often ignored due to security concerns Test / Experimental addresses Certain address ranges are reserved for “experimental use”. Packets should get dropped if they contain this destination address (see RFC 1918): 10.0.0.0 172.16.0.0 - 10.255.255.255 192.168.0.0 - 192.168.255.255 - 172.31.255.255 Convention (but not a reserved address) Default gateway has host number set to ‘1’, e.g., e.g., 192.0.1.1 45 Special IPv4 Addresses (RFC 3330) Addresses CIDR Equivalent Purpose RFC Class # of addresses 0.0.0.0 - 0.255.255.255 0.0.0.0/8 Zero Addresses RFC 1700 A 16,777,216 10.0.0.0 - 10.255.255.255 10.0.0.0/8 Private IP addresses RFC 1918 A 16,777,216 127.0.0.0 - 127.255.255.255 127.0.0.0/8 Localhost Loopback Address RFC 1700 A 16,777,216 169.254.0.0 - 169.254.255.255 169.254.0.0/16 Zeroconf RFC 3330 B 65,536 172.16.0.0 - 172.31.255.255 172.16.0.0/12 Private IP addresses RFC 1918 B 1,048,576 192.0.2.0 - 192.0.2.255 192.0.2.0/24 Documentation and Examples RFC 3330 C 256 192.88.99.0 - 192.88.99.255 192.88.99.0/24 IPv6 to IPv4 relay Anycast RFC 3068 C 256 192.168.0.0 - 192.168.255.255 192.168.0.0/16 Private IP addresses RFC 1918 C 65,536 198.18.0.0 - 198.19.255.255 198.18.0.0/15 Network Device Benchmark RFC 2544 C 131,072 224.0.0.0 - 239.255.255.255 224.0.0.0/4 Multicast RFC 3171 D 268,435,456 240.0.0.0 - 255.255.255.255 240.0.0.0/4 Reserved RFC 1700 E 268,435,456 46 Subnetting Problem: Organizations have multiple networks which are independently managed Solution 1: Allocate a separate network address for each network Difficult to manage From the outside of the organization, each network must be addressable. University Network Engineering School Medical School Library Solution 2: Add another level of hierarchy to the IP addressing structure Subnetting 47 Address Assignment with Subnetting Each part of the organization is allocated a range of IP addresses (subnets or subnetworks) Addresses in each subnet can be administered locally 128.143.0.0/16 University Network 128.143.71.0/24 128.143.136.0/24 Engineering School Medical School 128.143.56.0/24 Library 128.143.121.0/24 48 Basic Idea of Subnetting Split the host number portion of an IP address into a subnet number and a (smaller) host number. Result is a 3-layer hierarchy network prefix network prefix host number subnet number host number extended network prefix Then: Subnets can be freely assigned within the organization Internally, subnets are treated as separate networks Subnet structure is not visible outside the organization 49 Subnetmask Routers and hosts use an extended network prefix (subnetmask) to identify the start of the host numbers 128.143 137.144 network prefix host number 128.143 137 144 network prefix subnet number host number extended network prefix 1111111111111111 1111111100000000 subnetmask 50 Advantages of Subnetting With subnetting, IP addresses use a 3-layer hierarchy: Network Subnet Host Reduces router complexity. Since external routers do not know about subnetting, the complexity of routing tables at external routers is reduced. Note: Length of the subnet mask need not be identical at all subnetworks. 51 Example: Subnetmask 128.143.0.0/16 is the IP address of the network 128.143.137.0/24 is the IP address of the subnet 128.143.137.144 is the IP address of the host 255.255.255.0 (or ffffff00) is the subnetmask of the host When subnetting is used, one generally speaks of a “subnetmask” (instead of a netmask) and a “subnet” (instead of a network) Use of subnetting or length of the subnetmask if decided by the network administrator Consistency of subnetmasks is responsibility of administrator 52 No Subnetting All hosts think that the other hosts are on the same network 128.143.137.32/16 subnetmask: 255.255.0.0 128.143.137.144/16 subnetmask: 255.255.0.0 128.143.71.21/16 subnetmask: 255.255.0.0 128.143.71.201/16 subnetmask: 255.255.0.0 128.143.70.0/16 53 With Subnetting Hosts with same extended network prefix belong to the same network 128.143.137.32/24 128.143.137.144/24 128.143.71.21/24 128.143.71.201/24 subnetmask: 255.255.255.0 subnetmask: 255.255.255.0 subnetmask: 255.255.255.0 subnetmask: 255.255.255.0 128.143.137.0/24 Subnet 128.143.71.0/24 Subnet 128.143.0.0/16 54 With Subnetting Different subnetmasks lead to different views of the size of the scope of the network 128.143.137.32/26 128.143.137.144/26 subnetmask: 255.255.255.192 subnetmask: 255.255.255.192 128.143.137.0/26 Subnet 128.143.71.21/24 128.143.71.201/16 subnetmask: 255.255.255.0 subnetmask: 255.255.0.0 128.143.137.128/26 Subnet 128.143.71.0/24 Subnet 128.143.0.0/16 192: 11000000 144: 10010000 128: 10000000 55 Classful IP Adresses (Until 1993) When Internet addresses were standardized (early 1980s), the Internet address space was divided up into classes: Class A: Network prefix is 8 bits long Class B: Network prefix is 16 bits long Class C: Network prefix is 24 bits long Each IP address contained a key which identifies the class: Class A: IP address starts with “0” Class B: IP address starts with “10” Class C: IP address starts with “110” 56 The old way: Internet Address Classes bit # 0 Class A 1 7 8 31 0 Network Prefix Host Number 8 bits 24 bits bit # 0 1 2 Class B 10 15 16 network id 110 host Network Prefix Host Number 16 bits 16 bits bit # 0 1 2 3 Class C 31 23 24 network id 31 host Network Prefix Host Number 24 bits 8 bits 57 The old way: Internet Address Classes bit # 0 1 2 3 4 Class D 1110 31 multicast group id bit # 0 1 2 3 4 5 Class E 11110 31 (reserved for future use) We will learn about multicast addresses later in this course. 58 Problems with Classful IP Addresses By the early 1990s, the original classful address scheme had a number of problems Flat address space. Routing tables on the backbone Internet need to have an entry for each network address. When Class C networks were widely used, this created a problem. By the 1993, the size of the routing tables started to outgrow the capacity of routers. Other problems: Too few network addresses for large networks Class A and Class B addresses were gone Limited flexibility for network addresses: Class A and B addresses are overkill (>64,000 addresses) Class C address is insufficient (requires 40 Class C addresses) 59 Allocation of Classful Addresses 60 CIDR - Classless Interdomain Routing IP backbone routers have one routing table entry for each network address: With subnetting, a backbone router only needs to know one entry for each Class A, B, or C networks This is acceptable for Class A and Class B networks 27 = 128 Class A networks 214 = 16,384 Class B networks But this is not acceptable for Class C networks 221 = 2,097,152 Class C networks In 1993, the size of the routing tables started to outgrow the capacity of routers Consequence: The Class-based assignment of IP addresses had to be abandoned 61 CIDR - Classless Interdomain Routing Goals: New interpretation of the IP address space Restructure IP address assignments to increase efficiency Permits route aggregation to minimize route table entries CIDR (Classless Interdomain routing) abandons the notion of classes Key Concept: The length of the network prefix in the IP addresses is kept arbitrary Consequence: Size of the network prefix must be provided with an IP address 62 CIDR Notation CIDR notation of an IP address: 192.0.2.0/18 CIDR notation can replace the use of subnetmasks (but is more general) "18" is the prefix length. It states that the first 18 bits are the network prefix of the address (and 14 bits are available for specific host addresses) IP address 128.143.137.144 and subnetmask 255.255.255.0 becomes 128.143.137.144/24 CIDR notation allows to drop traling zeros of network addresses: 192.0.2.0/18 can be written as 192.0.2/18 63 CIDR address blocks CIDR notation can nicely express blocks of addresses Blocks are used when allocating IP addresses for a company and for routing tables (route aggregation) CIDR Block Prefix /27 /26 /25 /24 /23 /22 /21 /20 /19 /18 /17 /16 /15 /14 /13 # of Host Addresses 32 64 128 256 512 1,024 2,048 4,096 8,192 16,384 32,768 65,536 131,072 262,144 524,288 64 CIDR and Address assignments Backbone ISPs obtain large block of IP addresses space and then reallocate portions of their address blocks to their customers. Example: Assume that an ISP owns the address block 206.0.64.0/18, which represents 16,384 (214) IP addresses Suppose a client requires 800 host addresses With classful addresses: need to assign a class B address (and waste ~64,700 addresses) or four individual Class Cs (and introducing 4 new routes into the global Internet routing tables) With CIDR: Assign a /22 block, e.g., 206.0.68.0/22, and allocated a block of 1,024 (210) IP addresses. 65 CIDR and Routing Aggregation of routing table entries: 128.143.0.0/16 and 128.144.0.0/16 are represented as 128.142.0.0/15 Longest prefix match: Routing table lookup finds the routing entry that matches the longest prefix What is the outgoing interface for 128.143.137.0/24 ? Route aggregation can be exploited when IP address blocks are assigned in an hierarchical fashion Prefix Interface 128.0.0.0/4 interface #5 128.128.0.0/9 interface #2 128.143.128.0/17 interface #1 Routing table 66 CIDR and Routing Information Company X : ISP X owns: Internet Backbone 206.0.68.0/22 206.0.64.0/18 204.188.0.0/15 209.88.232.0/21 ISP y : 209.88.237.0/24 Organization z1 : Organization z2 : 209.88.237.192/26 209.88.237.0/26 67 CIDR and Routing Information Backbone routers do not know anything about Company X, ISP Y, or Organizations z1, z2. Company X : ISP X does not know about Organizations z1, z2. Internet ISP X sends everything which Backbone matches the prefix: 206.0.68.0/22 ISPISP y sends everything which matches X owns: the prefix: 206.0.64.0/18 209.88.237.192/26 to Organizations z1 204.188.0.0/15 209.88.237.0/26 to Organizations z2 209.88.232.0/21 ISP y : 206.0.68.0/22 to Company X, 209.88.237.0/24 to ISP y Backbone sends everything which matches the prefixes 206.0.64.0/18, 204.188.0.0/15, 209.88.232.0/21 to ISP X. 209.88.237.0/24 Organization z1 : Organization z2 : 209.88.237.192/26 209.88.237.0/26 68 IPv6 - IP Version 6 IP Version 6 Is the successor to the currently used IPv4 Specification completed in 1994 Makes improvements to IPv4 (no revolutionary changes) One (not the only !) feature of IPv6 is a significant increase in of the IP address to 128 bits (16 bytes) IPv6 will solve – for the foreseeable future – the problems with IP addressing 1024 addresses per square inch on the surface of the Earth. 69 IPv6 Header 32 bits version (4 bits) Traffic Class (8 bits) Payload Length (16 bits) Flow Label (24 bits) Next Header (8 bits) Hop Limits (8 bits) Source IP address (128 bits) Destination IP address (128 bits) Ethernet Header IPv6 Header TCP Header Application data Ethernet Trailer 70 Ethernet frame IPv6 vs. IPv4: Address Comparison IPv4 has a maximum of 232 4 billion addresses IPv6 has a maximum of 2128 = (232)4 4 billion x 4 billion x 4 billion x 4 billion addresses 71 Notation of IPv6 addresses Convention: The 128-bit IPv6 address is written as eight 16-bit integers (using hexadecimal digits for each integer) CEDF:BP76:3245:4464:FACE:2E50:3025:DF12 Short notation: Abbreviations of leading zeroes: CEDF:BP76:0000:0000:009E:0000:3025:DF12 CEDF:BP76:0:0:9E :0:3025:DF12 “:0000:0000:0000” can be written as “::” CEDF:BP76:0:0:FACE:0:3025:DF12 CEDF:BP76::FACE:0:3025:DF1 2 IPv6 addresses derived from IPv4 addresses have 96 leading zero bits. Convention allows to use IPv4 notation for the last 32 bits. ::80:8F:89:90 ::128.143.137.144 72 IPv6 Provider-Based Addresses The first IPv6 addresses will be allocated to a providerbased plan 010 Registry Provider Subscriber Subnetwork Interface ID ID ID ID ID Type: Set to “010” for provider-based addresses Registry: identifies the agency that registered the address The following fields have a variable length (recommeded length in “()”) Provider: Id of Internet access provider (16 bits) Subscriber: Id of the organization at provider (24 bits) Subnetwork: Id of subnet within organization (32 bits) Interface: identifies an interface at a node (48 bits) 73 Line cards Cisco CRS-1 1-Port OC-768c (40 Gb/s) Cisco CRS-1 4-Port 10 GbE 74 Lab this week… 75