Forged TCP reset packets

bittorrentrsttcp

I am trying to better understand the net neutrality debate. Some have accused ISPs of sending RST packets to end hosts in order to block BitTorrent traffic. What exactly does this mean?

I have a basic understanding of HTTP and TCP/IP (I'm a programmer) but server administration is something I am definitely not an expert in. Thanks.

Best Answer

There are several flags in a TCP packet (SYN, ACK, PSH, RST and FIN). These are normally used as part of the setup and tear down of normal TCP connections. One of the flags (RST) is used when there's been a problem with the connection and one end needs to abnormally abort the connection. When the other end receives a RST connection, it immediately tears down the connection. This is what is happening when you get "Connection reset by peer" error messages.

This means you can close any TCP connection if you can insert a RST packet into the TCP stream. To do this though, you need to be able to either intercept a valid packet or make a guess at various counters used to keep track of individual TCP connections.