IETF 82 BFCPBIS WG Meeting

Slides:



Advertisements
Similar presentations
Transport Layer3-1 Transport Overview and UDP. Transport Layer3-2 Goals r Understand transport services m Multiplexing and Demultiplexing m Reliable data.
Advertisements

Umut Girit  One of the core members of the Internet Protocol Suite, the set of network protocols used for the Internet. With UDP, computer.
Secure Socket Layer.
Camarillo / Schulzrinne / Kantola November 26th, 2001 SIP over SCTP performance analysis
© 2007 Cisco Systems, Inc. All rights reserved.Cisco Public ITE PC v4.0 Chapter 1 1 OSI Transport Layer Network Fundamentals – Chapter 4.
1 Chapter 3 TCP and IP. Chapter 3 TCP and IP 2 Introduction Transmission Control Protocol (TCP) Transmission Control Protocol (TCP) User Datagram Protocol.
Real-time Transport Protocol (RTP) Recommendations for SIPREC (draft-eckel-siprec-rtp-rec-01) Charles Eckel IETF-81, Quebec City, July.
Transport Layer3-1 Transport Layer Our goals: r understand principles behind transport layer services: m multiplexing/demultipl exing m reliable data transfer.
Gursharan Singh Tatla Transport Layer 16-May
TRANSPORT LAYER T.Najah Al-Subaie Kingdom of Saudi Arabia Prince Norah bint Abdul Rahman University College of Computer Since and Information System NET331.
University of Calgary – CPSC 441.  UDP stands for User Datagram Protocol.  A protocol for the Transport Layer in the protocol Stack.  Alternative to.
Review: –What is AS? –What is the routing algorithm in BGP? –How does it work? –Where is “policy” reflected in BGP (policy based routing)? –Give examples.
I-D: draft-rahman-mipshop-mih-transport-01.txt Transport of Media Independent Handover Messages Over IP 67 th IETF Annual Meeting MIPSHOP Working Group.
TCP/IP Essentials A Lab-Based Approach Shivendra Panwar, Shiwen Mao Jeong-dong Ryoo, and Yihan Li Chapter 5 UDP and Its Applications.
Introduction to Networks CS587x Lecture 1 Department of Computer Science Iowa State University.
CPSC 441 TUTORIAL – FEB 13, 2012 TA: RUITNG ZHOU UDP REVIEW.
Real-time Transport Protocol (RTP) Recommendations for SIPREC (draft-eckel-siprec-rtp-rec-02) Charles Eckel SIPREC Virtual Interim.
Transport Layer 3-1 Chapter 3 Outline r 3.1 Transport-layer services r 3.2 Multiplexing and demultiplexing r 3.3 Connectionless transport: UDP.
IETF-81, Quebec City, July 25-29, 2011
Interactive Connectivity Establishment : ICE
TURN Jonathan Rosenberg Cisco Systems. Changes since last version Moved to behave terminology Many things moved into STUN –Basic request/response formation.
MULTIPLEXING/DEMULTIPLEXING, CONNECTIONLESS TRANSPORT.
Teacher:Quincy Wu Presented by: Ying-Neng Hseih
Transport Layer3-1 Chapter 3: Transport Layer Our goals: r understand principles behind transport layer services: m multiplexing/demultipl exing m reliable.
Draft-ietf-p2psip-base-08 Cullen Jennings Bruce Lowekamp Eric Rescorla Salman Baset Henning Schulzrinne March 25, 2010.
2: Transport Layer 11 Transport Layer 1. 2: Transport Layer 12 Part 2: Transport Layer Chapter goals: r understand principles behind transport layer services:
3. END-TO-END PROTOCOLS (PART 1) Rocky K. C. Chang Department of Computing The Hong Kong Polytechnic University 22 March
Ch23 Ameera Almasoud 1 Based on Data Communications and Networking, 4th Edition. by Behrouz A. Forouzan, McGraw-Hill Companies, Inc., 2007.
Introduction to Networks
The Transport Layer Implementation Services Functions Protocols
Chapter 9: Transport Layer
Chapter 3 outline 3.1 Transport-layer services
Instructor Materials Chapter 9: Transport Layer
Transport of Media Independent HO Messages over IP
IP - The Internet Protocol
5. End-to-end protocols (part 1)
IETF#67 – 5-10 November 2006 FECFRAME requirements (draft-ietf-fecframe-req-01) Mark Watson.
Options to Transport CLUE Messages draft-wenger-clue-transport-01
Transport Layer.
Process-to-Process Delivery, TCP and UDP protocols
Chapter 7: The Infamous IP
06- Transport Layer Transport Layer.
Chapter 14 User Datagram Program (UDP)
PART 5 Transport Layer Computer Networks.
Understand the OSI Model Part 2
IMTC SIP Interconnect and SuperOp
TCP Transport layer Er. Vikram Dhiman LPU.
Magda El Zarki Professor, ICS UC, Irvine
IP - The Internet Protocol
CS 1652 Jack Lange University of Pittsburgh
Introduction to Networks
Net431:advanced net services
User Datagram Protocol (UDP)
Transport Layer Our goals:
IP - The Internet Protocol
Chapter 14 User Datagram Protocol (UDP)
Chapter 7: The Infamous IP
IP - The Internet Protocol
TRANSMISSION CONTROL PROTOCOL
TCP and UDP Layer 3 of the TCP/IP protocol stack. Transport layer
Net 323 D: Networks Protocols
CSCD 330 Network Programming
IP - The Internet Protocol
CS4470 Computer Networking Protocols
Binary Floor Control Protocol BIS (BFCPBIS)
Process-to-Process Delivery: UDP, TCP
IP - The Internet Protocol
NET 323D: Networks Protocols
Transport Layer 9/22/2019.
Transport Layer Our goals:
Presentation transcript:

IETF 82 BFCPBIS WG Meeting Revision of the Binary Floor Control Protocol (BFCP) for use over an unreliable transport (draft-sandbakken-dispatch-bfcp-udp-03) Charles Eckel, Tom Kristensen, Mark Thompson, Geir Arne Sandbakken, Eoin McLeod IETF 82 BFCPBIS WG Meeting November 16, 2011

IETF 82 BFCPBIS WG Meeting, Nov. 16, 2011 Motivation Existing deployments of SIP based videoconferencing typically: Consist of RTP media streams for audio and video Use ICE and/or other methods for NAT/firewall traversal Found in enterprise networks When enhancing with support for content sharing, the BFCP connection often poses a problem There may be a strong preference for UDP based signaling in general Establishment/traversal of the TCP connection involving ephemeral ports, as is typically the case with BFCP over TCP, can be problematic This draft defines UDP as an alternate transport for BFCP, leveraging the mechanisms in place for RTP over UDP media streams for the BFCP communication IETF 82 BFCPBIS WG Meeting, Nov. 16, 2011

IETF 82 BFCPBIS WG Meeting, Nov. 16, 2011 Approach Minor changes to transaction model All requests now have a response to complete transaction Added an explicit “Ack” primitive for each case in which none existed Retransmission timer to ensure reliability Transaction Initiator flag to indicate a primitive is a response to a previous request One pending transaction per entity (ordering, congestion control) IETF 82 BFCPBIS WG Meeting, Nov. 16, 2011

IETF 82 BFCPBIS WG Meeting, Nov. 16, 2011 Approach (cont) Goodbye/GoodbyeAck dissociate (TCP/BFCP close) New ERROR-CODEs for following cases: Unable to parse message Use DTLS DTLS MUST be supported ICE/STUN if applicable and needed IETF 82 BFCPBIS WG Meeting, Nov. 16, 2011

IETF 82 BFCPBIS WG Meeting, Nov. 16, 2011 Open Items DTLS connection establishment Request Specific ACK vs. Generic Ack Large Message Considerations BFCP/STUN demultiplexing IETF 82 BFCPBIS WG Meeting, Nov. 16, 2011

DTLS Connection Establishment Which party, the client or the floor control server, acts as the TLS/DTLS server depends on how the underlying TCP/DTLS connection is established. For example, when the TCP/DTLS connection is established using an SDP offer/answer exchange [RFC4583], the answerer (which may be the client or the floor control server) always acts as the TLS/DTLS server. IETF 82 BFCPBIS WG Meeting, Nov. 16, 2011

DTLS Connection Establishment: Options The answerer always acts as the TLS/DTLS server, per RFC 4583 (as currently defined) The BFCP server always acts as the TLS/DTLS server The offerer always offers setup:actpass and the answerer answers either setup:active or setup:passive, where setup:active is RECOMMENDED (per RFC 5763 and as posted to bfcpbis mailer http://www.ietf.org/mail- archive/web/bfcpbis/current/msg00007.html) Preferred option: (3) Adheres to RFC 5763, does not overload offer/answer semantics, works for offerless INVITE with B2BUAs IETF 82 BFCPBIS WG Meeting, Nov. 16, 2011

Request Specific ACK vs. Generic ACK RFC 4582 primitives in BLUE, new primitives in GREEN ITALICS FloorRequest / FloorRequestStatus / [FloorRequestStatusAck] FloorRelease / FloorRequestStatus / [FloorRequestStatusAck] FloorRequestStatus / FloorRequestStatusAck FloorRequestQuery / FloorRequestStatus / [FloorRequestStatusAck] UserQuery / UserStatus FloorQuery / FloorStatus / [FloorStatusAck] FloorStatus / FloorStatusAck ChairAction / ChairActionAck Hello / HelloAck Error / ErrorAck Goodbye / GoodbyeAck IETF 82 BFCPBIS WG Meeting, Nov. 16, 2011

Request Specific ACK vs. Generic ACK: Options Always send request specific ACK (as currently defined) Send request specific ACK only if transaction initiator flag indicates message is initiating a new transaction Send a generic ACK at the transport level for every message that exists in RFC 4582 Preferred option: (1) (2) reduces number of ACK but requires passing of transaction initiator flag through the protocol stack (3) simplifies the existing transaction model as well as the adding of future BFCP primitives, but more chatty protocol and more churn of existing implementations IETF 82 BFCPBIS WG Meeting, Nov. 16, 2011

Large Message Considerations Large messages become a concern when using BFCP if the overall size of a single BFCP message exceeds that representable within the 16-bit Payload Length field of the COMMON-HEADER. When using UDP, there is the added concern that a single BFCP message can be fragmented at the IP layer if its overall size exceeds the MTU threshold of the network. The target use cases for BFCP via UDP typically involve relatively small BFCP messages ... BFCP entities SHOULD ensure that their messages are smaller than the recommended MTU size of 1300 bytes when encoded to minimize the likelihood of fragmentation in route to their peer entity. IETF 82 BFCPBIS WG Meeting, Nov. 16, 2011

Large Message Considerations: Options Leave as out of scope (as currently defined) Add a mechanism for splitting a single large message into additive messages The mechanism defined for RELOAD in section 5.7 of [I- D.ietf-p2psip-base] has been identified as a good candidate. Add an applicability statement on those BFCP messages and/or attributes deemed as inappropriate for use over transports where fragmentation is a concern Define SIP event package to deliver information Preferred option: (1) Not an issue for existing deployments/intended use cases IETF 82 BFCPBIS WG Meeting, Nov. 16, 2011

BFCP/STUN Demultiplexing In order to facilitate the initial establishment of NAT bindings, and to maintain those bindings once established, BFCP over UDP entities are RECOMMENDED to use STUN [RFC5389] for keep-alives, as described for SIP [RFC5626]. Consequently, implementations need to be able to demultiplex incoming BFCP/STUN packets IETF 82 BFCPBIS WG Meeting, Nov. 16, 2011

BFCP/STUN Demultiplexing: STUN Format for STUN messages: 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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ |0 0| STUN Message Type | Message Length | | Magic Cookie | | | | Transaction ID (96 bits) | The most significant 2 bits of every STUN message MUST be zeroes. This can be used to differentiate STUN packets from other protocols when STUN is multiplexed with other protocols on the same port. IETF 82 BFCPBIS WG Meeting, Nov. 16, 2011

BFCP/STUN Demultiplexing: BFCP Format for BFCP messages: 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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Ver |I| Res | Primitive | Payload Length | | Conference ID | | Transaction ID | User ID | The “I” field is added by draft-sandbakken-dispatch-bfcp-udp. But per RFC 4582 as well as draft-sandbakken-dispatch-bfcp-udp: Ver: The 3-bit version field MUST be set to one (i.e. 001) to indicate this version of BFCP. Therefore, as with STUN, the first two bits are always zeroes. IETF 82 BFCPBIS WG Meeting, Nov. 16, 2011

BFCP/STUN Demultiplexing: Options Leave as currently defined A reasonable STUN (RFC 5389) implementation will also check the magic cookie (0x2112A442) and check if the message length is sane (i.e. STUN messages are padded to a multiple of 4 bytes, the last 2 bits of this field is always zero) Change the version number for BFPC [via UDP] to a value where one of the first two bits is one Preferred option: (1) While changing the version number may be desirable in the future for other reasons, STUN demultiplexing is not viewed as a sufficient justification for such a change. IETF 82 BFCPBIS WG Meeting, Nov. 16, 2011

IETF 82 BFCPBIS WG Meeting THANK YOU Charles Eckel, Tom Kristensen, Mark Thompson, Geir Arne Sandbakken, Eoin McLeod IETF 82 BFCPBIS WG Meeting November 16, 2011