These 3 protocols are the main 3 used in all networks. All network cards are compatible and able to use
these protocols, no matter what manufacture made them, or what they were designed for. A protocol is
only a standard for communication, and is not dependend on the type of hardware.
NetBEUI
NetBEUI was developed by Microsoft as their propriety network solution for Windows based
computers. This protocol was designed for use in a Local Area Networt (LAN) setting. It
uses the embedded number in the Network Interface Controller, called MAC
addressing.
The MAC number is a 48-bit number; the first 24-bits are the manufacturer who made it, and the last
24-bits are the unique number for each card that the manufacturer produces. MAC numbers are
reported as groups of 2 digits in hexadecimal form. An example of a MAC address is
00-60-67-67-E5-8A.
Some manufacturers have multiple 24 bit numbers in order to assure that each card is different. By use
of this number, each card can be referenced without responses from other NIC's.
IPX/SPX
IPX/SPX was developed by Novell for use in their NOVELL-Netware servers. It is a fast protocol
which can be routed. This protocol, like NetBEUI, also uses the embedded MAC number for
addressing.
The IPX/SPX protocol was designed to be used with server running a file server product
called "Netware". This server would use multiple network cards each joined to its own dedicated
network, allowing one server to be used for multiple networks. The server would act as both a file server
and a networking bridge. This multiple network approach was done to increase
overall network performance.
IPX works in that the server would assign each separate network it was attached to a
unique "NET" number. This NET number would make destinational routing a lot easier, all the server
would have to do is check the packet's NET number to find the correct NET to route it to. This NET
number was used in combination with the individual computer's MAC address to pinpoint the packet's
destination quickly and efficiently. When no network server is connected to the network,
computers must be manually configured with their own NET address.
TCP/IP
Tranmission Control Protocol
TCP/IP is a collection of protocols which was designed for use on a Wide Area Network
(WAN) as opposed to a LAN. This protocol is physically slower than both IPX/SPX and NetBEUI,
but allows for the connection of millions of computers. IP-address, subnet-mask, gateway, DNS,
UTP, FTP, SMTP, DHCP, WINS, and TCP are all included in the TCP/IP suite.
Internet Protocol (IPv4, IPng)
TCP/IP uses IP's for addressing, rather than the NIC's embedded 48-bit number. An
IP is a 32-bit number, usually expressed as 4 8-bit numbers in decimal form. For example,
24.245.65.3 would be a valid IP. To avoid confusion and multiple computers using the same IP, IP's
are usually assigned by a server to each client using Dynamic Host Configuration Protocol (DHCP). This server keeps
Another way to do it is for each computer to be manually assigned an IP, but this is only ever
used on smaller networks where a DHCP server is unavailable.
IP has 32-bit addressing and allows for over 4 billion addresses. TCP/IP requires that no two IPs are the same, anywhere in the world. It also requires strict rules on how IPs are assigned.
Because of poor planning and assigning
problems, the number of unused IPs out of the 4 billion is very small. The internet works on routers and these
routers connect high bandwidth cabling and direct packets in the direction that they have to travel. Routers
anlysize the first few bits of the IP to find the path that the packet has to travel. Because routers are physically incapable
of remembering the destination path for every IP, IPs are grouped into similar paths. IPs have been divided into 4 separate classes.
| Class | Header Bits | IP Range |
| 0 | 1 | 2 | 3 | 8 | 16 | 24 | 32 |
| Class A | 0 | 7-bit (128) | 24-bit (16 777 216) | 0.x.x.x to 127.x.x.x |
|
| Class B | 1 | 0 | 14-bit
(16 384) | 16-bit (65
536) | 128.x.x.x to 191.x.x.x |
|
| Class C | 1 | 1 | 0 | 21-bit (2 097 152) | 8-bit (256) | 192.x.x.x to
223.x.x.x |
|
| Class D | 1 | 1 | 1 | 0 | 28-bit (268 435 456) | 224.x.x.x to
255.x.x.x |
|
| Classid | Netid | | Hostid | |
The first 3 classes, Class1, Class2, and Class3 are unicast transmissions, meaning that there is
only one device in the entire world that is allowed to have that IP address. ClassD is a
multicase IP address range, packets are sent to all addresses that have that netid. Because of
limitations in the IPv4 protocol, this ClassD could never be practically applied.
The way that IP Classes are set up is that ClassA netid's are give to large corporations that have a need
for a lot of IP's. This allows up to 128 different corporations to have over 16 million hostid addresses
at their disposal. ClassB netid's are usually given to medium sized corporations, organizations or
communities. This allows for over 16 thousand different organizations to have 65 thousand hostid
addresses for their use. The over 2 million ClassC netids are what make up the bulk of the internet
base. Each ClassC netid owner, such as an ISP or small network can have up to 256 hostid's
attacched to them. You can see how IP addresses are divided into groups. This allows routers to only
have to know the correct path to and from each different netid. This makes their job a lot easier that
having to remember the over 4 billion different addresses. Once the packet for a specific netid reaches
that netid's gateway server, it is up to the gateway to route it properly from then on. But
because there are some many ClassC addresses, and most companies who can't get ClassB netid's
anymore, are going to need more than 256 IP addresses, Common Interdomain Routing
Protocol (CIRP) was implimented. This allows multiple ClassC netid's to be combined in a
miniture ClassB address. By grouping most ClassC addresses together, routers job a little bit easier.
The problem lies in the ClassA IP's. No organization has a need for 16 million hostid addresses. This
means that a lot of IP's go unused, and there is no way to recover them. Routers send packets on a
certain path based on their netid. If when the packet gets to the proper netid's gateway server and
there is no hostid, the packet is discarded.
There are still many IP's which are reserved and cannot be used. These are addresses with 255 values,
which are reserved for gateway functions, and the IP's in the range of 192.168.x.x, which are reserved
for networks which are not connected to the internet, or use a proxy server for IP
masquerading.
Internet Protocol Version 6 (IPv6)
IPv6 is the proposed IPv4 replacement. Because there are many downfalls of IPv4, and because
usuable IP addresses are rapidly running out because of rapid expansion of the internet, a solution has
to be created. This solution is IPv6, and its major inhancement is the use of a 128-bit header instead of
IPv4's 32-bit. IPv6 was designed to be backward compatible with IPv4, allowing for an easy,
and gradual transistion. IPv4 and IPv6 can be used concurently on a signal system, and IPv6 can be
tunneled through existing IPv4 networks. There are already IPv6 networks, and support for
IPv6 in many different OSs.
| 3bits | m
bits | n bits | o bits | p bits | 125-(n+m+o+p)bits |
| 010 | ReglID | ProvdID | SubSCID | Subnet
ID | IntfID |
By structuring IP addresses by regional bounds, each region getting progressivily smaller, routers at
different stanges can compare different portions to find the right direction. Each cluster of bits gets
more and more specific. This was designed to ease routers job while providing more than enough IP
addresses for all future uses.
Along with new addressing, IP headers were reworked to provide more features.
| IPv6 Header divided into 32-bits
sections |
| 4 | 8 | 12 | 16 | 20 | 24 | 28 | 32 |
| Version | Priority | Flow
Label |
| Payload Length | Next Header | # Of
Hops |
| Source Address |
| Destination
Address |
Priority
Information can be added here to mark the time importance of the packet. Network traffic such as
streaming video, computer games, and user based response programs like Telenet have more
importance placed on timely packet delivery than FTP and file transfer data. IPv6 leaves this header
information to be used by programs that require a fast response, so that routers can give special priority
to those packets over non-time critical ones.
Flow Lables
This header information is to be used by future routers in speeding up and channeling data in the correct
directions. If a stream of multiple packets is being sent, each will be marked by the flow label. This will
allows supporting routers to quickly process and direct those packets because it is expecting successive
packets to follow it.
Payload Length
This field in the header is used to specify packet size, allowing packets to be potentially much bigger
than IPv4 is capable of.
Next Header
This is used to extend the capabilities of the header, to expand to more than the 128-bit limit. The
usefulness in this lies with different encryption schemes, encodings and tunneling.
Hop Limit
This is to be mostly used with multicast signals, to prevent the data from being recirculated after it has
already reached its target group.
User Datagram Protocol
This is a replacement layer for TCP in TCP/IP that allows custom use of the data being encapsulated.
Domain Name System (DNS)
DNS is the simple conversion from host name to IP address. Every Internet connection needs to be
able to access a DNS server if it wishes to make references based on host names rather than IP
addresses. This is convenient, because instead of having to remember the IP address, of say
Yahoo.com, you just have to remember Yahoo's name, which is Yahoo.com. DNS makes the
Internet a much more user-friendly place.
All host names and IP addresses have to be registered at an organization called Internic. Internic
keeps all of the information about who are using what IP addresses and what host names they
correspond to. Internic keeps these name-IP lists on what are called public root servers. Whenever a
host name has to be resolved, the request is usually sent to these servers.
If all DNS resolution requests were sent to these servers, the Internet would be really slow. There are
thousands of names that have to be checked for every request which requires significant processing
time. The solution to this was that each ISP has their own DNS server which records and
caches these resolutions. Whenever a user of that ISP looks for a name, the request is sent to
that ISP's DNS server. The DNS server checks its records first, and if the name is not found, it sends
the request to the public root servers. DNS servers have what is called Time To Live (TTL) for each
name. This means that each name is only cached for only a short period of time, depending on the
DNS TTL settings. Most DNS servers operate with a TTL of around 2-3 days. This ensures that the
requested name is accurate.
|