TCP Behavior draftmodadugunattcp00 Nagendra Modadugu nagendracs stanford edu
TCP Behavior draft-modadugu-nat-tcp-00 Nagendra Modadugu nagendra@cs. stanford. edu
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 simultaneousopen handshake
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
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
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?
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
Bad Behavior • Any bad behavior not covered by current recommendations? • Other behavioral aspects needing consideration?
- Slides: 7