Over the centuries there have been a number of inventions that have fundamentally changed the way that people live, work, and communicate.
(7.2.1) Communication Links: In the early days of computer networking, data was usually transmitted over switched dial-up telephone lines. Fig 7.1(a) illustrates that telephones transmit voice as analog signals while digital data is a series of 0's and 1's as shown in Fig. 7.1(b).
To transmit digital data over telephone lines the sending device uses a modem (short for modulator/demodulator) to modulate the amplitude or the frequency of an audio carrier tone with the digital data (Fig. 7.2) and the receiving device uses another modem to demodulate the tone to recover the digital data.
In the 1970's digital data could be sent over telephone lines at rates of 1200 to 9600 bits per second. Advances in modems have raised the rate up to 56,000 bits per second.
Digital Subscriber Lines (DSL) and cable modems are broadband links that can transmit digital data at much higher rates. DSL is usually asymmetric with 2-8 million bits per second for downloads and 0.5-1 million bits per second for uploads.
Ethernet is the most widely used technology for transmitting data throughout a building or between neighboring buildings. The first Ethernet networks (1970's) transmitted data at 10 million bits per second. Fast Ethernets (1990's) transmit data at 100 million bits per second. Gigabit and Ten-Gigabit Ethernets may become available soon.
A recent development is wireless data communication using the Wi-Fi or Bluetooth standards. As a note of local interest, when Cisco (the major player in wired networks) decided to get into wireless networks they bought an Akron-based company called Aironet for their major R&D work. Their plant is now located in Richfield.
(7.2.2) Local Area Networks (LANs): A LAN connects devices that are in close proximity; e.g., the devices in the same room, in the same building, or on a single campus. LANs use a number of different interconnection strategies.
The most widely used technology for LANs is Ethernet using the bus topology (Fig 7.5(a)). To send a message, the transceiver of a node places the message on the bus with the address of its destination. All nodes on the bus receive the message but only the intended recipient accepts it.
There is a maximum allowable length to an Ethernet cable so for a large building it may be necessary to use several cables. Fig. 7.5(b) show two Ethernet cables, LAN1 and LAN2, connected to a bridge or repeater. The simplest connection is a repeater which forwards every message in either LAN to the other LAN. A bridge is smarter, only forwarding those messages that must go to the other LAN. For example, a message from node A to node B will not be forwarded to LAN2 while a message from node A to node C will be forwarded.
Many buildings (including this building) run a separate Ethernet cable from each room to a central hub, Fig. 7.6, which routes each message to its proper place.
(7.2.3) Wide Area Networks (WANs): A WAN is used to transmit data over a long distance (across town, country, or ocean.) Nodes in the WAN are interconnected with dedicated point-to-point links as shown in Fig. 7.7 and messages are transmitted with a store-and-forward, packet-switched technology.
(7.2.4) Overall Structure of the Internet: The Internet is a complex mixture of LANs and WANs. For example, KSU uses LANs on the campus to connect to the Internet through a broadband WAN-link. Fig. 7.8(c) shows a hierarchy of Internet Service Providers (ISPs) connecting users to the Internet.
Fig. 7.9 shows the growth in the number of Internet hosts since 1991. As of early 2005 there were about 317 million hosts on the Internet. To maintain efficient communication between so many hosts the Internet uses certain protocols.
There is a multi-layer hierarchy of communication protocols governing the Internet so technological changes in any layer do not affect the other layers. The five-layered TCP/IP hierarchy is shown in Fig. 7.10:
| Layer | Name | Examples | |
|---|---|---|---|
| 5 | Application | HTTP, SMTP, FTP | |
| 4 | Transport | TCP, UDP | |
| 3 | Network | IP | |
| 2b | Logical Link Control | PPP, Ethernet | Data Link Layer |
| 2a | Medium Access Control | Ethernet | |
| 1 | Physical | Modem, DSL, Cable Modem |
(7.3.1) Physical Layer: The physical layer is a bit pipe between two computers; e.g., a copper wire, a fiber-optic cable, or a wireless radio channel. The protocol at this layer ensures that binary bits sent into the pipe by a computer at one end of the pipe will be read and understood by the computer at the other end.
(7.3.2) Data Link Layer: The data link layer is divided into two sub-layers:
To detect these collisions every node should listen to the channel while sending and quit sending if it detects its data is being garbled by data from other nodes.
When nodes B and C quit sending, each node waits a random amount of time before trying to send their data again. Fig. 7.12(c) shows the case where node C waits a longer time than node B so it detects that the channel is in use and waits until node B stops sending before starting to send its data again.
| SOP | sequence-number | packet-data | error-check | EOP |
|---|
where SOP is the start-of-packet delimiter and EOP is the end-of-packet delimiter (so node B knows exactly where each packet starts and stops.) The sequence-number is followed by the packet-data and then some error-check bits which node B can check to see if the packet was corrupted during transmission.
If node B finds that the packet was free of errors it returns an acknowledgment message (ACK) with the sequence number back to node A. If node B detected an error in the packet then it doesn't return the ACK.
If node A doesn't receive the ACK from node B after some time-out interval, it re-transmits the packet to node B with the same sequence number.
Notice that node B may have received an error-free packet and returned an ACK but the ACK was lost in transit. Node A will re-transmit the packet with the same sequence number but node B notices the duplication, ignores the duplicate, and returns another ACK to node A.
(7.3.3) Network Layer: Fig. 7.7 shows that any message from a node A to a node B in a WAN may go through a number of other nodes in the WAN.
Communication protocols in the network layer are needed to send every message from its source site to its ultimate destination site:
Addressing Scheme: We all should be familiar with the Internet host naming scheme; e.g.,
kent.edu | for hosts at Kent State; |
www.kent.edu | for Kent State's main Web site; and |
cs.kent.edu | for hosts in the CS department at Kent State. |
But these host names aren't used to address the nodes in the IP. Each node is given a unique 32-bit IP address usually written as four decimal numbers in the range of 0 to 255 separated by dots. For example the 32-bit IP address of Kent State's main Web site is: 10000011 01111011 11110110 00110100, which is usually written as 131.123.246.52 as shown in the following table:
| 131 | 123 | 246 | 52 |
|---|---|---|---|
| 10000011 | 01111011 | 11110110 | 00110100 |
As a note of local interest all 216 (65,536) IP addresses that start with 131.123 (10000011 01111011 -------- --------) are assigned to Kent State and the 212 (4,096) IP addresses in the range of 131.123.32.0 through 131.123.47.255 (10000011 01111011 0010---- --------) are assigned to the computers in this building (CS and Math.)
A special Internet application called the Domain Name Server (DNS) associates a given host name like www.kent.edu with its IP address, 131.123.246.52. It uses a massive database containing the mappings for the 300 million or so host names on the Internet. The database is spread across thousands of machines - if a local name server doesn't contain the desired IP address it sends the request to a remote name server which may send it to another name server, etc., until the desired IP address is found.
Message Routing: There are many different paths that a message may take through a WAN like the Internet - the shortest path is the path that takes the least amount of time. Dijkstra's shortest path algorithm finds this path in θ(N2) time where N is the number of nodes it goes through.
(7.3.4) Transport Layer: Each computer on the Internet has a unique IP address but usually each computer is running a number of different application programs. How does the destination computer of a message know which of its programs it should send the message to? The message has a field containing a port number which identifies that program.
Fig. 7.15 illustrates the Transport Control Protocol (TCP) of the Internet. Program P1 running in Host A sends a message to Program P2 running in Host D by putting the port number of P2 in the message. Program P2 running in Host D returns a message to Program P1 running in Host A by putting the port number of P1 in that message.
How does the computer at the source of the message know what number to put in the port number field? Figure 7.16 is a table of standard port numbers of some common Internet applications:
| Acronym | Name | Application | Port |
|---|---|---|---|
| HTTP | Hypertext Transfer Protocol | Accessing Web pages | 80 |
| SMTP | Simple Mail Transfer Protocol | Sending e-mail | 25 |
| POP3 | Post Office Protocol | Receiving e-mail | 110 |
| IMAP | Internet Mail Access Protocol | Receiving e-mail | 143 |
| FTP | File Transfer Protocol | Accessing Remote Files | 21 |
| TELNET | Terminal Emulation Protocol | Remote Terminal Access | 23 |
| DNS | Domain Name System | Mapping host names to IP Addresses | 42 |
(7.3.5) Application Layer: The protocols at the application layer are the rules for implementing the end-user services of the Internet. As an example we consider the HTTP protocol used by Web browsers to access Web pages. Each Web page is given a unique Uniform Resource Locator (URL) which has three parts:
because this page is stored: