Sunteți pe pagina 1din 10

COM 416 Computer Networks – Fall 2007

Lecture Notes #1

1. INTRODUCTION

In the past three centuries we had these major events:

18 th : Industrial Revolution

19 th : Age of Steam Engine

20 th : Age of Information

In the 21 st century much effort on the development of computer networks, once following benefits realized:

Resource Sharing: Shared printers

Information Sharing: E-mail

High Reliability: Multiple copies of files in case any computer failure

Saving Money: Networked PC’s can have better price/performance ratio than Mainframes.

Felxibility: Easy to add more computers as load increases.

Computer Networks, which can be defined as; An interconnected collection of autonomous computers. Interconnected basically stresses the issue of information exchange and autonomous means computers have no master-slave relation. Connection can be via copper wire, laser, microwave, and communication satellites. Distributed systems are also similar to networks if we consider hardware issues. But the distinction is that, in a distributed system users are not aware that there are multiple processors, system looks like virtual uniprocessor and all nodes are under the control of the master node. With a network, a user must explicitly log onto one machine, explicitly submits job remotely, explicitly move files around and generally handle all the network management personally. Often a layer software on top operating system, called middleware is responsible for implementing distributed system model. WWW is a well known example of a distributed system, in which everything looks like a document (Web page).

The following figure shows us general structure of a network. Here we have hosts (computers) connected by LAN (Local Area Network). Subnet consists of routers (switching nodes) and transmission lines. Routers are specialized machines (computers with some kind of specialized software) that store data about the topology of the network and forwards messages towards destination.

kind of specialized software) that store data about the topology of the network and forwards messages

1.1 USES OF COMPUTER NETWORKS Let us see some examples of why people are interested in computer networks and what they can be used for.

1.1.1 Business Applications

Many companies utilize computers for inventories, doing payroll, and monitoring production. The issue here is resource sharing, aiming to make all programs, equipment and especially data available to anyone on the network. To achieve this companies generally store data on powerful computer called server. System administrator maintains the system. Employees generally have desktop systems called clients, to access remote data on the server. In figure 1-1 you can see a sample illustration of such client-server model.

can see a sample illustration of such client-server model. Same model is employed when a person

Same model is employed when a person accesses web page on the WWW. Web server being the server and the user’s PC being the client. Servers generally can handle large number of clients. In the client-server model we can see two processes involving, one on the server and one on the client machine. Client process sends a message over network to the server process. Then client waits for answer. The server process gets the request, performs the requested work or looks up the requested data and sends back a reply. Figure 1-2 shows messages.

data and sends back a reply. Figure 1-2 shows messages. The second goal is communication in

The second goal is communication in the company. E-mail is a good example application. Thirdly companies can communicate with other companies. A fourth goal is doing commerce over internet, which is called e-commerce.

1.1.2 Home Applications

We can list four types of popular uses of the Internet for home users. Access to remote info: WWW

Person-to-person communication: E-mail, chat room applications, talk. Worldwide newsgroups. Peer-to-peer communication, in which individuals who form a loose group can communicate with others in the group, as in figure 1-3. This type of communication is different from the client-server model. Every person can, in principle, communicate with one or more other people; there is no fixed division into clients and servers.

Interactive entertainment: Video on Demand, Games

more other people; there is no fixed division into clients and servers. Interactive entertainment : Video

Electronic commerce: E-commerce as explained above. The most popular e-commerce forms are listed in Fig. 1-4.

The most popular e-commerce forms are listed in Fig. 1-4. 1.1.3 Mobile Users Mobile computers, such

1.1.3 Mobile Users

Mobile computers, such as notebooks, PDAs, today provide users portable office environment. People on the road often want to use their portable equipment to send and receive phone calls, faxes, and e-mail, surf the Web, access remote files, and log on to remote machines. So there is a lot of interest in wireless networks.

Here we have to understand difference between mobile computing and wireless networking. Fig. 1-5 can summarize the situation. Mobility applies to equipments that are used. However wireless networks to the transmission medium.

used. However wireless networks to the transmission medium. 1.1.4 Social Issues The widespread introduction of

1.1.4 Social Issues

The widespread introduction of networking has introduced new social, ethical, and political problems. Students can do research on censoring, security, privacy concepts for more information on the social issues.

1.2 NETWORK HARDWARE Let us look into some technical stuff related to networks. Networks can be classified depending on the certain dimensions. But these two stands out:

Transmission technology: Generally there are two types of transmission technology that are in widespread use. Broadcast links and Point-to-point links. Broadcast networks have a single communication channel that is used by all the machines on the network. Short messages, called packets in certain contexts, sent by any machine are received by all the others. An address field within the packet specifies the intended recipient. Upon receiving a packet, a machine checks the address field. If the packet is destined to that machine it is processed otherwise ignored. In this fashion such systems allow the possibility of addressing a packet to all the other machines, by using special code in the address field. This mode of operation is called broadcasting. Some broadcast systems also support transmission to a subset of the machines, which is called multicasting. One possible scheme is to reserve one bit to indicate multicasting. The remaining n-1 address bits hold a group number. Each machine can “subscribe” to any or all of the groups. When a packet is sent to a certain group, it is delivered to all machines subscribing to that group. In contrast point-to-point networks consist of many connections between individual pairs of machines. In this type of network packets may go through one or more intermediate machines while they go from their source to the destined machine. Often multiple routes, of different lengths, are possible, so finding good ones is important in point-to-point networks. Generally smaller, geographically localized networks tend to use broadcasting, whereas larger networks usually are point-to-point. Point-to-point transmission with one sender and one receiver is sometimes called unicasting.

Scale: You can see in figure 1-6 a classification of interconnected processors by their physical size. At the top are the personal area networks, networks that are meant for one person. For example, a wireless network connecting a computer with its mouse, keyboard, and printer is such. The worldwide Internet is a well-known example of an internetwork, network of networks

in other words.

of an internetwork, network of networks in other words. 1.2.1 Local Area Networks LANs are privately-owned

1.2.1 Local Area Networks LANs are privately-owned networks within a single building or campus of up to a few kilometers in size. LANs can be distinguished from other networks by three characteristics:

Size: They are restricted in size, so worst-case transmission time is bounded and known in advance. This knowledge can help designers.

Transmission technology: All the machines can be connected to a single cable. Traditional LANs have speed of 10Mbps to 100Mbps, have low delay (micro/nano seconds), and low error rate. Newer LANs operate up to 10Gbps. In our text book 1Mbps = 1,000,000 bits/sec and 1Gbps = 1,000,000,000 bits/sec.

Topology: In figure 1-7 you can see two types of topologies. In bus network, at any time at most one machine is the master and is allowed to transmit. All others should refrain from sending. A centralized or distributed arbitration mechanism is required to resolve conflicts when two or more machines try to transmit simultaneously. IEEE 802.3, or as we know Ethernet is a bus-based broadcast network with decentralized control, usually operating at 10Mbps to 10Gbps. Machines can transmit whenever they want to, if two or more packets collide, each machine just waits a random time and tries again later.

A second type of broadcast system is the ring. In a ring, each bit propagates around its own, not waiting for the rest of

the packet to which it belongs. Again here we need an arbitration mechanism. One good example is IEEE 802.5, known as IBM token ring. It is ring based LAN operating at 4 and 16 Mbps. Token here is a special packet circulating the network. Any machine that receives token has right to send data. Sending machine holds the token till it gets the data back, since anything on the network circulates. Then sender releases toke back to network. Sender also puts

special address information into the data it transmits. Any machine that has nothing to send simply passes the token to next machine. Broadcast networks can be further divided into static and dynamic, depending on how the channel is allocated. For the static allocation typically there is discrete time units dedicated to each station. Each station sends round-robin fashion when its time slot comes. So when a station, machine, or host has nothing to send channel capacity

is wasted. For that reason generally dynamic channel allocation is used. In dynamic scheme allocation can either be

centralized or decentralized. In centralized allocation bus arbitration unit determines who goes next. The unit accept requests and depending on the certain algorithm makes decision. In the decentralized channel allocation method, there

is no unit for deciding who will go next. Each machine makes decision by itself. In case of collisions certain waiting

algorithms are used, that in the following chapters we will see them in more detail.

In case of collisions certain waiting algorithms are used, that in the following chapters we will

1.2.2

Metropolitan Area Networks

MANs cover cities. Cable TV can be good example. Figure 1-8 shows us typical MAN system based on cable TV.

1.2.3 Wide Area Networks

WANs span large geographical areas, generally country or continent. In this type of networks we have hosts owned by the customers, and subnet owned by telephone company or ISP (Internet Service Provider). Subnet has two distinct components; transmission lines and routers. Routers are switching elements, specialized computers that connect three or more transmission lines. Figure 1-9 shows us typical WAN.

or more transmission lines. Figure 1-9 shows us typical WAN. Generally when a process on certain
or more transmission lines. Figure 1-9 shows us typical WAN. Generally when a process on certain

Generally when a process on certain machine wants to communicate to another process on other machine, it sends a message. Sender cuts messages into pieces called packets. Packets one by one injected into network. Each packet generally has sequence number. And receiver reassembles packets into message. Figure 1-10 shows us stream of packets, traveling from sender to receiver. Subnets are organized according to the principle that called store-and- forward or packet-switched subnet. When packets are small and all the same size, they are often called cells. We can also see from the figure that routers in the subnets make decision based on certain routing algorithm to optimize transmission. In chapter 5 we will study this routing process.

In chapter 5 we will study this routing process. Some WANs use satellite systems. Routers have

Some WANs use satellite systems. Routers have antennas to communicate with satellites.

1.2.4 Wireless Networks

We have today three main categories of wireless networks:

System interconnection : Bluetooth as we see in figure 1-11a connecting PC peripherals.

Wireless LANs : As in figure 1-11b machines with radio modems communicating via antenna to other system geographically being far away. These machines, if they are close enough can also form peer-to- peer configuration. Standard for wireless LANs called IEEE 802.11 today. In certain sense, cellular wireless networks are like wireless LANs, except that the distances involved are much greater and bit

rates much lower. Wireless LANs can operate up to 50Mbps over distances of tens of meters. Cellular systems operate below 1 Mbps, but the distance between the base station and the computer or telephone is measured in kilometers rather than meters.

Wireless WANs : In addition to these low-speed networks, high-bandwidth wireless WANs are also being developed. The initial focus is high-speed wireless Internet access from homes and businesses, bypassing the telephone system. This service often called local multipoint distribution service. A standard, IEEE 802.16, has also been developed.

service. A standard, IEEE 802.16, has also been developed. 1.2.5 Home Networks The idea here is

1.2.5 Home Networks

The idea here is that in the future most homes will be set up for networking. Every device in the home will be capable of communicating with every other device, and all of them will be accessible over the Internet. Many devices are capable of being networked:

Computers (desktop PC, PDA, shared peripherals

Entertainment (TV, DVD, VCR, camera, stereo, MP3)

Telecomm (telephone, cell phone, intercom, fax)

Appliances (microwave, fridge, clock, furnace, airco)

Telemetry (utility meter, burglar alarm, babycam).

1.2.6

Internetworks

Many networks exist in the world, often with different hardware and software. To make connection among different types of networks special machines, gateways, utilized. Gateways are like translators, they provide necessary translations in terms of both software and hardware. A collection of interconnected networks is called an internetwork or internet. Today’s Internet (with “I”) is one specific internet.

1.3 NETWORK SOFTWARE The first computer networks were designed with the hardware as the main concern and the software as an afterthought. This strategy no longer works. Network software is now highly structured. In the following sections we will examine the software structuring technique in some detail

1.3.1 Protocol Hierarchies

To reduce their design complexity, most networks organized as a stack of layers or levels, each one built upon the one below it. The number of layers, the name of each layer, the contents of each layer, and the function of each layer differ from network to network. Each layer offers service to the layer above it and in that way shields the level above it from the details of the levels below. Layer n on one machine can communicate with the layer n on another machine. The rules and conventions of such conversation are collectively called layer n protocol. Basically, a protocol is an agreement between the communicating parties. A five-layer network is illustrated in figure 1-13. The entities comprising the corresponding layers on different machines are called peers. Peers can be processes, hardware devices, or even human beings. In reality, no data directly transferred from layer n on one machine to layer n on another machine. Instead each layer passes data and control info to the layer just below, until physical medium reached. Below layer 1 is the physical medium through which actual communication occurs. In figure 1-13 dotted lines shows virtual communication and solid lines shows physical communication. Between layers, interface, defines which primitive operations and services the lower layer makes available to the upper one.

A set of layers and protocols is called network architecture. A list of protocols used by a certain system is called

protocol stack (one protocol per layer). Figure 1-15 shows us how message M from layer 5 of one machine can be sent

to layer 5 of another machine. Here we can see that each layer attaches a special header to the message and if there is

any need message M can be divided into smaller messages. In our example layer 3 divides M into M1 and M2. You can see that layer 2 attached trailer T2 into message data. On the receiver side all these processes reversed, headers trailers stripped and message parts reassembled. Headers and trailers are special data for associated layers giving info about the nature of the message.

layers giving info about the nature of the message. The peer process abstraction is crucial to
layers giving info about the nature of the message. The peer process abstraction is crucial to

The peer process abstraction is crucial to all network design. In that way big network project can be broken down into smaller manageable design problems.

1.3.2 Design Issues for the Layers

Addressing: Some form of addressing is needed in order to specify a specific destination.

Error Control: Since communication circuits are not perfect wee need some kind of error-detection and error-correcting codes.

Flow Control: Some times sender and receiver have different speeds. Sender could be faster than receiver. In that case data loss can happen.

Multiplexing: Some times it may not be possible to set up separate connection for each pair of communicating processes. In such cases same connection can be used for multiple, unrelated conversations. This is multiplexing.

Routing: When there are multiple paths between source and destination, a route must be chosen. This requires some kind of decision making algorithm based on certain criteria. This topic is called routing.

1.3.3 Connection-Oriented and Connectionless Services

Layers can offer two different types of service to the layers above them: connection-oriented and connectionless. Connection-oriented service is modeled after the telephone system. First connection is established, connection is used and finally connection is released. So in this type of communication certain parameters related to connection, such as maximum message size, quality of service negotiated. Yet there is an overhead in the start, it takes time to establish connection. Connectionless service is modeled after the postal system. Each message carries full destination address, and each one is routed through the system independent of all the others. For each case you have different qualities of service possible. Reliability refers to whether data may be lost or out of sequence, not corrupted. In reliable systems receiver acknowledges each data reception, so sender can know that data is received. In figure 1-16 we can see

possibilities of services in this context. Unreliable connectionless service is often called datagram service, after telegram service. They both do not send acknowledgements.

telegram service. They both do not send acknowledgements. 1.3.4 Service Primitives 1.3.5 The Relationship of Services

1.3.4 Service Primitives

both do not send acknowledgements. 1.3.4 Service Primitives 1.3.5 The Relationship of Services to Protocols Services
both do not send acknowledgements. 1.3.4 Service Primitives 1.3.5 The Relationship of Services to Protocols Services

1.3.5 The Relationship of Services to Protocols

Services and protocols are distinct concepts. A service is a set of primitives (operations) that a layer provides to the layer above it. A protocol in contrast, is a set of rules governing the format and meaning of the packets, or messages that are exchanged by the peer entities within a layer. In other words services relate to the interfaces between layers as in the figure 1-19. In contrast protocols relate to the packets sent between peer entities on different machines.

packets sent between peer entities on different machines. 1.4 REFERENCE MODELS In this section we will

1.4 REFERENCE MODELS

In this section we will look at two important network architectures, OSI reference model and TCP/IP reference model. OSI model designed before implemented but practically could not be very successful. And in the case of TCP/IP it was the opposite. TCP/IP implemented before protocols designed. But in real life it was more successful.

1.4.1

The OSI Reference Model

OSI model has seven layers. This principles followed in the design of OSI layers:

1.

A layer should be created where a different abstraction is needed.

2.

Each layer should perform a well-defined function.

3.

The function of each layer should be chosen with an eye toward defining internationally standardized protocols.

4.

The layer boundaries should be chosen to minimize the information flow across the interfaces.

5.

The number of layers should be chosen carefully. Very few will make layers big and design hard. Yet too many will introduce overheads.

The Physical Layer: Transmits bits.

The Data Link Layer: Breaks data into packets. Acknowledgements.

The Network Layer: Controls operation of the subnet. Does routing.

The Transport Layer: Reliability of exchange. Accepts data from session, chops into pieces, arranges for reliable transport of pieces between hosts. Flow control.

The Session Layer: Handles the flow of information (duplex, simplex) in a session, provides synchronization and coordination services (check pointing, token management).

The Presentation Layer: Concerned with syntax of data communication.

The Application Layer: Knows how to prompt user. Email, HTTP, file transfer.

1.4.2

The TCP/IP Reference Model

HTTP, file transfer. 1.4.2 The TCP/IP Reference Model 1.4.3 A Comparison of the OSI and TCP/IP
HTTP, file transfer. 1.4.2 The TCP/IP Reference Model 1.4.3 A Comparison of the OSI and TCP/IP

1.4.3 A Comparison of the OSI and TCP/IP Reference Models

Concepts central to the OSI model

Services

Interfaces

Protocols

1.4.4

A Critique of the OSI Model and Protocols

1.4.5

A Critique of the TCP/IP Reference Model

Problems:

Service, interface, and protocol not distinguished

Not a general model

Host-to-network “layer” not really a layer

No mention of physical and data link layers

Minor protocols deeply entrenched, hard to replace

∑ Minor protocols deeply entrenched, hard to replace 1.5 EXAMPLE NETWORKS 1.5.1 The Internet 1.5.2 Connection-Oriented

1.5 EXAMPLE NETWORKS

1.5.1 The Internet

1.5.2 Connection-Oriented Networks: X.25, Frame Relay, and ATM

1.5.3 Ethernet

1.5.4 Wireless LANs: 802.11

1.6 NETWORK STANDARDIZATION

1.6.1 Who's Who in the Telecommunications World

1.6.2 Who's Who in the International Standards World

1.6.3 Who's Who in the Internet Standards World

1.7 METRIC UNITS

1.8 OUTLINE OF THE REST OF THE BOOK

1.9 SUMMARY