NAT
NAT 全称为:Network Address Translation (RFC 2663),通过在NAT路由器中添加地址转换表(Translation Table来实现)。其重要作用有两个:
1. 解决IP地址不够用的问题
2. 隐藏局域网内部的配置细节
NAT的问题:
1. NAT违反了端到端原则。即端主机之间应该直接对话,路由器作为网络核心的一部分,不应该介入去修改报文的IP地址和端口号。
2. 端口号是用于对进程编址的,却被NAT拿来用于主机编址
3. 路由器应该工作在协议栈的三层一下,NAT修改端口号的行为使得路由器介入到了运输层
NAT对P2P应用的影响