Network-related terminology

Bandwidth of a link is the number of bits trasferred per unit time between two hosts connected via some physical medium.. It is usually expressed in bits/second.

In the networking world, data is usually clumped together into packets. Each packet typically has user (or application) data, with one or more header information. The headers are attached to the data by the TCP/IP modules and hardware layers, much as postal information (such as bar codes) are attached to an envelope containing documents.

A connection-oriented service is like a phone call - you first establish a connection between two end-points, (say "hello", establish your identity, make sure you got the right person at the other end, etc.), transfer data (speak) and then disconnect (say goodbye, hang up). In this case the carrier (phone company/phone line) is responsible for data delivery (you typically will not pay for a bad connection). Many Internet applications use connection-oriented services. Examples include SSH, Telnet, FTP, HTTP, SMTP (mail delivery) etc. TCP (Transmission Control Protocol) is Internet's standard connection-oriented protocol.

A connection-less service is like postal mail - you put data in a datagram (envelope), send it (mail the envelope) and hope that it will be delivered to the right destination (hopefully the postoffice will deliver). In this case it is left up to the applications to take care of lost data packets, the carrier is not responsible. Many Internet applications use this protocol - streaming video/audio, networked games, domain name lookup etc. UDP (User datagram Protocol) is Internet's main connection-less protocol.

Datagram services are connection-less, unreliable data delivery mechanisms. All the data that needs to be sent is packed into a single packet, called a Datagram, by the service module (typically the UDP module) and handed over for delivery to the carrier, which is the IP layer in the TCP/IP paradigm. The UDP module has no responsibility to check if the datagram was delivered. In this sense, UDP is an unreliable service.

Bitstream services, on the other hand, number the bits/bytes consecutively, and ensure their delivery in the correct sequence at the destination. Rather than a stream of datagram packets, the flow of data in this case is like a stream of bits, each occupying a definite position in the stream. The mechanism for bitstream services are much more complex than datagram services. The TCP module in the TCP/IP protocol stack typically handles bitstream services. The TCP modules caches the segment of data it sent, and re-sends it if something goes wrong and the delivery did not take place. In this sense, TCP is a reliable service.

hosts/routers Generally, we call an end system with one network interface a host. Most people work on host machines. In order to transport data from host to host, data will have to go through routers. By definition, a router has at least two network interfaces. A router typically examines an incoming data packet and forwards it to another interface. You can configure a single machine with two or more network interfaces as a router. Now-a-days most people use a dedicated router machine (such as the Linksys routers) which typically has a few Ethernet and a wireless interface. The Linksys/Cisco WRTG54 broadband wireless router has embedded linux OS that does routing functions and also runs a web server for system administration. In fact, you can hack into a WRTG54 router and make it do a lot of things for you, such as running an ssh daemon. A route is the path a data packet takes in going from a source to a destination. A, R1, R2, C is a route from A to C in the diagram.

Standards

In a very loose sense, most, if not all of the computer technology we use today is based on one or more standards, or protocols. Without standards, we wouldn't ever be able to connect the cards/boards inside the computer nor plug the power cable into any of our wall outlets. Standards organizations have evolved historically in response to the needs of technology. The Internet Engineering Task Force (IETF), with its many working committees, has pioneered the development of the Internet. Most TCP/IP-related protocols, including TCP, IP, UDP, and many application level protocols such as FTP, HTTP are codified in IETF's Request for Comments (RFCs). Please refer to the IETF web site for RFC editorial procedures. Most people who write network-related software will have the need to consult RFCs at some point. Hardware-related protocols are historically the purview of the IEEE (Institute of Electrical and Electronic Engineers) committees. The Ethernet protocol and the famous 802.11 wireless protocols are IEEE protocols. ISO, the International Standards Organisation, which standardises everythig from nuts and bolts to unicode characters, also plays a role in the standardisation process. The World-Wide-Web Consortium, http://www.w3.org/, is the standardisation body for various markup languages, and other web-related protocols. There are also various organizations involved in standardising protocols for Mobile networking, Bluetooth and Infra-red technologies.