1 / 7

NAT TCP Behavior Recommendations Draft

This draft outlines recommendations for NAT TCP behavior, covering issues like simultaneous-open handshake, premature binding expiry, timers, port assignment, and addressing bad behavior. The recommendations aim to optimize NAT handling for TCP connections.

jeangilbert
Download Presentation

NAT TCP Behavior Recommendations Draft

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. TCP Behaviordraft-modadugu-nat-tcp-00 Nagendra Modadugu nagendra@cs.stanford.edu

  2. Incoming SYN • Issue: • Binding created on observing outgoing SYN • Other side tries TCP simultaneous-open: • Also sends a SYN • Binding has already been created, does NAT allow incoming SYN? • Recommendation: • Yes • Also, NAT should be capable of tracking simultaneous-open handshake

  3. RST Behavior • Issue: • External interface sees inbound SYN on unbound port • Typical OS responds with RST • NAT responding with RST means simultaneous-open doesn’t work • Recommendation: • Silent treatment of such inbound SYNs • Many (> 64%) NATs already demonstrate this behavior

  4. Premature Binding Expiry • Issue: • TCP connection goes idle for extended period • Releasing binding means that open connection gets dropped • Thoughts? • How many applications affected? • Affected applications can implement SO_KEEPALIVE • NAT implements TCP keep-alive • Recommendation • No active participation by NAT

  5. Timers • Three timers: • Connecting (before handshake completion), Established (measures liveness), Closing • Timer values: • Problems with mimicing standard TCP values? • Pick max values across various OS’s? • Thoughts?

  6. Port Assignment (general behavior) • Issue: • To Preserve or Not Preserve port numbers • Desired port may be unavailable • Discussion: • Secondary port assignment scheme required anyway • Recommending one way or another not much value? • Recommendation: • Leave unspecified • Application developers cannot depend on port preservation anyway

  7. Bad Behavior • Any bad behavior not covered by current recommendations? • Other behavioral aspects needing consideration?

More Related