TCP/IP addressing IP4. Originally designed to view the world as a collection of network domains which in turn can be divided into sub-nets at the owner's discretion. Individual systems (nodes) on sub-nets are assigned specific IP numbers, one per network interface controller. A node is given a numeric address (IP #) 4 Octet value (8 bit or 0-255) x.y.z.q The IP number has no relation to the MAC address of the node's hardware or even the type of hardware (token, Ethernet, etc). Considered a 2 (3) part address. network prefix - domain identifier host identifier - ID of node within the domain * introduction of sub-net mask allows the IP number to be further divided into a sub-net (local network) and a host number. Wikipedia topics : https://en.wikipedia.org/wiki/IP_address https://en.wikipedia.org/wiki/Classful_network
Class A - 1st octet - network(domain), other 3 - 16M units at site. 0bbbbbbb.ddd.ddd.ddd 1-126 - all are in use. Network can be subdivided and sparse. IBM Currently all assigned. (AT&T, IBM, etc.) 00.ddd.ddd.ddd and 127.ddd.ddd.ddd used for self-identification. 0111111b - 127 - loop-back, used internally on each node. Loop-back is used to test the TCP/IP stack rather than the network connection. Can be used to test the local network interface controller. Can be used for 2 network based applications on the same system to communicate with each other without passing through the NIC. 10.x.x.x (00001010b.x.x.x) - used as a private network. Address not visible outside of those directly connected to that network. Requires network address translation to connect to the real world. Our wireless uses this. * Allows for > 16 million internal connections. Which appear externally as a small set of 131.156.x.x IPs. NAT uses ports to distinguish between the internal IPs.
Class B - 1st 2 octets (14 bit) - networks 16,384, other 2 octets - node addresses (65 thousand) 10bbbbbb.bbbbbbbb.ddd.ddd 128-191.xx - Most in use. Occasionally come back into circulation. Ex. NIU 131.156.x.y NIU currently uses a private Class A internal network. And network address translation (NAT) for communication between nodes inside of NIU and the rest of the world. 172.16.00 - 172.31.255.255, private ~ 1 million private IPs. Same as 10.x.x.x only a smaller internal block. Usually broken into 64K sized sub-nets. Most likely used when a domain wants multiple isolated private sub-nets.
Class C - 1st 3 octets - network, last - units (~254) 110bbbbb.bbbbbbbb.bbbbbbbb, 192-223 Small companies (may have more than one address). ddd.ddd.ddd.000 and ddd.ddd.ddd.255 are reserved. 192.168.ddd.ddd - reserved for private sub-net behind a routing firewall. Allows for ~ 65,000 private IPs, usually as 256 unit sub-nets. However, most devices performing NAT only provide for ~254 IPs. The 3rd octet often can be used to id the manufacturer of the firewall hub. * This is IP range for most home WiFi or DSL. Class D - special broadcast - multi-cast. 1110b Used most commonly for streaming audio/video. Frames sent are usually 'connection-less'. If frame is not delivered, receiver accepts loss and waits for next frame. Multi-cast allows a source to broadcast a single packet that is then delivered to multiple receivers across multiple networks. It allows 'some' receiver nodes rather than all nodes (broadcast) to receive frames. Requires support from routers and switches. Class E - Future use and testing. 11110b
Classless (CIDR) - introduced in early 90's as specific large network IPs become occasionally available. https://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing Use of classless designation where IP followed by a mask ddd.ddd.ddd.ddd/yy Where yy indicates which bits specify the network (domain) as a whole. ddd.ddd.ddd.ddd/18 By default, Class B could be views as ddd.ddd.ddd.ddd/16. If this had been a Class B domain IP, with 64K IPs in it. The /18 allows it to be split into 4 domains with 16K IPs in each. Each domain could be assigned to a different ISP provider. Classless routing requires(?) that the classful domain address be provided by a particular Internet Service Provider. That provider can then further divide it into a number of smaller domains. https://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing CIDR is essentially the same as the subnet mask x.x.qr.y. # subnet masks are more often used within a domain.
IPs ending (last octet or subset) in : 0 - used by a newly connected device to ask for help on the local sub-net. 0 - used for a type of broadcast. 0 - used as a wild-card. 0 - used as a valid address. 0 - used as a network self-reference. Use of an IP of 0 can be unpredictable. All 1s (usually 255) - broadcast to all devices on local sub-net. .01 - usually the @ of the gateway system out of the local network. But this is more of a common practice.
NAT - network address translation. IP exhaustion Across Internet (sparse) - IPv6. Within Domain - NAT Where a special router uses a single IP on the "public" side and 192.168.x.y on the private side. x usually ids the NAT hardware manufacturer. y is one about 253 available ids. IPs 0, 1, and 255 special use. Ports - secondary number used to id specific session or transaction. Each system on the private side is assigned one or more ports on the public side to uniquely id it. If the nodes on a private sub-net are translated to a single public IP, it is not possible (or very difficult) to host servers. If multiple public IPs are available for mapping, then a 1 to 1 network mapping can be implemented for servers need a static known public IP. Special use addresses. 10.0.0.0/8, 172.16.0.0/12, 192.168.x.y/24 - private networks, lower octets for local network. Not visible to the world, has to go through a NAT router or proxy server. 169.254.0.0/16 - Link-local, IPs only valid on the local network, usually systems only of interest to other systems on the local network, such as the DHCP server. Gateway ignores. 192.88.99.0/24 IPv6 to IPv4 - gateway(?) to help with moving IPv6 packets over IPv4 networks. 224.0.0.0/4 - IP multi-cast - type broadcast, useful for situations like live streaming video where many systems want to receive the same data.
Fields of interest in the IPv4 Datagram