SlideShare a Scribd company logo
1 of 124
Download to read offline
IPv6 and Mobile IPv6
Fundamentals, new services, and
applications
Rodolfo Kohn
10/17/2006 IPv6 and MIPv6 - Fundamentals,
new services, and applications
2
Agenda
• Introduction
• Reference Model
– Physical Layer
– Data Link Layer
– Network Layer
– Transport Layer
– Application Layer
• Data Link Layer: IEEE 802.3
• Network and Transport Layers
– IP
– Routing
– UDP
– TCP
• IPv6
– Introduction
– Main Features
– Headers
– MTU and Fragmentation
– QoS Support
– Addressing Architecture
– Autoconfiguration
– Neighbor Discovery Protocol
– Comments on Routing Protocols
– Why do I need IPv6?
– New Challenges and Applications
• P2P
• Embedded Systems
• Telecommunications – IMS
• Low-power devices
• The Long Transition from IPv4 to IPv6
– IPv6 Current Status and Trends
• Mobile IPv6
– Mobility in Distributed Systems
– Mobile IPv6 Fundamentals
– New applications
– Existing MIPv6 stacks
10/17/2006 IPv6 and MIPv6 - Fundamentals,
new services, and applications
3
Introduction
• ARPANET
• TCP/IP in universities since early eighties.
• Then to the rest of the public
• Internet in the nineties: The network of networks
where any host can contact any other host, no
matter where it is physically set up.
• People connected: chat, B2B, news, FTP, HTTP,
e-mail, low-quality voice and video.
10/17/2006 IPv6 and MIPv6 - Fundamentals,
new services, and applications
4
Introduction
Internet
Ethernet
Router
Workstation
Token-ring
Router
Server
Computer
Router
Router
FDDI Ring
Computer
Printer
Bridge
Ethernet
Computer
Laptop
10/17/2006 IPv6 and MIPv6 - Fundamentals,
new services, and applications
5
OSI and TCP/IP Models
Application
Presentation
Session
Transport
Network
Data Link
Physical
Application
Transport
Network
Network Access
• Open Systems Interconnection Reference Model. It divides the
communication functionalities into different layers.
• Its protocols are rarely used. The TCP/IP model is not used but
its protocols are widely used.
10/17/2006 IPv6 and MIPv6 - Fundamentals,
new services, and applications
6
Physical Layer
• It defines the media as well as the electrical and
physical specifications of transceivers and
receivers. It includes cabling specifications,
coding schemes, voltages, RF bandwidths, etc.
• Some examples are the physical specifications
for Ethernet (e.g. 10Base-T, 100Base-TX) and
for 802.11 (e.g. RF bands)
10/17/2006 IPv6 and MIPv6 - Fundamentals,
new services, and applications
7
Data Link Layer
• It is responsible for creating the frames and sending them to the destination
using the physical layer. It deals with access contention, framing, bit
stuffing, error detection, error correction, flow control as the main
functionalities.
• It provides a well-defined service interface to the network layer.
• IEEE has standardized the different DLLs under the 802 standards. It has
divided this layer into two sub-layers: Medium Access Control (MAC), and
Logical Link Control (LLC).
• Some examples:
– 802.11, 802.3, 802.5, 802.15, 802.16 for MAC
– 802.2 for LLC
– HDLC (High-Level Data Link Control), defined as ISO 13239, for DLL (with no
sub-layers)
• The MAC 802 standards also specify physical layer characteristics.
10/17/2006 IPv6 and MIPv6 - Fundamentals,
new services, and applications
8
Medium Access Control
• A challenging problem in communications is how many
devices share the same medium to transmit (fiber optics,
twisted pair, coaxial cable, RF, etc.). Collisions are
possible.
– There are different techniques depending on the medium. Two
very popular are (NOT the only ones):
• Carrier Sense Multiple Access with Collision Detection (CSMA/CD)
used in 802.3 (and Ethernet).
• CSMA/CA (Collision Avoidance) used in 802.11
• MAC’s main objective is to allocate a channel to transmit
in a medium where there are competing users.
• Error detection is performed in this layer.
10/17/2006 IPv6 and MIPv6 - Fundamentals,
new services, and applications
9
Logical Link Control
• IEEE specifies LLC in the standard 802.2
• Thus different 802 specifications (802.3, 802.11, etc.)
can provide a common interface to the network layer.
• It can provide 3 different type of services:
– Unreliable Datagram Service (could be used with 802.3, in very
reliable media, for streaming, etc.).
– Acknowledged Datagram Service (useful for wireless
technologies like 802.11)
– Reliable Connection-Oriented Service (frames are received in
the order they were sent and are not duplicated).
• It provides multiplexing for applications in the layer
above (with source and destination service access
points).
6/28/2015 IPv6 and MIPv6 - Fundamentals,
new services, and applications
10
Network Layer
• DLL is enough to provide an application reliable
communication between different nodes in the same
LAN or a few LANs connected by bridges (or switches),
usually (not always, think of 802.3-802.11b/g bridges) of
the same technology.
• In a more complex network encompassing a large
number of LANs, MANs, and WANs of many different
technologies, the network layer is necessary to provide
end-to-end communication.
6/28/2015 IPv6 and MIPv6 - Fundamentals,
new services, and applications
11
Network Layer
• The network layer basically routes a datagram from one node to
other in a network of networks.
• It hides different technologies from upper layers, provides a common
addressing architecture, and involves devices called routers which
connect different networks.
• A network layer could offer a connection-oriented service (mainly for
QoS) or a connectionless service (Internet).
• IP (Internet Protocol) and IPX are examples of network protocols. IP
is widely used. It is used by the Internet.
• It relies on Routing Protocols which updates the routes a datagram
must wind to reach a destination node. Examples are: RIP, OSPF,
BGP.
6/28/2015 IPv6 and MIPv6 - Fundamentals,
new services, and applications
12
Transport Layer
• This layer basically provides end-to-end service between entities
(usually processes) in the application layer. It multiplexes network
services between different TSAPs (ports in TCP and UDP).
• This service can also provide efficiency and reliability to the
communication between application layer entities.
• It provides a set of service primitives to be used at the application
layer.
• The service can be connectionless or connection oriented.
• Examples: TCP, UDP, SCTP.
6/28/2015 IPv6 and MIPv6 - Fundamentals,
new services, and applications
13
Application Layer
• This layer involves protocols implemented for
specific applications.
• Name Services turn essential in this layer: DNS,
OSI X.500 directory service, LDAP.
• Examples: SMTP and POP3 for e-mail, HTTP,
WAP, SNMP, DNS protocol, LDAP, RTP, RTSP,
H.323, SIP.
6/28/2015 IPv6 and MIPv6 - Fundamentals,
new services, and applications
14
General Model
LLC
Physical
Application
Transport
Network
• Neither the OSI model nor the TCP/IP model are perfectly
implemented. Rather a mixed model is used.
• Each layer in one node communicates with the corresponding
layer in other node.
MAC
Physical
MAC
LLC
Physical
Network
MAC
LLC
Physical
Application
Transport
Network
MAC
6/28/2015 IPv6 and MIPv6 - Fundamentals,
new services, and applications
15
How does a packet travel from A to B?
Internet
Ethernet
Router
Workstation
Token-ring
Router
Server
Computer
Router
Router
FDDI Ring
Computer
Printer
Bridge
Ethernet
Computer
Laptop
A
B
6/28/2015 IPv6 and MIPv6 - Fundamentals,
new services, and applications
16
IEEE 802.3 LANs
• In order to understand how a packet is routed
from a source node to a destination node it is
necessary to understand how a frame is
transmitted in a LAN.
• IEEE 802.3 LANs will be used as a reference.
• We will only focus on how a frame is transmitted
from a source to a destination node.
6/28/2015 IPv6 and MIPv6 - Fundamentals,
new services, and applications
17
Ethernet II and IEEE 802.3
• Ethernet II is a standard created by DEC, Intel,
and Xerox in 1978 based on Xerox Ethernet.
The transmission speed was 10 Mbps.
• The IEEE created the standard 802.3 based on
Ethernet II with two minor changes.
6/28/2015 IPv6 and MIPv6 - Fundamentals,
new services, and applications
18
IEEE 802.3 Frames
S
F
D
Preamble Destination
Address
Source
Address
Length/
Type
802.2 Header
and/or Data
FCS
17 6 6 2 46 - 1500 4
• Type/Length: if <= 1500 then it is length. If it is >= 1536 (0x600)then it
is type.
• If Type/Length contains a length, the next field is an 802.2 Header
followed by the data.
• The frame contains a minimum of 64 Bytes.
• Common Type values: 0x0800 for IPv4, 0x86DD for IPv6, 0x806, etc.
• Ethernet II does not distinguish SFD and after the Source Address only
has the “Type” field. It does not distinguish an LLC sub-layer.
6/28/2015 IPv6 and MIPv6 - Fundamentals,
new services, and applications
19
MAC Address
• MAC Addresses are 48-bit long:
– 3 Less significant octets: Vendor ID.
– 3 Most significant octets: Unique Identifier.
• IEEE defines 3 general categories:
– Unicast: identifies a single NIC.
– Broadcast: refers to all NICs in a LAN. It is the value FF-FF-FF-
FF-FF-FF.
– Multicast: refers to a group of NICs. Multicast addresses have
the least significant bit of the Most significant octet set to 1.
6/28/2015 IPv6 and MIPv6 - Fundamentals,
new services, and applications
20
Other features
• Although we will not focus on them it is worth
mentioning other two 802.3 important features:
– CSMA/CD
– Back off exponential algorithm
6/28/2015 IPv6 and MIPv6 - Fundamentals,
new services, and applications
21
Typical 802.3 LANs
• The most common 802.3 LANs today are:
– A multidrop configuration with a Hub.
– A point-to-point configuration with an Ethernet switch.
• Both LANs have a star physical topology.
• A LAN with a hub has a bus logical topology.
6/28/2015 IPv6 and MIPv6 - Fundamentals,
new services, and applications
22
Hubs and Switches
• A Hub is a L1 device:
– Receives a signal in one port and transmits it through all other
ports.
– All connected nodes receive a sent frame.
• A switch works at the MAC layer:
– Based on the destination address it looks for the appropriate port
in its MAC table and sends the frame through indicated port.
– If an entry is not found in the MAC table, it performs flooding (the
frame is sent out all ports except the receiving one).
6/28/2015 IPv6 and MIPv6 - Fundamentals,
new services, and applications
23
A Frame in the LAN
• When a node wants to transmit message to
other node in the same LAN over layer two, it
creates an IEEE 802.3 frame setting the
destination address, the source address with its
own MAC address, the Type/Length, and the
message in the data field. Then it sends the
frame.
6/28/2015 IPv6 and MIPv6 - Fundamentals,
new services, and applications
24
A Frame in the LAN (2)
• The frame is transmitted through the cable:
– A switch relays it to the appropriate output port or generates
flooding.
• The destination node NIC receives the frame from the
cable, checks correctness, and then discovers it is
destined to itself by looking at the destination MAC
address.
• Then the data is grabbed and passed to the upper layer.
6/28/2015 IPv6 and MIPv6 - Fundamentals,
new services, and applications
25
Fast Ethernet
• Standard Addendum IEEE 802.3u (1995).
• It only based on 10Base-T (100Base-T4/TX/FX). No
multidrop cables.
• Different coding scheme from 802.3
• 100Base-TX is Full Duplex unless hubs are used
(which require half-duplex communication).
• To make upgrading easier, all switches and almost
all 100-Mbps NICs support automatic negotiation of
optimum speed and duplexity.
6/28/2015 IPv6 and MIPv6 - Fundamentals,
new services, and applications
26
Gigabit Ethernet
• Standard Addendum IEEE 802.3z (1998).
• Backward Compatibility is maintained.
• All configurations are point-to-point.
• The normal mode is full duplex:
• Since there is no CSMA/CD, there is no limit for the
cable length (only determined by signal strength
issues).
6/28/2015 IPv6 and MIPv6 - Fundamentals,
new services, and applications
27
Point-to-point connections
`
`
` `
switch switch
6/28/2015 IPv6 and MIPv6 - Fundamentals,
new services, and applications
28
Gigabit Ethernet with hubs
• But Hubs are still allowed for compatibility:
• CSMA/CD protocol must still be used.
• The maximum cable length would be 25 meters.
• To extend the cable length to 100 m, two variants
were created:
• Carrier Extension: the sending HW adds padding to
extend the frame to 512 Bytes and the receiving HW
removes it (Low Efficiency).
• Frame Bursting: the sender transmits a concatenated
sequence of multiple frames up to 512 Bytes, padding if
necessary.
6/28/2015 IPv6 and MIPv6 - Fundamentals,
new services, and applications
29
Gigabit Ethernet more
• Types: 1000Base-SX, 1000Base-Lx, 1000Base-CX,
1000Base-T.
• New coding schemes.
• Buffer overflows are pretty probable when transmitting at 1
Gbps. So, flow control is supported:
• The receiving end can send back a control frame (Type 0x8808)
telling the sender to pause for some period of time.
• First 2 Bytes of the payload convey the command and then follow
the parameters.
• PAUSE frames are used for flow control. The parameter tells how
long to pause.
6/28/2015 IPv6 and MIPv6 - Fundamentals,
new services, and applications
30
10-Gigabit Ethernet
• Standard approved as addendum 802.3ae in 2002.
• No official effort to achieve 100-Gbps Ethernet yet
but some have begun to talk about it
(http://www.ethernetalliance.org/technology/presenta
tions/ )
• Anyway, a 100-Gbps Ethernet standard would not
be ready before 2010.
6/28/2015 IPv6 and MIPv6 - Fundamentals,
new services, and applications
31
Introduction to IP
• IP: Internet Protocol.
• Described by RFC 791.
• Network Layer: it provides the routing of
datagrams (or packets) from one node (host) to
another one, hiding the existence of possibly
different networks (and different technologies)
between them.
• Internet: the network of networks where any host
can contact any other host, no matter where it is
physically set up.
6/28/2015 IPv6 and MIPv6 - Fundamentals,
new services, and applications
32
Introduction
Internet
Ethernet
Router
Workstation
Token-ring
Router
Server
Computer
Router
Router
FDDI Ring
Computer
Printer
Bridge
Ethernet
Computer
Laptop
6/28/2015 IPv6 and MIPv6 - Fundamentals,
new services, and applications
33
Internet Address
• Each host in the internet is assigned a unique 4-
octet address that is used in all communications
with that host.
• Each address is a pair (netid, hostid).
– netid: network in the internet.
– hostid: host in the network.
• One host can have more than one physical
connections, each one with its one IP address:
multi-homed hosts (e.g. routers).
6/28/2015 IPv6 and MIPv6 - Fundamentals,
new services, and applications
34
Classful Addressing Architecture
• Each address is self-identifying: the prefix and suffix
can be determined from the address alone. RFC 790,
1981. Useful for the next 12 years.
1 2 3
Class 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
A |0| NETID | HOSTID |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
B |1|0| NETID | HOSTID |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
C |1|1|0| NETID | HOSTID |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
D |1|1|1|0| Multicast Address |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
D |1|1|1|1| Reserved |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
6/28/2015 IPv6 and MIPv6 - Fundamentals,
new services, and applications
35
Classful Addressing
• There are especial prefixes and addresses,
e.g., the loopback address (127.x.x.x,
127.0.0.1).
6/28/2015 IPv6 and MIPv6 - Fundamentals,
new services, and applications
36
Networks and routers
• All nodes in one network will have the same netid.
• Different L3 networks are connected through routers.
• When a node has to send a packet to a node in a
different network it has to send it to the router, the router
will take care of it.
• One way to do this: the node detects the destination
node is in a different network and sends it to the default
gateway, which is set beforehand.
• Other possibility is the use of proxy ARP.
6/28/2015 IPv6 and MIPv6 - Fundamentals,
new services, and applications
37
A packet sent (I)
• From host 192.13.13.2 to 192.15.13.201.
C
R3
E
F
G
R1 R2
192.13.13.2
192.13.13.23
192.230.215.7 192.230.215.2
192.230.215.0
192.13.13.0
192.211.7.0
192.211.7.3 192.211.7.2
192.15.13.201
192.15.13.0
192.15.13.76
R4
R1 receives the pkt, it looks at the destination address,
it sends the pkt to 192.230.215.2
R2 sends the pkt to 192.211.7.2
R3 sends the pkt to 192.15.13.201
6/28/2015 IPv6 and MIPv6 - Fundamentals,
new services, and applications
38
Questions
• Having R1’s IP address, how does node G know the physical address of
router R1 in order to send him the IP datagram?
• How does R2 know R3’s physical address?
• How does R3 know E’s physical address?
C
R3
E
F
G
R1 R2
192.13.13.2
192.13.13.23
192.230.215.7 192.230.215.2
192.230.215.0
192.13.13.0
192.211.7.0
192.211.7.3 192.211.7.2
192.15.13.201
192.15.13.0
192.15.13.76
R4
6/28/2015 IPv6 and MIPv6 - Fundamentals,
new services, and applications
39
ARP
• ARP: Address Resolution Protocol.
• In order to send an IP datagram through a physical
link, the datagram must be conveyed by a lower layer
frame containing physical addresses.
• An IP address must be mapped into a physical
address. For example, an Ethernet address (48 bits).
• ARP is a protocol that lets a node obtain the physical
address of a destination node, given the destination IP
address.
6/28/2015 IPv6 and MIPv6 - Fundamentals,
new services, and applications
40
ARP Procedure
• Host A wants to send a packet to Host B:
• Host A only knows the IP address of the destination host B. A
needs to know B’s physical address.
• Host A broadcasts an ARP frame asking for the physical address
of the IP address owner (B).
• Host B receives the frame, it recognizes itself as the destination
and it sends a unicast reply with its physical address to A. Every
other node drops the broadcast frame.
• A receives the reply, it updates an ARP cache with mappings IP
address-Physical address. Afterwards, it sends out the frame
within the physical network.
• Next time A will obtain B’s physical address from its ARP cache.
6/28/2015 IPv6 and MIPv6 - Fundamentals,
new services, and applications
41
Questions (II)
• Having E’s address, how does G know that it has to send the packet to
R1?
• How does R1 send the packet to the next hop?
• How is the packet routed from G to E?
C
R3
E
F
G
R1 R2
192.13.13.2
192.13.13.23
192.230.215.7 192.230.215.2
192.230.215.0
192.13.13.0
192.211.7.0
192.211.7.3 192.211.7.2
192.15.13.201
192.15.13.0
192.15.13.76
R4
6/28/2015 IPv6 and MIPv6 - Fundamentals,
new services, and applications
42
Routing I
The main responsibility of the network layer is to make a
packet reach a destination interface from a source interface.
IP provides a Connectionless Delivery Service.
IP implements the mechanism to route one packet through
possibly different physical networks.
This function is implemented by routers. Multi-homed hosts
can provide this service as well.
6/28/2015 IPv6 and MIPv6 - Fundamentals,
new services, and applications
43
Routing II
The routing of a packet is based on the netid part of the destination address.
A Router maintains a routing table in which, for each network known to this
router, there is an entry indicating the next hop (maybe next router) through
which the destination is to be reached.
Network
192.13.13.0
Network
192.230.215.0
Network
192.211.7.0
Network
192.15.13.0R1 R2 R3
192.13.13.0 192.230.215.7
192.230.215.0 Interface 0
192.211.7.0 Interface 1
192.15.13.0 192.211.7.2
192.13.13.0 Interface 0
192.230.215.0 Interface 1
192.211.7.0 192.230.215.2
192.15.13.0 192.230.215.2
6/28/2015 IPv6 and MIPv6 - Fundamentals,
new services, and applications
44
Routing III
To determine which is the next hop to access a destination
network different criteria can be used. It can be based on the
number of hops, delay, etc.
An algorithm is used to choose one among different paths.
Most used routing algorithms:
• Distance Vector Routing: RIP (Bellman-Ford)
• Link State Routing: OSPF
• Between Autonomous Systems: BGP
Routers have to exchange information with neighbors in order
to let them know the networks it can reach and to know the
networks it can access through the neighbors.
6/28/2015 IPv6 and MIPv6 - Fundamentals,
new services, and applications
45
Routing IV
RIP
Each router advertises the networks that it can reach and the number of
hops to access it.
These advertisements are broadcasted every 30 seconds.
A router receives the advertisement from its networks and it updates its
routing tables:
• An entry for that network does not exist- It adds the entry
• There is an entry with a higher number of hops - It is updated.
Every entry has a timeout of 180 seconds.
network next-hop cost
6/28/2015 IPv6 and MIPv6 - Fundamentals,
new services, and applications
46
A packet sent II
A packet is sent from host 192.13.13.2 to 192.15.13.201
C
R3
E
F
G
R1 R2
192.13.13.2
192.13.13.23
192.230.215.7 192.230.215.2
192.230.215.0
192.13.13.0
192.211.7.0
192.211.7.3 192.211.7.2
192.15.13.201
192.15.13.0
192.15.13.76
R4
• Before sending the packet in the physical network the destination physical address has to be
obtained.
• Each router looks into its routing table in order to get the next hop for the packet.
• R1 knows it can reach network 192.15.13 in 3 hops by R2 (192.230.215.2).
6/28/2015 IPv6 and MIPv6 - Fundamentals,
new services, and applications
47
IP characteristics
The service characteristics are:
• It is connectionless
• It is unreliable
• It provides a best-effort delivery.
6/28/2015 IPv6 and MIPv6 - Fundamentals,
new services, and applications
48
IP datagram I
The unit of data that is transferred in IP is a datagram (packet).
It is made up of (RFC 791):
• Header
• Data
0 1 2 3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|Version| IHL |Type of Service| Total Length |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Identification |Flags| Fragment Offset |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Time to Live | Protocol | Header Checksum |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Source Address |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Destination Address |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Options | Padding |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
6/28/2015 IPv6 and MIPv6 - Fundamentals,
new services, and applications
49
Fragmentation
A datagram may have to travel through different networks to reach
the destination.
Each physical network has its MTU: Maximum Transfer Unit.
The datagram size may be too long for transmission in one physical
network: it has to be fragmented.
Each fragment is sent independently.
In the destination host, fragments are reassembled.
Fragment offset indicates the offset of the data inside the non
fragmented datagram.
Identification field is equal in all fragment.
The Flags field is used: do not fragment bit, more fragments bit.
6/28/2015 IPv6 and MIPv6 - Fundamentals,
new services, and applications
50
Transport Layer
It provides:
The interface for applications to access the network services. TSAPs.
It permits a communication between one entity in the source host
and another entity in the destination host.
A message is received from any application, through the TSAP and
sent to the network layer: Multiplexing.
When a message is received from the network layer it is delivered to
the appropriate application (TSAP): Demultiplexing.
6/28/2015 IPv6 and MIPv6 - Fundamentals,
new services, and applications
51
UDP
It provides an unreliable, connectionless delivery service over IP to
transport a message from one application in one machine to other
application in the destiantion host.
It uses the port concept to multiplex and demultiplex messages
between the applications and the UDP layer.
In a UDP message a source port and a destination port are specified.
6/28/2015 IPv6 and MIPv6 - Fundamentals,
new services, and applications
52
TCP I
It provides a connection oriented and reliable service for
messages transmission between two applications in possibly
different hosts. Described by RFC 793.
Its features:
• Connection oriented.
• Stream oriented.
• Buffered transfer.
• Unstructured stream.
• Full duplex.
6/28/2015 IPv6 and MIPv6 - Fundamentals,
new services, and applications
53
TCP II
A connection is established between two end points
characterized by:
• Host id.
• Port.
6/28/2015 IPv6 and MIPv6 - Fundamentals,
new services, and applications
54
TCP-Segment Format
The TCP segment format:
0 1 2 3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Source Port | Destination Port |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Sequence Number |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Acknowledgment Number |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Data | |U|A|E|R|S|F| |
| Offset| Reserved |R|C|O|S|Y|I| Window |
| | |G|K|L|T|N|N| |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Checksum | Urgent Pointer |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Options | Padding |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| data |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
6/28/2015 IPv6 and MIPv6 - Fundamentals,
new services, and applications
55
TCP-Reliability and Window Size
Reliability is achieved by the acknowledgement of the data
sent and retransmission.
Sequence number: sequence number of the first byte sent in the
segment.
Acknowledgement number: sequence number of the last byte
being acknowledged.
Flow control and window size: the field Window let one end-
point control the flow of data sent by the other end-point by
varying the size of the window that can be sent. If it wants the
other application to stop sending data it sends an
acknowledgement segment with Window size = 0.
6/28/2015 IPv6 and MIPv6 - Fundamentals,
new services, and applications
56
TCP-Connection establishment
The connection is established by a three-way handshake.
To initiate a connection a segment is sent with the SYN flag
set.
In the destination host one application has to be listening.
6/28/2015 IPv6 and MIPv6 - Fundamentals,
new services, and applications
57
TCP-Connection establishment
The connection is established by a three-way handshake.
To initiate a connection a segment is sent with the SYN flag
set.
In the destination host one application has to be listening.
Host 1 - Connects Host 2 - ListeningMessages
Send SYN seq=x
Receive SYN
Send SYN seq=y, ACK=x+1
Receive SYN + ACK segments
Send ACK=y+1
Receive ACK segment
6/28/2015 IPv6 and MIPv6 - Fundamentals,
new services, and applications
58
TCP– The state machine
PICTURE SOURCE: http://en.wikipedia.org/wiki/Image:TCP_state_diagram.png
6/28/2015 IPv6 and MIPv6 - Fundamentals,
new services, and applications
59
TCP-Congestion
Whenever there is a timeout of a segment that did not receive
its corresponding ACK, TCP considers there is congestion in
the network and it tries to avoid it.
It lowers the sending rate. Algorithms slow start and
congestion avoidance.
It sends one segments and waits for the ACK.
When the ACK arrives it sends two segments and as long as
there is no timeout expiration the rate keeps on increasing.
6/28/2015 IPv6 and MIPv6 - Fundamentals,
new services, and applications
60
A message sent
A segment is sent from host 192.13.13.2 to 192.15.13.201
C
R3
E
F
G
R1 R2
192.13.13.2
192.13.13.23
192.230.215.7 192.230.215.2
192.230.215.0
192.13.13.0
192.211.7.0
192.211.7.3 192.211.7.2
192.15.13.201
192.15.13.0
192.15.13.76
R4
• Application A1, in G, wants to send a message to application A2 that is listening in a port P2 of E.
• It connects to the port (E,P2) a port P1 is assigned by the OS to A1 in G. A TCP connection is
Established: two sockets are created.
• A1 sends a message to A2 through its socket. A TCP segment is sent. TCP in E sends an
acknowledgement.
• The TCP connection is closed.
6/28/2015 IPv6 and MIPv6 - Fundamentals,
new services, and applications
61
Address shortage
Subnetting, CIDR, and NAT
• During its whole evolution , as it expanded, IP had to
deal with address shortage.
• In 1984, RFC 917 described subnetting. This helped the
distribution of aggregated addresses.
• In 1993, to solve the problem of Class-B Address
Exhaustion and routing information overload, Classless
Inter-Domain Routing was standardized (RFC 1519).
• Also NAT has collaborated to provide connectivity to
many nodes with only one public address.
6/28/2015 IPv6 and MIPv6 - Fundamentals,
new services, and applications
62
Internet scales up
Different devices connected
• From the academic world, Internet has expanded to connect the rest
of the public. It is already widely used in the business world and new
applications are continuously dreamt up.
• Now many devices are offered a limited connectivity.
• Cellular phones might have Internet connectivity as long as they are
within the Carrier Provider Radio Area Network.
• Other type of devices can be connected (Camera, Camcorder,
robots, cars, etc.). Today some have limited PAN connectivity with
Bluetooth (802.15.1) or Zigbee (802.15.4) but they rarely have
Internet access.
• As the necessity to connect all type of devices increases, it is more
obvious that the current IP address space is not enough.
6/28/2015 IPv6 and MIPv6 - Fundamentals,
new services, and applications
63
Internet scales up
More people connected
• As a result of many societies development, more
people gets access to the Internet.
• This is another challenge the current IP address
space could hardly cope with.
6/28/2015 IPv6 and MIPv6 - Fundamentals,
new services, and applications
64
IPv6 - Agenda
• A packet in the Internet.
• IPv6 main features.
• IPv6 Headers.
• MTU.
• QoS Support.
• IPv6 Addresses.
• Autoconfiguration.
• Neighbor Discovery Protocol.
• Why do I need IPv6?
• IPv6 new challenges.
6/28/2015 IPv6 and MIPv6 - Fundamentals,
new services, and applications
65
The Internet
Internet
Ethernet
Router
Workstation
Token-ring
Router
Server
Computer
Router
Router
FDDI Ring
Computer
Printer
Bridge
Computer
Laptop
switch
UMTS Core Network & UTRAN
Node-B
UMTS Mobile Node
GGSN
Router
Video
Access Point switch
Router
802.11g
IP routes a packet in the
Internet from a source
node to one or many
destination nodes.
6/28/2015 IPv6 and MIPv6 - Fundamentals,
new services, and applications
66
How is this task carried out?
• A Protocol is needed that basically indicates each node
which is the next node (next hop) a packet must be sent
to.
• The Protocol must define a packet that conveys data
from a source node to a destination node.
• The protocol must define an addressing mechanism to
be able to locate a destination node and route a packet
to it.
• The Protocol must run on different types of networks.
• The Protocol can provide security.
• The Protocol can provide mechanisms for service
extensions.
6/28/2015 IPv6 and MIPv6 - Fundamentals,
new services, and applications
67
In the Internet model.
How does a packet sent from G arrive to E?
C
R3
E
F
G
R1 R2
R4
Routers
6/28/2015 IPv6 and MIPv6 - Fundamentals,
new services, and applications
68
IPv6
• Internet Protocol (IP) version 6 provides all the
required services.
• IPv6 is the next version of the Internet Protocol
after IPv4. Some documents call it IPng (IP next
generation).
6/28/2015 IPv6 and MIPv6 - Fundamentals,
new services, and applications
69
IPv6 - Main Features
• Address size is 16 Bytes.
• Extended address hierarchy.
• New header format: 1 Base Header + n
Extension Headers.
• Different support for options (comparing to IPv4).
• Support for protocol extensions (e.g. Mobility
support).
6/28/2015 IPv6 and MIPv6 - Fundamentals,
new services, and applications
70
IPv6 - Main Features
• Support for autoconfiguration and renumbering.
• Support for resource allocation: Flow label and
service type.
• Support for authentication and privacy is
specified: IPsec natively supported
6/28/2015 IPv6 and MIPv6 - Fundamentals,
new services, and applications
71
IPv6 Packet
• In all protocols, a message usually has a basic
structure made of:
• A Header: contains Protocol information.
• A Payload: contains data relative to the current layer that must be
passed to the layer above (it could be a message belonging to the
layer above).
• In IP the message relayed is called “packet”.
6/28/2015 IPv6 and MIPv6 - Fundamentals,
new services, and applications
72
IPv6 – Headers
• An IPv6 datagram has 40-octect Base Header
and n Extension Headers.
• Advantages:
– Improves performance on header processing.
– The user can choose which extension headers to
include and which to omit.
– Flexibility for new options: more extension
headers can be added.
6/28/2015 IPv6 and MIPv6 - Fundamentals,
new services, and applications
73
IPv6 – Base Header
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|Version| Traffic Class | Flow Label |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Payload Length | Next Header | Hop Limit |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| |
+ +
| |
+ Source Address +
| |
+ +
| |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| |
+ +
| |
+ Destination Address +
| |
+ +
| |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
6/28/2015 IPv6 and MIPv6 - Fundamentals,
new services, and applications
74
IPv6 – Headers
• In order to Extract any header information from an IPv6 datagram a
sequential search from the base header is required. Every header
has a “next header” field.
• Different possibilities for datagrams with base header and n
extension headers:
Base Header
NEXT=TCP
TCP segment
Base Header
NEXT=hbh
hbh Header
NEXT=TCP
TCP segment
Base Header
NEXT=hbh
hbh Header
NEXT=AUTH
AUTH Header
NEXT=TCP
TCP segment
6/28/2015 IPv6 and MIPv6 - Fundamentals,
new services, and applications
75
IPv6 – Extension Headers
• There are Extension headers useful for each hop from
the source to the destination and extension headers to
be processed at the destination node.
• A full implementation of IPv6 includes implementation
of the following extension headers:
– Hop-by-Hop options: to be processes by routers.
– Routing (Type 0): source routing.
– Fragment: fragmentation header (instead of IPv4 fields).
– Destination Options: to be processed by the destination
node.
– Authentication (AH).
– Encapsulating Security Payload (ESP).
6/28/2015 IPv6 and MIPv6 - Fundamentals,
new services, and applications
76
Hop-by-Hop and Destination Options
C
R3
E
F
G
R1 R2
R4
Hop-by-Hop Options
Destination Options
6/28/2015 IPv6 and MIPv6 - Fundamentals,
new services, and applications
77
IPv6 – Extension Headers
• When there are more than one header there is a
recommended order:
– Base header
– Hop-by-Hop options header
– Destination options header-1
– Source Routing header (Type 0)
– Type 2 routing header (for mobility)
– Fragment header
– Authentication header (AH).
– Encapsulating Security Payload (ESP) header
– Destination Options header-2
– Upper-layer header
6/28/2015 IPv6 and MIPv6 - Fundamentals,
new services, and applications
78
Different frame sizes in different link
technologies (different MTU)
C
R3
E
F
G
R1 R2
R4
MTU: n MTU: m
MTU: Maximum Transfer Unit.
MTU: k
6/28/2015 IPv6 and MIPv6 - Fundamentals,
new services, and applications
79
IPv6 – Path MTU Discovery and
Fragmentation
• Unlike IPv4, Fragmentation is only performed by
source nodes, not by routers along the path.
• IPv6 requires that every link in the Internet have an
MTU of 1280 octets or greater.
• Path MTU discovery is recommended for source
nodes in order to discover a path MTU larger than
1280 octets.
• It is not as easy as in IPv4 to change the route from
the source to the destination. If a route turns
unavailable and the alternative route has a smaller
MTU, the packet could be dropped.
6/28/2015 IPv6 and MIPv6 - Fundamentals,
new services, and applications
80
IPv6 – Quality Of Service
Flow Label
• It is intended to define a flow of packets from a source to
a destination for which special handling is required, for
example for a “real-time” service.
Traffic Class
• This field is intended to define one of different traffic
classes. Used for DiffServ. Along with the flow label it is
going to be used to define QoS.
6/28/2015 IPv6 and MIPv6 - Fundamentals,
new services, and applications
81
IPv6 –Addresses
• IPv6 addresses are 128-bit “identifiers” for
interfaces and sets of interfaces.
• Length: 16 Bytes or 128 bits.
• IPv6 addresses of all types are assigned to
interfaces, not nodes.
• Since each interface belongs to a single node,
the interface’s unicast addresses can be used as
an “identifier” for that node.
• IPv6 Addressing Architecture defined by RFC
4291 (IETF).
6/28/2015 IPv6 and MIPv6 - Fundamentals,
new services, and applications
82
IPv6 – Text Representation of Addresses
• 16 Bytes: 128 bits.
• Text representation: Colon Hexadecimal
Notation.
2004:FFED:01:0:0:0:0CC:A1BC
2004:FFED:1::0CC:A1BC
0:0:0:0:128:FA:1234:5678
::128:F0A:1234:5678
::192.168.0.5 (x:x:x:x:x:x:d.d.d.d for embeddedIPv4
addresses)
Note: Zero compression can be applied only once.
6/28/2015 IPv6 and MIPv6 - Fundamentals,
new services, and applications
83
IPv6 – Text Representation of Addresses
• Prefixes: the leftmost bits of an address
expressing certain information about it.
FC00::/7 => A 7-bit prefix specified as 1111 110b
2004:FFED:1::/64 => A 64-bit prefix
2001:0DB8:0000:CD30:0000:0000:0000:0000/60
2001:0DB8::cd30:0:0:0:0/60
2001:0DB8:0:cd30::/60
• Node address and prefix:
2001:0DB8:0000:CD31:AB01:3201:A00C:1AF8/60
• Zones?
6/28/2015 IPv6 and MIPv6 - Fundamentals,
new services, and applications
84
IPv6 - Addresses
Address types
• Unicast: specifies a single interface (a single node).
• Anycast: specifies a set of interfaces (typically
belonging to different nodes). They are unicast
addresses assigned to different interfaces. The pkt is
delivered to exactly one of them, the nearest one.
• Multicast: specifies a set of interfaces (typically
belonging to different nodes). The pkt is delivered to all
of them.
Note: broadcast is handled with multicast addresses.
6/28/2015 IPv6 and MIPv6 - Fundamentals,
new services, and applications
85
IPv6 - Addresses
Types and Scopes
Address Type Binary Prefix
IPv6
Notation
Unspecified 00…0 ::/128
Loopback 00…1 ::1/128
Multicast Addresses 1111 1111 FF00::/8
Link-Local Unicast Addresses 1111 1110 10 FE80::/10
Unique Local IPv6 Unicast Addresses (RFC 4193) 1111 1100 FC00::/7
Site-Local Unicast Addresses (Deprecated RFC 3879) 1111 1110 11 FEC0::/10
Global Unicast Addresses (Aggregatable) everything else
IPv4-Mapped IPv6 Address: ::FFF:d.d.d.d (used in dual-stack nodes)
6/28/2015 IPv6 and MIPv6 - Fundamentals,
new services, and applications
86
IPv6 – Scopes
Internet
Computer
Computer
Workstation
Server
Router
Computer
Computer
Computer
Server
Link-local
Site-local
Global
(global, unique local)
6/28/2015 IPv6 and MIPv6 - Fundamentals,
new services, and applications
87
IPv6 – Addresses
Interface Identifier (ID)
• Interface IDs in IPv6 unicast addresses are used to identify
interfaces on a link.
• They can be unique within a broader scope.
• For all unicast addresses, except those that start with the binary
value 000, Interface IDs are required to be 64 bits long and to be
constructed in Modified EUI-64 format.
• Modified EUI-64 format-based interface IDs may have universal
scope (stemmed from IEEE 802 48-bit MAC or IEEE EUI-64 IDs, u
bit=1) or local scope (u bit=0). Figure below shows the company ID
part.
0 0 0 1 1 2
|0 7 8 5 6 3|
+----+----+----+----+----+----+
|cccc|ccug|cccc|cccc|cccc|cccc|
+----+----+----+----+----+----+
6/28/2015 IPv6 and MIPv6 - Fundamentals,
new services, and applications
88
IPv6 – Addresses
Modified EUI-64 format Interface Identifier (ID)
• Example: creation of a Modified EUI-64 format Interface Identifier
from an IEEE 48-bit MAC identifier.
MAC Addr: 00:07:A5:60:0E:F0 (6 Bytes)
02:07:A5: FF:FE: 60:0E:F0Modified EUI-64 ID:
6/28/2015 IPv6 and MIPv6 - Fundamentals,
new services, and applications
89
IPv6 – Addresses
Configuration based on Interface Identifier (ID)
•MAC Addr: 00:07:A5:60:0E:F0 (6 Bytes)
•Modified EUI-64 ID: 02:07:A5:FF:FE:60:0E:F0
•Link Local Unicast Addr: FE80::0207:A5FF:FE60:0EF0
6/28/2015 IPv6 and MIPv6 - Fundamentals,
new services, and applications
90
IPv6 – Addresses
Global Unicast Address
• General Format:
| n bits | m bits | 128-n-m bits |
+------------------------+-----------+----------------------------+
| global routing prefix | subnet ID | interface ID |
+------------------------+-----------+----------------------------+
• Global Routing Prefix is hierarchically-structured:
• Regional Internet Registries (RIPE, LACNIC, ARIN, APNIC, AfriNIC): /23
prefixes?
• Providers, research networks, etc.: usually /32 prefixes.
• Site with subnetworks: /48
• Subnetworks: /64
• Global Unicast Address: 2002:C3D4:6EED:1:0207:A5FF:FE60:0EF0 /64
6/28/2015 IPv6 and MIPv6 - Fundamentals,
new services, and applications
91
IPv6 – Addresses
Unique Local Unicast Address
•General Format:
| 7 bits |1| 40 bits | 16 bits | 64 bits |
+--------+-+------------+-----------+----------------------------+
| Prefix |L| Global ID | Subnet ID | Interface ID |
+--------+-+------------+-----------+----------------------------+
•Prefix (FC00::/7), L (1 for locally assigned Global ID), Global ID (“Globally
unique” pseudo-random ID).
•Example: FDB2:C3D4:6EED:1:0207:A5FF:FE60:0EF0 /64
6/28/2015 IPv6 and MIPv6 - Fundamentals,
new services, and applications
92
IPv6 – Addresses
Zones
• A Zone (or scoped zone) is a connected region of topology of a given
scope.
• Determined by the context and not encoded in the address.
• Different types:
• An interface on a node comprises a single zone of interface-local scope.
• Each link and interfaces attached to it comprise a single zone of link-
local scope.
• A single zone of global scope comprises all links and interfaces in the
Internet.
• The boundaries of other zones are defined by network administrators.
• At each node, a zone is represented by an index.
6/28/2015 IPv6 and MIPv6 - Fundamentals,
new services, and applications
93
IPv6 – Addresses
How zones affect us
•Text representation:
FE80::0207:A5FF:FE60:0EF0%2
•Programmer: the zone index is set in the
sin6_scope_id field of the sockaddr_in6 structure
(Socket API).
•Network Administrator:
• When a router transmits routing information through one
interface it must not transmit information about zones the
interface does not belong to.
• Probably different zones within an organization will be
assigned different Unique Local IPv6 Unicast Addresses.
6/28/2015 IPv6 and MIPv6 - Fundamentals,
new services, and applications
94
IPv6 Addresses must be assigned to the
Network Interfaces
C
R3
E
F
G
R1 R2
R4
6/28/2015 IPv6 and MIPv6 - Fundamentals,
new services, and applications
95
IPv6 – Address Assignment
• It is necessary to assign addresses to a node’s
network interfaces so that packets destined to
this node can reach it.
• IPv6 allows Address Autoconfiguration.
6/28/2015 IPv6 and MIPv6 - Fundamentals,
new services, and applications
96
IPv6 – Address Autoconfiguration
• The procedure a host follows to create its interface
addresses without manual assistance.
• Autoconfiguration is performed on a per-interface basis
on multicast-capable links in multicast-capable
interfaces. Begins when the interface becomes
enabled.
• It uses Neighbor Discovery Protocol messages.
• Address Autoconfiguration can be:
– Stateless: without assistance of stateful servers.
– Stateful: with assistance of a stateful server; for example
DHCPv6.
• Both Stateless and Stateful are complementary.
6/28/2015 IPv6 and MIPv6 - Fundamentals,
new services, and applications
97
IPv6 – Address Autoconfiguration
Address Autoconfiguration Steps – Link-Local Address
PC3
switch
PC2
PC1
1. Interface is enabled.
2. “Tentative” link-local address
is formed.
3. Duplicate Address Detection
is performed: A Neighbor
Solicitation is sent to
Solicited-Node Multicast
Address of the Target Address
4. If the node ascertains the link-
local address is unique, it is
assigned to the interface.
5. The node has only link
connectivity.
FE80::0207:A5FF:FE60:0EF0
FE80::0207:A5FF:FE60:0EF0
Neighbor Solicitation to
FF02:0:0:0:0:1:FF60:0EF0
2
4
3
6/28/2015 IPv6 and MIPv6 - Fundamentals,
new services, and applications
98
IPv6 – Address Autoconfiguration
Stateless Address Autoconfiguration - Next Steps
PC3
switch
PC2
PC1
1. Routers periodically send out
Router Advertisements with
Prefix Information Options.
2. If a prefix published in the
Prefix Information Option has
the appropriate flag set, it can
be used to form a Global
Address or a Local Unicast
Address.
3. The node has Site or Internet-
wide connectivity. 2002:C3D4:6EED:1:0207:A5FF:FE60:0EF0
Router Advertisements.
Prefix:
2002:C3D4:6EED:1
ROUTER
1
2
6/28/2015 IPv6 and MIPv6 - Fundamentals,
new services, and applications
99
How is an IPv6 packet physically relayed
from a node’s NIC to the next hop’s NIC?
C
R3
E
F
G
R1 R2
R4
A
NIC: Network Interface Card
6/28/2015 IPv6 and MIPv6 - Fundamentals,
new services, and applications
100
Neighbor Discovery Protocol for IPv6
• This protocol is used in IPv6 to:
– Determine neighbor’s link-layer address, i.e. address
resolution (NO ARP).
– Determine neighbor bidirectional reachability: Neighbor
Unreachability Detection.
– Discover neighboring routers.
– Learning link specific parameters: network prefixes, MTU, etc.
– Next-Hop determination and Redirect.
– Duplicate Address Detection in Address Autoconfiguration.
– Proxy support.
• Messages used in ND Protocol are part of ICMPv6.
6/28/2015 IPv6 and MIPv6 - Fundamentals,
new services, and applications
101
IPv6 – ND Protocol Address Resolution
PC3
switch
PC2
PC1
1. PC3 is to send a packet to
2002:C3D4:6EED:1:0207:A5FF:
FE61:2AB8 but first it needs to
know the corresponding HW
address.
2. PC3 sends a Neighbor
Solicitation asking for the owner
of the destination address: it is
sent to the solicited-node
multicast address for the target
addr.
3. PC1 reads the Neighbor
Solicitation and responds with a
Neighbor Advertisement telling
its link-layer address.
4. PC3 can physically send the
packet to the HW (link-layer)
address of PC1.
2002:C3D4:6EED:1:0207:A5FF:FE60:0EF0
2002:C3D4:6EED:1:0207:A5FF:FE61:2AB8
6/28/2015 IPv6 and MIPv6 - Fundamentals,
new services, and applications
102
IPv6 – Neighbor Discovery Protocol ICMPv6
Messages
• ND Protocol defines the following ICMPv6
messages:
– Neighbor Solicitation (Duplicate Address Detection,
Address Resolution, Neighbor Unreachability Detection).
– Neighbor Advertisement (Duplicate Address Detection,
Address Resolution , Neighbor Unreachability Detection,
Proxy Support).
– Router Solicitation (Address Autoconfiguration, Network
Parameters).
– Router Advertisement (Address Autoconfiguration,
Network Parameters).
– Redirect (Next-Hop correction).
6/28/2015 IPv6 and MIPv6 - Fundamentals,
new services, and applications
103
Now a Packet sent from G arrives to A
C
R3
E
F
G
R1 R2
R4
A
The packet is physically sent from G’NIC to A’s NIC
Neighbor
Solicitation
6/28/2015 IPv6 and MIPv6 - Fundamentals,
new services, and applications
104
Now a Packet sent from G arrives to A
C
R3
E
F
G
R1 R2
R4
A
The packet is physically sent from G’NIC to A’s NIC
Neighbor
Advertisement
6/28/2015 IPv6 and MIPv6 - Fundamentals,
new services, and applications
105
Now a Packet sent from G arrives to E
C
R3
E
F
G
R1 R2
R4
Router
Advertisement
2002:C3D4:6EED:1:0207:A5FF:FE60:0EF0
20B1:CAD1:55ED:1:0207:A5FF:FE61:2AB8
For the sake of simplicity, in this presentation it is assumed intermediate routers know
where to send packets.
6/28/2015 IPv6 and MIPv6 - Fundamentals,
new services, and applications
106
Now a Packet sent from G arrives to E
C
R3
E
F
G
R1 R2
R4
2002:C3D4:6EED:1:0207:A5FF:FE60:0EF0
20B1:CAD1:55ED:1:0207:A5FF:FE61:2AB8
For the sake of simplicity, in this presentation it is assumed intermediate routers know
where to send packets.
6/28/2015 IPv6 and MIPv6 - Fundamentals,
new services, and applications
107
IPv6 Operation Summary
• The topics presented encompass the basics about
IPv6:
• Packet Structure: Base Header and Extension Headers.
• IPv6 Addresses.
• Stateless Address Autoconfiguration.
• Neighbor Discovery Protocol Basics.
• The topics specified above are enough to send a
packet from a source node to a destination node.
6/28/2015 IPv6 and MIPv6 - Fundamentals,
new services, and applications
108
IPv6 core specifications
• According to the IPv6 Forum (IPv6 Forum Roadmap &
Vision,
http://www.6journal.org/archive/00000261/02/WWC_IPv6_Forum_Roadmap__Visio
n_2010_v6.pdf)
• RFC 1981: Path MTU Discovery.
• RFC 2460: IPv6 Protocol.
• RFC 2461: IPv6 Neighbor Discovery.
• RFC 2462: IPv6 Stateless Auto-Configuration.
• RFC 2463: Internet Control Message Protocol for IPv6
(ICMPv6).
• RFC 4291: IPv6 Address Architecture.
• RFC 4301: Security Architecture for IP (IPsec).
• IPv6 over “XYZ” Link Layer (Ethernet, ATM, PPP, etc.)
6/28/2015 IPv6 and MIPv6 - Fundamentals,
new services, and applications
109
Why do I need IPv6?
• There is no killer application for IPv6.
• Although not compatible, IPv6 can be seen as an
evolution from the experience gained with IPv4 since
1981.
• The major great advantage is the wider address space.
This brings a lot of changes to the communications
industry.
6/28/2015 IPv6 and MIPv6 - Fundamentals,
new services, and applications
110
Why do I need IPv6?
• The wide address space allows each device in the
world to have its own IPv6 address:
• Every device can be connected (PDA, cell phone, robot,
sensor, camera, medical equipment, etc.).
• NAT is not necessary to save IP addresses. Without NAT it is
possible to achieve E2E communications between nodes.
• This leverages the creation of new ubiquitous services without
a centralized server, using P2P architectures:
• A digital camera can send a picture to a PDA without the
need of a server in the middle.
• My MP3 Player can directly access my PC and get read
music files.
• I can turn on the air conditioner at home from my cell phone
without a server in the middle.
6/28/2015 IPv6 and MIPv6 - Fundamentals,
new services, and applications
111
Why do I need IPv6?
• IPsec is part of the Protocol.
• It is easier to extend the Protocol by adding new Extension
Headers. For example: Mobile IPv6.
• Network parameters can be managed from the router configuration
(Network Renumbering and new configuration features).
• Support for Stateless Address Autoconfiguration, allowing “Plug-
and-Play” capability.
• Better support for QoS (based on Type of Service and flows).
• Better support for mobility: Route Optimization.
6/28/2015 IPv6 and MIPv6 - Fundamentals,
new services, and applications
112
IPv6 new challenges and opportunities
• IPv6 also involves new challenges:
• How can a chat application using E2E communications and
without a centralized server be implemented? How participating
nodes, which join and leave the chat session, can be tracked?
• A proprietary protocol can be implemented at layer 3 by just
adding new Extension Headers.
• TCP might need some changes in order to use all IPv6
advantages.
• Applications using TCP and UDP might need some changes (for
example, the case of prefix lifetime).
• Transition from IPv4 to IPv6 is said to be easy. However, some
features must be considered. In addition, IPv4 and IPv6 must
coexist for a long time (some say 25 years).
• In E2E connectivity, it is more obvious that Security is essential.
6/28/2015 IPv6 and MIPv6 - Fundamentals,
new services, and applications
113
IPv6 and other standards groups
• 3GPP mandates that IMS (IP Multimedia Subsystems) will
internally use IPv6 (Within the Core Network).
• 3GPP2 determined that IMS will internally use IPv4 or IPv6.
• In the IETF, 6lowpan WG (IPv6 over Low power WPAN) is
investigating the use of IPv6 over 802.15.4
• IMS Links:
• http://www.motorola.com/networkoperators/pdfs/Motorola-IP-Multimedia-Subsystem-
Brochure.pdf#search=%22%2BIMS%20%2B%22Ip%20Multimedia%20Subsystem%22%22
• http://www.ericsson.com/technology/whitepapers/ims_ip_multimedia_subsystem.pdf#search=%22%2BIMS%20%2B%2
2Ip%20Multimedia%20Subsystem%22%22
6/28/2015 IPv6 and MIPv6 - Fundamentals,
new services, and applications
114
IPv6 Status and Future
• IPv6 Penetration estimates generated by RTI International in
United States (http://www.nist.gov/director/prog-ofc/report05-2.pdf).
6/28/2015 IPv6 and MIPv6 - Fundamentals,
new services, and applications
115
IPv6 Status and Future
• IPv6 Rollout in the world (IPv6 and Broadband, EC IST 6LINK,
http://www.ipv6tf.org/pdf/ISTClusterbooklet2005.pdf).
6/28/2015 IPv6 and MIPv6 - Fundamentals,
new services, and applications
116
IPv6 Status and Future
• Major IPv6 activities worldwide (IPv6 and Broadband, EC IST
6LINK, http://www.ipv6tf.org/pdf/ISTClusterbooklet2005.pdf).
6/28/2015 IPv6 and MIPv6 - Fundamentals,
new services, and applications
117
IPv6 Status and Future
• The Asia-Pacific region is leading IPv6 adoption with Japan at the
head.
• In most developed regions, government agencies have great
participation in the IPv6 adoption effort.
• The US DoD has announced support for IPv6 back in June 2003.
Its networks will completely be IPv6 capable by 2008.
• In Argentina there is a recently formed IPv6 Task Force
6/28/2015 IPv6 and MIPv6 - Fundamentals,
new services, and applications
118
Questions?
6/28/2015 IPv6 and MIPv6 - Fundamentals,
new services, and applications
119
Link References
• IST IPv6 Portal: http://www.ist-ipv6.org
• IPv6 Forum: http://www.ipv6forum.org
• Argentina IPv6 Task Force: http://www.ar.ipv6tf.org (?)
• NTIA comments on IPv6: http://www.ntia.doc.gov/ntiahome/ntiageneral/ipv6
• North American IPv6 Task Force: http://www.nav6tf.org/
• IPv6 and Broadband: www.ist-ipv6.org/pdf/ISTClusterbooklet2005.pdf
• IPv6 Forum Roadmap & Vision:
http://www.6journal.org/archive/00000261/02/WWC_IPv6_Forum_Roadmap__Visio
n_2010_v6.pdf
• IETF: www.ietf.org
• HP IPv6 tutorial: http://h10026.www1.hp.com/netipv6/IPv6_seminar_Oct2004.pdf
• IPv4-IPv6Transition:
• http://www.6journal.org/archive/00000046/01/trans_ipv6_v014.pdf
• http://usipv6.unixprogram.com/North_American_IPv6_Summit_2004/
IPv6_Tutorial/marc_blanchet_tutorial_ipv6_transition.pdf
6/28/2015 IPv6 and MIPv6 - Fundamentals,
new services, and applications
120
C Source Code:
IPv6 Client and IPv6 Server
6/28/2015 IPv6 and MIPv6 - Fundamentals,
new services, and applications
121
Example: Server
Socket Creation (Family Type AF_INET6):
if ((listenSocket = socket(AF_INET6, SOCK_STREAM, 0)) == -1)
{
printf("ERROR - Socket could not be open: %dn", errno);
return 1;
}
Address and Port to bind to:
bzero(&my_addr, sizeof(my_addr));
my_addr.sin6_family = AF_INET6;
my_addr.sin6_port = htons(LISTEN_PORT);
my_addr.sin6_addr = in6addr_any;
my_addr.sin6_scope_id = 2;
Socket Structure Data Type for IPv6:
struct sockaddr_in6 my_addr;
struct sockaddr_in6 cliaddr;
6/28/2015 IPv6 and MIPv6 - Fundamentals,
new services, and applications
122
Example: Server
Listen to the socket (Like IPv4):
res = listen(listenSocket, BACKLOG);
Bind to the interface and port (Like IPv4):
res = bind(listenSocket, (struct sockaddr *)&my_addr,
sizeof(struct sockaddr_in6));
Accept connections (Like IPv4):
newSocket = accept(listenSocket, (struct sockaddr *) &cliaddr,
(socklen_t*)&size);
Convert client address to print:
if (inet_ntop(AF_INET6, (const void *)&cliaddr.sin6_addr,
addrBuffer, INET6_ADDRSTRLEN) == NULL)
Read message (Like IPv4):
if ((bytesRead = read(newSocket, (void *)buffer, 100)) == -1)
Close sockets(Like IPv4):
close(newSocket);
close(listenSocket);
6/28/2015 IPv6 and MIPv6 - Fundamentals,
new services, and applications
123
Example: Client
Socket Creation (Family Type AF_INET6):
if ((listenSocket = socket(AF_INET6, SOCK_STREAM, 0)) == -1)
{
printf("ERROR - Socket could not be open: %dn", errno);
return 1;
}
Address and Port to bind to:
#define DEST_ADDR "::1“
bzero(&their_addr, sizeof(their_addr));
their_addr.sin6_family = AF_INET6;
their_addr.sin6_port = htons(LISTEN_PORT);
their_addr.sin6_scope_id = 2;
if (inet_pton(AF_INET6, DEST_ADDR,(void *)&their_addr.sin6_addr)
!= 1)
Socket Structure Data Type for IPv6:
struct sockaddr_in6 their_addr;
6/28/2015 IPv6 and MIPv6 - Fundamentals,
new services, and applications
124
Example: Client
Connect to Destination (Like IPv4):
if (connect(sock, (const struct sockaddr *)&their_addr,
(socklen_t)sizeof(their_addr)) == -1)
Address and Port to bind to (Like any fd):
if ((bytesWritten = write(sock, (const void *)buffer,
sizeof(buffer))) == -1)
Close socket(Like any fd):
close(sock);

More Related Content

What's hot

File System Hierarchy
File System HierarchyFile System Hierarchy
File System Hierarchysritolia
 
Processing Crimes and Incident Scenes
Processing Crimes and Incident ScenesProcessing Crimes and Incident Scenes
Processing Crimes and Incident Scenesprimeteacher32
 
Internet protocols
Internet protocolsInternet protocols
Internet protocolsRohit Saini
 
mackintosh operating system
mackintosh operating systemmackintosh operating system
mackintosh operating systemDiderAlam1
 
Install active directory on windows server 2016 step by step
Install active directory on windows server 2016  step by stepInstall active directory on windows server 2016  step by step
Install active directory on windows server 2016 step by stepAhmed Abdelwahed
 
Cisco IPv6 Tutorial by Hinwoto
Cisco IPv6 Tutorial by HinwotoCisco IPv6 Tutorial by Hinwoto
Cisco IPv6 Tutorial by HinwotoFebrian ‎
 
Classless inter domain routing
Classless inter domain routingClassless inter domain routing
Classless inter domain routingVikash Gangwar
 
LDAP - Lightweight Directory Access Protocol
LDAP - Lightweight Directory Access ProtocolLDAP - Lightweight Directory Access Protocol
LDAP - Lightweight Directory Access ProtocolS. Hasnain Raza
 
NETWORK FILE SYSTEM
NETWORK FILE SYSTEMNETWORK FILE SYSTEM
NETWORK FILE SYSTEMRoshan Kumar
 
SquirrelMail for webmail
SquirrelMail for webmailSquirrelMail for webmail
SquirrelMail for webmailAryman Gautam
 
Ntfs and computer forensics
Ntfs and computer forensicsNtfs and computer forensics
Ntfs and computer forensicsGaurav Ragtah
 
CCNAS :Multi Area OSPF
CCNAS :Multi Area OSPFCCNAS :Multi Area OSPF
CCNAS :Multi Area OSPFrooree29
 
Presentation on Domain Name System
Presentation on Domain Name SystemPresentation on Domain Name System
Presentation on Domain Name SystemChinmay Joshi
 

What's hot (20)

File System Hierarchy
File System HierarchyFile System Hierarchy
File System Hierarchy
 
Processing Crimes and Incident Scenes
Processing Crimes and Incident ScenesProcessing Crimes and Incident Scenes
Processing Crimes and Incident Scenes
 
Nikto
NiktoNikto
Nikto
 
VIT 5-2014
VIT 5-2014VIT 5-2014
VIT 5-2014
 
Internet protocols
Internet protocolsInternet protocols
Internet protocols
 
mackintosh operating system
mackintosh operating systemmackintosh operating system
mackintosh operating system
 
Install active directory on windows server 2016 step by step
Install active directory on windows server 2016  step by stepInstall active directory on windows server 2016  step by step
Install active directory on windows server 2016 step by step
 
Cisco IPv6 Tutorial by Hinwoto
Cisco IPv6 Tutorial by HinwotoCisco IPv6 Tutorial by Hinwoto
Cisco IPv6 Tutorial by Hinwoto
 
OSPF Fundamental
OSPF FundamentalOSPF Fundamental
OSPF Fundamental
 
Classless inter domain routing
Classless inter domain routingClassless inter domain routing
Classless inter domain routing
 
LDAP - Lightweight Directory Access Protocol
LDAP - Lightweight Directory Access ProtocolLDAP - Lightweight Directory Access Protocol
LDAP - Lightweight Directory Access Protocol
 
Application Layer
Application LayerApplication Layer
Application Layer
 
IPv6
IPv6IPv6
IPv6
 
NETWORK FILE SYSTEM
NETWORK FILE SYSTEMNETWORK FILE SYSTEM
NETWORK FILE SYSTEM
 
SquirrelMail for webmail
SquirrelMail for webmailSquirrelMail for webmail
SquirrelMail for webmail
 
Implementing cisco mpls
Implementing cisco mplsImplementing cisco mpls
Implementing cisco mpls
 
Ntfs and computer forensics
Ntfs and computer forensicsNtfs and computer forensics
Ntfs and computer forensics
 
CCNAS :Multi Area OSPF
CCNAS :Multi Area OSPFCCNAS :Multi Area OSPF
CCNAS :Multi Area OSPF
 
Presentation on Domain Name System
Presentation on Domain Name SystemPresentation on Domain Name System
Presentation on Domain Name System
 
VIT 1-2014
VIT 1-2014VIT 1-2014
VIT 1-2014
 

Viewers also liked

IPV6 addressing plan exercise-1
IPV6 addressing plan exercise-1IPV6 addressing plan exercise-1
IPV6 addressing plan exercise-1stupidbopols
 
IPv4 and IPv6 - addressing Internet infrastructure
IPv4 and IPv6 - addressing Internet infrastructureIPv4 and IPv6 - addressing Internet infrastructure
IPv4 and IPv6 - addressing Internet infrastructureRIPE NCC
 
Preparing an IPv6 Addressing Planl
Preparing an IPv6 Addressing PlanlPreparing an IPv6 Addressing Planl
Preparing an IPv6 Addressing PlanlDave Thyssen
 
Addressing plans
Addressing plansAddressing plans
Addressing plansenes373
 
IPv6 Addressing Plan Fundamentals
IPv6 Addressing Plan FundamentalsIPv6 Addressing Plan Fundamentals
IPv6 Addressing Plan FundamentalsRIPE NCC
 
IPV6 addressing plan exercise-2
IPV6 addressing plan exercise-2IPV6 addressing plan exercise-2
IPV6 addressing plan exercise-2stupidbopols
 
Web I - 05 - HTTP Protocol
Web I - 05 - HTTP ProtocolWeb I - 05 - HTTP Protocol
Web I - 05 - HTTP ProtocolRandy Connolly
 
C++17 introduction - Meetup @EtixLabs
C++17 introduction - Meetup @EtixLabsC++17 introduction - Meetup @EtixLabs
C++17 introduction - Meetup @EtixLabsStephane Gleizes
 
Modern c++ (C++ 11/14)
Modern c++ (C++ 11/14)Modern c++ (C++ 11/14)
Modern c++ (C++ 11/14)Geeks Anonymes
 
C++11 concurrency
C++11 concurrencyC++11 concurrency
C++11 concurrencyxu liwei
 
"Http protocol and other stuff" by Bipin Upadhyay
"Http protocol and other stuff" by Bipin Upadhyay"Http protocol and other stuff" by Bipin Upadhyay
"Http protocol and other stuff" by Bipin UpadhyayBipin Upadhyay
 
Fred explainsi pv6-v2-alpha
Fred explainsi pv6-v2-alphaFred explainsi pv6-v2-alpha
Fred explainsi pv6-v2-alphaFred Bovy
 
IPv6 Fundamentals & Securities
IPv6 Fundamentals & SecuritiesIPv6 Fundamentals & Securities
IPv6 Fundamentals & SecuritiesDon Anto
 
Mobile IPv6 course at CACIC 2006
Mobile IPv6 course at CACIC 2006Mobile IPv6 course at CACIC 2006
Mobile IPv6 course at CACIC 2006Rodolfo Kohn
 

Viewers also liked (20)

IPV6 addressing plan exercise-1
IPV6 addressing plan exercise-1IPV6 addressing plan exercise-1
IPV6 addressing plan exercise-1
 
IPv4 and IPv6 - addressing Internet infrastructure
IPv4 and IPv6 - addressing Internet infrastructureIPv4 and IPv6 - addressing Internet infrastructure
IPv4 and IPv6 - addressing Internet infrastructure
 
Preparing an IPv6 Addressing Planl
Preparing an IPv6 Addressing PlanlPreparing an IPv6 Addressing Planl
Preparing an IPv6 Addressing Planl
 
Addressing plans
Addressing plansAddressing plans
Addressing plans
 
IPv6 Addressing Plan Fundamentals
IPv6 Addressing Plan FundamentalsIPv6 Addressing Plan Fundamentals
IPv6 Addressing Plan Fundamentals
 
IPv6 Address Planning
IPv6 Address PlanningIPv6 Address Planning
IPv6 Address Planning
 
IPV6 addressing plan exercise-2
IPV6 addressing plan exercise-2IPV6 addressing plan exercise-2
IPV6 addressing plan exercise-2
 
Web I - 05 - HTTP Protocol
Web I - 05 - HTTP ProtocolWeb I - 05 - HTTP Protocol
Web I - 05 - HTTP Protocol
 
TCP/IP
TCP/IPTCP/IP
TCP/IP
 
C++17 introduction - Meetup @EtixLabs
C++17 introduction - Meetup @EtixLabsC++17 introduction - Meetup @EtixLabs
C++17 introduction - Meetup @EtixLabs
 
Modern c++ (C++ 11/14)
Modern c++ (C++ 11/14)Modern c++ (C++ 11/14)
Modern c++ (C++ 11/14)
 
Bjarne essencegn13
Bjarne essencegn13Bjarne essencegn13
Bjarne essencegn13
 
C++11
C++11C++11
C++11
 
C++11
C++11C++11
C++11
 
C++11 concurrency
C++11 concurrencyC++11 concurrency
C++11 concurrency
 
"Http protocol and other stuff" by Bipin Upadhyay
"Http protocol and other stuff" by Bipin Upadhyay"Http protocol and other stuff" by Bipin Upadhyay
"Http protocol and other stuff" by Bipin Upadhyay
 
C++11 & C++14
C++11 & C++14C++11 & C++14
C++11 & C++14
 
Fred explainsi pv6-v2-alpha
Fred explainsi pv6-v2-alphaFred explainsi pv6-v2-alpha
Fred explainsi pv6-v2-alpha
 
IPv6 Fundamentals & Securities
IPv6 Fundamentals & SecuritiesIPv6 Fundamentals & Securities
IPv6 Fundamentals & Securities
 
Mobile IPv6 course at CACIC 2006
Mobile IPv6 course at CACIC 2006Mobile IPv6 course at CACIC 2006
Mobile IPv6 course at CACIC 2006
 

Similar to Networking - TCP/IP stack introduction and IPv6

1. RINA motivation - TF Workshop
1. RINA motivation - TF Workshop1. RINA motivation - TF Workshop
1. RINA motivation - TF WorkshopARCFIRE ICT
 
Final_IoT_Protocol Stack.pptx
Final_IoT_Protocol Stack.pptxFinal_IoT_Protocol Stack.pptx
Final_IoT_Protocol Stack.pptxjainam bhavsar
 
Web technologies: recap on TCP-IP
Web technologies: recap on TCP-IPWeb technologies: recap on TCP-IP
Web technologies: recap on TCP-IPPiero Fraternali
 
pppppppppppppppppjjjjjjjjjjjpppppppp.pptx
pppppppppppppppppjjjjjjjjjjjpppppppp.pptxpppppppppppppppppjjjjjjjjjjjpppppppp.pptx
pppppppppppppppppjjjjjjjjjjjpppppppp.pptxzeyadosama505
 
Internet of things a survey on enabling technologies, protocols and applicat...
Internet of things  a survey on enabling technologies, protocols and applicat...Internet of things  a survey on enabling technologies, protocols and applicat...
Internet of things a survey on enabling technologies, protocols and applicat...Mustafa Sadiq
 
Migration of corperate networks from ipv4 to ipv6 using dual stack
Migration of corperate networks from ipv4 to ipv6 using dual stackMigration of corperate networks from ipv4 to ipv6 using dual stack
Migration of corperate networks from ipv4 to ipv6 using dual stackpraveenReddy268
 
Computer Network - Introduction to Networks
Computer Network - Introduction to NetworksComputer Network - Introduction to Networks
Computer Network - Introduction to NetworksSwapnil Agrawal
 

Similar to Networking - TCP/IP stack introduction and IPv6 (20)

L6 6 lowpan
L6 6 lowpanL6 6 lowpan
L6 6 lowpan
 
Rpl2016
Rpl2016Rpl2016
Rpl2016
 
Rpl2018
Rpl2018Rpl2018
Rpl2018
 
1. RINA motivation - TF Workshop
1. RINA motivation - TF Workshop1. RINA motivation - TF Workshop
1. RINA motivation - TF Workshop
 
6 lowpan
6 lowpan6 lowpan
6 lowpan
 
Final_IoT_Protocol Stack.pptx
Final_IoT_Protocol Stack.pptxFinal_IoT_Protocol Stack.pptx
Final_IoT_Protocol Stack.pptx
 
Bhargava Presentation.ppt
Bhargava Presentation.pptBhargava Presentation.ppt
Bhargava Presentation.ppt
 
Bhargava Presentation.ppt
Bhargava Presentation.pptBhargava Presentation.ppt
Bhargava Presentation.ppt
 
Web technologies: recap on TCP-IP
Web technologies: recap on TCP-IPWeb technologies: recap on TCP-IP
Web technologies: recap on TCP-IP
 
pppppppppppppppppjjjjjjjjjjjpppppppp.pptx
pppppppppppppppppjjjjjjjjjjjpppppppp.pptxpppppppppppppppppjjjjjjjjjjjpppppppp.pptx
pppppppppppppppppjjjjjjjjjjjpppppppp.pptx
 
nv.ppt
nv.pptnv.ppt
nv.ppt
 
IOT - Unit 3.pptx
IOT - Unit 3.pptxIOT - Unit 3.pptx
IOT - Unit 3.pptx
 
Ccna introduction
Ccna introductionCcna introduction
Ccna introduction
 
Internet of things a survey on enabling technologies, protocols and applicat...
Internet of things  a survey on enabling technologies, protocols and applicat...Internet of things  a survey on enabling technologies, protocols and applicat...
Internet of things a survey on enabling technologies, protocols and applicat...
 
IPv6 ND 2020
IPv6 ND 2020IPv6 ND 2020
IPv6 ND 2020
 
Intro RINA
Intro RINAIntro RINA
Intro RINA
 
Module 1.pptx
Module 1.pptxModule 1.pptx
Module 1.pptx
 
Osi model
Osi modelOsi model
Osi model
 
Migration of corperate networks from ipv4 to ipv6 using dual stack
Migration of corperate networks from ipv4 to ipv6 using dual stackMigration of corperate networks from ipv4 to ipv6 using dual stack
Migration of corperate networks from ipv4 to ipv6 using dual stack
 
Computer Network - Introduction to Networks
Computer Network - Introduction to NetworksComputer Network - Introduction to Networks
Computer Network - Introduction to Networks
 

Recently uploaded

Enhancing User Experience - Exploring the Latest Features of Tallyman Axis Lo...
Enhancing User Experience - Exploring the Latest Features of Tallyman Axis Lo...Enhancing User Experience - Exploring the Latest Features of Tallyman Axis Lo...
Enhancing User Experience - Exploring the Latest Features of Tallyman Axis Lo...Scott Andery
 
2024 April Patch Tuesday
2024 April Patch Tuesday2024 April Patch Tuesday
2024 April Patch TuesdayIvanti
 
Modern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
Modern Roaming for Notes and Nomad – Cheaper Faster Better StrongerModern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
Modern Roaming for Notes and Nomad – Cheaper Faster Better Strongerpanagenda
 
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024BookNet Canada
 
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxThe Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxLoriGlavin3
 
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...Alkin Tezuysal
 
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyesHow to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyesThousandEyes
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .Alan Dix
 
A Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software DevelopersA Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software DevelopersNicole Novielli
 
So einfach geht modernes Roaming fuer Notes und Nomad.pdf
So einfach geht modernes Roaming fuer Notes und Nomad.pdfSo einfach geht modernes Roaming fuer Notes und Nomad.pdf
So einfach geht modernes Roaming fuer Notes und Nomad.pdfpanagenda
 
Moving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfMoving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfLoriGlavin3
 
Generative Artificial Intelligence: How generative AI works.pdf
Generative Artificial Intelligence: How generative AI works.pdfGenerative Artificial Intelligence: How generative AI works.pdf
Generative Artificial Intelligence: How generative AI works.pdfIngrid Airi González
 
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024BookNet Canada
 
Generative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersGenerative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersRaghuram Pandurangan
 
Connecting the Dots for Information Discovery.pdf
Connecting the Dots for Information Discovery.pdfConnecting the Dots for Information Discovery.pdf
Connecting the Dots for Information Discovery.pdfNeo4j
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024Lonnie McRorey
 
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...Wes McKinney
 
Assure Ecommerce and Retail Operations Uptime with ThousandEyes
Assure Ecommerce and Retail Operations Uptime with ThousandEyesAssure Ecommerce and Retail Operations Uptime with ThousandEyes
Assure Ecommerce and Retail Operations Uptime with ThousandEyesThousandEyes
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity PlanDatabarracks
 
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxDigital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxLoriGlavin3
 

Recently uploaded (20)

Enhancing User Experience - Exploring the Latest Features of Tallyman Axis Lo...
Enhancing User Experience - Exploring the Latest Features of Tallyman Axis Lo...Enhancing User Experience - Exploring the Latest Features of Tallyman Axis Lo...
Enhancing User Experience - Exploring the Latest Features of Tallyman Axis Lo...
 
2024 April Patch Tuesday
2024 April Patch Tuesday2024 April Patch Tuesday
2024 April Patch Tuesday
 
Modern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
Modern Roaming for Notes and Nomad – Cheaper Faster Better StrongerModern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
Modern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
 
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
 
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxThe Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
 
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
 
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyesHow to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .
 
A Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software DevelopersA Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software Developers
 
So einfach geht modernes Roaming fuer Notes und Nomad.pdf
So einfach geht modernes Roaming fuer Notes und Nomad.pdfSo einfach geht modernes Roaming fuer Notes und Nomad.pdf
So einfach geht modernes Roaming fuer Notes und Nomad.pdf
 
Moving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfMoving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdf
 
Generative Artificial Intelligence: How generative AI works.pdf
Generative Artificial Intelligence: How generative AI works.pdfGenerative Artificial Intelligence: How generative AI works.pdf
Generative Artificial Intelligence: How generative AI works.pdf
 
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
 
Generative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersGenerative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information Developers
 
Connecting the Dots for Information Discovery.pdf
Connecting the Dots for Information Discovery.pdfConnecting the Dots for Information Discovery.pdf
Connecting the Dots for Information Discovery.pdf
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024
 
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
 
Assure Ecommerce and Retail Operations Uptime with ThousandEyes
Assure Ecommerce and Retail Operations Uptime with ThousandEyesAssure Ecommerce and Retail Operations Uptime with ThousandEyes
Assure Ecommerce and Retail Operations Uptime with ThousandEyes
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity Plan
 
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxDigital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
 

Networking - TCP/IP stack introduction and IPv6

  • 1. IPv6 and Mobile IPv6 Fundamentals, new services, and applications Rodolfo Kohn
  • 2. 10/17/2006 IPv6 and MIPv6 - Fundamentals, new services, and applications 2 Agenda • Introduction • Reference Model – Physical Layer – Data Link Layer – Network Layer – Transport Layer – Application Layer • Data Link Layer: IEEE 802.3 • Network and Transport Layers – IP – Routing – UDP – TCP • IPv6 – Introduction – Main Features – Headers – MTU and Fragmentation – QoS Support – Addressing Architecture – Autoconfiguration – Neighbor Discovery Protocol – Comments on Routing Protocols – Why do I need IPv6? – New Challenges and Applications • P2P • Embedded Systems • Telecommunications – IMS • Low-power devices • The Long Transition from IPv4 to IPv6 – IPv6 Current Status and Trends • Mobile IPv6 – Mobility in Distributed Systems – Mobile IPv6 Fundamentals – New applications – Existing MIPv6 stacks
  • 3. 10/17/2006 IPv6 and MIPv6 - Fundamentals, new services, and applications 3 Introduction • ARPANET • TCP/IP in universities since early eighties. • Then to the rest of the public • Internet in the nineties: The network of networks where any host can contact any other host, no matter where it is physically set up. • People connected: chat, B2B, news, FTP, HTTP, e-mail, low-quality voice and video.
  • 4. 10/17/2006 IPv6 and MIPv6 - Fundamentals, new services, and applications 4 Introduction Internet Ethernet Router Workstation Token-ring Router Server Computer Router Router FDDI Ring Computer Printer Bridge Ethernet Computer Laptop
  • 5. 10/17/2006 IPv6 and MIPv6 - Fundamentals, new services, and applications 5 OSI and TCP/IP Models Application Presentation Session Transport Network Data Link Physical Application Transport Network Network Access • Open Systems Interconnection Reference Model. It divides the communication functionalities into different layers. • Its protocols are rarely used. The TCP/IP model is not used but its protocols are widely used.
  • 6. 10/17/2006 IPv6 and MIPv6 - Fundamentals, new services, and applications 6 Physical Layer • It defines the media as well as the electrical and physical specifications of transceivers and receivers. It includes cabling specifications, coding schemes, voltages, RF bandwidths, etc. • Some examples are the physical specifications for Ethernet (e.g. 10Base-T, 100Base-TX) and for 802.11 (e.g. RF bands)
  • 7. 10/17/2006 IPv6 and MIPv6 - Fundamentals, new services, and applications 7 Data Link Layer • It is responsible for creating the frames and sending them to the destination using the physical layer. It deals with access contention, framing, bit stuffing, error detection, error correction, flow control as the main functionalities. • It provides a well-defined service interface to the network layer. • IEEE has standardized the different DLLs under the 802 standards. It has divided this layer into two sub-layers: Medium Access Control (MAC), and Logical Link Control (LLC). • Some examples: – 802.11, 802.3, 802.5, 802.15, 802.16 for MAC – 802.2 for LLC – HDLC (High-Level Data Link Control), defined as ISO 13239, for DLL (with no sub-layers) • The MAC 802 standards also specify physical layer characteristics.
  • 8. 10/17/2006 IPv6 and MIPv6 - Fundamentals, new services, and applications 8 Medium Access Control • A challenging problem in communications is how many devices share the same medium to transmit (fiber optics, twisted pair, coaxial cable, RF, etc.). Collisions are possible. – There are different techniques depending on the medium. Two very popular are (NOT the only ones): • Carrier Sense Multiple Access with Collision Detection (CSMA/CD) used in 802.3 (and Ethernet). • CSMA/CA (Collision Avoidance) used in 802.11 • MAC’s main objective is to allocate a channel to transmit in a medium where there are competing users. • Error detection is performed in this layer.
  • 9. 10/17/2006 IPv6 and MIPv6 - Fundamentals, new services, and applications 9 Logical Link Control • IEEE specifies LLC in the standard 802.2 • Thus different 802 specifications (802.3, 802.11, etc.) can provide a common interface to the network layer. • It can provide 3 different type of services: – Unreliable Datagram Service (could be used with 802.3, in very reliable media, for streaming, etc.). – Acknowledged Datagram Service (useful for wireless technologies like 802.11) – Reliable Connection-Oriented Service (frames are received in the order they were sent and are not duplicated). • It provides multiplexing for applications in the layer above (with source and destination service access points).
  • 10. 6/28/2015 IPv6 and MIPv6 - Fundamentals, new services, and applications 10 Network Layer • DLL is enough to provide an application reliable communication between different nodes in the same LAN or a few LANs connected by bridges (or switches), usually (not always, think of 802.3-802.11b/g bridges) of the same technology. • In a more complex network encompassing a large number of LANs, MANs, and WANs of many different technologies, the network layer is necessary to provide end-to-end communication.
  • 11. 6/28/2015 IPv6 and MIPv6 - Fundamentals, new services, and applications 11 Network Layer • The network layer basically routes a datagram from one node to other in a network of networks. • It hides different technologies from upper layers, provides a common addressing architecture, and involves devices called routers which connect different networks. • A network layer could offer a connection-oriented service (mainly for QoS) or a connectionless service (Internet). • IP (Internet Protocol) and IPX are examples of network protocols. IP is widely used. It is used by the Internet. • It relies on Routing Protocols which updates the routes a datagram must wind to reach a destination node. Examples are: RIP, OSPF, BGP.
  • 12. 6/28/2015 IPv6 and MIPv6 - Fundamentals, new services, and applications 12 Transport Layer • This layer basically provides end-to-end service between entities (usually processes) in the application layer. It multiplexes network services between different TSAPs (ports in TCP and UDP). • This service can also provide efficiency and reliability to the communication between application layer entities. • It provides a set of service primitives to be used at the application layer. • The service can be connectionless or connection oriented. • Examples: TCP, UDP, SCTP.
  • 13. 6/28/2015 IPv6 and MIPv6 - Fundamentals, new services, and applications 13 Application Layer • This layer involves protocols implemented for specific applications. • Name Services turn essential in this layer: DNS, OSI X.500 directory service, LDAP. • Examples: SMTP and POP3 for e-mail, HTTP, WAP, SNMP, DNS protocol, LDAP, RTP, RTSP, H.323, SIP.
  • 14. 6/28/2015 IPv6 and MIPv6 - Fundamentals, new services, and applications 14 General Model LLC Physical Application Transport Network • Neither the OSI model nor the TCP/IP model are perfectly implemented. Rather a mixed model is used. • Each layer in one node communicates with the corresponding layer in other node. MAC Physical MAC LLC Physical Network MAC LLC Physical Application Transport Network MAC
  • 15. 6/28/2015 IPv6 and MIPv6 - Fundamentals, new services, and applications 15 How does a packet travel from A to B? Internet Ethernet Router Workstation Token-ring Router Server Computer Router Router FDDI Ring Computer Printer Bridge Ethernet Computer Laptop A B
  • 16. 6/28/2015 IPv6 and MIPv6 - Fundamentals, new services, and applications 16 IEEE 802.3 LANs • In order to understand how a packet is routed from a source node to a destination node it is necessary to understand how a frame is transmitted in a LAN. • IEEE 802.3 LANs will be used as a reference. • We will only focus on how a frame is transmitted from a source to a destination node.
  • 17. 6/28/2015 IPv6 and MIPv6 - Fundamentals, new services, and applications 17 Ethernet II and IEEE 802.3 • Ethernet II is a standard created by DEC, Intel, and Xerox in 1978 based on Xerox Ethernet. The transmission speed was 10 Mbps. • The IEEE created the standard 802.3 based on Ethernet II with two minor changes.
  • 18. 6/28/2015 IPv6 and MIPv6 - Fundamentals, new services, and applications 18 IEEE 802.3 Frames S F D Preamble Destination Address Source Address Length/ Type 802.2 Header and/or Data FCS 17 6 6 2 46 - 1500 4 • Type/Length: if <= 1500 then it is length. If it is >= 1536 (0x600)then it is type. • If Type/Length contains a length, the next field is an 802.2 Header followed by the data. • The frame contains a minimum of 64 Bytes. • Common Type values: 0x0800 for IPv4, 0x86DD for IPv6, 0x806, etc. • Ethernet II does not distinguish SFD and after the Source Address only has the “Type” field. It does not distinguish an LLC sub-layer.
  • 19. 6/28/2015 IPv6 and MIPv6 - Fundamentals, new services, and applications 19 MAC Address • MAC Addresses are 48-bit long: – 3 Less significant octets: Vendor ID. – 3 Most significant octets: Unique Identifier. • IEEE defines 3 general categories: – Unicast: identifies a single NIC. – Broadcast: refers to all NICs in a LAN. It is the value FF-FF-FF- FF-FF-FF. – Multicast: refers to a group of NICs. Multicast addresses have the least significant bit of the Most significant octet set to 1.
  • 20. 6/28/2015 IPv6 and MIPv6 - Fundamentals, new services, and applications 20 Other features • Although we will not focus on them it is worth mentioning other two 802.3 important features: – CSMA/CD – Back off exponential algorithm
  • 21. 6/28/2015 IPv6 and MIPv6 - Fundamentals, new services, and applications 21 Typical 802.3 LANs • The most common 802.3 LANs today are: – A multidrop configuration with a Hub. – A point-to-point configuration with an Ethernet switch. • Both LANs have a star physical topology. • A LAN with a hub has a bus logical topology.
  • 22. 6/28/2015 IPv6 and MIPv6 - Fundamentals, new services, and applications 22 Hubs and Switches • A Hub is a L1 device: – Receives a signal in one port and transmits it through all other ports. – All connected nodes receive a sent frame. • A switch works at the MAC layer: – Based on the destination address it looks for the appropriate port in its MAC table and sends the frame through indicated port. – If an entry is not found in the MAC table, it performs flooding (the frame is sent out all ports except the receiving one).
  • 23. 6/28/2015 IPv6 and MIPv6 - Fundamentals, new services, and applications 23 A Frame in the LAN • When a node wants to transmit message to other node in the same LAN over layer two, it creates an IEEE 802.3 frame setting the destination address, the source address with its own MAC address, the Type/Length, and the message in the data field. Then it sends the frame.
  • 24. 6/28/2015 IPv6 and MIPv6 - Fundamentals, new services, and applications 24 A Frame in the LAN (2) • The frame is transmitted through the cable: – A switch relays it to the appropriate output port or generates flooding. • The destination node NIC receives the frame from the cable, checks correctness, and then discovers it is destined to itself by looking at the destination MAC address. • Then the data is grabbed and passed to the upper layer.
  • 25. 6/28/2015 IPv6 and MIPv6 - Fundamentals, new services, and applications 25 Fast Ethernet • Standard Addendum IEEE 802.3u (1995). • It only based on 10Base-T (100Base-T4/TX/FX). No multidrop cables. • Different coding scheme from 802.3 • 100Base-TX is Full Duplex unless hubs are used (which require half-duplex communication). • To make upgrading easier, all switches and almost all 100-Mbps NICs support automatic negotiation of optimum speed and duplexity.
  • 26. 6/28/2015 IPv6 and MIPv6 - Fundamentals, new services, and applications 26 Gigabit Ethernet • Standard Addendum IEEE 802.3z (1998). • Backward Compatibility is maintained. • All configurations are point-to-point. • The normal mode is full duplex: • Since there is no CSMA/CD, there is no limit for the cable length (only determined by signal strength issues).
  • 27. 6/28/2015 IPv6 and MIPv6 - Fundamentals, new services, and applications 27 Point-to-point connections ` ` ` ` switch switch
  • 28. 6/28/2015 IPv6 and MIPv6 - Fundamentals, new services, and applications 28 Gigabit Ethernet with hubs • But Hubs are still allowed for compatibility: • CSMA/CD protocol must still be used. • The maximum cable length would be 25 meters. • To extend the cable length to 100 m, two variants were created: • Carrier Extension: the sending HW adds padding to extend the frame to 512 Bytes and the receiving HW removes it (Low Efficiency). • Frame Bursting: the sender transmits a concatenated sequence of multiple frames up to 512 Bytes, padding if necessary.
  • 29. 6/28/2015 IPv6 and MIPv6 - Fundamentals, new services, and applications 29 Gigabit Ethernet more • Types: 1000Base-SX, 1000Base-Lx, 1000Base-CX, 1000Base-T. • New coding schemes. • Buffer overflows are pretty probable when transmitting at 1 Gbps. So, flow control is supported: • The receiving end can send back a control frame (Type 0x8808) telling the sender to pause for some period of time. • First 2 Bytes of the payload convey the command and then follow the parameters. • PAUSE frames are used for flow control. The parameter tells how long to pause.
  • 30. 6/28/2015 IPv6 and MIPv6 - Fundamentals, new services, and applications 30 10-Gigabit Ethernet • Standard approved as addendum 802.3ae in 2002. • No official effort to achieve 100-Gbps Ethernet yet but some have begun to talk about it (http://www.ethernetalliance.org/technology/presenta tions/ ) • Anyway, a 100-Gbps Ethernet standard would not be ready before 2010.
  • 31. 6/28/2015 IPv6 and MIPv6 - Fundamentals, new services, and applications 31 Introduction to IP • IP: Internet Protocol. • Described by RFC 791. • Network Layer: it provides the routing of datagrams (or packets) from one node (host) to another one, hiding the existence of possibly different networks (and different technologies) between them. • Internet: the network of networks where any host can contact any other host, no matter where it is physically set up.
  • 32. 6/28/2015 IPv6 and MIPv6 - Fundamentals, new services, and applications 32 Introduction Internet Ethernet Router Workstation Token-ring Router Server Computer Router Router FDDI Ring Computer Printer Bridge Ethernet Computer Laptop
  • 33. 6/28/2015 IPv6 and MIPv6 - Fundamentals, new services, and applications 33 Internet Address • Each host in the internet is assigned a unique 4- octet address that is used in all communications with that host. • Each address is a pair (netid, hostid). – netid: network in the internet. – hostid: host in the network. • One host can have more than one physical connections, each one with its one IP address: multi-homed hosts (e.g. routers).
  • 34. 6/28/2015 IPv6 and MIPv6 - Fundamentals, new services, and applications 34 Classful Addressing Architecture • Each address is self-identifying: the prefix and suffix can be determined from the address alone. RFC 790, 1981. Useful for the next 12 years. 1 2 3 Class 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ A |0| NETID | HOSTID | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ B |1|0| NETID | HOSTID | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ C |1|1|0| NETID | HOSTID | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ D |1|1|1|0| Multicast Address | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ D |1|1|1|1| Reserved | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  • 35. 6/28/2015 IPv6 and MIPv6 - Fundamentals, new services, and applications 35 Classful Addressing • There are especial prefixes and addresses, e.g., the loopback address (127.x.x.x, 127.0.0.1).
  • 36. 6/28/2015 IPv6 and MIPv6 - Fundamentals, new services, and applications 36 Networks and routers • All nodes in one network will have the same netid. • Different L3 networks are connected through routers. • When a node has to send a packet to a node in a different network it has to send it to the router, the router will take care of it. • One way to do this: the node detects the destination node is in a different network and sends it to the default gateway, which is set beforehand. • Other possibility is the use of proxy ARP.
  • 37. 6/28/2015 IPv6 and MIPv6 - Fundamentals, new services, and applications 37 A packet sent (I) • From host 192.13.13.2 to 192.15.13.201. C R3 E F G R1 R2 192.13.13.2 192.13.13.23 192.230.215.7 192.230.215.2 192.230.215.0 192.13.13.0 192.211.7.0 192.211.7.3 192.211.7.2 192.15.13.201 192.15.13.0 192.15.13.76 R4 R1 receives the pkt, it looks at the destination address, it sends the pkt to 192.230.215.2 R2 sends the pkt to 192.211.7.2 R3 sends the pkt to 192.15.13.201
  • 38. 6/28/2015 IPv6 and MIPv6 - Fundamentals, new services, and applications 38 Questions • Having R1’s IP address, how does node G know the physical address of router R1 in order to send him the IP datagram? • How does R2 know R3’s physical address? • How does R3 know E’s physical address? C R3 E F G R1 R2 192.13.13.2 192.13.13.23 192.230.215.7 192.230.215.2 192.230.215.0 192.13.13.0 192.211.7.0 192.211.7.3 192.211.7.2 192.15.13.201 192.15.13.0 192.15.13.76 R4
  • 39. 6/28/2015 IPv6 and MIPv6 - Fundamentals, new services, and applications 39 ARP • ARP: Address Resolution Protocol. • In order to send an IP datagram through a physical link, the datagram must be conveyed by a lower layer frame containing physical addresses. • An IP address must be mapped into a physical address. For example, an Ethernet address (48 bits). • ARP is a protocol that lets a node obtain the physical address of a destination node, given the destination IP address.
  • 40. 6/28/2015 IPv6 and MIPv6 - Fundamentals, new services, and applications 40 ARP Procedure • Host A wants to send a packet to Host B: • Host A only knows the IP address of the destination host B. A needs to know B’s physical address. • Host A broadcasts an ARP frame asking for the physical address of the IP address owner (B). • Host B receives the frame, it recognizes itself as the destination and it sends a unicast reply with its physical address to A. Every other node drops the broadcast frame. • A receives the reply, it updates an ARP cache with mappings IP address-Physical address. Afterwards, it sends out the frame within the physical network. • Next time A will obtain B’s physical address from its ARP cache.
  • 41. 6/28/2015 IPv6 and MIPv6 - Fundamentals, new services, and applications 41 Questions (II) • Having E’s address, how does G know that it has to send the packet to R1? • How does R1 send the packet to the next hop? • How is the packet routed from G to E? C R3 E F G R1 R2 192.13.13.2 192.13.13.23 192.230.215.7 192.230.215.2 192.230.215.0 192.13.13.0 192.211.7.0 192.211.7.3 192.211.7.2 192.15.13.201 192.15.13.0 192.15.13.76 R4
  • 42. 6/28/2015 IPv6 and MIPv6 - Fundamentals, new services, and applications 42 Routing I The main responsibility of the network layer is to make a packet reach a destination interface from a source interface. IP provides a Connectionless Delivery Service. IP implements the mechanism to route one packet through possibly different physical networks. This function is implemented by routers. Multi-homed hosts can provide this service as well.
  • 43. 6/28/2015 IPv6 and MIPv6 - Fundamentals, new services, and applications 43 Routing II The routing of a packet is based on the netid part of the destination address. A Router maintains a routing table in which, for each network known to this router, there is an entry indicating the next hop (maybe next router) through which the destination is to be reached. Network 192.13.13.0 Network 192.230.215.0 Network 192.211.7.0 Network 192.15.13.0R1 R2 R3 192.13.13.0 192.230.215.7 192.230.215.0 Interface 0 192.211.7.0 Interface 1 192.15.13.0 192.211.7.2 192.13.13.0 Interface 0 192.230.215.0 Interface 1 192.211.7.0 192.230.215.2 192.15.13.0 192.230.215.2
  • 44. 6/28/2015 IPv6 and MIPv6 - Fundamentals, new services, and applications 44 Routing III To determine which is the next hop to access a destination network different criteria can be used. It can be based on the number of hops, delay, etc. An algorithm is used to choose one among different paths. Most used routing algorithms: • Distance Vector Routing: RIP (Bellman-Ford) • Link State Routing: OSPF • Between Autonomous Systems: BGP Routers have to exchange information with neighbors in order to let them know the networks it can reach and to know the networks it can access through the neighbors.
  • 45. 6/28/2015 IPv6 and MIPv6 - Fundamentals, new services, and applications 45 Routing IV RIP Each router advertises the networks that it can reach and the number of hops to access it. These advertisements are broadcasted every 30 seconds. A router receives the advertisement from its networks and it updates its routing tables: • An entry for that network does not exist- It adds the entry • There is an entry with a higher number of hops - It is updated. Every entry has a timeout of 180 seconds. network next-hop cost
  • 46. 6/28/2015 IPv6 and MIPv6 - Fundamentals, new services, and applications 46 A packet sent II A packet is sent from host 192.13.13.2 to 192.15.13.201 C R3 E F G R1 R2 192.13.13.2 192.13.13.23 192.230.215.7 192.230.215.2 192.230.215.0 192.13.13.0 192.211.7.0 192.211.7.3 192.211.7.2 192.15.13.201 192.15.13.0 192.15.13.76 R4 • Before sending the packet in the physical network the destination physical address has to be obtained. • Each router looks into its routing table in order to get the next hop for the packet. • R1 knows it can reach network 192.15.13 in 3 hops by R2 (192.230.215.2).
  • 47. 6/28/2015 IPv6 and MIPv6 - Fundamentals, new services, and applications 47 IP characteristics The service characteristics are: • It is connectionless • It is unreliable • It provides a best-effort delivery.
  • 48. 6/28/2015 IPv6 and MIPv6 - Fundamentals, new services, and applications 48 IP datagram I The unit of data that is transferred in IP is a datagram (packet). It is made up of (RFC 791): • Header • Data 0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ |Version| IHL |Type of Service| Total Length | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Identification |Flags| Fragment Offset | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Time to Live | Protocol | Header Checksum | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Source Address | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Destination Address | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Options | Padding | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  • 49. 6/28/2015 IPv6 and MIPv6 - Fundamentals, new services, and applications 49 Fragmentation A datagram may have to travel through different networks to reach the destination. Each physical network has its MTU: Maximum Transfer Unit. The datagram size may be too long for transmission in one physical network: it has to be fragmented. Each fragment is sent independently. In the destination host, fragments are reassembled. Fragment offset indicates the offset of the data inside the non fragmented datagram. Identification field is equal in all fragment. The Flags field is used: do not fragment bit, more fragments bit.
  • 50. 6/28/2015 IPv6 and MIPv6 - Fundamentals, new services, and applications 50 Transport Layer It provides: The interface for applications to access the network services. TSAPs. It permits a communication between one entity in the source host and another entity in the destination host. A message is received from any application, through the TSAP and sent to the network layer: Multiplexing. When a message is received from the network layer it is delivered to the appropriate application (TSAP): Demultiplexing.
  • 51. 6/28/2015 IPv6 and MIPv6 - Fundamentals, new services, and applications 51 UDP It provides an unreliable, connectionless delivery service over IP to transport a message from one application in one machine to other application in the destiantion host. It uses the port concept to multiplex and demultiplex messages between the applications and the UDP layer. In a UDP message a source port and a destination port are specified.
  • 52. 6/28/2015 IPv6 and MIPv6 - Fundamentals, new services, and applications 52 TCP I It provides a connection oriented and reliable service for messages transmission between two applications in possibly different hosts. Described by RFC 793. Its features: • Connection oriented. • Stream oriented. • Buffered transfer. • Unstructured stream. • Full duplex.
  • 53. 6/28/2015 IPv6 and MIPv6 - Fundamentals, new services, and applications 53 TCP II A connection is established between two end points characterized by: • Host id. • Port.
  • 54. 6/28/2015 IPv6 and MIPv6 - Fundamentals, new services, and applications 54 TCP-Segment Format The TCP segment format: 0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Source Port | Destination Port | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Sequence Number | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Acknowledgment Number | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Data | |U|A|E|R|S|F| | | Offset| Reserved |R|C|O|S|Y|I| Window | | | |G|K|L|T|N|N| | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Checksum | Urgent Pointer | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Options | Padding | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | data | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  • 55. 6/28/2015 IPv6 and MIPv6 - Fundamentals, new services, and applications 55 TCP-Reliability and Window Size Reliability is achieved by the acknowledgement of the data sent and retransmission. Sequence number: sequence number of the first byte sent in the segment. Acknowledgement number: sequence number of the last byte being acknowledged. Flow control and window size: the field Window let one end- point control the flow of data sent by the other end-point by varying the size of the window that can be sent. If it wants the other application to stop sending data it sends an acknowledgement segment with Window size = 0.
  • 56. 6/28/2015 IPv6 and MIPv6 - Fundamentals, new services, and applications 56 TCP-Connection establishment The connection is established by a three-way handshake. To initiate a connection a segment is sent with the SYN flag set. In the destination host one application has to be listening.
  • 57. 6/28/2015 IPv6 and MIPv6 - Fundamentals, new services, and applications 57 TCP-Connection establishment The connection is established by a three-way handshake. To initiate a connection a segment is sent with the SYN flag set. In the destination host one application has to be listening. Host 1 - Connects Host 2 - ListeningMessages Send SYN seq=x Receive SYN Send SYN seq=y, ACK=x+1 Receive SYN + ACK segments Send ACK=y+1 Receive ACK segment
  • 58. 6/28/2015 IPv6 and MIPv6 - Fundamentals, new services, and applications 58 TCP– The state machine PICTURE SOURCE: http://en.wikipedia.org/wiki/Image:TCP_state_diagram.png
  • 59. 6/28/2015 IPv6 and MIPv6 - Fundamentals, new services, and applications 59 TCP-Congestion Whenever there is a timeout of a segment that did not receive its corresponding ACK, TCP considers there is congestion in the network and it tries to avoid it. It lowers the sending rate. Algorithms slow start and congestion avoidance. It sends one segments and waits for the ACK. When the ACK arrives it sends two segments and as long as there is no timeout expiration the rate keeps on increasing.
  • 60. 6/28/2015 IPv6 and MIPv6 - Fundamentals, new services, and applications 60 A message sent A segment is sent from host 192.13.13.2 to 192.15.13.201 C R3 E F G R1 R2 192.13.13.2 192.13.13.23 192.230.215.7 192.230.215.2 192.230.215.0 192.13.13.0 192.211.7.0 192.211.7.3 192.211.7.2 192.15.13.201 192.15.13.0 192.15.13.76 R4 • Application A1, in G, wants to send a message to application A2 that is listening in a port P2 of E. • It connects to the port (E,P2) a port P1 is assigned by the OS to A1 in G. A TCP connection is Established: two sockets are created. • A1 sends a message to A2 through its socket. A TCP segment is sent. TCP in E sends an acknowledgement. • The TCP connection is closed.
  • 61. 6/28/2015 IPv6 and MIPv6 - Fundamentals, new services, and applications 61 Address shortage Subnetting, CIDR, and NAT • During its whole evolution , as it expanded, IP had to deal with address shortage. • In 1984, RFC 917 described subnetting. This helped the distribution of aggregated addresses. • In 1993, to solve the problem of Class-B Address Exhaustion and routing information overload, Classless Inter-Domain Routing was standardized (RFC 1519). • Also NAT has collaborated to provide connectivity to many nodes with only one public address.
  • 62. 6/28/2015 IPv6 and MIPv6 - Fundamentals, new services, and applications 62 Internet scales up Different devices connected • From the academic world, Internet has expanded to connect the rest of the public. It is already widely used in the business world and new applications are continuously dreamt up. • Now many devices are offered a limited connectivity. • Cellular phones might have Internet connectivity as long as they are within the Carrier Provider Radio Area Network. • Other type of devices can be connected (Camera, Camcorder, robots, cars, etc.). Today some have limited PAN connectivity with Bluetooth (802.15.1) or Zigbee (802.15.4) but they rarely have Internet access. • As the necessity to connect all type of devices increases, it is more obvious that the current IP address space is not enough.
  • 63. 6/28/2015 IPv6 and MIPv6 - Fundamentals, new services, and applications 63 Internet scales up More people connected • As a result of many societies development, more people gets access to the Internet. • This is another challenge the current IP address space could hardly cope with.
  • 64. 6/28/2015 IPv6 and MIPv6 - Fundamentals, new services, and applications 64 IPv6 - Agenda • A packet in the Internet. • IPv6 main features. • IPv6 Headers. • MTU. • QoS Support. • IPv6 Addresses. • Autoconfiguration. • Neighbor Discovery Protocol. • Why do I need IPv6? • IPv6 new challenges.
  • 65. 6/28/2015 IPv6 and MIPv6 - Fundamentals, new services, and applications 65 The Internet Internet Ethernet Router Workstation Token-ring Router Server Computer Router Router FDDI Ring Computer Printer Bridge Computer Laptop switch UMTS Core Network & UTRAN Node-B UMTS Mobile Node GGSN Router Video Access Point switch Router 802.11g IP routes a packet in the Internet from a source node to one or many destination nodes.
  • 66. 6/28/2015 IPv6 and MIPv6 - Fundamentals, new services, and applications 66 How is this task carried out? • A Protocol is needed that basically indicates each node which is the next node (next hop) a packet must be sent to. • The Protocol must define a packet that conveys data from a source node to a destination node. • The protocol must define an addressing mechanism to be able to locate a destination node and route a packet to it. • The Protocol must run on different types of networks. • The Protocol can provide security. • The Protocol can provide mechanisms for service extensions.
  • 67. 6/28/2015 IPv6 and MIPv6 - Fundamentals, new services, and applications 67 In the Internet model. How does a packet sent from G arrive to E? C R3 E F G R1 R2 R4 Routers
  • 68. 6/28/2015 IPv6 and MIPv6 - Fundamentals, new services, and applications 68 IPv6 • Internet Protocol (IP) version 6 provides all the required services. • IPv6 is the next version of the Internet Protocol after IPv4. Some documents call it IPng (IP next generation).
  • 69. 6/28/2015 IPv6 and MIPv6 - Fundamentals, new services, and applications 69 IPv6 - Main Features • Address size is 16 Bytes. • Extended address hierarchy. • New header format: 1 Base Header + n Extension Headers. • Different support for options (comparing to IPv4). • Support for protocol extensions (e.g. Mobility support).
  • 70. 6/28/2015 IPv6 and MIPv6 - Fundamentals, new services, and applications 70 IPv6 - Main Features • Support for autoconfiguration and renumbering. • Support for resource allocation: Flow label and service type. • Support for authentication and privacy is specified: IPsec natively supported
  • 71. 6/28/2015 IPv6 and MIPv6 - Fundamentals, new services, and applications 71 IPv6 Packet • In all protocols, a message usually has a basic structure made of: • A Header: contains Protocol information. • A Payload: contains data relative to the current layer that must be passed to the layer above (it could be a message belonging to the layer above). • In IP the message relayed is called “packet”.
  • 72. 6/28/2015 IPv6 and MIPv6 - Fundamentals, new services, and applications 72 IPv6 – Headers • An IPv6 datagram has 40-octect Base Header and n Extension Headers. • Advantages: – Improves performance on header processing. – The user can choose which extension headers to include and which to omit. – Flexibility for new options: more extension headers can be added.
  • 73. 6/28/2015 IPv6 and MIPv6 - Fundamentals, new services, and applications 73 IPv6 – Base Header +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ |Version| Traffic Class | Flow Label | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Payload Length | Next Header | Hop Limit | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | + + | | + Source Address + | | + + | | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | + + | | + Destination Address + | | + + | | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  • 74. 6/28/2015 IPv6 and MIPv6 - Fundamentals, new services, and applications 74 IPv6 – Headers • In order to Extract any header information from an IPv6 datagram a sequential search from the base header is required. Every header has a “next header” field. • Different possibilities for datagrams with base header and n extension headers: Base Header NEXT=TCP TCP segment Base Header NEXT=hbh hbh Header NEXT=TCP TCP segment Base Header NEXT=hbh hbh Header NEXT=AUTH AUTH Header NEXT=TCP TCP segment
  • 75. 6/28/2015 IPv6 and MIPv6 - Fundamentals, new services, and applications 75 IPv6 – Extension Headers • There are Extension headers useful for each hop from the source to the destination and extension headers to be processed at the destination node. • A full implementation of IPv6 includes implementation of the following extension headers: – Hop-by-Hop options: to be processes by routers. – Routing (Type 0): source routing. – Fragment: fragmentation header (instead of IPv4 fields). – Destination Options: to be processed by the destination node. – Authentication (AH). – Encapsulating Security Payload (ESP).
  • 76. 6/28/2015 IPv6 and MIPv6 - Fundamentals, new services, and applications 76 Hop-by-Hop and Destination Options C R3 E F G R1 R2 R4 Hop-by-Hop Options Destination Options
  • 77. 6/28/2015 IPv6 and MIPv6 - Fundamentals, new services, and applications 77 IPv6 – Extension Headers • When there are more than one header there is a recommended order: – Base header – Hop-by-Hop options header – Destination options header-1 – Source Routing header (Type 0) – Type 2 routing header (for mobility) – Fragment header – Authentication header (AH). – Encapsulating Security Payload (ESP) header – Destination Options header-2 – Upper-layer header
  • 78. 6/28/2015 IPv6 and MIPv6 - Fundamentals, new services, and applications 78 Different frame sizes in different link technologies (different MTU) C R3 E F G R1 R2 R4 MTU: n MTU: m MTU: Maximum Transfer Unit. MTU: k
  • 79. 6/28/2015 IPv6 and MIPv6 - Fundamentals, new services, and applications 79 IPv6 – Path MTU Discovery and Fragmentation • Unlike IPv4, Fragmentation is only performed by source nodes, not by routers along the path. • IPv6 requires that every link in the Internet have an MTU of 1280 octets or greater. • Path MTU discovery is recommended for source nodes in order to discover a path MTU larger than 1280 octets. • It is not as easy as in IPv4 to change the route from the source to the destination. If a route turns unavailable and the alternative route has a smaller MTU, the packet could be dropped.
  • 80. 6/28/2015 IPv6 and MIPv6 - Fundamentals, new services, and applications 80 IPv6 – Quality Of Service Flow Label • It is intended to define a flow of packets from a source to a destination for which special handling is required, for example for a “real-time” service. Traffic Class • This field is intended to define one of different traffic classes. Used for DiffServ. Along with the flow label it is going to be used to define QoS.
  • 81. 6/28/2015 IPv6 and MIPv6 - Fundamentals, new services, and applications 81 IPv6 –Addresses • IPv6 addresses are 128-bit “identifiers” for interfaces and sets of interfaces. • Length: 16 Bytes or 128 bits. • IPv6 addresses of all types are assigned to interfaces, not nodes. • Since each interface belongs to a single node, the interface’s unicast addresses can be used as an “identifier” for that node. • IPv6 Addressing Architecture defined by RFC 4291 (IETF).
  • 82. 6/28/2015 IPv6 and MIPv6 - Fundamentals, new services, and applications 82 IPv6 – Text Representation of Addresses • 16 Bytes: 128 bits. • Text representation: Colon Hexadecimal Notation. 2004:FFED:01:0:0:0:0CC:A1BC 2004:FFED:1::0CC:A1BC 0:0:0:0:128:FA:1234:5678 ::128:F0A:1234:5678 ::192.168.0.5 (x:x:x:x:x:x:d.d.d.d for embeddedIPv4 addresses) Note: Zero compression can be applied only once.
  • 83. 6/28/2015 IPv6 and MIPv6 - Fundamentals, new services, and applications 83 IPv6 – Text Representation of Addresses • Prefixes: the leftmost bits of an address expressing certain information about it. FC00::/7 => A 7-bit prefix specified as 1111 110b 2004:FFED:1::/64 => A 64-bit prefix 2001:0DB8:0000:CD30:0000:0000:0000:0000/60 2001:0DB8::cd30:0:0:0:0/60 2001:0DB8:0:cd30::/60 • Node address and prefix: 2001:0DB8:0000:CD31:AB01:3201:A00C:1AF8/60 • Zones?
  • 84. 6/28/2015 IPv6 and MIPv6 - Fundamentals, new services, and applications 84 IPv6 - Addresses Address types • Unicast: specifies a single interface (a single node). • Anycast: specifies a set of interfaces (typically belonging to different nodes). They are unicast addresses assigned to different interfaces. The pkt is delivered to exactly one of them, the nearest one. • Multicast: specifies a set of interfaces (typically belonging to different nodes). The pkt is delivered to all of them. Note: broadcast is handled with multicast addresses.
  • 85. 6/28/2015 IPv6 and MIPv6 - Fundamentals, new services, and applications 85 IPv6 - Addresses Types and Scopes Address Type Binary Prefix IPv6 Notation Unspecified 00…0 ::/128 Loopback 00…1 ::1/128 Multicast Addresses 1111 1111 FF00::/8 Link-Local Unicast Addresses 1111 1110 10 FE80::/10 Unique Local IPv6 Unicast Addresses (RFC 4193) 1111 1100 FC00::/7 Site-Local Unicast Addresses (Deprecated RFC 3879) 1111 1110 11 FEC0::/10 Global Unicast Addresses (Aggregatable) everything else IPv4-Mapped IPv6 Address: ::FFF:d.d.d.d (used in dual-stack nodes)
  • 86. 6/28/2015 IPv6 and MIPv6 - Fundamentals, new services, and applications 86 IPv6 – Scopes Internet Computer Computer Workstation Server Router Computer Computer Computer Server Link-local Site-local Global (global, unique local)
  • 87. 6/28/2015 IPv6 and MIPv6 - Fundamentals, new services, and applications 87 IPv6 – Addresses Interface Identifier (ID) • Interface IDs in IPv6 unicast addresses are used to identify interfaces on a link. • They can be unique within a broader scope. • For all unicast addresses, except those that start with the binary value 000, Interface IDs are required to be 64 bits long and to be constructed in Modified EUI-64 format. • Modified EUI-64 format-based interface IDs may have universal scope (stemmed from IEEE 802 48-bit MAC or IEEE EUI-64 IDs, u bit=1) or local scope (u bit=0). Figure below shows the company ID part. 0 0 0 1 1 2 |0 7 8 5 6 3| +----+----+----+----+----+----+ |cccc|ccug|cccc|cccc|cccc|cccc| +----+----+----+----+----+----+
  • 88. 6/28/2015 IPv6 and MIPv6 - Fundamentals, new services, and applications 88 IPv6 – Addresses Modified EUI-64 format Interface Identifier (ID) • Example: creation of a Modified EUI-64 format Interface Identifier from an IEEE 48-bit MAC identifier. MAC Addr: 00:07:A5:60:0E:F0 (6 Bytes) 02:07:A5: FF:FE: 60:0E:F0Modified EUI-64 ID:
  • 89. 6/28/2015 IPv6 and MIPv6 - Fundamentals, new services, and applications 89 IPv6 – Addresses Configuration based on Interface Identifier (ID) •MAC Addr: 00:07:A5:60:0E:F0 (6 Bytes) •Modified EUI-64 ID: 02:07:A5:FF:FE:60:0E:F0 •Link Local Unicast Addr: FE80::0207:A5FF:FE60:0EF0
  • 90. 6/28/2015 IPv6 and MIPv6 - Fundamentals, new services, and applications 90 IPv6 – Addresses Global Unicast Address • General Format: | n bits | m bits | 128-n-m bits | +------------------------+-----------+----------------------------+ | global routing prefix | subnet ID | interface ID | +------------------------+-----------+----------------------------+ • Global Routing Prefix is hierarchically-structured: • Regional Internet Registries (RIPE, LACNIC, ARIN, APNIC, AfriNIC): /23 prefixes? • Providers, research networks, etc.: usually /32 prefixes. • Site with subnetworks: /48 • Subnetworks: /64 • Global Unicast Address: 2002:C3D4:6EED:1:0207:A5FF:FE60:0EF0 /64
  • 91. 6/28/2015 IPv6 and MIPv6 - Fundamentals, new services, and applications 91 IPv6 – Addresses Unique Local Unicast Address •General Format: | 7 bits |1| 40 bits | 16 bits | 64 bits | +--------+-+------------+-----------+----------------------------+ | Prefix |L| Global ID | Subnet ID | Interface ID | +--------+-+------------+-----------+----------------------------+ •Prefix (FC00::/7), L (1 for locally assigned Global ID), Global ID (“Globally unique” pseudo-random ID). •Example: FDB2:C3D4:6EED:1:0207:A5FF:FE60:0EF0 /64
  • 92. 6/28/2015 IPv6 and MIPv6 - Fundamentals, new services, and applications 92 IPv6 – Addresses Zones • A Zone (or scoped zone) is a connected region of topology of a given scope. • Determined by the context and not encoded in the address. • Different types: • An interface on a node comprises a single zone of interface-local scope. • Each link and interfaces attached to it comprise a single zone of link- local scope. • A single zone of global scope comprises all links and interfaces in the Internet. • The boundaries of other zones are defined by network administrators. • At each node, a zone is represented by an index.
  • 93. 6/28/2015 IPv6 and MIPv6 - Fundamentals, new services, and applications 93 IPv6 – Addresses How zones affect us •Text representation: FE80::0207:A5FF:FE60:0EF0%2 •Programmer: the zone index is set in the sin6_scope_id field of the sockaddr_in6 structure (Socket API). •Network Administrator: • When a router transmits routing information through one interface it must not transmit information about zones the interface does not belong to. • Probably different zones within an organization will be assigned different Unique Local IPv6 Unicast Addresses.
  • 94. 6/28/2015 IPv6 and MIPv6 - Fundamentals, new services, and applications 94 IPv6 Addresses must be assigned to the Network Interfaces C R3 E F G R1 R2 R4
  • 95. 6/28/2015 IPv6 and MIPv6 - Fundamentals, new services, and applications 95 IPv6 – Address Assignment • It is necessary to assign addresses to a node’s network interfaces so that packets destined to this node can reach it. • IPv6 allows Address Autoconfiguration.
  • 96. 6/28/2015 IPv6 and MIPv6 - Fundamentals, new services, and applications 96 IPv6 – Address Autoconfiguration • The procedure a host follows to create its interface addresses without manual assistance. • Autoconfiguration is performed on a per-interface basis on multicast-capable links in multicast-capable interfaces. Begins when the interface becomes enabled. • It uses Neighbor Discovery Protocol messages. • Address Autoconfiguration can be: – Stateless: without assistance of stateful servers. – Stateful: with assistance of a stateful server; for example DHCPv6. • Both Stateless and Stateful are complementary.
  • 97. 6/28/2015 IPv6 and MIPv6 - Fundamentals, new services, and applications 97 IPv6 – Address Autoconfiguration Address Autoconfiguration Steps – Link-Local Address PC3 switch PC2 PC1 1. Interface is enabled. 2. “Tentative” link-local address is formed. 3. Duplicate Address Detection is performed: A Neighbor Solicitation is sent to Solicited-Node Multicast Address of the Target Address 4. If the node ascertains the link- local address is unique, it is assigned to the interface. 5. The node has only link connectivity. FE80::0207:A5FF:FE60:0EF0 FE80::0207:A5FF:FE60:0EF0 Neighbor Solicitation to FF02:0:0:0:0:1:FF60:0EF0 2 4 3
  • 98. 6/28/2015 IPv6 and MIPv6 - Fundamentals, new services, and applications 98 IPv6 – Address Autoconfiguration Stateless Address Autoconfiguration - Next Steps PC3 switch PC2 PC1 1. Routers periodically send out Router Advertisements with Prefix Information Options. 2. If a prefix published in the Prefix Information Option has the appropriate flag set, it can be used to form a Global Address or a Local Unicast Address. 3. The node has Site or Internet- wide connectivity. 2002:C3D4:6EED:1:0207:A5FF:FE60:0EF0 Router Advertisements. Prefix: 2002:C3D4:6EED:1 ROUTER 1 2
  • 99. 6/28/2015 IPv6 and MIPv6 - Fundamentals, new services, and applications 99 How is an IPv6 packet physically relayed from a node’s NIC to the next hop’s NIC? C R3 E F G R1 R2 R4 A NIC: Network Interface Card
  • 100. 6/28/2015 IPv6 and MIPv6 - Fundamentals, new services, and applications 100 Neighbor Discovery Protocol for IPv6 • This protocol is used in IPv6 to: – Determine neighbor’s link-layer address, i.e. address resolution (NO ARP). – Determine neighbor bidirectional reachability: Neighbor Unreachability Detection. – Discover neighboring routers. – Learning link specific parameters: network prefixes, MTU, etc. – Next-Hop determination and Redirect. – Duplicate Address Detection in Address Autoconfiguration. – Proxy support. • Messages used in ND Protocol are part of ICMPv6.
  • 101. 6/28/2015 IPv6 and MIPv6 - Fundamentals, new services, and applications 101 IPv6 – ND Protocol Address Resolution PC3 switch PC2 PC1 1. PC3 is to send a packet to 2002:C3D4:6EED:1:0207:A5FF: FE61:2AB8 but first it needs to know the corresponding HW address. 2. PC3 sends a Neighbor Solicitation asking for the owner of the destination address: it is sent to the solicited-node multicast address for the target addr. 3. PC1 reads the Neighbor Solicitation and responds with a Neighbor Advertisement telling its link-layer address. 4. PC3 can physically send the packet to the HW (link-layer) address of PC1. 2002:C3D4:6EED:1:0207:A5FF:FE60:0EF0 2002:C3D4:6EED:1:0207:A5FF:FE61:2AB8
  • 102. 6/28/2015 IPv6 and MIPv6 - Fundamentals, new services, and applications 102 IPv6 – Neighbor Discovery Protocol ICMPv6 Messages • ND Protocol defines the following ICMPv6 messages: – Neighbor Solicitation (Duplicate Address Detection, Address Resolution, Neighbor Unreachability Detection). – Neighbor Advertisement (Duplicate Address Detection, Address Resolution , Neighbor Unreachability Detection, Proxy Support). – Router Solicitation (Address Autoconfiguration, Network Parameters). – Router Advertisement (Address Autoconfiguration, Network Parameters). – Redirect (Next-Hop correction).
  • 103. 6/28/2015 IPv6 and MIPv6 - Fundamentals, new services, and applications 103 Now a Packet sent from G arrives to A C R3 E F G R1 R2 R4 A The packet is physically sent from G’NIC to A’s NIC Neighbor Solicitation
  • 104. 6/28/2015 IPv6 and MIPv6 - Fundamentals, new services, and applications 104 Now a Packet sent from G arrives to A C R3 E F G R1 R2 R4 A The packet is physically sent from G’NIC to A’s NIC Neighbor Advertisement
  • 105. 6/28/2015 IPv6 and MIPv6 - Fundamentals, new services, and applications 105 Now a Packet sent from G arrives to E C R3 E F G R1 R2 R4 Router Advertisement 2002:C3D4:6EED:1:0207:A5FF:FE60:0EF0 20B1:CAD1:55ED:1:0207:A5FF:FE61:2AB8 For the sake of simplicity, in this presentation it is assumed intermediate routers know where to send packets.
  • 106. 6/28/2015 IPv6 and MIPv6 - Fundamentals, new services, and applications 106 Now a Packet sent from G arrives to E C R3 E F G R1 R2 R4 2002:C3D4:6EED:1:0207:A5FF:FE60:0EF0 20B1:CAD1:55ED:1:0207:A5FF:FE61:2AB8 For the sake of simplicity, in this presentation it is assumed intermediate routers know where to send packets.
  • 107. 6/28/2015 IPv6 and MIPv6 - Fundamentals, new services, and applications 107 IPv6 Operation Summary • The topics presented encompass the basics about IPv6: • Packet Structure: Base Header and Extension Headers. • IPv6 Addresses. • Stateless Address Autoconfiguration. • Neighbor Discovery Protocol Basics. • The topics specified above are enough to send a packet from a source node to a destination node.
  • 108. 6/28/2015 IPv6 and MIPv6 - Fundamentals, new services, and applications 108 IPv6 core specifications • According to the IPv6 Forum (IPv6 Forum Roadmap & Vision, http://www.6journal.org/archive/00000261/02/WWC_IPv6_Forum_Roadmap__Visio n_2010_v6.pdf) • RFC 1981: Path MTU Discovery. • RFC 2460: IPv6 Protocol. • RFC 2461: IPv6 Neighbor Discovery. • RFC 2462: IPv6 Stateless Auto-Configuration. • RFC 2463: Internet Control Message Protocol for IPv6 (ICMPv6). • RFC 4291: IPv6 Address Architecture. • RFC 4301: Security Architecture for IP (IPsec). • IPv6 over “XYZ” Link Layer (Ethernet, ATM, PPP, etc.)
  • 109. 6/28/2015 IPv6 and MIPv6 - Fundamentals, new services, and applications 109 Why do I need IPv6? • There is no killer application for IPv6. • Although not compatible, IPv6 can be seen as an evolution from the experience gained with IPv4 since 1981. • The major great advantage is the wider address space. This brings a lot of changes to the communications industry.
  • 110. 6/28/2015 IPv6 and MIPv6 - Fundamentals, new services, and applications 110 Why do I need IPv6? • The wide address space allows each device in the world to have its own IPv6 address: • Every device can be connected (PDA, cell phone, robot, sensor, camera, medical equipment, etc.). • NAT is not necessary to save IP addresses. Without NAT it is possible to achieve E2E communications between nodes. • This leverages the creation of new ubiquitous services without a centralized server, using P2P architectures: • A digital camera can send a picture to a PDA without the need of a server in the middle. • My MP3 Player can directly access my PC and get read music files. • I can turn on the air conditioner at home from my cell phone without a server in the middle.
  • 111. 6/28/2015 IPv6 and MIPv6 - Fundamentals, new services, and applications 111 Why do I need IPv6? • IPsec is part of the Protocol. • It is easier to extend the Protocol by adding new Extension Headers. For example: Mobile IPv6. • Network parameters can be managed from the router configuration (Network Renumbering and new configuration features). • Support for Stateless Address Autoconfiguration, allowing “Plug- and-Play” capability. • Better support for QoS (based on Type of Service and flows). • Better support for mobility: Route Optimization.
  • 112. 6/28/2015 IPv6 and MIPv6 - Fundamentals, new services, and applications 112 IPv6 new challenges and opportunities • IPv6 also involves new challenges: • How can a chat application using E2E communications and without a centralized server be implemented? How participating nodes, which join and leave the chat session, can be tracked? • A proprietary protocol can be implemented at layer 3 by just adding new Extension Headers. • TCP might need some changes in order to use all IPv6 advantages. • Applications using TCP and UDP might need some changes (for example, the case of prefix lifetime). • Transition from IPv4 to IPv6 is said to be easy. However, some features must be considered. In addition, IPv4 and IPv6 must coexist for a long time (some say 25 years). • In E2E connectivity, it is more obvious that Security is essential.
  • 113. 6/28/2015 IPv6 and MIPv6 - Fundamentals, new services, and applications 113 IPv6 and other standards groups • 3GPP mandates that IMS (IP Multimedia Subsystems) will internally use IPv6 (Within the Core Network). • 3GPP2 determined that IMS will internally use IPv4 or IPv6. • In the IETF, 6lowpan WG (IPv6 over Low power WPAN) is investigating the use of IPv6 over 802.15.4 • IMS Links: • http://www.motorola.com/networkoperators/pdfs/Motorola-IP-Multimedia-Subsystem- Brochure.pdf#search=%22%2BIMS%20%2B%22Ip%20Multimedia%20Subsystem%22%22 • http://www.ericsson.com/technology/whitepapers/ims_ip_multimedia_subsystem.pdf#search=%22%2BIMS%20%2B%2 2Ip%20Multimedia%20Subsystem%22%22
  • 114. 6/28/2015 IPv6 and MIPv6 - Fundamentals, new services, and applications 114 IPv6 Status and Future • IPv6 Penetration estimates generated by RTI International in United States (http://www.nist.gov/director/prog-ofc/report05-2.pdf).
  • 115. 6/28/2015 IPv6 and MIPv6 - Fundamentals, new services, and applications 115 IPv6 Status and Future • IPv6 Rollout in the world (IPv6 and Broadband, EC IST 6LINK, http://www.ipv6tf.org/pdf/ISTClusterbooklet2005.pdf).
  • 116. 6/28/2015 IPv6 and MIPv6 - Fundamentals, new services, and applications 116 IPv6 Status and Future • Major IPv6 activities worldwide (IPv6 and Broadband, EC IST 6LINK, http://www.ipv6tf.org/pdf/ISTClusterbooklet2005.pdf).
  • 117. 6/28/2015 IPv6 and MIPv6 - Fundamentals, new services, and applications 117 IPv6 Status and Future • The Asia-Pacific region is leading IPv6 adoption with Japan at the head. • In most developed regions, government agencies have great participation in the IPv6 adoption effort. • The US DoD has announced support for IPv6 back in June 2003. Its networks will completely be IPv6 capable by 2008. • In Argentina there is a recently formed IPv6 Task Force
  • 118. 6/28/2015 IPv6 and MIPv6 - Fundamentals, new services, and applications 118 Questions?
  • 119. 6/28/2015 IPv6 and MIPv6 - Fundamentals, new services, and applications 119 Link References • IST IPv6 Portal: http://www.ist-ipv6.org • IPv6 Forum: http://www.ipv6forum.org • Argentina IPv6 Task Force: http://www.ar.ipv6tf.org (?) • NTIA comments on IPv6: http://www.ntia.doc.gov/ntiahome/ntiageneral/ipv6 • North American IPv6 Task Force: http://www.nav6tf.org/ • IPv6 and Broadband: www.ist-ipv6.org/pdf/ISTClusterbooklet2005.pdf • IPv6 Forum Roadmap & Vision: http://www.6journal.org/archive/00000261/02/WWC_IPv6_Forum_Roadmap__Visio n_2010_v6.pdf • IETF: www.ietf.org • HP IPv6 tutorial: http://h10026.www1.hp.com/netipv6/IPv6_seminar_Oct2004.pdf • IPv4-IPv6Transition: • http://www.6journal.org/archive/00000046/01/trans_ipv6_v014.pdf • http://usipv6.unixprogram.com/North_American_IPv6_Summit_2004/ IPv6_Tutorial/marc_blanchet_tutorial_ipv6_transition.pdf
  • 120. 6/28/2015 IPv6 and MIPv6 - Fundamentals, new services, and applications 120 C Source Code: IPv6 Client and IPv6 Server
  • 121. 6/28/2015 IPv6 and MIPv6 - Fundamentals, new services, and applications 121 Example: Server Socket Creation (Family Type AF_INET6): if ((listenSocket = socket(AF_INET6, SOCK_STREAM, 0)) == -1) { printf("ERROR - Socket could not be open: %dn", errno); return 1; } Address and Port to bind to: bzero(&my_addr, sizeof(my_addr)); my_addr.sin6_family = AF_INET6; my_addr.sin6_port = htons(LISTEN_PORT); my_addr.sin6_addr = in6addr_any; my_addr.sin6_scope_id = 2; Socket Structure Data Type for IPv6: struct sockaddr_in6 my_addr; struct sockaddr_in6 cliaddr;
  • 122. 6/28/2015 IPv6 and MIPv6 - Fundamentals, new services, and applications 122 Example: Server Listen to the socket (Like IPv4): res = listen(listenSocket, BACKLOG); Bind to the interface and port (Like IPv4): res = bind(listenSocket, (struct sockaddr *)&my_addr, sizeof(struct sockaddr_in6)); Accept connections (Like IPv4): newSocket = accept(listenSocket, (struct sockaddr *) &cliaddr, (socklen_t*)&size); Convert client address to print: if (inet_ntop(AF_INET6, (const void *)&cliaddr.sin6_addr, addrBuffer, INET6_ADDRSTRLEN) == NULL) Read message (Like IPv4): if ((bytesRead = read(newSocket, (void *)buffer, 100)) == -1) Close sockets(Like IPv4): close(newSocket); close(listenSocket);
  • 123. 6/28/2015 IPv6 and MIPv6 - Fundamentals, new services, and applications 123 Example: Client Socket Creation (Family Type AF_INET6): if ((listenSocket = socket(AF_INET6, SOCK_STREAM, 0)) == -1) { printf("ERROR - Socket could not be open: %dn", errno); return 1; } Address and Port to bind to: #define DEST_ADDR "::1“ bzero(&their_addr, sizeof(their_addr)); their_addr.sin6_family = AF_INET6; their_addr.sin6_port = htons(LISTEN_PORT); their_addr.sin6_scope_id = 2; if (inet_pton(AF_INET6, DEST_ADDR,(void *)&their_addr.sin6_addr) != 1) Socket Structure Data Type for IPv6: struct sockaddr_in6 their_addr;
  • 124. 6/28/2015 IPv6 and MIPv6 - Fundamentals, new services, and applications 124 Example: Client Connect to Destination (Like IPv4): if (connect(sock, (const struct sockaddr *)&their_addr, (socklen_t)sizeof(their_addr)) == -1) Address and Port to bind to (Like any fd): if ((bytesWritten = write(sock, (const void *)buffer, sizeof(buffer))) == -1) Close socket(Like any fd): close(sock);

Editor's Notes

  1. R1 receives the pkt, it looks at the destination address, it decides it has to send it through connection 192.230.215.7 to 192.230.215.2 R2 sends the pkt through connection 192.211.7.3 to 192.211.7.2 R3 sends the pkt through connection 192.15.13.76 to 192.15.13.201
  2. Autoconfiguration begins when the interface is enabled, e.g., on system startup. The Link-Local Address is formed with the interface’s identifier and the link-local prefix FE80::/10. The interface joins the All-Nodes Multicast Group and the Solicited-Node Multicast Group of the Tentative Link-Local Address Duplicate Address Detection is performed. A Neighbor Solicitation Message is sent out. It is an ICMPv6 message. Source Address: IPv6 Unspecified Address. Destination Address: Solicited-Node Multicast Address of the Target Address (prefix FF02:0:0:0:0:1:FF::/104). The ICMPv6 payload contains the tentative Link-Local Address in a field called “Target Address”. If the node ascertains the link-local address is unique, the address is assigned to the interface. The node has IP-level connectivity within the link. If another neighbor is already using the “Tentative” Link-Local Address and receives the Network Solicitation, it will send a Neighbor Advertisement to the All-Nodes Multicast Address (FF02:0:0:0:0:0:0:1) telling so. When the node that initiated the Duplicate Address Detection receives the Neighbor Advertisement, it determines the Link-Local Address is not unique and stops Address Autoconfiguration. Manual Configuration of the interface is needed.
  3. Routers periodically send out Router Advertisements with zero or more Prefix Information Options. Router Advertisements are sent to All-Nodes Multicast Address (FF02:0:0:0:0:0:0:1) if they were not solicited. A Router Advertisement is an ICMPv6 message which contains, among other fields, two flags: Managed Address Configuration flag: when set, then Stateful Autoconfiguration (DHCPv6) should be used to obtain the interface addresses. Other Stateful Configuration: the host must use a stateful protocol (DHCPv6) to obtain other information (not interface addresses). If a prefix published in the Prefix Information Option has the appropriate flag (autonomous address configuration) set, it can be used to form a Global Address or a Local Unicast Address. The processing of flags in point 2 and 3 are independent. Thus, a node can perform both stateless and stateful address autoconfiguration. Duplicate Address Detection should be performed on all unicast addresses to be assigned to an interface. Router Advertisements are periodically sent in random-time intervals. To speed up the autoconfiguration process, a node can send a Router Solicitation and a Router will respond with a Router Advertisement directly sent to the soliciting node. If there is no router present, a node must use stateful address autoconfiguration.
  4. Routers periodically send out Router Advertisements with zero or more Prefix Information Options. Router Advertisements are sent to All-Nodes Multicast Address (FF02:0:0:0:0:0:0:1) if they were not solicited. A Router Advertisement is an ICMPv6 message which contains, among other fields, two flags: Managed Address Configuration flag: when set, then Stateful Autoconfiguration (DHCPv6) should be used to obtain the interface addresses. Other Stateful Configuration: the host must use a stateful protocol (DHCPv6) to obtain other information (not interface addresses). If a prefix published in the Prefix Information Option has the appropriate flag (autonomous address configuration) set, it can be used to form a Global Address or a Local Unicast Address. The processing of flags in point 2 and 3 are independent. Thus, a node can perform both stateless and stateful address autoconfiguration. Duplicate Address Detection should be performed on all unicast addresses to be assigned to an interface. Router Advertisements are periodically sent in random-time intervals. To speed up the autoconfiguration process, a node can send a Router Solicitation and a Router will respond with a Router Advertisement directly sent to the soliciting node. If there is no router present, a node must use stateful address autoconfiguration.