* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
Download Internet 2
Survey
Document related concepts
Computer network 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
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