Hacker News new | ask | show | jobs
by noselasd 4828 days ago
How so ?
1 comments

If a website sees the HTTP connection terminating at some other IP address than the machine your browser is running on, it's some kind of middlebox (proxy, NAT box etc) and not a router.

The central concept of the packet-switched internet is that network nodes forwarding the packets (called routers) are just dumb packet forwarders and invisible to the communicating parties. It's called end-to-end transparency and it's what has enabled new Internet apps to be deployed without requiring support from the network. Like the web, or voip, or bittorrent.

http://tools.ietf.org/html/rfc1812#section-5.2.1.1 specifies what routers do when forwarding IPv4 packets.

Just because it does other things doesn't make it not a router. The primary purpose of a router is connecting different networks at layer 3, and a consumer-end box is certainly doing so.
What a consumer NAT box typically does is not routing. Routing is IP forwarding without messing with the packets. See the link in my post.

Here are various other kinds of middlebox devices that are also generally about connecting networks at layer 3 with various side effects vs routing (just like NAT):

http://en.wikipedia.org/wiki/Middlebox#Types_of_Middleboxes

None of these devices are internet routers. It's just wrong terminology.

It does NAT and then it routes. In addition, any device with ipv6 support does the pure routing without messing with the packets that you speak of. It's a firewall and a NAT device and a router all in one. Sometimes it's a modem too.