network layer and i pv6
DESCRIPTION
Unit 2 Of ACNTRANSCRIPT
Network layer functionsNetwork layer functions Logical Addressing:Logical Addressing: Every device that communicates over a network has associated with it a Every device that communicates over a network has associated with it a
logical address, sometimes called a logical address, sometimes called a layer threelayer three address. address. On the Internet On the Internet every machine has anevery machine has an IP addressIP address. . LLogical addresses are independent of particular hardware and must be unique ogical addresses are independent of particular hardware and must be unique across an entire internetwork.across an entire internetwork.
Routing:Routing: Moving data across a series of interconnected networks is Moving data across a series of interconnected networks is an important an important function of the function of the network layer. network layer.
Datagram Encapsulation:Datagram Encapsulation: The network layer normally encapsulates The network layer normally encapsulates messages received from messages received from higher layers by placing them into datagrams (also called higher layers by placing them into datagrams (also called packetspackets) with a network layer header. ) with a network layer header.
Fragmentation and Reassembly:Fragmentation and Reassembly: The network layer must send messages down to the data link The network layer must send messages down to the data link layer for transmission. If the packet that the network layer wants to send is too large, the network layer for transmission. If the packet that the network layer wants to send is too large, the network layer must split the packet up, send each piece to the data link layer, and then have pieces layer must split the packet up, send each piece to the data link layer, and then have pieces reassembled once they arrive at the network layer on the destination machine. reassembled once they arrive at the network layer on the destination machine.
Error Handling and Diagnostics:Error Handling and Diagnostics: Special protocols are used at the network layer to allow Special protocols are used at the network layer to allow devices that are logically connected to exchange informdevices that are logically connected to exchange information ation about the status of hosts on theabout the status of hosts on the network or the devices themsnetwork or the devices themselveselves
Current Internet ProtocolCurrent Internet Protocol
Current version 4 : IPv4 Current version 4 : IPv4 • Substantially unchanged since 1981:RFC 791Substantially unchanged since 1981:RFC 791• Proven to be robust, easily implemented and Proven to be robust, easily implemented and
interoperableinteroperable• Stood the test of time for over two decadesStood the test of time for over two decades• A tribute to its initial designA tribute to its initial design
IPv4 lead to wired networks IPv4 lead to wired networks • in business and in homesin business and in homes• leaving mainframes behindleaving mainframes behind
Longevity of TCP/IPLongevity of TCP/IP
Sound ArchitectureSound Architecture• Simple and OpenSimple and Open• LayeredLayered
Open standardOpen standard Good Support systemsGood Support systems
• CommunicationCommunication• Technology growthTechnology growth
Prerogative of USPrerogative of US
Problems with IPv4 IPv4 has been designed early in the 70s Many « add-ons» to the protocol :
• Mobileip• QoS• Security (IPsec)• Others
Using « add-ons » not easy
Problems with IPv4
Impending exhaustion of address spaceImpending exhaustion of address space Configuration complexitiesConfiguration complexities Poor security at the IP levelPoor security at the IP level Inadequate QoS support for real-time Inadequate QoS support for real-time
delivery of data. delivery of data.
IP Datagram HeaderIP Datagram Header
VERS HLEN TOS TOTAL LENGTH
IDENTIFICATION FLAG FRAGMENT OFFSET
TTL PROTOCOL CHECKSUM
SOURCE ADDRESS
DESTINATION ADDRESS
OPTIONS (if any) + PADDING
0 4 8 16 19 31
IP datagram formatIP datagram format
ver length
32 bits
data (variable length,typically a TCP
or UDP segment)
16-bit identifier
header checksum
time tolive
32 bit source IP address
IP protocol versionnumber
header length (bytes)
max numberremaining hops
(decremented at each router)
forfragmentation/reassembly
total datagramlength (bytes)
upper layer protocolto deliver payload to
head.len
type ofservice
“type” of data flgsfragment
offsetupper layer
32 bit destination IP address
Options (if any) E.g. timestamp,record routetaken, specifylist of routers to visit.
how much how much overhead with overhead with TCP?TCP?
20 bytes of 20 bytes of TCPTCP
20 bytes of IP20 bytes of IP = 40 bytes + = 40 bytes +
app layer app layer overheadoverhead
Problems with IPv4: Limited Problems with IPv4: Limited Address SpaceAddress Space
IPv4 has 32 bit addresses.IPv4 has 32 bit addresses. Flat addressing (only netid + hostid with “fixed” Flat addressing (only netid + hostid with “fixed”
boundaries).boundaries). Results in inefficient use of address space.Results in inefficient use of address space. Class B addresses are almost over.Class B addresses are almost over. Addresses will exhaust very shortly.Addresses will exhaust very shortly. IPv4 is victim of its own success.IPv4 is victim of its own success.
Problems with IPv4: Routing Problems with IPv4: Routing Table ExplosionTable Explosion
IP does not permit route aggregationIP does not permit route aggregation(limited supernetting possible with new routers)(limited supernetting possible with new routers)
Mostly only class C addresses remainMostly only class C addresses remain Number of networks is increasing very fastNumber of networks is increasing very fast
(number of routes to be advertised goes up)(number of routes to be advertised goes up) Very high routing overheadVery high routing overhead
• lot more memory needed for routing tablelot more memory needed for routing table• lot more bandwidth to pass routing informationlot more bandwidth to pass routing information• lot more processing needed to compute routes lot more processing needed to compute routes
Problems with IPv4: Header Problems with IPv4: Header LimitationsLimitations
Maximum header length is 60 octets.Maximum header length is 60 octets.(Restricts options)(Restricts options)
Maximum packet length is 64K octets.Maximum packet length is 64K octets.(Do we need more than that ?)(Do we need more than that ?)
ID for fragments is 16 bits. Repeats every 65537th ID for fragments is 16 bits. Repeats every 65537th packet.packet. (Will two packets in the network have same ID?)(Will two packets in the network have same ID?)
Variable size header.Variable size header.(Slower processing at routers.)(Slower processing at routers.)
No ordering of options.No ordering of options.(All routers need to look at all options.)(All routers need to look at all options.)
Problems with IPv4: Other Problems with IPv4: Other LimitationsLimitations
Lack of quality-of-service support.Lack of quality-of-service support.• Only an 8-bit ToS field, which is hardly Only an 8-bit ToS field, which is hardly
used.used.• Problem for multimedia services.Problem for multimedia services.
No support for security at IP layer.No support for security at IP layer. Mobility support is limited.Mobility support is limited.
Problems with IPv4: Inadequate Problems with IPv4: Inadequate support to newer applicationssupport to newer applications
Many applications larger than WebMany applications larger than Web• VoIP, 3G, P2P (gaming, file sharing, ..)VoIP, 3G, P2P (gaming, file sharing, ..)• Grid Computing, Ad hoc networks, networked Grid Computing, Ad hoc networks, networked
RFIDs RFIDs • Remote sensing, Intelligent Transport Remote sensing, Intelligent Transport
Systems (ITS)Systems (ITS)• Smart Homes, Mobile devices, Consumer Smart Homes, Mobile devices, Consumer
Electronics, Home appliancesElectronics, Home appliances
Extended Life for IPv4Extended Life for IPv4 Strict monitoring of IP address assignmentStrict monitoring of IP address assignment Private IP addresses for intranetsPrivate IP addresses for intranets
• Only class C or a part of class C to an organizationOnly class C or a part of class C to an organization• Encourage use of proxy servicesEncourage use of proxy services
Application level proxiesApplication level proxies Network Address Translation (NAT)Network Address Translation (NAT)
Remaining class A addresses may use CIDRRemaining class A addresses may use CIDR Reserved addresses may be assignedReserved addresses may be assigned
But these will only postpone address exhaustion.But these will only postpone address exhaustion.They do not address problems like QoS, mobility, They do not address problems like QoS, mobility,
security.security.
Next generation IP:IPngNext generation IP:IPng
Security IssuesSecurity Issues
IPv6: Distinctive FeaturesIPv6: Distinctive Features
Header format simplificationHeader format simplification Expanded routing and addressing capabilitiesExpanded routing and addressing capabilities Improved support for extensions and optionsImproved support for extensions and options Flow labeling (for QoS) capabilityFlow labeling (for QoS) capability Auto-configuration and Neighbour discoveryAuto-configuration and Neighbour discovery Authentication and privacy capabilitiesAuthentication and privacy capabilities Simple transition from IPv4Simple transition from IPv4
IPv6 RFCsIPv6 RFCs Internet Protocol, version 6 (IPv6) Specication, RFC-
2460 [IPv6] IPv6 Addressing Architecture [RFC-2373] Neighbor Discovery for IPv6 [RFC-2461] IPv6 Stateless Address Autoconguration [RFC-2462] Internet Control Message Protocol (ICMPv6) for IPv6
[RFC-2463] Path MTU Discovery for IPv6 [RFC-1981] Since the version number assigned by IANA was 6, the
short name used for the Internet Protocol version 6 is IPv6.
IPv6 RFCsIPv6 RFCs Internet Protocol, version 6 (IPv6) Specication, RFC-
2460 [IPv6] IPv6 Addressing Architecture [RFC-2373] Neighbor Discovery for IPv6 [RFC-2461] IPv6 Stateless Address Autoconguration [RFC-2462] Internet Control Message Protocol (ICMPv6) for IPv6
[RFC-2463] Path MTU Discovery for IPv6 [RFC-1981] Since the version number assigned by IANA was 6, the
short name used for the Internet Protocol version 6 is IPv6.
IPv4 header to IPv6 header
Source address
Destination Address
Payload LengthNext Header
Ver
Hop Limit
Traffic class Flow Label
IPv6 Header FieldsIPv6 Header Fields Version number (4-bit field) Version number (4-bit field)
The value is always 6.The value is always 6. Flow label (20-bit field)Flow label (20-bit field)
Used to label packets requesting special handling by Used to label packets requesting special handling by routers.routers.
Traffic class (8-bit field)Traffic class (8-bit field)Used to mark classes of traffic.Used to mark classes of traffic.
Payload length (16-bit field)Payload length (16-bit field)Length of the packet following the IPv6 header, in Length of the packet following the IPv6 header, in octets.octets.
Next header (8-bit field)Next header (8-bit field)
The type of header immediately followingThe type of header immediately following the IPv6 the IPv6 header.header.
IPv6 Header FieldsIPv6 Header Fields Hop limit (8-bit field)Hop limit (8-bit field)
Decremented by 1 by each node that forwards Decremented by 1 by each node that forwards the packet. the packet. Packet discarded if hop limit is decremented to Packet discarded if hop limit is decremented to zero.zero.
Source Address (128-bit field)Source Address (128-bit field)An address of the initial sender of the packet.An address of the initial sender of the packet.
Destination Address (128-bit field)Destination Address (128-bit field)An address of the intended recipient of the An address of the intended recipient of the packet. May not be the ultimate recipient, if packet. May not be the ultimate recipient, if Routing Header is present.Routing Header is present.
Header Changes from IPv4Header Changes from IPv4 Longer address - 32 bits Longer address - 32 bits 128 bits 128 bits Fragmentation field moved to separate headerFragmentation field moved to separate header Header checksum removedHeader checksum removed Header length removed (fixed length header)Header length removed (fixed length header) Length field excludes IPv6 headerLength field excludes IPv6 header Time to live Time to live Hop limit Hop limit Protocol Protocol Next header Next header 64-bit field alignment64-bit field alignment TOS replaced by flow label, traffic classTOS replaced by flow label, traffic class
Extension HeadersExtension Headers Less used functions moved to extension headers.Less used functions moved to extension headers. Only present when needed.Only present when needed. Processed only by node identified in IPv6 destination Processed only by node identified in IPv6 destination
field.field.
=> much lower overhead than IPv4 options=> much lower overhead than IPv4 options
Exception: Hop-by-Hop option headerException: Hop-by-Hop option header Eliminated IPv4’s 40-byte limit on optionsEliminated IPv4’s 40-byte limit on options Order of extension headers in a packet is defined.Order of extension headers in a packet is defined. Headers are aligned on 8-byte boundaries.Headers are aligned on 8-byte boundaries.
Extension HeadersExtension Headers
IPv6 Core Protocols: IPv6 Core Protocols: IPv6 Extension HeadersIPv6 Extension Headers
Order of Extension Headers when more than one is used in same packet:Order of Extension Headers when more than one is used in same packet: IPv6 HeaderIPv6 Header Hop-by-hop Options HeaderHop-by-hop Options Header Destination Options Header (Destination Options Header (everyevery Routing Header destination) Routing Header destination) Routing HeaderRouting Header Fragment HeaderFragment Header Authentication Header (AH)Authentication Header (AH) Encapsulation Security Payload (ESP) HeaderEncapsulation Security Payload (ESP) Header Destination Options Header (Destination Options Header (lastlast Routing Header destination) Routing Header destination) Upper-Layer HeaderUpper-Layer Header
TCP Header + Data Payload
IPv6 Header
Next Header =Routing
FragmentHeader
Next Header =Security (ESP)
Security Header (ESP)
Next Header =TCP
RoutingHeader
Next Header =Fragment
Address TypesAddress Types
UnicastUnicast Address for a single interface.Address for a single interface.
( one to one)( one to one)
MulticastMulticast Identifier for a set of interfaces.Identifier for a set of interfaces.
Packet is sent to Packet is sent to allall these interfaces. these interfaces.
( one to many)( one to many)
AnycastAnycast Identifier for a set of interfaces.Identifier for a set of interfaces.
Packet is sent to the Packet is sent to the nearestnearest one. one.
( one to one of many)( one to one of many)
Text Representation of Text Representation of AddressesAddresses
HEX in blocks of 16 bitsHEX in blocks of 16 bitsBC84 : 25C2 : 0000 : 0000 : 0000 : 55AB : 5521 : 0018BC84 : 25C2 : 0000 : 0000 : 0000 : 55AB : 5521 : 0018
leading zero suppressionleading zero suppressionBC84 : 25C2 : 0 : 0 :55AB : 5521 : 18BC84 : 25C2 : 0 : 0 :55AB : 5521 : 18
Compressed format removes strings of Compressed format removes strings of 00ssBC84 : 25C2 :: 55AB : 5521 : 18BC84 : 25C2 :: 55AB : 5521 : 18:::: can appear only once in an address. can appear only once in an address.can also be used to compress leading or trailing can also be used to compress leading or trailing 00ss
Mixed Notation (X:X:X:X:X:X:d.d.d.d)Mixed Notation (X:X:X:X:X:X:d.d.d.d)e.g.,e.g., ::144.16.162.21 ::144.16.162.21
Unicast IPv6 addresses: Unicast IPv6 addresses:
Global unicast addressesGlobal unicast addresses Link-local addressesLink-local addresses Site-local addressesSite-local addresses Special addressesSpecial addresses Compatible addressesCompatible addresses
Global Unicast Addresses Global Unicast Addresses
Link-Local AddressesLink-Local Addresses
FE80::/64
Site-Local AddressesSite-Local Addresses
FEC0::/10
Special addressesSpecial addresses
The unspecified address The unspecified address • 0:0:0:0:0:0:0:0 or ::0:0:0:0:0:0:0:0 or ::• only used to indicate the absence of an address. only used to indicate the absence of an address. • Equivalent to the IPv4 unspecified address of 0.0.0.0.Equivalent to the IPv4 unspecified address of 0.0.0.0.• It is typically used as a source address for packets It is typically used as a source address for packets
attempting to verify the uniqueness of a tentative attempting to verify the uniqueness of a tentative address.address.
The loop back address The loop back address • 0:0:0:0:0:0:0:1 or ::10:0:0:0:0:0:0:1 or ::1• Enables a node to send packets to itself. Enables a node to send packets to itself. • Equivalent to the IPv4 loop back address 127.0.0.1Equivalent to the IPv4 loop back address 127.0.0.1
Compatible addressesCompatible addresses The IPv4-compatible addressThe IPv4-compatible address
• 0:0:0:0:0:0:0:0:0:0:0:0:w.x.y.z w.x.y.z or ::or ::w.x.y.zw.x.y.z w.x.y.zw.x.y.z is the dotted decimal representation of an IPv4 address is the dotted decimal representation of an IPv4 address
• Used by IPv6/IPv4 nodes that are communicating using IPv6Used by IPv6/IPv4 nodes that are communicating using IPv6 • For auto tunneling over IPv4 infrastructureFor auto tunneling over IPv4 infrastructure
The IPv4-mapped addressThe IPv4-mapped address• 0:0:0:0:0:FFFF:0:0:0:0:0:FFFF:w.x.y.zw.x.y.z or ::FFFF: or ::FFFF:w.x.y.zw.x.y.z• Only for internal representationsOnly for internal representations
The 6to4 addressThe 6to4 address• Formed by combining the prefix 2002::/16 & 32 bit IPv4 address Formed by combining the prefix 2002::/16 & 32 bit IPv4 address
to get a 48 bit prefixto get a 48 bit prefix• Used for configured tunneling over IPv4 infrastructure between Used for configured tunneling over IPv4 infrastructure between
two IPv6/IPv4 nodes.two IPv6/IPv4 nodes.
Interface IDInterface ID
MAC address format
Mapping IEEE 802 Addresses to EUI-Mapping IEEE 802 Addresses to EUI-64 Addresses64 Addresses
Anycast address overviewAnycast address overview
Types of Addresses in IPv6/IPv4Types of Addresses in IPv6/IPv4• Unicast – one to oneUnicast – one to one• Multicast – one to many Multicast – one to many • Broadcast – one to all ( only in IPv4 )Broadcast – one to all ( only in IPv4 )• Anycast – one to one of many ( Only in IPv6)Anycast – one to one of many ( Only in IPv6)
A new type in IPv6. Not defined for IPv4A new type in IPv6. Not defined for IPv4 It is assigned to more than one interfaceIt is assigned to more than one interface Refers to one among many addressRefers to one among many address
• A packet sent to an anycast address is routed to A packet sent to an anycast address is routed to the nearest interface with that address.the nearest interface with that address.
Anycast address & useAnycast address & use
Allocated from unicast address spaceAllocated from unicast address space• Link local, site local, globalLink local, site local, global
It is an unicast address assigned to many It is an unicast address assigned to many interfacesinterfaces
Nodes with anycast address must be explicitly Nodes with anycast address must be explicitly configured to receive anycast packets.configured to receive anycast packets.
Used to identify Used to identify • a set of routers of an ISPa set of routers of an ISP• a set of routers in a subneta set of routers in a subnet• A set of routers providing entry to a routing domainA set of routers providing entry to a routing domain
Anycast address restrictionsAnycast address restrictions
Cannot be used as a source addressCannot be used as a source address Cannot be assigned to a hostCannot be assigned to a host May be assigned to a router onlyMay be assigned to a router only
MulticastingMulticasting
One to many addressingOne to many addressing Delivery of packets to many destinationsDelivery of packets to many destinations
• Interactive conferencingInteractive conferencing• Dissemination of mailDissemination of mail• News to multiple recepientsNews to multiple recepients• Webcasts to multiple registered recipientsWebcasts to multiple registered recipients• Location of servers by clientsLocation of servers by clients
IPv4 multicast addressIPv4 multicast address
Class D1 1 1 0 28 bit multicast gp ID
•Range from 224.0.0.0 through 239.255.255.255
•A set of hosts listening to a IP multicast address is called a host group
•A host group can span multiple networks
•Membership to a host group is dynamic
•No restriction on number of hosts to a group
•Non member can send a message to a group
Special multicast addressesSpecial multicast addresses
224.0.0.0224.0.0.0 Reserved; not usedReserved; not used 224.0.0.1224.0.0.1 All devices on the subnetAll devices on the subnet 224.0.0.2224.0.0.2 All routers on the subnetAll routers on the subnet 224.0.0.11224.0.0.11 Mobile agents (for Mobile IP)Mobile agents (for Mobile IP) 224.0.0.12224.0.0.12 DHCP Server / Relay AgentDHCP Server / Relay Agent
Ethernet Multicast addressEthernet Multicast address
Host group to multicast sourceHost group to multicast source• IP : group IP addressIP : group IP address• MAC : next hop addressMAC : next hop address
Multicast source to Host groupMulticast source to Host group• IP : group IP addressIP : group IP address• MAC : Ethernet multicast addressMAC : Ethernet multicast address
Mapping of class D IP address Mapping of class D IP address into Ethernet Multicast Addressinto Ethernet Multicast Address
IANA has allotted IANA has allotted 01:00:5e:00:00:00 through 01:00:5e:00:00:00 through 01:00:5e:7f:ff:ff for multicast01:00:5e:7f:ff:ff for multicast
Lower order 23 bits if gp id Lower order 23 bits if gp id copied to ethernet address copied to ethernet address
Eg1: 224.128.64.32 (hex Eg1: 224.128.64.32 (hex e0.80.40.20) maps to hex e0.80.40.20) maps to hex 01:00:5e:00:40:2001:00:5e:00:40:20
Eg2 : 224.0.64.32 (hex Eg2 : 224.0.64.32 (hex e0.00.40.20) also maps to hex e0.00.40.20) also maps to hex 01:00:5e:00:40:2001:00:5e:00:40:20
IEEE 802 address
IPv6 Multicast addressIPv6 Multicast address
Format prefix : FFFormat prefix : FF Flags: 000TFlags: 000T
• T= 0: well known permanentT= 0: well known permanent• T=1: temporary T=1: temporary
Scope: 0 to 15Scope: 0 to 15• 0: reserved0: reserved• 1: interface local1: interface local• 2: link local2: link local• 3 : reserved3 : reserved• 4 : admin local 4 : admin local • 5 : site local5 : site local• 8 : org local8 : org local• E : globalE : global• F : reservedF : reserved
Multicast address structure
IPv6 Multicast addressIPv6 Multicast address Group IDGroup ID – Identifies the multicast group and is unique within the – Identifies the multicast group and is unique within the
scopescope• Two well known group IDsTwo well known group IDs
1 : all nodes1 : all nodes 2 : all routers2 : all routers
Examples: Examples: • FF01::1 (interface-local scope all-nodes multicast address)FF01::1 (interface-local scope all-nodes multicast address)
• FF02::1 (link-local scope all-nodes multicast address)FF02::1 (link-local scope all-nodes multicast address)
• FF01::2 (interface-local scope all-routers multicast address)FF01::2 (interface-local scope all-routers multicast address)
• FF02::2 (link-local scope all-routers multicast address)FF02::2 (link-local scope all-routers multicast address)
• FF05::2 (site-local scope all-routers multicast address)FF05::2 (site-local scope all-routers multicast address)
Mapping IPv6 Multicast Addresses to Ethernet Mapping IPv6 Multicast Addresses to Ethernet AddressesAddresses
When sending IPv6 multicast packets on an Ethernet link, the corresponding destination MAC address is 33-33-mm-mm-mm-mm where mm-mm-mm-mm is a direct mapping of the last 32 bits of the IPv6 multicast address, as shown in Figure above
Solicited node multicast addressSolicited node multicast address
Format: FF02:0:0:0:0:1:FFXX:XXXXFormat: FF02:0:0:0:0:1:FFXX:XXXX It is formed by taking the lower order 24 It is formed by taking the lower order 24
bits of ( unicast or anycast )bits of ( unicast or anycast ) When A node n1 which wants to find MAC When A node n1 which wants to find MAC
address of node n2, it will send neighbor address of node n2, it will send neighbor solicitation message with solicited solicitation message with solicited multicast address to n2.multicast address to n2.
Node n2 will reply with neighbor Node n2 will reply with neighbor advertisement messageadvertisement message
An IPv6 Node’s multi cast An IPv6 Node’s multi cast addressesaddresses
For example, a host with the Ethernet MAC address of For example, a host with the Ethernet MAC address of 00-AA-00-3F-2A-1C (link-local address of 00-AA-00-3F-2A-1C (link-local address of FE80::2AA:FF:FE3F:2A1C) registers the following FE80::2AA:FF:FE3F:2A1C) registers the following multicast MAC addresses with the Ethernet adapter:multicast MAC addresses with the Ethernet adapter:
The address of 33-33-00-00-00-01, which The address of 33-33-00-00-00-01, which corresponds to the link-local scope all-nodes multicast corresponds to the link-local scope all-nodes multicast address of FF02::1.address of FF02::1.
The address of 33-33-FF-3F-2A-1C, which The address of 33-33-FF-3F-2A-1C, which corresponds to the solicited-node address of corresponds to the solicited-node address of FF02::1:FF3F:2A1C. Remember that the solicited-node FF02::1:FF3F:2A1C. Remember that the solicited-node address is the prefix FF02::1:FF00:0/104 and the last 24-address is the prefix FF02::1:FF00:0/104 and the last 24-bits of the unicast IPv6 address.bits of the unicast IPv6 address.
THANK YOUTHANK YOU
For your patient hearingFor your patient hearing