The Quake 3 network architecture is also a fantastic read.
Anybody wanting to learn how to implement netcode should definitely read them.<p>The first time I implemented a UDP gameserver, they were invaluable resources for the logic required if you don't already understand how it works. (Selective msgs require acks, most don't, most don't need resends, etc).