Internet protocol suite
Re-verify our range to target... one ping only.
IP address
There are two form of IP addresses, the older IPv4 and the newer IPv6.
- IPv4 is 32 bits.
- IPv4 is written as four decimal numbers, each ranging from 0 to 255 and separated by dots. Ex 192.168.0.22. Each part represent a byte.
- A IPv4 address is split into two parts, network number portion and host number portion.
- Classless Inter-Domain Routing (CIDR) notation is used to describe how many bits at the start are used for the host network path. It is written as a normal IP adddress and then slash ('/') character and the number of bits in host network. Ex 192.168.0.22/24.
- One can also describe it with a subnet mask, ex 255.255.255.0
- Some addresses are reserved as private addresses. They should not be linked directly to the internet. One of them is 192.168.0.0 - 192.168.255.255.
Internet Protocol (IP)
- Header size: 20 byte
- Large packets can be fragmented when they travel. Keep package size between 1400 bytes to minimize it.
User Datagram Protocol (UDP)
- Connectionless with a minimum of protocol mechanism.
- No guarantee of delivery, ordering, or duplicate protection.
- Application receives it as separate packets of data.
- Header size: 8 + 20 (IP) = 28 byte.
Transmission Control Protocol (TCP)
- Reliable, ordered and error-checked.
- Application receives it as a stream of bytes.
- Header size: 20 + 20 (IP) = 40 byte.
NAT Punch-through
Reference
- TCP and The Lower Bound of Web Performance - 2015
- Game servers: UDP vs TCP - 2014
- UDP vs. TCP - 2013
- TCP/IP Explained. A Bit - 2013
- On the Challenge and Design of Transport Protocols for MMORPGs - 2009
- Game Traffic Analysis: An MMORPG Perspective - 2006
- It's the Latency, Stupid - 1996
- Congestion Avoidance and Control - 1988
Beej's Guide to Network Programming
http://beej.us/guide/bgnet/
Winsock Programmer’s FAQ
http://tangentsoft.net/wskfaq/