COM 416 Computer Networks - Fall 2007: TH TH TH
COM 416 Computer Networks - Fall 2007: TH TH TH
COM 416 Computer Networks - Fall 2007: TH TH TH
Lecture Notes #1
1. INTRODUCTION
In the 21st century much effort on the development of computer networks, once following benefits realized:
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 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.
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.
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.
● 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.
1.2.2 Metropolitan Area Networks
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.
Some WANs use satellite systems. Routers have antennas to communicate with satellites.
● 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.
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.
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.
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.
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.
• Services
• Interfaces
• Protocols
Problems: