challenge: What is the primary goal of TCP hole punching in NAT traversal?
  
  A. To establish bidirectional TCP connections between Internet hosts in private networks
  B. To establish unidirectional TCP connections between Internet hosts in private networks
  C. To standardize the behavior of all types of NATs
  D. To disable NAT traversal in private networks
  Answer: 