Internet Addressing and Protocol
IPv4 Internet Addressing
A 32 bit number, often written in dotted decimal format. There are only 232 possible IP addresses, which have been exhausted. IPv4 addresses are assigned by InterNIC.
Subnets used to split networks up to expand the number of IP addresses available, however routers outside these networks did not know the subnet details.
The Internet Protocol (IP)
The IP is a Network Layer Protocol. Version 4 is the prodominantly used version currently. It is the highest layer protocol that is implemented at both routers and hosts.
IP breaks data into datagrams limited to 64KB each. These prevent long flows of data from monopolizing the network for a long period of time. Some modern networks can have the 64KB limit increased. Datagrams can further be fragmented depending on the packet size of the data link layer (such as Ethernet)
IP Datagram Service
IP provides an unreliable and connectionless service (datagram service). It is unreliable as IP does not guarentee delivery, and connectionless as each packet is handled independantly.
The consequences of this are that there is a chance for packets to be lost, packets being delivered out of sequence, and duplicated packets getting delivered.
ICMP - Error Reporting
Internet Control Message Protocol is the protocol used for error and control messages on the Internet.
Messages are either query messages or error messages.
ICMP query messages
- Echo request/echo reply
- Router advertisement/Router solicitation
- Timestamp request/Timestamp reply
- Address mask request/Address mask reply
ICMP error messages
- Host unreachable
- Source quench
- Parameter problem
PING - Packet InterNet Groper
A program that utilises the ICMP echo request and echo reply messages. PING is used to verify if a certain host is running. It is used for fault isolation in IP networks. Each ping is translated into an ICMP echo request, and the target host responds with an ICMP echo reply.
ARP - Address Resolution Protocol
Converts IP addresses into Data Link addresses (Such as Ethernet)
DNS - Domain Name System
Chiefly used to translate hostnames into numeric IP addresses. It is an example of a distributed databases. If any particular DNS server can resolve the hostname, then it does so, otherwise it will make a request with another DNS server for the name.