Efficient Transport of VoIP Firewall Control Signaling



Similar documents
An API for dynamic firewall control and its implementation for Linux Netfilter

Virtual private network. Network security protocols VPN VPN. Instead of a dedicated data link Packets securely sent over a shared network Internet VPN

An operating system independent API for firewall control: design and implementation for Linux

UK Interconnect White Paper

NAT Traversal for VoIP. Ai-Chun Pang Graduate Institute of Networking and Multimedia Dept. of Comp. Sci. and Info. Engr. National Taiwan University

Introduction. Channel Associated Signaling (CAS) Common Channel Signaling (CCS) Still widely deployed today Considered as old technology

Encapsulating Voice in IP Packets

Application Note. Firewall Requirements for the Onsight Mobile Collaboration System and Hosted Librestream SIP Service v5.0

Chapter 10 Session Initiation Protocol. Prof. Yuh-Shyan Chen Department of Computer Science and Information Engineering National Taipei University

SIP Trunking Manual Technical Support Web Site: (registration is required)

Session Initiation Protocol (SIP) The Emerging System in IP Telephony

NAT and Firewall Traversal with STUN / TURN / ICE

Review: Lecture 1 - Internet History

Application Note. Onsight Connect Network Requirements V6.1

Authentication and Authorisation for Integrated SIP Services in Heterogeneous Environments 1

Dissertation Title: SOCKS5-based Firewall Support For UDP-based Application. Author: Fung, King Pong

SIP Trunking and Voice over IP

Internet Working 15th lecture (last but one) Chair of Communication Systems Department of Applied Sciences University of Freiburg 2005

Formación en Tecnologías Avanzadas

How to make free phone calls and influence people by the grugq

Interoperability Test Plan for International Voice services (Release 6) May 2014

Media Gateway Controller RTP

A Comparative Study of Signalling Protocols Used In VoIP

VoIP technology employs several network protocols such as MGCP, SDP, H323, SIP.

VoIP LAB. 陳 懷 恩 博 士 助 理 教 授 兼 所 長 國 立 宜 蘭 大 學 資 訊 工 程 研 究 所 TEL: # 255

SIP : Session Initiation Protocol

A Scalable Multi-Server Cluster VoIP System

Personal Telepresence. Place the VidyoPortal/VidyoRouter on a public Static IP address

Session Border Controller

Chapter 2 PSTN and VoIP Services Context

Session Initiation Protocol (SIP)

White Paper. Traversing Firewalls with Video over IP: Issues and Solutions

White paper. SIP An introduction

Overview of Voice Over Internet Protocol

Network Simulation Traffic, Paths and Impairment

Overview of VoIP Systems

SIP: NAT and FIREWALL TRAVERSAL Amit Bir Singh Department of Electrical Engineering George Washington University

SIP Trunking Quick Reference Document

Voice Over IP and Firewalls

SIP (Session Initiation Protocol) Technical Overview. Presentation by: Kevin M. Johnson VP Engineering & Ops

SIP: Ringing Timer Support for INVITE Client Transaction

Technical White Paper for Traversal of Huawei Videoconferencing Systems Between Private and Public Networks

COPYRIGHTED MATERIAL. Contents. Foreword. Acknowledgments

ETM System SIP Trunk Support Technical Discussion

How To Understand A Firewall

NAT and Firewall Traversal with STUN / TURN / ICE

Voice Over IP Performance Assurance

Recent advances in transport protocols

Skype characteristics

VIDEOCONFERENCING. Video class

Best Practices for Role Based Video Streams (RBVS) in SIP. IMTC SIP Parity Group. Version 33. July 13, 2011

NAT TCP SIP ALG Support

How will the Migration from IPv4 to IPv6 Impact Voice and Visual Communication?

Unit 23. RTP, VoIP. Shyam Parekh

SIP A Technology Deep Dive

VegaStream Information Note Considerations for a VoIP installation

Transport and Network Layer

IP address format: Dotted decimal notation:

International Telecommunication Union. Common VoIP Metrics. Alan Clark. CEO, Telchemy

TECHNICAL CHALLENGES OF VoIP BYPASS

VoIP. Overview. Jakob Aleksander Libak Introduction Pros and cons Protocols Services Conclusion

IP PBX. SD Card Slot. FXO Ports. PBX WAN port. FXO Ports LED, RED means online

SIP Essentials Training

Time Warner ITSP Setup Guide

Network Convergence and the NAT/Firewall Problems

How to Configure the NEC SV8100 for use with Integra Telecom SIP Solutions

Session Border Controller

UX5000 with CommPartners SIP Trunks

NAT Traversal for VoIP

Adopting SCTP and MPLS-TE Mechanism in VoIP Architecture for Fault Recovery and Resource Allocation

Comparing Session Border Controllers to Firewalls with SIP Application Layer Gateways in Enterprise Voice over IP and Unified Communications Scenarios

Adding Multi-Homing and Dual-Stack Support to the Session Initiation Protocol

Cisco Expressway IP Port Usage for Firewall Traversal. Cisco Expressway X8.1 D December 2013

DEPLOYMENT GUIDE Version 1.2. Deploying the BIG-IP LTM for SIP Traffic Management

IPNext 50 NGN IP-PBX High-performance Next Generation IP-PBX Solution

EarthLink Business SIP Trunking. NEC SV8300 IP PBX Customer Configuration Guide

EarthLink Business SIP Trunking. NEC SV8100 IP PBX Customer Configuration Guide

End-to-End Quality-of-Service Support in Next Generation Networks with NSIS

IP Office Technical Tip

Project Code: SPBX. Project Advisor : Aftab Alam. Project Team: Umair Ashraf (Team Lead) Imran Bashir Khadija Akram

Internet Protocol: IP packet headers. vendredi 18 octobre 13

Development of SIP-H.323 Gateway Project

Network Considerations for IP Video

This specification this document to get an official version of this User Network Interface Specification

StarLeaf Network Guide

This presentation discusses the new support for the session initiation protocol in WebSphere Application Server V6.1.

nexvortex SIP Trunking Implementation & Planning Guide V1.5

SIP Trunking Service Configuration Guide for Broadvox Fusion

A Brief Overview of VoIP Security. By John McCarron. Voice of Internet Protocol is the next generation telecommunications method.

Receiving the IP packets Decoding of the packets Digital-to-analog conversion which reproduces the original voice stream

Basic Networking Concepts. 1. Introduction 2. Protocols 3. Protocol Layers 4. Network Interconnection/Internet

AN IPTEL ARCHITECTURE BASED ON THE SIP PROTOCOL

Configuring Interactive Intelligence ININ IP PBX For tw telecom SIP Trunking service USER GUIDE

EarthLink Business SIP Trunking. ININ IC3 IP PBX Customer Configuration Guide

Protecting Mobile Devices From TCP Flooding Attacks

Ram Dantu. VOIP: Are We Secured?

Terminology and Definitions Acronyms and Abbreviations Acknowledgement

Transcription:

Universität Stuttgart INSTITUT FÜR NACHRICHTENVERMITTLUNG UND DATENVERARBEITUNG Prof. Dr.-Ing. Dr. h. c. mult. P. J. Kühn INSTITUT FÜR KOMMUNIKATIONSNETZE UND RECHNERSYSTEME Prof. Dr.-Ing. Dr. h. c. mult. P. J. Kühn Efficient Transport of VoIP Firewall Control Signaling Sebastian Kiesel, Michael Scharf kiesel@ikr.uni-stuttgart.de, scharf@ikr.uni-stuttgart.de IKR - VFF IND - Workshop Dienste im Next Generation Network (NGN) Universität Stuttgart, 3. März 2006

Outline Motivation Overview of problems with and firewalls Introduction to IETF MIDCOM/SIMCO Overview of SCTP "SIMCO over SCTP" Testbed and measurement results Conclusions and future work

Motivation Next Generation Networks Carrier operated VoIP networks (, RTP) Multi-operator scenarios Requirements - Protection against denial-of-service attacks and VoIP spam - Accountability No full end-to-end connectivity on IP layer, Signaling and media path secured by firewalls, Firewalls "A firewall is a system or group of systems that enforces an access control policy between two networks." Realization by packet filter and/or proxies Firewalls in media path have to interact with session signaling

/RTP: basic call flow user A proxy INVITE (+SDP) A 100 TRYING user B 180 RINGING INVITE (+SDP) A 180 RINGING

/RTP: basic call flow user A proxy INVITE (+SDP) A 100 TRYING user B 180 RINGING INVITE (+SDP) A 180 RINGING 200 OK(+SDP B ) 200 OK ACK ACK RTP/RTCP

/RTP: dyn. cross-layer parameter negotiation user A proxy INVITE (+SDP) A 100 TRYING user B 180 RINGING INVITE (+SDP) A 180 RINGING 200 OK (+SDP B ) 200 OK ACK ACK Parameter negotiation (Codec, bit rate, UDP port numbers, IP addresses,...) RTP/RTCP

Firewalls and out-of-band signaling roaming user Clouds: IP based Operator Networks (e.g., NGN) Network interconnection based on bilateral agreements, protected by means of firewalls

Firewalls and out-of-band signaling

Firewalls and out-of-band signaling RTP

Firewalls and out-of-band signaling ACL? RTP ACL? Signaling messages negoitate parameters for media streams Signaling messages may travel on different path through network than media streams do /RTP firewall traversal problem

Firewalls and out-of-band signaling ACL? RTP ACL? /RTP firewall traversal problem - solution approaches Remove firewall Static, permissive firewall configuration (HTTP) tunnel through firewall Secure?

Firewalls and out-of-band signaling ACL? RTP ACL? /RTP firewall traversal problem - solution approaches (cont.) decoder in packet filter (e.g., Linux Netfilter "Protocol Helper") Implementation difficult Problem if signaling and media on different path Application Layer Gateways (e.g., "Session Border Controller") Media will be forced to signaling path Efficiency? Latency? Call state at network edge

Firewalls and out-of-band signaling ACL? RTP ACL? /RTP firewall traversal problem - solution approaches (cont.) Use "firewall control protocol" for dynamic opening of "pinholes" in packet filter for media streams during call duration. Remote control of packet filter by means of signaling protocol Where/Who is controlling entity? How to send signaling messages? - Path-coupled firewall signaling - Path-decoupled firewall signaling

Firewalls and out-of-band signaling path coupled FW signaling ACL RTP ACL Examples for path-coupled firewall signaling: RSVP IETF NSIS (Next Steps In Signaling) - NAT/FW NSLP Signaling messages will be sent along the (future) media path No problem to find all firewalls on the path Problem: secure and efficient (!) authorization of signaling messages

Firewalls and out-of-band signaling path coupled FW signaling ACL RTP ACL path decoupled FW signaling ACL RTP ACL

Firewalls and out-of-band signaling RTP MIDCOM SSw Examples for path-decoupled firewall signaling: UPnP (home and small office LANs only) IETF MIDCOM Signaling messages will be sent from (centralized) softswitch (SSw) Clear trust relationships (SSw: master, firewall: slave), pre-established IPsec/TLS security associations ( low latency) Problem: how to find firewalls on media path facing dynamic routing?

IETF MIDCOM - SIMCO policy repository MIDCOM PDP impl. specific proxy MIDCOM MIDCOM protocol interface policy protocol interface packet filter ("middlebox") UA user A RTP UA user B private domain public network (e.g., Internet) IETF MIDCOM is a framework architecture + protocol semantics Can be implemented using several protocols: SNMP, MEGACO, COPS, DIAMETER, SIMCO (SImple Middlebox COnfiguration) Protocol,...

IETF MIDCOM - SIMCO MIDCOM/SIMCO agent (e.g., B2BUA) Middlebox (e.g., packet filter) Rule timers in middlebox

IETF MIDCOM - SIMCO MIDCOM/SIMCO agent (e.g., B2BUA) Enable R ule Middlebox (e.g., packet filter) (IP1, IP2, TCP/UDP/..., Port1, Port2,...,TID=0,Lifetime) Rule timers in middlebox

IETF MIDCOM - SIMCO MIDCOM/SIMCO agent (e.g., B2BUA) Enable R ule Enable Rule Positive R eply (TID=0, PID=13) Middlebox (e.g., packet filter) (IP1, IP2, TCP/UDP/..., Port1, Port2,...,TID=0,Lifetime) Rule timers in middlebox PID 13

IETF MIDCOM - SIMCO MIDCOM/SIMCO agent (e.g., B2BUA) Enable R ule Enable Rule Positive Middlebox (e.g., packet filter) (IP1, IP2, TCP/UDP/..., Port1, Port2,...,TID=0,Lifetime) R eply (TID=0, PID=13) Rule timers in middlebox PID 13 Lifetime Change Lifetime C hange Positive (TID=2, PID=13, new Lifetime) Reply (TID=2)

IETF MIDCOM - SIMCO MIDCOM/SIMCO agent (e.g., B2BUA) Enable R ule Enable Rule Positive Middlebox (e.g., packet filter) (IP1, IP2, TCP/UDP/..., Port1, Port2,...,TID=0,Lifetime) R eply (TID=0, PID=13) Rule timers in middlebox PID 13 PLC Lifetime Change Lifetime C hange Positive (TID=3, PID=13, new Lifetime=0) P olicy Rule Deletion (TID=2, PID=13, new Lifetime) (TID=3) Reply (TID=2)

IETF MIDCOM - SIMCO MIDCOM/SIMCO agent (e.g., B2BUA) Enable R ule Enable Rule Positive PER PR(TID=1, PID=37) Middlebox (e.g., packet filter) (IP1, IP2, TCP/UDP/..., Port1, Port2,...,TID=0,Lifetime) R eply (TID=0, PID=13) PER (IP1, IP2, TCP/UDP/..., Port1, Port2,..., TID=1, Lifetime) Rule timers in middlebox PID 13 PID 37 PLC Lifetime Change Lifetime C hange Positive (TID=3, PID=13, new Lifetime=0) P olicy Rule Deletion (TID=2, PID=13, new Lifetime) (TID=3) Reply (TID=2)

IETF MIDCOM - SIMCO MIDCOM/SIMCO agent (e.g., B2BUA) Enable R ule Enable Rule Positive PER PR(TID=1, PID=37) Middlebox (e.g., packet filter) (IP1, IP2, TCP/UDP/..., Port1, Port2,...,TID=0,Lifetime) R eply (TID=0, PID=13) PER (IP1, IP2, TCP/UDP/..., Port1, Port2,..., TID=1, Lifetime) Rule timers in middlebox PID 13 PID 37 PLC Lifetime Change Lifetime C hange Positive (TID=3, PID=13, new Lifetime=0) P olicy Rule Deletion (TID=3) Asynchronous Rule Event (TID=2, PID=13, new Lifetime) Reply (TID=2) (TID=7626, PID=37, Lifetime=0)

SIMCO - Interaction with /RTP user A proxy INVITE (+SDP) A 100 TRYING user B 180 RINGING INVITE (+SDP) A 180 RINGING 200 OK (+SDP B ) 200 OK ACK ACK Parameter negotiation (Codec, bit rate, UDP port numbers, IP addresses,...) RTP/RTCP

SIMCO - Interaction with /RTP user A proxy packet filter user B INVITE (+SDP) A 100 TRYING 180 RINGING INVITE (+SDP) A 180 RINGING 200 OK(+SDP B ) 200 OK ACK ACK RTP/RTCP

SIMCO - Interaction with /RTP user A proxy packet filter user B INVITE (+SDP) A 100 TRYING 180 RINGING 200 OK ACK PER RQ RTP A PER PR PER RQ RTP B PER PR ACK INVITE (+SDP) A 180 RINGING 200 OK(+SDP B ) RTP/RTCP

SIMCO - Interaction with /RTP user A proxy packet filter user B INVITE (+SDP) A 100 TRYING 180 RINGING 200 OK ACK PER RQ RTP A PER PR PER RQ RTP B PER PR ACK INVITE (+SDP) A 180 RINGING 200 OK(+SDP B ) Call setup delay RTP/RTCP

Summary SIMCO Signaling protocol for Firewall and NAT control Implements (abstract) IETF MIDCOM architecture and semantics Rules - Generalized representation of packet filter rules, NAT bindings, etc. - Soft state Messages - Session management - Create, modify, delete policy rules by means of transactions - Status query transactions - Asynchronous notifications Current status: Internet Draft draft-stiemerling-midcom-simco-08.txt Prototype Implementations: NEC Europe, Ltd., Uni Stuttgart/IKR

Summary SIMCO Signaling protocol for Firewall and NAT control Implements (abstract) IETF MIDCOM architecture and semantics Rules - Generalized representation of packet filter rules, NAT bindings, etc. - Soft state Messages - Session management - Create, modify, delete policy rules by means of transactions - Status query transactions - Asynchronous notifications Current status: Internet Draft draft-stiemerling-midcom-simco-08.txt Prototype Implementations: NEC Europe, Ltd., Uni Stuttgart/IKR Default transport protocol: TCP (Transmission Control Protocol) Reduced latency by using SCTP (Stream Control Transmission P.)?

Stream Control Transmission Protocol SCTP (Stream Control Transmission Protocol, RFC 2960) Generic transport layer protocol optimized for signaling purposes, originally developed as part of the SIGTRAN stack for "SS7 over IP" Connection oriented: "SCTP association" - Reliable transmission (checksums, flow-control, etc.) - "TCP friendly" congestion control - Message-oriented interface to upper layers (no continous byte-stream) Protocol mechanisms for deployment in high-reliability environments - Multihoming, heartbeat/keepalive messages for automatic changeover - Protection against "blind spoofing" and DoS attacks SCTP association subdivided in several "SCTP streams" - Flow & congestion control applied to whole SCTP association More efficient than parallel TCP connections - In-order delivery of messages ensured only within same stream Reduced head-of-line blocking

Head-of-line blocking: Illustration TCP SCTP with 3 streams 4 3 2 1 1 2 3 4 4 1 2 3 1 4 2 3 3 4 3 2 1 3 4 3 2 1 IP packet 3 lost or corrupted Retransmission Packet 4 has to wait in resequencing queue at receiver until packet 3 is retransmitted Head-of-line blocking IP packet 3 lost or corrupted Retransmission Packets in other streams (e.g., packet 4) not affected by head-of-line blocking

SIMCO over SCTP Basic Question: Constraint: how to leverage SCTP s multiple streams feature? retain causality for SIMCO

SIMCO over SCTP Basic Question: Constraint: how to leverage SCTP s multiple streams feature? retain causality for SIMCO MIDCOM/SIMCO agent (e.g., B2BUA) Enable R ule Enable Rule Positive PER PR(TID=1, PID=37) Middlebox (e.g., packet filter) (IP1, IP2, TCP/UDP/..., Port1, Port2,...,TID=0,Lifetime) R eply (TID=0, PID=13) PER (IP1, IP2, TCP/UDP/..., Port1, Port2,..., TID=1, Lifetime) Rule timers in middlebox PID 13 PID 37 PLC Lifetime Change Lifetime C hange Positive (TID=3, PID=13, new Lifetime=0) P olicy Rule Deletion (TID=3) Asynchronous Rule Event (TID=2, PID=13, new Lifetime) Reply (TID=2) (TID=7626, PID=37, Lifetime=0)

SIMCO over SCTP Basic Question: Constraint: how to leverage SCTP s multiple streams feature? retain causality for SIMCO Basic idea: Agent and middlebox agree to use N bidirectional stream pairs upon session establishment Distribution of messages to streams: SIMCO Agent ("client") - Create new policy rules: use round-robin scheme to distribute requests on streams, once decided save mapping PID - stream ID - Modify/Delete existing policy rule: reuse saved mapping Middlebox ("server") - Send answer on same stream number than request was received on Specification needs to consider some special cases draft-kiesel-midcom-simco-sctp-00.txt

SIMCO over SCTP: Prototypical implementation Proxy protocol entity add/ del rule ACK SIMCO client TCP transceiver SCTP transceiver Middlebox SIMCO server TCP SCTP transceiver transceiver UDP TCP SCTP TCP SCTP IP WAN IP packet filter

SIMCO over SCTP: Measurement testbed Load Generator add/ del rule SIMCO client TCP transceiver response time SCTP transceiver Middlebox SIMCO server TCP SCTP transceiver transceiver UDP TCP SCTP Delay, Packet loss TCP SCTP IP WAN Emulator IP packet filter

Measurement results Comparison of mean response time Mean SIMCO response time R (in ms) 100 90 80 70 60 50 40 30 Measurement Analytical model TCP Linux Linux SCTP Solaris #streams N 1 2 4 8 System load 30 ms call IAT (neg.-exp.) 180 s call duration (neg.-exp.) PLC every 120s Equiv. to 60,000 users with 0.05 Erl. 100 transactions/s Network 20 ms RTT 10 Mbps data rate Random packet loss Linux 2.6.11 TCP/SCTP Sun Microsystems Solaris 10 20 0.1 1 10 One-way packet loss probability p (in %) Several SCTP streams improve SIMCO response time Measured TCP performance much worse than SCTP

Measurement results Optimal number of streams Mean SIMCO response time R (in ms) 40 35 30 25 20 1.0% 0.5% 0.0% 2.5% Measurement Analytical model Loss prob. p 5.0% Optimal stream number M 1 10 1024 Number of SCTP streams N System load 30 ms call IAT (neg.-exp.) 180 s call duration (neg.-exp.) PLC every 120s Equiv. to 60,000 users with 0.05 Erl. 100 transactions/s Network 20 ms RTT 10 Mbps data rate Random packet loss Linux 2.6.11 SCTP No significant performance improvement for more than M=f(RTT, load) Usually a small number of streams is sufficient

Conclusions & Future Work Conclusions Firewalls in VoIP networks to achieve PSTN-like security model SIMCO is a signaling protocol for path-decoupled firewall control SCTP is beneficial as transport protocol for SIMCO - Less implementation complexity - Protocol mechanisms for high-reliability environments - Reduced head-of-line blocking Measurements with prototype implementation show that small number of SCTP streams is sufficient draft-kiesel-midcom-simco-sctp-00.txt Future Work Performance impact of actually controlling a packet filter with SIMCO middlebox entity (e. g., Linux netfilter) Performance optimization by rule grouping/reordering possible? Compare response time with several parallel TCP connections