Computer Networks

From Computing Concepts
Jump to: navigation, search

Chapter Overview

A computer network allows digital devices to exchange binary data.

The Internet connects devices and networks all over the world using an end-to-end architecture. The Internet is a packet-switched system through which digital data is sent by breaking the data into blocks of bits called packets that contain both the data being transmitted and control information for routing the data. Devices and networks that make up the Internet are connected and communicate using addresses and protocols that are based on evolving standards.

A protocol is a system of digital rules for message exchange within or between computers. Communicating systems use well defined formats for exchanging messages. Each message has an exact meaning intended to provoke a particular response of the receiver. Thus, a protocol must define the syntax, semantics, and synchronization of communication; the specified behavior is typically independent of how it is to be implemented. A protocol can therefore be implemented as hardware, software, or both. Communications protocols have to be agreed upon by the parties involved. To reach agreement a protocol may be developed into a technical standard.

Standards such as hypertext transfer protocol (HTTP), Internet protocol (IP), and simple mail transfer protocol (SMTP) are developed and overseen by the Internet Engineering Task Force (IETF). These open standards fuel the growth of the Internet.

The Internet and the systems built on it are hierarchical and redundant. That is, the Internet is a network of networks. For instance, the local area network established by a wireless router in your house is connected to a wide-area network from your Internet Service Provider, which in turn connects its network to the wide-area network from major telecommunication providers such as AT&T and Sprint.

Networkss.png

Routing digital data from one device to another on the Internet is fault tolerant and redundant. The hierarchy (networks made of networks) and redundancy help networked systems scale. The duplication of routing (i.e., more than one way to route data) between two points on the Internet increases the reliability of the Internet and helps it scale to more devices and more people.

Networks are evaluated using metrics including bandwidth and latency. The bandwidth of a system is a measure of bit rate — the amount of data (measured in bits) that can be sent in a fixed amount of time. The latency of a system is the time elapsed between the transmission and the receipt of a request.

Open Systems Interconnection model (OSI) model. The OSI Model is a method of thinking of computer networking in terms of abstraction layers. Different communication technologies with similar functions are grouped into different logical layers on the OSI Model. Each layer of the OSI Model makes use of functions provided by the layers below it and provides functions that are used by the layers above it.

Description of OSI layers

According to the standard OSI Model there are seven layers. Each layer is dependent upon the layers below it to function.

OSI Model
Data unit Layer
Host
layers
7. Application Network process to computer programs
6. Presentation Data representation, security encryption, convert computer code to network formated code
5. Session Interhost communication, managing sessions between programs
4. Transport End-to-end connections, reliability and flow control
Media
layers
3. Network Path determination and logical addressing
2. Data link Physical addressing
1. Physical The physical infrastructure used to send and receive signals

Some aspects of computer networking, such as management and security, are used on every layer.

Layer 1: Physical Layer

The physical layer refers to electrical and physical aspects of devices. In particular, it specifies how a device sends and receives information, such as using copper wires or fiber-optic cables. Examples of this include Ethernet or fiber optic cables, phone cords used for dial-up or DSL services, the coaxial cable used to provide broadband internet, the wires used to connect various components of a computer or even the radio signals used in wireless communication. Other functions of the physical layer include the conversion of signals into something that another layer can use (referred to as a bit), and adjusting the signal to allow for multiple users to use the same connection.

Layer 2: Data Link Layer

The Data Layer is mainly the method in which information from the network is broken down into frames and transmitted over the physical layer. This layer is also responsible for some error detection and correction and some addressing so different devices can tell each other apart in larger systems. Example Data Link layer protocols are Ethernet, and Wi-Fi.

Some Data Link protocols include:

Layer 3: Network Layer

The Routing Layer works to coordinate related parts of a data conversation to ensure that large files are transferred. In other words, while the data link layer deals with the method in which the physical layer is used to transfer data, the network layer deals with organizing that data for transfer and reassembly. This layer also handles aspects of Routing Protocols, finding the available [best] path(s) from one network to another to ensure delivery of the data. The Internet Protocol is the only Network layer protocol used on the Internet.

Connecting new devices to the Internet is enabled by assignment of an IP address. IP addresses are hierarchical. For instance, the IP address 131.128.82.45 is interpreted as 131.128 establishes the University of Rhode Island networks, the .128 establishes the URI Computer Science Department, and the .45 establishes the device (e.g. student computer) that is on the Internet. The number of devices that could use an IP address has grown so fast that a new protocol (IPv6) has been established to handle routing of many more devices.

The Domain Name System (DNS) translates names to Internet protocol (IP) addresses. The domain name syntax is hierarchical. For instance www.cs.uri.edu establishes that the computer is a web server (www), that it is in the Computer Science Department (.cs), that it is at URI (.uri) on the educational Internet (.edu). Hierarchy in the Domain Name System (DNS) helps that system scale by managing the complexity of naming things on the Internet.


Some Networking protocols include:

Layer 4: Transport Layer

The Transport Layer is the level at which system reliability and quality are ensured. This layer manages traffic flow through the network layer to reduce congestion on a network, and performs error checking ensuring quality of service by resending data when data has been corrupted. Some of the most popular methods of encryption and firewall security take place on this layer.

Layer 5: Session Layer

The Session layer uses the stable communication system created by the transport layer to create and control conversations (or sessions) between two computers. Computer sessions consist of a series of requests and responses that are used by higher layers to manage communication between different systems. This allows for such things as password validation, Dynamic Host Protocols, and interactive media streaming.

Layer 6: Presentation Layer

The Presentation Layer is where the human readable programming languages are translated into machine code instructions used by the lower layers. At this level it is often hard to distinguish this level from the Application Layer. In general terms, this layer works by taking care of the directions given by the user at the application layer.

Layer 7: Application Layer

This is the level that the user often interacts with. This is where data turns into websites, chat programs and so on. Many protocols run at this layer, such as FTP, SMTP, DNS, POP3, NFS, and HTTP.

Some of the prominent Application layer protocols are described below.


HTTP

The Hypertext Transfer Protocol (HTTP) is an application protocol for distributed, collaborative, hypermedia information systems. HTTP is the foundation of data communication for the World Wide Web. Hypertext is a multi-linear set of objects, building a network by using logical links (the so-called hyperlinks) between the nodes (e.g. text or words). HTTP is the protocol to exchange or transfer hypertext.

FTP

File Transfer Protocol (FTP) is a standard network protocol used to transfer files from one host or to another host over a TCP-based network, such as the Internet. FTP is built on a client-server architecture and uses separate control and data connections between the client and the server. FTP users may authenticate themselves using a clear-text sign-in protocol, normally in the form of a username and password, but can connect anonymously if the server is configured to allow it.

IMAP and POP3

POP and IMAP (Internet Message Access Protocol) are the two most prevalent Internet standard protocols for e-mail. Virtually all modern e-mail clients and servers support both. The POP protocol has been developed through several versions, with version 3 (POP3) being the current standard. Most webmail service providers such as Gmail and Yahoo! Mail also provide IMAP and POP3 service.

SMTP

Simple Mail Transfer Protocol (SMTP) is an Internet standard for electronic mail (e-mail) transmission across Internet Protocol (IP) networks. While electronic mail servers and other mail transfer agents use SMTP to send and receive mail messages, user-level client mail applications typically use SMTP only for sending messages to a mail server for relaying. For receiving messages, client applications usually use either the Post Office Protocol (POP) or the Internet Message Access Protocol (IMAP).

SNMP

Simple Network Management Protocol (SNMP) is an "Internet-standard protocol for managing devices on IP networks". Devices that typically support SNMP include routers, switches, servers, workstations, printers, modem racks, and more.

Telnet

(Not to be confused with Telenet)
Telnet is a network protocol used on the Internet or local area networks to provide a bidirectional interactive text-oriented communication facility using a virtual terminal connection. User data is interspersed in-band with Telnet control information in an 8-bit byte oriented data connection over the Transmission Control Protocol (TCP). The term telnet may also refer to the software that implements the client part of the protocol. Telnet client applications are available for virtually all computer platforms. Telnet is also used as a verb, To telnet means to establish a connection with the Telnet protocol, either with command line client or with a programmatic interface. For example, a common directive might be: "To change your password, telnet to the server, log in and run the password command." Most often, a user will be telnetting to a Unix-like server system or a network device (such as a router) and obtain a login prompt to a command line text interface or a character-based full-screen manager.

Secure Shell (SSH)

(not to be confused with Simple File Transfer Protocol)
The SSH File Transfer Protocol (also Secure File Transfer Protocol, or SFTP) is a network protocol that provides file access, file transfer, and file management functionalities over any reliable data stream. It was designed by the Internet Engineering Task Force (IETF) as an extension of the Secure Shell protocol (SSH) version 2.0 to provide secure file transfer capability, but is also intended to be usable with other protocols. This protocol assumes that it is run over a secure channel, such as SSH, that the server has already authenticated the client, and that the identity of the client user is available to the protocol.

IRC

Internet Relay Chat (IRC) is a protocol for live interactive Internet text messaging (chat) or synchronous conferencing. It is mainly designed for group communication in discussion forums, called channels, but also allows one-to-one communication via private message including file sharing.

Dialog example

With the exception of SSH and Telnet, all of the above protocols are text-based client-server communication. Depending on the protocol, either the server or the client will send a message to the other and await a response.

A Telnet client can be used as a generic client for these protocols where the user can directly type the their side of the communication. Some protocols or implementations are more tolerant of bad commands or wrongly formatted messages than others.

The following APOP dialog is a direct example from RFC 1939 page 18.

RFC 1939 APOP support indicated by <1896.697170952@dbc.mtview.ca.us> here:

S: <wait for connection on TCP port 110>
C: <open connection></span>
S:    +OK POP3 server ready <1896.697170952@dbc.mtview.ca.us>
C:    APOP mrose c4c9334bac560ecc979e58001b3e22fb</span>
S:    +OK mrose's maildrop has 2 messages (320 octets)
C:    STAT</span>
S:    +OK 2 320
C:    LIST</span>
S:    +OK 2 messages (320 octets)
S:    1 120
S:    2 200
S:    .
C:    RETR 1</span>
S:    +OK 120 octets
S:    <the POP3 server sends message 1>
S:    .
C:    DELE 1</span>
S:    +OK message 1 deleted
C:    RETR 2</span>
S:    +OK 200 octets
S:    <the POP3 server sends message 2>
S:    .
C:    DELE 2</span>
S:    +OK message 2 deleted
C:    QUIT</span>
S:    +OK dewey POP3 server signing off (maildrop empty)
C:  <close connection></span>
S:  <wait for next connection>

POP3 servers without the optional APOP command expect the client to log in with the USER and PASS commands:

C:    USER mrose
S:    +OK User accepted
C:    PASS tanstaaf
S:    +OK Pass accepted

References

Parts of this page are based on information from: Wikipedia: The Free Encyclopedia