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
Beej's Guide to Network Programming
http://beej.us/guide/bgnet/
Winsock Programmer’s FAQ
http://tangentsoft.net/wskfaq/