Download Internet 2

Document related concepts

Computer network wikipedia , lookup

IEEE 1355 wikipedia , lookup

Internet protocol suite wikipedia , lookup

Point-to-Point Protocol over Ethernet wikipedia , lookup

Wake-on-LAN wikipedia , lookup

Remote Desktop Services wikipedia , lookup

I²C wikipedia , lookup

Cellular network wikipedia , lookup

Deep packet inspection wikipedia , lookup

Multiprotocol Label Switching wikipedia , lookup

Recursive InterNetwork Architecture (RINA) wikipedia , lookup

Cracking of wireless networks wikipedia , lookup

Zero-configuration networking wikipedia , lookup

Asynchronous Transfer Mode wikipedia , lookup

SIP extensions for the IP Multimedia Subsystem wikipedia , lookup

Transcript
IP technology, part 2
1) Mobility aspects (terminal vs. personal mobility)
2) GPRS (IP traffic in mobile network)
3) Session Initiation Protocol (SIP)
4) Mobile IP (adding mobility to wireless network)
5) Quality of Service (QoS) support
6) ATM basics
Mobility in IP networks
One can very generally define two types of mobility:
Personal mobility (e.g. offered by SIP)
Terminal mobility (e.g. offered by GPRS)
The Mobile IP concept tries to combine both, when
implemented together with wireless LAN technology.
The IMS (IP Multimedia Subsystem) concept in 3GPP
Release 5 also tries to combine both (using SIP and
GPRS technology).
User mobility vs. terminal mobility
Personal mobility (e.g. offered by SIP):
User can move around in the network and use a new
terminal after registration via the new terminal. The
new terminal has the same address for incoming calls
as the old terminal.
Terminal mobility (e.g. offered by GPRS):
User can move around in the network and use the
terminal at different locations => location updating.
The user cannot change to a different terminal
(without transferring the SIM to the new terminal).
GPRS (General Packet Radio Service)
Handles packet (IP) traffic in a mobile network
GSM
BSS
HLR
PSTN
CS core network
AuC
EIR
MS
SGSN
GGSN
PS core network
Internet
3G
RAN
SGSN
MS
SGSN
GGSN
PS core network
Internet
3G
RAN
HLR
The serving GPRS support node in the
AuC
packet-switched core network
is the
equivalent of the serving
MSC/VLR in
EIR
the CS core network.
PSTN
GSM
BSS
CS core network
GGSN
3G
RAN
SGSN
GGSN
PS core network
Internet
GSM
BSS The gateway GPRS support
HLR node is the
equivalent of the GMSC in the CS core
AuC
network. IP traffic from external IP
networks (e.g. the Internet)
EIR is always
MS
first routed to the GGSN.
PSTN
CS core network
GPRS attach / PDP session
GPRS attach
Separate or combined GSM/GPRS attach
MS registers with an SGSN (authentication...)
Location updates are now possible
PDP context is created
MS is assigned PDP (IP) address
Packet transmission can take place
GPRS detach
PDP context is terminated
Allocated IP address is released
In case of
dynamic
address
allocation
DHCP
(Dynamic Host
Configuration
Protocol)
PDP context
Packet data protocol context describes characteristics of
GPRS session (session = "always on" connection)
PDP context information is stored in MS, SGSN and GGSN
MS
123.12.223.9
:::
:::
One user may have several PDP
context sessions active
PDP type (e.g. IPv4)
123.12.223.0
SGSN
GGSN
:::
:::
:::
:::
PDP address = IP address of MS
(e.g. 123.12.223.9)
Requested QoS (priority, delay …)
Access Point Name = IP address of
GGSN (e.g. 123.12.223.0)
PDP context activation
MS
SGSN
GGSN
Activate PDP context request
Security functions
Create PDP context request
:::
:::
IP address allocated to MS
:::
:::
Create PDP context response
Activate PDP context accept
:::
:::
Packet transmission (1)
MS
(client)
SGSN
GGSN knows
temporary IP
adress of user
Server
Server has to find
correct GGSN
GGSN
Dynamic IP address allocation has one problem:
It is difficult to handle a mobile terminated transaction
(external source does not know IP address of MS)
Fortunately, packet services are usually of client-server
type
=> MS (not server) initiates packet transmission
Packet transmission (2)
MS
(client)
SGSN
Packet is tunneled
through IP backbone
of PS core network
Server
GGSN
Packet is sent to SGSN. SGSN sends packet to GGSN
through GTP (GPRS Tunneling Protocol) tunnel.
Tunneling = encapsulation of IP packet in GTP packet
Outer IP header
IP header
IP payload
Packet transmission (3)
MS
(client)
SGSN
Note the different
destination IP
addresses
Outer IP header
Server
GGSN
IP header
Dest. IP address: Server
Dest. IP address: GGSN
IP payload
Packet transmission (4)
MS
(client)
SGSN
GGSN sends packet
through the Internet to
the server.
Server
GGSN
IP header
IP payload
Source IP address: GGSN, not MS
Dest. IP address: Server
Packet transmission (5)
MS
(client)
SGSN
Server
Dest. IP address: MS
Dest. IP address (in
outer IP header): SGSN
GGSN
Dest. IP
address:
GGSN
Server sends return packet via GGSN to MS. Note the
different destination IP addresses along the way.
Packets from server to MS are always routed via GGSN
(since this node has PDP context information,
including the dynamically allocated IP address of MS).
Session Initiation Protocol (SIP)
SIP is a protocol for establishing, controlling and
releasing anything from simple voice calls (VoIP) to
complex multiparty multimedia sessions over IP
networks (i.e., packet switched networks).
SIP was designed by the IETF (Internet Engineering
Task Force). As a result, SIP closely resembles the
HyperText Transfer Protocol (HTTP) which takes care of
client - server type of transactions in the Internet.
Contrary to HTTP, SIP can handle client – client (or
peer-to-peer) type of communications through IP
networks.
Separation of control and user plane
The routing in the control plane (the SIP signalling)
and user plane (transport of the multimedia data) is
separate.
SIP signalling
User B
User A
Multimedia data
http://www.ietf.org/rfc/rfc3261.txt
User C
SIP vs. H.323
The ITU-T based H.323 standard describes a suite of
protocols for managing multiparty multimedia calls
using circuit switched technology.
Microsoft’s NetMeeting is based on H.323. Since the
operation of H.323 is rather complex, it is outside the
scope of this course.
IETF-based SIP is less complex and can perform most
of the call/session control tasks of H.323.
Call control in the IMS (IP Multimedia Subsystem) as
defined by 3GPP (3rd Generation Partnership Project) is
based on SIP.
H.323 protocol suite
(You do not have to remember this slide)
User plane
Control plane (signalling)
Application
Terminal / application control
Codecs
RTP
RTCP
H.225.0
RAS
H.225.0
H.245
CS
UDP
Network layer (IP)
Data link layer
Physical layer
TCP
H.323 protocol suite (control part)
(You do not have to remember this slide)
User plane
Control plane (signalling)
Application
Terminal / application control
Codecs
RTP
RTCP
H.225.0
RAS
H.225.0
H.245
CS
UDP
RTP Control Protocol
Network
layer
(IP)
Registration, Admission
and
Status
TCP
Data
layerSignalling
Calllink
control
Physical layer
Media stream management between endpoints
SIP architecture
SIP Registrar
SIP Proxy
SIP User Agent
(Calling user)
Location
Service
SIP Proxy
SIP User Agent
(Called user)
SIP operation (registration)
Before a SIP user
can be reached,
(s)he must first
register.
SIP Registrar
This means binding the current
IP address (e.g. the IP address
in the 802.11 subnetwork or the
PDP address in GPRS) with the
globally known SIP address.
From this point onwards the SIP
user can be reached.
Location
Service
Address
Binding
SIP Proxy
SIP User Agent
(Called user)
SIP address
Globally unique SIP address is point
of contact from the outside world:
sip:[email protected]
After registration, a location server
(in SIP terms: Location Service) will
contain a binding between SIP
address and registered IP address.
Location
Service
sip:[email protected]

124.2.10.57
124.2.10.57
SIP operation (basic call 1)
Another SIP user "calls this SIP
address". The call is routed to
the registered IP address.
Location
Service
2
3
1
SIP Proxy
SIP User Agent
(Calling user)
4
SIP Proxy
124.2.10.57
SIP
User Agent
(Called user)
SIP operation (basic call 2)
During the call setup, the called user is also given the IP
address of the calling user (since both ends must know
the other end’s IP address).
This is my address!
SIP Proxy
98.13.0.44
SIP
User Agent
(Calling user)
SIP Proxy
124.2.10.57
SIP
User Agent
(Called user)
SIP operation (basic call 3)
After completed call setup, the end users communicate
in a normal fashion over the IP network(s).
The SIP architectural entities shown on the previous
slides are not involved in this user plane communication.
Voice over RTP over UDP over IP (e.g.)
98.13.0.44
SIP
User Agent
(Calling user)
IP network(s)
124.2.10.57
SIP
User Agent
(Called user)
SIP offers the following features
Call forking (several terminals at various locations are
alerted at the same time)
Capability of multimedia calls (codecs for voice, video)
can be negotiated using Session Description Protocol
(SDP) messages carried over SIP
User-friendly addressing (sip:[email protected])
Personal mobility (but not terminal mobility)
Good flexibility, scalability, extensibility
Interworking between SIP telephony and PSTN
telephony (as well as between SIP addressing and
E.164 addressing).
Basic (two-party) SIP call (1)
SIP proxy
of user A
Request
Response
Invite ...
User A
[email protected]
SIP address of Alice:
sip:[email protected]
IP address of Alice’s current terminal
User B
Bob
"Invite" message (corresponding to IAM message in
ISUP) is sent to SIP proxy of user A. The message
includes SIP address (sip:[email protected]) of user B.
Basic (two-party) SIP call (2)
SIP proxy
of user A
SIP proxy
of user B
Invite ...
[email protected]
User A
IP address of Alice
[email protected]
User B
Bob
"Invite" message is routed to SIP proxy of user B (Bob).
How does SIP proxy of Bob know where Bob is at this
moment? (At home, at work, ...?)
SIP registration
SIP proxy
of user A
[email protected]
User A
IP address of Alice
SIP proxy
of user B
[email protected]
IP address of
Bob’s current
terminal
Register ...
User B
IP address of Bob
The answer is: The terminal of Bob has performed SIP
registration. After registration, the SIP proxy of user B
knows the IP address of Bob’s current terminal.
Basic (two-party) SIP call (3)
SIP proxy
of user A
[email protected]
User A
IP address of Alice
SIP proxy
of user B
[email protected]
Invite ...
User B
IP address of Bob
"Invite" message is routed to Bob’s terminal using
the IP address provided via SIP registration. Alice’s
IP address is included in the message.
Basic (two-party) SIP call (4)
SIP proxy
of user A
SIP proxy
of user B
180 Ringing
[email protected]
User A
IP address of Alice
[email protected]
User B
IP address of Bob
Bob’s terminal is ringing. An (optional) "180 Ringing"
message is routed back to user A (Alice) and an audio
ringing tone is generated in Alice’s terminal.
Basic (two-party) SIP call (5)
SIP proxy
of user A
SIP proxy
of user B
200 ok
[email protected]
[email protected]
Ack
User A
IP address of Alice
User B
IP address of Bob
Bob answers the call. A "200 ok" message is routed
back to Alice. Alice sends an "Ack" message to Bob
(not necessarily via the SIP proxies, since Alice’s
terminal now knows the IP address of Bob’s terminal).
Basic (two-party) SIP call (6)
SIP proxy
of user A
User A
IP address of Alice
SIP proxy
of user B
User B
IP address of Bob
The user plane data (e.g. VoIP over RTP) is transported
between the terminals without involving SIP proxies.
SIP forking example
SIP proxy
of user A
SIP proxy
of user B
Terminal 1
Invite ...
User A
Terminals of user B
that have performed
SIP registration
Terminal 2
Terminal 3
Forking: different terminals of user B are alerted at
the same time. The one that answers first returns the
"200 ok" message ...
Three types of addresses
E.164 address
358 9 1234567
MSISDN
040 1234567
Address points directly to
called user in the PSTN
Address points to HLR in home
network of called user
HLR knows to which serving
MSC/VLR the call should be routed
SIP address
sip:[email protected]
Address points to SIP proxy of
called user
SIP proxy knows where to route
"Invite" SIP message
What can SIP do?
The most important task of SIP is to find out URLs of
terminals to be included in the multimedia session
(see example).
For negotiation of multimedia capabilities, SIP can
carry SDP messages between end users (in "Invite"
and "200 ok" SIP messages).
Unfortunately, SIP cannot influence the transport in
the user plane (support of QoS and security features,
inclusion of PCM/EFR transcoding equipment, etc.).
Mobile IP
Another way of implementing mobility in an IP network is
to use Mobile IP.
http://www.ietf.org/rfc/rfc2002.txt
Like SIP, Mobile IP requires some specialised nodes in
the IP network (Home Agent and Foreign Agent) for
handling mobility. In fact, all mobility schemes require
some point of contact where information about the
current location of the called party is stored:
Mobility concept
Point of contact
2G/3G mobile networks
SIP
Mobile IP
Home Location Register (HLR)
Location Service (server)
Home Address (Home Agent)
Basic Mobile IP architecture
Mobile Node
(roaming
terminal)
Care-of Address
(Temporary IP
address in visited
network)
Home address (public IP
address of mobile user)
points to user database
in Home Agent
Visited network
Correspondent Node
(terminal in external
network)
Operation: 1. Discovering Care-of Address
Care-of Address
Home Address
124.2.10.57
54.12.9.11
Mobile Node
Public address
Mobile Node obtains Care-of Address.
Rfc 2002 defines certain procedures how this can
be done.
Proprietary solutions in 802.11 (WLAN) networks?
Operation: 2. Registering Care-of Address
Care-of Address
Home Address
124.2.10.57
54.12.9.11
Mobile Node
Registration is necessary, so that
incoming traffic (i.e. packets intended
for the mobile node) can be routed to
the Care-of Address.
Public address
124.2.10.57
Route incoming
traffic to this
address
Operation: 3. Incoming traffic
Care-of Address
Home Address
124.2.10.57
54.12.9.11
Mobile Node
Incoming traffic is first
routed to Home Address
and is then tunneled to
Care-of Address (known
by the Home Agent).
Correspondent Node
98.13.0.44
Operation: 4. Tunneling
Care-of Address
Home Address
124.2.10.57
54.12.9.11
Mobile Node
Tunneling means packing the original IP packet into the
payload of an outer IP packet (IP over IP).
H
H
Payload
Payload
Original IP packet
Outer IP packet
Operation: 5. Outgoing traffic
Care-of Address
Home Address
124.2.10.57
54.12.9.11
Mobile Node
Note that source IP
address in outgoing
packet is Home
Address, not Careof Address
Outgoing traffic need not be routed
via Home Agent (mobile node knows
IP address of correspondent node).
Correspondent Node
98.13.0.44
QoS support in IP networks
"Best effort" service <=> no Quality of Service support
Some alternatives for introducing QoS in IP backbone
applications:
Alternative 1: RSVP (Resource ReSerVation Protocol)
Alternative 2: DiffServ (Differentiated Services)
Alternative 3: MPLS (MultiProtocol Label Switching)
Alternative 4: IP tunneling over ATM
IETF terminology: Traffic engineering
Problems with “Best effort” IP transport
"Best effort" service is sufficient for traditional Internet
applications like web browsing, e-mail, and file transfer.
"Best effort" is not sufficient for real-time applications:
Speech (voice)
Video / audio
streaming
Multimedia
applications
Low delay
High throughput
Low delay variation
Consistent throughput
Low round-trip delay
QoS support mechanisms (1)
RSVP (Resource ReSerVation Protocol)
Resources are reserved beforehand (or at certain intervals)
Host
Host
Egress
point
Ingress
point
IP Backbone
http://www.ietf.org/rfc/rfc2205.txt
RSVP can be considered an example of the integrated services
concept (compare with differentiated services).
RSVP is typically used together with other mechanism(s).
QoS support mechanisms (2)
DiffServ (Differentiated Services)
Service "tagging" in ToS byte at ingress point
Host
Host
Egress
point
Ingress
point
IP Backbone
Traffic control
based on ToS byte
IPv4 Header
Version
IHL
Type of Service
Identification
Time-to-live
Protocol
http://www.ietf.org/rfc/rfc2475.txt
Total length
ToS byte = 8 bits
(28 = 256 priority
Header levels could be used,
but only few are used)
Flags
QoS support mechanisms (3)
MPLS (Multi-Protocol Label Switching)
Label switching in all routers along the path
Host
Host
Egress
point
Ingress
point
MPLS Backbone
http://www.ietf.org/rfc/rfc2702.txt
LSR = Label Switch Router
(router with MPLS functionality)
Virtual connection must be established first (using e.g. RSVP).
IP datagrams are encapsulated in MPLS frames and relayed
through the backbone (=> MPLS label is used for routing).
QoS support mechanisms (3 cont.)
MPLS label structure:
IP datagram
Header of layer 2 protocol data unit
L2 payload
L2 H
L2 payload
Label
routing without MPLS
L2 H
in case of MPLS
Label length = 32 bits
TTL (8 bits)
Stacking:
L2 Payload
S
Exp
Label value (20 bits)
Stack bit identifies bottom-of-stack
label
Label Label Label
L2 H
Label at top of stack is always in use first
QoS support mechanisms (3 cont.)
Routing without MPLS: destination IP address in IP
header is used for routing.
L2 payload
DA
L2 H
In case of MPLS: destination IP address is not used for
routing along the virtual path between ingress and
egress point. Routing is based on MPLS label instead.
L2 payload
DA
Label
L2 H
QoS support mechanisms (4)
IP tunneling over ATM
IP packets are directed to
the ingress point
IP traffic is carried over
ATM virtual connection
Host
Host
Egress
point
Ingress
point
ATM Backbone
More about ATM on the next slides.
see also: http://www.infosyssec.com/infosyssec/secatm1.htm
ATM is a transport technique
for implementing network "backbone"
Network backbone
based on ATM
Network backbone
based on TDM
Network backbone
based on IP
Application
Application
Application
IP
Physical
IP
ATM
Physical
Application
ATM
Physical
Physical
IPoA
PoS (Packet over SDH/Sonet)
Application can be circuit
switched or packet switched
(possibility of IP-over-IP)
Typical ATM network connection
Originating node
Higher layers
AAL
ATM layer
Phy
ATM network nodes
Terminating node
ATM switching within the
ATM layer
Higher layers
ATM layer
Phy
User to Network
Interface (UNI)
Phy
AAL
ATM layer
Phy
Network to Network
Interface (NNI)
Phy
ATM layer
Phy
User to Network
Interface (UNI)
ATM protocol reference model
User application
(higher protocol layers)
ATM adaptation layer
E.g., IP traffic
Segmentation and
reassembly (SAR),
flow & error control
ATM layer
ATM cell multiplexing
and switching
Physical layer
Usually SDH transport
(STM-N)
Functions of the physical layer
The physical medium sublayer (lower sublayer)
handles and adapts bits as they are fed to the
physical medium (e.g., electro-optical conversion)
The transmission convergence sublayer (upper
sublayer) converts the flow of cells from the ATM layer
into a continuous bit stream (and vice versa),
involving:
• Cell rate decoupling (bit rate adaptation)
• Cell delineation (generally using HEC method)
• Mapping of cells into, e.g., SDH VC-4 payload
• Calculation and verification of HEC byte
Mapping of ATM cells into STM-1 frames
9
3
SOH
261 bytes
STM-1 payload
AU-4 pointer points to
first byte of VC
5
SOH
P
O
H
ATM cell
VC-4 (Virtual container)
...
...
VC "floats" in
STM-1 frames
1
260 bytes
Cell delineation (1)
Cell delineation = finding the borders between cells
at the receiving end of an ATM link
received bit stream ... where does a cell begin?
...
Method 1:
using VC-4
POH pointer
ATM cell
...
P
O
H
...
VC-4 (Virtual container)
Cell delineation (2)
Method 2: using the HEC byte
We take 4 x 8 consecutive bits from the received bit
stream and calculate the checksum
Checksum
=
HEC byte ?
If the checksum = the next byte (= HEC byte), we
have found the header of an ATM cell. If not, we
shift one bit position and repeat the calculation ...
Method 2 is usually preferred over Method 1
(better performance)
Functions of the ATM layer
1.
ATM cell creation => generating and adding a 5
byte cell header to the 48 byte payload received
from the AAL (and giving the payload to the AAL at
the receiving end)
2.
Multiplexing (and demultiplexing) of the ATM cell
flows from different sources using appropriate
identifiers (VCI and VPI) located in the cell headers
3.
Cell routing (switching and/or relaying) within the
ATM network (also using VCI and VPI)
4.
The ATM layer may also provide mechanisms for
traffic management.
ATM cell header structure
Bits
Byte in
header
8
7
6
5
4
3
2
GFC* / VPI
VPI
VPI
VCI
1
VCI
VCI
PTI
CLP
HEC
GFC Generic Flow Control
VPI Virtual Path Identifier
VCI Virtual Channel Identifier
HEC Header Error Control
PTI Payload Type Indicator
CLP Cell Loss Priority
* GFC at User to Network Interface (UNI)
VPI and VCI
8
7
6
5
4
3
2
GFC* / VPI
VPI
VPI
VCI
1
VCI
VCI
PTI
CLP
HEC
VPI and VCI are virtual
connection identifiers
(used for switching or
relaying the cells to the
correct destination)
Multiplexing in ATM layer
Physical
layer
connection
(e.g. STM-1)
VPI 1
VPI 2
VCI 1
VCI 2
Multiplexing
in AAL 2
One-bit Cell Loss Priority (CLP)
8
7
6
5
4
3
2
GFC* / VPI
VPI
VPI
VCI
1
VCI
VCI
PTI
Cell Loss Priority bit is
used to indicate the
priority of the cell
CLP
HEC
In case of network congestion cells with lower priority
will be discarded first.
Three-bit Payload Type Indicator (PTI)
8
7
6
5
4
3
2
GFC* / VPI
VPI
VPI
VCI
1
User data / control data
VCI
VCI
PTI
HEC
0
0
0
0
1
1
1
1
0
0
1
1
0
0
1
1
0
1
0
1
0
1
0
1
One PTI bit is used in
AAL 5
CLP
Traffic management
User data cell, no congestion. ATM-user indication = 0
User data cell, no congestion. ATM-user indication = 1
User data cell, congestion. ATM-user indication = 0
User data cell, congestion. ATM-user indication = 1
OAM F5 segment associated cell
OAM F5 end-to-end associated cell
Resource management cell
Reserved for future VC functions
Header Error Control (HEC)
8
7
6
5
4
3
2
GFC* / VPI
VPI
VPI
VCI
1
VCI
VCI
PTI
CLP
Only bit errors in ATM
cell header are
checked, not bit
errors in cell payload
HEC
At the transmitting side, the checksum is calculated
over the four first header bytes. The result is inserted
into the HEC field.
At the receiving side, the HEC byte may be used for
error control and cell delineation purposes (as shown
on a previous slide).
ATM Adaptation Layer (AAL)
Implemented in the end-point nodes only (routing is
not addressed, this is covered by the ATM layer).
1. Flow & error control, handling of lost and
misinserted cells (not widely used…)
2. Segmentation and reassembly (SAR) of data to
fit into ATM cells as cell payload.
Higher layer data (e.g. IP datagram)
Data block
Hdr
ATM cell payload
SAR PDU
Hdr
ATM Layer PDU
(= ATM cell)
AAL protocols
AAL 1
For real-time data that requires constant bit
rate, small delay, small delay variation (PCM
speech transport)
AAL 2
Like AAL 1, but offers multiplexing of data
from different sources into a single ATM cell.
Used mainly for compressed voice & video
AAL 5
For data that is not time sensitive (e.g. IP
transport); simple SAR, no retransmission
mechanisms (see next slide).
Example: AAL 5 operation
User info (e.g. IP datagram)
CS-PDU info (< 65532 bytes) pad
N x 48 bytes
SAR-PDU
SAR-PDU
PTI LSB = 0
Last SAR-PDU
=> PTI LSB = 1
(PTI is in ATM cell header)
H
8 bytes: length of
info field, CRC
error checking
48 bytes
SAR-PDU
SAR-PDUs
Payload
ATM cell