Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

The networking of computers is nearly as old as computing itself. It’s Its roots can be traced back as far as 1961 when the idea of ARPANET was proposed by Leonard Kleinrock. Since that time there have been a series of gradual improvements to the ideas and technologies.

...

  • 1965 when the term packet was used to describe data been being sent between computers on a network

  • 1969 the Internet was officially born

  • 1973 Ethernet is developed

  • 1974 first Routers are used. However, these Routers are not considered to be true IP Routers

  • 1976 development of the first IP Router

  • 1978 the invention of the TCP/IP protocol

  • 1983 implementation of the first DNS

  • 1988 details of the first firewall are published

  • 1990 the first network switch is developed and introduced

...

The length of the address is 32-bits for IPv4, giving us an available 232 IP addresses. Or 128-bits for IPv6 giving us an available 2128 IP addresses.

From the command line type - ipconfig

MAC Address (Media Access Control) - Physical Address

...

The length of the MAC address is : 12-nibbles == 6 bytes == 48 bits 

Info

A nibble is 4-bits

From the command line type - ipconfig /all

Port

A Port is a logical construct that is mapped onto a physical construct (the physical IO connection port on the Ethernet card). It allows for traffic to be routed from the physical card to applications running on the node. A node can have multiple applications running on it all competing for data coming in through the single physical IO connection. The operating system routes data from the physical IO port to a destination application. Only one application can own (bind to) a port, but an application may own (bind to) many ports.

Port numbers are divided into three groups

Port Range

0 - 1023

Well known ports

1023 - 49151

Registered by product vendors

49152 - 65535

Ephemeral, free for anyone to use

From the command line type - netstat -a

Sockets

Logical construct offered by the operating combining the IP and Port. It’s analogous to a socket that you put in a wall and the socket itself.

There are two types of sockets, server sockets, and client sockets. One server socket communicates with 1 or more client sockets.

An application that is acting in a server capacity creates a server socket. The server socket must bind to a port on the host that it is running on. When client applications want to communicate with a server socket they do this by opening a client socket and sending a bind request to the host and port that the server is running. The server can respond by creating a client socket so that two-way communications can begin between the two endpoints.

DNS (Domain Name Server)

Given that computing nodes on a network have IP addresses, there may be 100s - 10000s of nodes in a network, and that the IP addresses can change. Using IP addresses as a point of reference in code of any kind is not scaleable or good design, it leads to brittle designs.

A better approach is to attach to the IP (which is a changeable value) an identifier that is more persistent. Such an identifier could be a human-readable value like a name, something that is more memorable than IP addresses. This is the purpose of a DNS. It follows the NVList pattern (Name/Value List). For each IP address, you associate with it a human-readable name.

When you want to locate a node on the network, simply request its IP address from the DNS by passing it the human-readable name.

This model leads to more scaleable and decoupled systems.

ARP (Address Resolution Protocol)

Used to convert an IP address to its corresponding physical address(i.e., MAC Address). 
ARP is used by the Data Link Layer (ISO 7-layer) to identify the MAC address of a target node.