290 likes | 640 Views
IP addressing and IPv6. Sept. 13, 2004. TCP/IP Protocol Suite. TCP. UDP. ICMP. IP. IGMP. ARP. RARP. Ethernet. IP Packet Format. 0. 4. 8. 16. 19. 31. TOS. Length. V. ersion. HLen. Ident. Flags. Offset. TTL. Protocol. Checksum. SourceAddr. DestinationAddr. Pad.
E N D
IP addressing and IPv6 Sept. 13, 2004 1
TCP/IP Protocol Suite TCP UDP ICMP IP IGMP ARP RARP Ethernet
IP Packet Format 0 4 8 16 19 31 TOS Length V ersion HLen Ident Flags Offset TTL Protocol Checksum SourceAddr DestinationAddr Pad Options (variable) (variable) Data
Addressing • Ethernet address is flat. • IP address is hierarchical. 7 24 (a) 0 Network Host 14 16 (b) 1 0 Network Host 21 8 (c) 1 1 0 Network Host
Datagram Forwarding in IP For a router if (NetworkNum of destination = NetworkNum of one of my interface) then deliver packet to destination over that interface else if (NetworkNum of destination is in my forwarding table) then deliver packet to NextHop router else deliver packet to default router For a host if (NetworkNum of destination = my NetworkNum) then deliver packet to destination directly else deliver packet to default router
ICMP Features • ICMP: Used by IP to send error and control messages • ICMP uses IP to send its messages • ICMP does not report errors on ICMP messages. • ICMP message are not required on datagram checksum errors. (Some implementations still do)
ICMP: Message Types • Typedescription • 0 echo reply (ping) • 3 destination unreachable • source quench • redirect • 8 echo request (ping) • 9 route advertisement • 10 router discovery • 11 TTL expired • bad IP header • timestamp request • timestamp reply • information request • information reply • address mask request • address mask reply
ICMP Messages • Source Quench: Please slow down! I just dropped one of your datagrams. • Time Exceeded: Time to live field in one of your packets became zero. or Reassembly timer expired at the destination. • Fragmentation Required: Datagram was longer than MTU and “No Fragment bit” was set. • Address Mask Request/Reply: What is the subnet mask on this net? Replied by “Address mask agent”
Other ICMP Messages • Redirect: Please send to router X instead of me. 0 = Redirect datagrams for the network 1 = Redirect datagrams for the host 2 = Redirect datagrams for the type of service and net 3 = Redirect datagrams for the type of service and host • Time Stamp Request/Reply:
IPng Considerations • Addressing • the two level structure of the IP address is convenient but wasteful of address spaces. • it is general practice to assign a unique network number to an IP network whether or not it is actually connected to the Internet. • networks are proliferating rapidly. • growth of TCP/IP usage in new areas will result in a rapid growth in the demand for unique IP addresses. • Performance • reduced number of fields in the IPv6 packet header • fixed length of header – extension header • disabling fragmentation
IPng Considerations • Network service • should be possible to associate packets with particular services classes – flow label • Addressing flexibility • anycast – delivered to just one of a set of nodes • multicast – improved scalability by a scope filed • Security capabilities • providing authentication and privacy
IPv6 Packet Header 0 4 12 16 24 31 V ersion T rafficClass FlowLabel PayloadLen NextHeader HopLimit SourceAddress DestinationAddress Next header/data
Extension Headers • Hop-by-hop options header • defines special options that require hop-by-hop processing • Routing header • provides extended routing, similar to IPv4 source routing • Authentication header • provides packet integrity and authentication • Encapsulating security payload header • provides privacy • Destination options header • contains optional information to be examined by the destination node
Priority Field • One bit for two classes • congestion controlled traffic • non-congestion controlled traffic • Three bits for eight priorities in each class
Flow Label • a flow is a sequence of packets that • are generated from a single application instance from the source’s point of view • share attributes which affect how they are handled from the router’s point of view • Rules for flow label • hosts or routers that do not support the flow label field must • set the field to zero when originating a packet • pass the filed unchanged when forwarding a packet • ignore the filed when receiving a packet • all the packets with the same non-zero flow label must have the same destination address, source address, priority, hop-by-hop options header contents and routing header contents. • the source assigns a flow label to a flow.
Addressing • 128 bit address space • Address notation: 47cd:1234:4422:ac02:0022:1234:a456:0123 3 m n o p 125 – m – n – o – p 010 RegistryID ProviderID SubscriberID SubnetID InterfaceID
Multicast Address • flags field • consists of three zeros followed by a T bit with: • T = 0 to indicates a permanently assigned or well-known multicast address, assigned by the global internet numbering authority • T = 1 to indicates a nunpermanently-assigned or transient multicast address • Scope field to limit the scope of the multicast group • 0:reserved, 1:node-local, 2:link-local, 5:site-local, 8:organization-local, 14:global 8 4 4 112 11111111 Flags Scope Group ID
Anycast • Delivery method: • unicast: one-to-one • multicast: one-to-many • broadcast: one-to-all • anycast: one-to-one-of-many • Anycast address: an address assigned to multiple hosts • Restrictions: • do not use in the source address field • only assign to routers but not hosts • Applications of anycast • server selection • service location
Challenges in Anycast • Global routing • anycast defeats the advantages of aggregated routing • Global IP Anycast (GIA) has been proposed • Supporting stateful connections • anycast is naturally inappropriate for stateful connection such as TCP • proposals: • use only stateless connection protocol such as UDP • five-way handshake • source id option
Evaluating IPv6 • Test setup • Two Intel Pentium III 500 Mhz PCs • 100 Mbps PCI Ethernet adapter • Both Windows 2000 Professional and Solaris 8.0 • Metrics • throughput • round-trip time • CPU utilization • socket-creation time • TCP-connection time • client-server interactions