On 4 Dec 2001, at 10:26, Tom Turak wrote: > I'll wade in. Can't get too technical, but I assume the mask works > by ANDing the bits, so when an ip address is checked, 255.255.255.0 > is FF.FF.FF.00 in hex or 11111111.11111111.11111111.00000000 in > binary, which when you AND with anything, returns the original > first 3 segments unchanged but can return a different 4th segment. Actually, in this case, it MUST return a ZERO fourth segment (see below). Note that the transition from one to zero does not have to be on a segement boundary. 255.255.240.0 is a perfectly legal subnet mask, actually used on some networks. > This has the effect that all nodes on the network must have the same > values for the first 3 of the 4 ip address segments. You could > read more about tcp/ip to see why there are 4 segments and what each > segment represents. In fact, "segments" are an artifact of "dotted quad" notation, a convenience introduced for human readers. IP addresses are 32-bit numbers. The split between network and host portions of the address may occur at virtually any of those bit positions. It's just convenient if it falls on an octet boundary -- and the standard masks for the most common address classes (see below) do. > If your not familiar with binary, 255 is the > highest value you can store in a byte. ANDing is the logical > operation that tests for true or false: 1 AND 1 = 1 (true) 1 AND 0 > = 0 (false) so any value ANDed to 1 will return unchanged, but a > value ANDed to 0 may change. (0 AND 0 = 0 (false) 0 AND 1 = 0 > (false)). Any value ANDed with 1 is returned unchanged; any value ANDed with 0 returns ZERO. > For instance an ip address of 192.168.1.252 is > 11000000.10101000.00000001.11111100 which after an AND operation > with 255.255.255.0 would be 11000000.10101000.00000001.00000000 Right. The mask 255.255.255.0 tells us that the network address is 192.168.1.0 and the host address on that network is 0.0.0.252. Mary Wolden introduced the classes A/B/C to this thread. (There are also classes D and E, but these are for special intra-LAN traffic and so are never legitimately seen on the Internet...) The class system was an early way of deducing the "normal" submet mask from the first few bits of the address, and network personnel still occasionally have to deal with old hardware, software, or protocols that rely on that system. But as the IP address space has begun to run out, there has been an increasing tendency to split up large class A blocks (and even smaller class C blocks), and also to sometimes aggregate class C blocks as well, and so the main usefulnesses of the class system are: 1. It's easy to remember. It's easier for me to tell the engineer on a partner network that we're using a class C block than to keep track of whether 16 host addresses is a /28 or a /29 block. (It's a /28.) 2. The address blocks reserved for private use are specified in terms of the classes: one class A block 10.x.x.x; 16 class B blocks 172.16.x.x - 172.31.x.x; and 256 class C blocks 192.168.0.x - 192.168.255.x. (So Tom's example above uses the 192.168.1.x block with the class C subnet mask 255.255.255.0.) PCBUILD's List Owners: Bob Wright<[log in to unmask]> Drew Dunn<[log in to unmask]>