On the implementation of TCP urgent data (draft-gont-tcpm-urgent-data) Fernando Gont & A. Yourtchenko 73rd IETF meeting, November 16-21, 2008 Minneapolis,

Slides:



Advertisements
Similar presentations
73rd IETF meeting, November 16-21, 2008
Advertisements

Review: Name/Address conversion: –What does the domain name system do? –Which system calls use the domain name system? –How does it work? –How does getservbyname.
Security Assessment of the Internet Protocol version 4 (IPv4) draft-ietf-opsec-ip-security Fernando Gont project carried out on behalf of UK CPNI 76th.
1 1 IETF 84 Subha Dhesikan, Dan Druta, Cullen Jennings, Paul Jones, James Polk.
Conducting Effective Meetings Before Your MeetingDuring Your MeetingAfter Your Meeting The chair should: Determine the objectives of the meeting – why.
Out-of-Band Data© Dr. Ayman Abdel-Hamid, CS4254 Spring CS4254 Computer Network Architecture and Programming Dr. Ayman A. Abdel-Hamid Computer Science.
1 Chapter 3 TCP and IP. Chapter 3 TCP and IP 2 Introduction Transmission Control Protocol (TCP) Transmission Control Protocol (TCP) User Datagram Protocol.
Port randomization (draft-ietf-tsvwg-port-randomization) Michael Larsen & Fernando Gont 73rd IETF Meeting, November 16-21, 2008 Minneapolis, MN, USA.
Slide #1IETF 77 – Roll WG – March 2010 ROLL RPL IETF 77 status draft-ietf-roll-rpl Tim Winter Pascal Thubert Design Team.
Draft-loughney-what-standards-01.txt IETF 59 NEWTRK WG Presented by Spencer Dawkins.
ICMP attacks against TCP draft-ietf-tcpm-icmp-attacks-01.txt Fernando Gont (UTN/FRH) 67 th IETF Meeting, San Diego, California, USA November 5-10, 2006.
Doc: Submission September 2003 Dorothy Stanley (Agere Systems) IETF Liaison Report September 2003 Dorothy Stanley – Agere Systems IEEE.
Security Assessment of the Transmission Control Protocol (TCP) (draft-ietf-tcpm-tcp-security-02.txt) Fernando Gont project carried out on behalf of UK.
Rfc7180bis: Further TRILL Clarifications, Corrections, and Updates Donald Eastlake Mingui Zhang, Radia Perlman, Ayan Banerjee, Anoop Ghanwani, Sujay Gupta.
MPTCP – MULTIPATH TCP Interim meeting #3 20 th October 2011 audio Yoshifumi Nishida Philip Eardley.
Dr. John P. Abraham Professor UTPA
2.8. Data Communication The data that flows on a connection may be thought of as a stream of octets. The sending user indicates in each SEND call whether.
Byte and Packet Congestion Notification draft-briscoe-tsvwg-byte-pkt-mark-00.txt draft-briscoe-tsvwg-byte-pkt-mark-00.txt Bob Briscoe, BT & UCL IETF-69.
Yang Shi (Richard), Yong Zhang IETF 74 th 26 March 2009, San Francisco CAPWAP WG MIB Drafts Report.
TCP User Timeout Option Lars Eggert (NEC) Fernando Gont (UTN/FRH) IETF-64, Vancouver, Canada November 10, 2005.
Byte and Packet Congestion Notification draft-ietf-tsvwg-byte-pkt-congest-00.txt draft-ietf-tsvwg-byte-pkt-congest-00.txt Bob Briscoe, BT & UCL IETF-73.
1 Miscellaneous Capabilities for IP Network Infrastructure IETF 64 Vancouver, BC, Canada November 2005.
91st IETF, Honolulu, November 2014 IS-IS Route Preference for Extended IP and IPv6 Reachability draft-ietf-isis-route-preference-00.txt Les Ginsberg
Stateless Transport Tunneling draft-davie-stt-01.txt Bruce Davie, Jesse Gross, Igor Gashinsky et al.
SIP working group IETF#70 Essential corrections Keith Drage.
Programming Errors. Errors of different types Syntax errors – easiest to fix, found by compiler or interpreter Semantic errors – logic errors, found by.
The Benefits and Pitfalls of using Explicit Congestion Notification (ECN) draft-ietf-aqm-ecn-benefits-00 91st IETF Meeting Honolulu, Hawaii 10 November.
Last Call comments and changes for CCID 2 Sally Floyd DCCP WG, November 2004.
1 draft-sidr-bgpsec-protocol-05 Open Issues. 2 Overview I received many helpful reviews: Thanks Rob, Sandy, Sean, Randy, and Wes Most issues are minor.
Design Guidelines Thursday July 26, 2007 Bernard Aboba IETF 69 Chicago, IL.
Richard Scheffenegger (Editor) David Borman Bob Braden Van Jacobson RFC1323bis – TCP Extensions for High Performance 1 84 th IETF, Vancouver, Canada.
Requirements and Selection Process for RADIUS Crypto-Agility December 5, 2007 David B. Nelson IETF 70 Vancouver, BC.
RFC 4068bis draft-ietf-mipshop-fmipv6-rfc4068bis-01.txt Rajeev Koodli.
1 1 Cullen Jennings IETF 90 V5. 2 WebRTC has “flows” of Audio, Video, and Data between browsers JavaScript applications running in the browser have an.
IETF #73 - NETMOD WG session1 NETMOD WG IETF 73, Minneapolis, MN, USA November 20, David Harrington David Partain.
Announcements Assignment 2 Out Today Quiz today - so I need to shut up at 4:25 1.
64th IETF Vancouver November 2005 ASON-Compatible Signaling.
IPv6 Transition/Co-existence Security Considerations draft-ietf-v6ops-security-overview-04.txt Elwyn Davies Suresh Krishnan Pekka Savola IETF-66, Montreal,
IETF #85 - NETCONF WG session 1 NETCONF WG IETF 85, Atlanta, USA WEDNESDAY, November 7, Bert Wijnen Mehmet Ersue.
IETF YANG models for VLAN interface classification draft-wilton-netmod-intf-vlan-yang Robert Wilton (Cisco)
11 CS716 Advanced Computer Networks By Dr. Amir Qayyum.
Data Center Benchmarking Drafts Lucien Avramov, Cisco Jacob Rapp, Cisco July 2013 IETF 87 - Berlin draft-dcbench-def-00 draft-bmwg-dcbench-methodology-01.
Draft-wing-v6ops-happy-eyeballs-ipv6 Happy Eyeballs: Trending Towards Success with Dual-Stack Hosts Dan Wing Andrew Yourtchenko {dwing,
Security Implications of Predictable Fragment Identification Values
RFC 2861 authors: Mark Handley, Jitendra Padhye, and Sally Floyd
Michael Welzl , Distributed and Parallel Systems Group
Interface extensions YANG & VLAN sub-interface YANG Status update
TCP Maintenance and Minor Extensions (TCPM) Working Group Status
RTP SDES Header Extension
Current Issues with DNS Configuration Options for SLAAC
76th IETF meeting, November 8-13, 2009
Extending Option Space Discussion Overview and its requirements
IETF 65 Calsify WG March 21, 2006 Dallas, TX.
draft-bagnulo-tcpm-generalized-ecn-00 M. Bagnulo & B. Briscoe IETF97
DHCPv6-Shield: Protecting Against Rogue DHCPv6 Servers
TCP for DNS security considerations
TCB Control Block Sharing: 2140bis
Signaled PID When Multiplexing Multiple Payloads over RSVP-TE LSPs draft-ali-mpls-sig-pid-multiplexing-case-00.txt Zafar Ali, Cisco Systems.
Balazs Lengyel, Ericsson
Working Group Re-charter Draft Charter Reference Materials
Updates to Draft Specification for DTN TCPCLv4
ECN Experimentation draft-black-ecn-experimentation
TCP Alternative Backoff with ECN (ABE) draft-ietf-tcpm-alternativebackoff-ecn-06 Naeem Khademi, Michael Welzl, Grenville Armitage, Gorry Fairhurst TCPM.
Frame Priority Marking RTP Header Extension:
How OAM Identified in Overlay Protocols draft-mirsky-rtgwg-oam-identify Greg Mirsky IETF-104 March 2019, Prague.
Deprecating MD5 for LDP draft-nslag-mpls-deprecate-md5-04
Transport Layer 9/22/2019.
RFC 4601 Revision Prague, March 2011 Rishabh Parekh (Cisco)
TCB Control Block Sharing: 2140bis draft-ietf-tcpm-2140bis-00
TCP Maintenance and Minor Extensions (TCPM) Working Group Status
Presentation transcript:

On the implementation of TCP urgent data (draft-gont-tcpm-urgent-data) Fernando Gont & A. Yourtchenko 73rd IETF meeting, November 16-21, 2008 Minneapolis, MN, USA

Problem statement (I) (where does the UP point to?) There was some ambiguity in RFC 793 with respect to the semantics of the TCP urgent pointer  UP points to the byte following the last byte of urgent data?  UP points to the last byte of urgent data? RFC 1122 clarified this ambiguity  “the UP points to the last byte of urgent data” However, virtually every implementation interprets the semantics of the UP as:  “the UP points to the byte following the last byte of urgent data” Result:  there’s a difference between what the specs state and what’s actually implemented

Problem statement (II) (OOB vs- in-line) RFC 793 explains that the UP simply represents a mark in the data stream where urgent data ends. Generally (but not actually specified in the RFCs), applications would skip (discard) all those data before the urgent mark. But all data would be in-band… However, virtually all stacks implement urgent data as follows:  The UP points to the byte following the last byte of urgent data  There can be only a single byte of urgent data at any time By default, this “single byte of urgent data” is typically delivered out- of-band, by means of the recv(2) call with the MSG_OOB flag Some implementations (e.g., BSD-derived) have a single byte for buffering urgent data. If you receive to urgent indications, the first byte is lot. Other implementations (Microsoft?) queue OOB data!

Problem statement (III) (let’s make things worse) Some middle-boxes (e.g. Cisco PIX) clear the URG bit and set the Urgent Pointer to zero by default. This means that any application that currently depends on TCP urgent data may break.

What should we do about it? There are two different areas of work:  UP semantics  OOB vs. in-line processing of urgent data

What should we do about the UP? (I) Possible ways forward for UP semantics:  Do nothing: this would make the specs irrelevant with respect to urgent data  Aim at having stacks implement the RFC 1122 semantics: This would break any app that is currently using urgent data  Update RFC 1122 to accomodate what implementations have been doing: this would make the specs with what real implementations do

What should we do about the UP? (II) Let’s be pragmatic:  However, we are in a situation in which the specifications and real implementations differ  We’d like to do RFC 1122, but if we tried to push the RFC 1122 semantics at this point in time, we’d probably break any application making use of urgent data.  So the question we should proably ask ourselves at this point is: as long as all implementations are consistent with how they send and how they receive urgent data, does it actually matter whether the UP points to the last byte of urgent data vs. the byte following the last byte of urgent data?  If the answer to this question is “No”, then the way to go would be to update RFC 1122 in this respect to change the semantics of the UP.

What should we do about in-line vs. OOB? (I Possible ways forward for OOB vs. in-line processing of urgent data  Do nothing: apps would continue working, but with a broken semantics for the TCP urgent data  Recommend apps to set the SO_OOBINLINE, so that urgent data is processed in-line: apps would continue working, but they could migrate to the correct semantics of TCP urgent data.  Deprecate urgent data: might make sense, as some middle- boxes already break urgent data, but….

Moving forward We’re planning to publish a revision (-01) of the urgent data draft that incorporates the feedback we got mainly from David Borman on-list, and a really fruitful discussion (today!) with David Borman and Joe Touch We believe that TCPM WG should do something about urgent data Should this document be adopted as a TCPM WG item?