Good day. I am Professor Sujoy Ghosh of IIT Kharagpur; I teach in the Computer Science
and Engineering Department, I will be taking this course on computer networks. We will
be having about 40 lectures in the series. Today, we will start with an introductory
lecture, which is about the Emergence of Computer Networks, its brief history, and a little
bit about the protocols and reference models, which is an abstract view of computer networks.
The text books for the course will be these three: Computer Networking: A Top down Approach
Featuring the Internet by Kurose. Data and Communication by William Stallings and Computer
Networks by an S Tanenbaum. Some of the material that we will be covering here verbally as
well as in the slides will be from these books. The first question is what is a computer network?
Computer network is a number of computers (also known as nodes) connected by some communication
lines.
We have these computers, which are connected by some communication lines. Two computers
connected to the network can communicate with each other through other nodes if they are
not directly connected, which means that computer does not have to be connected to all the other
computers in the network in order to communicate with any of them. It may be an indirect communication
via some other computer and other point is that these nodes are computers. But some of
them are not computers; some of them are network devices. There are various kinds of network
devices like switches, routers etc., so, they facilitate the communication and running of
this entire network.
They are also taken as nodes in the network. Finally, we have some of the nodes, which
may be either computers or they may be network devices like switches and routers and there
is a communication between them. This communication can be of various types – we will come to
that presently. Can be of various types – we will come to that presently. The computers
can communicate with each other. What do they communicate? They exchange information between
different computers, this information could be of any kind of information – they could
be data used by a program or they could be some program itself or it could be any kind
of information. This is one of the basic and major uses of computer networks. There are
other specialized uses of computer networks. For example, interconnected, small computers
can replace a large computer. For example, you have a very large computation to perform
and so for that either you need a very powerful and very large computer, which is very costly.
The other option could be that you break up this work into very small pieces and assign
them to the small computers. The small computers do the computation on that small chunk of
the problem, and then they communicate with each other to form the final solution. The
other use of computer networks, which is coming into vogue very much these days, is that you
can use this network as a communication tool. For example, you can send emails to almost
anybody these days, and that is really a very cheap and very fast mode of communication.
Secondly, the computer networks could also be used for direct communication like you
could communicate through voice over a computer network; you can communicate through video
over a computer network. All these different communication is converging into this computer
network and nowadays when we talk about the network we do not look upon it just as a computer
network. It is the bedrock on which, all these computing communication are converging and
then you have some applications, which are necessarily of distributed nature. For example,
railway reservation system – now obviously if you had a large computer to handle all
the railway reservations in the world in one place but we would not want all the people
to go to one place and form a huge queue. So, we want to distribute this functionality
that means what that of booking tickets all over the country. These are the examples of
distributed systems so this is a distributed reservation system. Similarly, there could
be other kinds of distributed systems, distributed databases and all kinds of applications, so
that is the other application of networks.
Now, a quick look at the history of the computers first, then we will focus on computer networks.
In 1948, we have the first commercial computer installed; it was a UNIVAC – that was a
big company once upon a time, and then in 1958, the first US communication satellite
became operational. The network always has these two components, one is that you have
to have these computers and then you have to have these communication channels and satellite
communication is one of the important medium of communication. In 1964, we have an airline
reservation system, which uses some kind of a packet switching network; it was proposed
by the RAND Corporation; and in 1969, ARPANET, the first packet switching network began its
operation. This was actually a water shed event as we will see. These have been very
far reaching impact on the way computer networks developed.
In 1971, we have the first computer chip, previous computers were made through very
low level gates and all but the first four-bit small computer chip with 2300 transistors
and they became available in 1971. In 1972, Ethernet specification was formulated – this
Ethernet is one protocol – and Ethernet remains one of the most important network
protocols that we use. So that was first formulated in 1972. In 1974, IBM introduced its own version
of network in SNA. In 1975, Altair 8800, the first commercial microcomputer, was sold as
a kit. In 1975, we had Paul Alan and Bill Gates getting together who eventually formed
Microsoft. In 1976, Woznaik and Jobs built Apple1.
So Apple also has lot of contribution to make to computers in various aspects and Windows
system was basically started from Apple computers. In 1979, we had VisiCalc first commercial
spreadsheet; this is the popular application of computers these days.
In 1981, IBM introduced IBM PC with one floppy drive; later on they changed it with drive
and hard drive; and in 1983, TCP by IP is another network protocol that we are using.
We use both Ethernet and TCP by IP protocol. We have different protocols, which we are
running on the network and how this different protocols are arranged and how they are used
that I will cover today in second part of the lecture. So, this TCP by IP is another
important protocol that is still very much prevalent today – that became the official
protocol of the ARPANET. ARPANET is the network, which was set up in USA under the DRDO and
which had a very far-reaching impact on the way the network developed. In 1984, Apple
introduced GUI with Apple Macintosh and 1986 we see the first laptop PCs.
In 1988, IBM gives a multitasking OS for the PCs. In 1989, Microsoft releases Windows,
which is yet another multitasking system that is the Microsoft version; in 1989, NSF, National
Sound Foundation of USA replaces ARPANET as internet backbone and then www was invented
by CERN Physicist Tim Burners Lee in 1991. So this advent of www, World Wide Web, made
the network very popular.
There was this kind of positive feedback going on, as it became more popular, more and more
people jumped into it, as people showed their interest, so commercial companies also became
interested because there would be a market for something in the networks that they do
and when the commercial companies developed something, naturally it became more easier
to use the network; they had more functionalities; So more people became interested, that was
the positive loop. Actually the growth of network in the past decade – in the 90s
– has been absolutely phenomenal. The basic so called killerapp, application which attracted
so many people to networks was this www which was invented in 1991.
In 1992, Mosaic released first GUI web browser, so that was the web browser – then Netscape
became the popular web browser, Microsoft had its own version of Microsoft Explorer,
that was an another browser and then it all built up into some kind of a frenzy and in
2000, we had this .com, so-called .com meltdown. That means people became absolutely frenzied
about the growth of computers and such frenzy cannot go on forever so it has to come to
a halt. So, it did in 2000 but the development of networks and its utility and importance
remains.
Now, let us go to a brief history, more focused on the network itself. We were in general
talking about the computer scene. In mid-1960s, USA’s Department of Defense wanted a command
and control network that could survive a nuclear attack. If something had to survive a nuclear
attack then you had to distribute it. So that was the one strong reason that we wanted a
distributed system and if you have a distributed system, these systems must be able to communicate.
So that was the seed of this project. The subnet should consists of some Honeywell 12
KW intermediate message processors so there are some kind of early network devices, which
are connected by 64 Kbps lines. These IMPs – Intermediate Message Processors – are
connected to the various computers and the IMPs themselves were connected by telephone
lines from telephone companies.
Later, the IMP software was changed to Terminal Interface Processor, which allowed the connection
of terminals. In the 1970s, NSF setup a machine connected to the ARPANET to which other universities
could dial up and connect. Now, this became very important in the sense that many people
were interested in this so they upgraded their systems in various ways. In mid-1980s NSF
built a new backbone to connect with supercomputing centers to some regional networks. Its backbone
was upgraded to 448 Kbps and then to 1.5 Mbps fiber backbone, and once this fiber backbone
was in place, communication became really fast.
So it allowed network connection to thousands of universities, research labs, libraries,
museums, etc. As the growth continued, commercial houses began to notice and to join; the decentralized
model began to take hold as I described earlier, commercial people joined so there was a lot
of innovation by a lot of people.
One of the major driving forces in the computing networks in the past decades or even now may
be has been the role of so-called Start Up Companies. Start-up companies means that some
young engineers or some young people who had some very bright idea which they developed
to a certain extent and when that was proven and then some big company would possibly buy
their company or give them money to get access to this kind of technology. There were so
many success stories that a lot of people got interested in it and when a lot of people
think about a problem, there is a lot of innovation. So that is how computer networks had an explosive
growth in the whole of 90s and even in the 21st century and the growth is going on. Although
the frenzy in the stock exchanges, etc. about these .com companies crashed in a 2000 but
the growth in the field of networks and its use in various walks of life, is continuing.
With this brief historical background, now let us come to the networks and some kind
of structure or some kind of an abstract view of this computer network.
I have already mentioned that computer networks will be a number of nodes and nodes could
be computers or network devices, which are connected by some communication lines. Sometimes
things are not so simple; sometimes you have a line between two nodes, giving us point-to-point
communication. That means one node A is communicating directly to one another node B, where A and
B are connected by a direct line, it could be physically a copper line or fiber line,
etc. This point-to-point connection could be the simplest case but actually it is dedicated
and in the dedicated case also we have some different cases. For example, you could have
simplex communication; it means that communication can go in only one direction in that line.
It could be half duplex, it means the communication could go both ways either way from A to B
or from B to A, but only in one direction at a time, and full duplex, that A and B can
communicate with each other simultaneously, in parallel, at the same time. So that means
there is communication from A to B and B to A at the same time. .These are some different
kinds of dedicated lines. Then if the nodes are not computers, some network devices, specifically,
if they are multiplexers, we could share a point to point medium.
That means there is one line from A to B but a is connected to a lot of other nodes say,
A1, A2, to An and B is connected again to a lot of other nodes say, B1, B2 to Bn and
they could all these Ais and Bis could communicate through this one single line, which is between
A and B, this we will see later how such a thing can be done.
This business of sharing a link over time or whatever even parallels sometimes it is
possible. Sharing this link by multiple people is called multiplexing. These are the different
kinds of point-to-point links but point-to-point links are not the only things we have. For
example we could have a broadcast kind of link – if we have a satellite communication,
satellite throws its signal all over the country or may be all over the region. That is something,
which is being broadcast so you cannot really put it down as a point-to-point link between
something, but you could use that shared medium and a broadcast in some way to make temporary
point-to-point links or your application may be such that you want to broadcast something.
For example, we broadcast TV signals; similarly there are things, which we want to broadcast
all over.
This broadcast media can be dedicated to some users or it could be shared; that means it
is shared between multiple users. There the term used is multiple access medium, to which
different users are connected at different points and it is a broadcast kind of medium.
In a distributed fashion, they have some protocol of deciding how to share this because if it
is in the same place, the business of sharing becomes somewhat easier so you can multiplex
it. If nodes themselves are physically distributed over the broadcast medium you will have some
kind of protocol called Multiple Access. So you can have a shared broadcast medium also;
that is quite common. Finally, we have something which is in between broadcasting and point-to-point,
which is called multicasting, this means that if we have a group, I have, say, some friends
and I want to send some things not to one particular friend but to my group of friends
and to no others – so multicasting is basically communicating to a specified group.
Using such communication link, we have this computer networks. Networks are divided into Local Area Network, Metropolitan
Area Network, and Wide Area Network. Local Area Network means that it is local, limited
to maybe one building or small group of buildings so its size is small. There are some other
things about Local Area Network, which make the issues of Local Area Network somewhat
different from a Larger Area Network and the Local Area Network usually could be privately
owned. Now how does ownership come into picture?
Ownership comes into picture because if you have the same owner for the entire network
then you can have the same policy, which is not the case in wide area network. In Wide
Area Network there may be various nodes which are connected to this Wide Area Network. The
nodes may belong to very different people and they may have very different ideas about
what should be done and all their policies. That makes Wide Area Networking somewhat different
from Local Area Networking. Metropolitan Area Network means a network which is spread over
a community or maybe even a city, their size is bigger than Local Area Networks and one
of the issues which is very important is the access issues, which means that how do you
connect? For example, you want to make the entire community
networked; so how do you connect each one of them because they are geographically more
distributed then a Local Area Network. Local Area Network may be sometimes we would use
validers or sometimes we would just simply draw valve and the cost will not be very prohibitive
but in local area how we connect the people becomes an issue that is the access issues.
We have talked about the Wide Area Network. Wide Area Networks are costly they are communicating
over may be hundreds or thousands of kilometers. The communication is costly, the cost has
come down and that is another thing, which has historically happened.
As more and more people got interested in network, technology developed that is one
side of the issue. The other side of the issue is that volumes went up; which means that
the number of people who used network so as the volumes went up the cost went down. So
the technology improved in one direction. That was one input into bringing down the
cost and the other issue was that more and more people started using it. So the volume
to a particular company developing something in the network area went up and they could
make things cheaper. And as the whole thing became cheaper and cheaper, more and more
people wanted to join the network. Wide Area Network cost is still an issue. Wide Area
Network may connect various Local Area Networks, so it’s a network of networks or internetwork
or internet.
Let us look at the abstract idea about the networks in general. In formal framework,
we have what are known as protocols, why do we need protocols in network? We need protocols
in networks because networks by their very nature might connect various different people
as I said various different people may have very different ideas about how things have
to be done. If people have different ideas about how things have to be done then they
have to agree on some common basis to communicate and this common basis is the protocol. There
are numbers of protocols, which are used in network and we will be getting into that.
You and I may have very different ideas about how some particular thing may be done. I may
be doing this in a certain way and you may be doing the same thing maybe in a completely
different way. But if we want to communicate we have to agree on some minimum protocol.
These protocols are the building blocks of this network architecture. So each protocol
object has two different interfaces – one is the service interface that defines the
operations on this protocol and peer to peer interface which defines messages exchanged
with peer. For example, any protocol, a protocol is between peers so if in this diagram there
are the two Lis are the peers and they communicate with each other through this peer interface;
that is the protocol.
This protocol is supposed to achieve something, supposed to do something. For this it requires
something maybe from some other called layer. Actually we have a layered architecture; I
am coming to that in the next slide. How this protocol is to be invade etc for this we have
a service interface and between the peers we have a peer interface.
We have all these different layers; we have this N plus 1 th layer, N th layer and N minus
1 th layer. How they are to be layered – about that also there are some standards and we
just look at two of them at least. For example, this networking business is broken up into
whatever the jobs you have to do for achieving for smooth functioning of computer network
we break them up into different functionalities and these functionalities are in different
layers. This is all in one place that means in one node. Similarly, another node, which
is connected to the network, will have its own layers and at the same level N and N here
they are peers. So there will be a protocol between this N and N, there will be a service
interface between N plus 1 th layer and N th layer. Similarly, there may be a service
interface between N th layer and N minus 1 th layer and so on.
So let us see what they are like. As I said most networks are organized as series of layers.
The task of each layer is to give some service to the upper layer and any layer maintains
a virtual connection with the corresponding layer in a peer. Any layer maintains a virtual
connection; this virtual connection is used for running the peer-to-peer protocol, whereas
this is the service interface.
The task of each layer – each layer performs certain subtask of this whole networking business,
so each layer performs some task – is a service to the upper layer. Similarly for
performing this task, it may break it up into some subtask and some subtask may be delegated
to a lower layer. This layer could have its own service interface to the lower layer whereas
its own task, assuming that the subtask is done by the lower layer, is performed at the
peer-to-peer level, using the corresponding protocol.
There is peer-to-peer protocol running between any two corresponding and communicating layers.
The interface between the layers in the same node is well defined. Another point is that
for this peer-to-peer protocol mostly they go through a virtual connection. What is a
virtual connection? Virtual connection means that physical connection; we understand let
us say two computers are connected by wire. It is not necessary that two computers have
to be directly connected in order to communicate; it may be an indirect connection also. That
means it is going from one computer to another then, it is hopping from node to node then,
it is finally reaching its destination, and so there is no direct physical communication.
When you are surfing the internet, you have been connected to some computer, which may
be connected to opposite part of the globe so, to you it appears that you are directly
connected to that computer so whenever you are clicking something over here, something
happens. So that clicking of the mouse somehow that gets communicated to that remote web
server and may be the page changes or something. There seems to be a direct communication but
this communication is only virtual.
The physical communication is only at the lowest layer, where physically something is
connected by a piece of wires or fiber optic links or by satellite links whatever it is,
that is the physical connection. For running all these protocols, these peers need to communicate
and this communication is through virtual connection. This is the main point of having
this layer architecture: that the implementation of each layer, each node is transparent to
the other two nodes. As I said, I may want to do this one particular subtask in some
particular way – I means some company X – and then some company Y wants to do the
same thing in a different way. Now you need not stop any of them so long as they agree
on the protocol, so long as they agree on the service layers. What is the service interface
between the different layers – because upper layer service may be given by some product
of some company, whereas the lower layer may be developed by some other company. Once again
if they can decide on the interface between these two layers, then they are very free
to do it in their own way. The same thing applies to the peers. For example say two
particular layers in two particular nodes may be peers, these nodes are computers themselves.
Now, one may be an IBM machine another may be a sun machine and they will have different
operating system, they will have different processors etc. But so far as the peer to
peer protocol is concerned, they agree. So these are the messages I will send and then
if I am expecting these kinds of answer, these kinds of messages, I will accept and these
kind of answer will be given etc, so that is how a protocol goes. So long as they agree
on this protocol, these two companies are free to develop their product in their own
way and when you allow that naturally, people can innovate; people can put in different
things. So long as you are conforming to the standards of the protocols and the interfaces,
etc., you can develop your own thing in your own way and that is really good for the development
of the entire network.
The other point is that this is one way of abstracting out all these unnecessary details.
For example any of this network operating system in a computer or a networking device,
they may be very complex indeed. Some of the complexity is special to the implementer.
One implementer has decided to implement something in a particular way and that will have a whole
lot of details. We are not really interested in that one, we have to abstract out of that.
We concentrate on these protocols and the interfaces and the functionalities; that gives
us a fairly general picture about the entire networking, how networking is done and then
if you go into the business of developing some of these modules yourself, then you have
to go into some more nuts and bolts about how this service can be given.
The protocols between the peer layers can be changed if the peers all agree. Naturally
if you are changing the protocol, all the peers have to agree; otherwise the communication
will breakdown. However, it need not be referred to other layers – so that is another good
thing about layering; that is whatever change I make it will not matter and the service
definition says what the layer does and nothing else, means nothing about the specifics of
implementation, which may vary from one vendor to another. The interface tells the process
about how to access it; it specifies what the parameters are and what results can be
expected.
We have mentioned the three layered models; the most famous is the OSI reference model
which we will look into in some detail and then TCP by IP reference model which is most
widely used. OSI reference model mean some part of it is very somewhat theoretical because
many people really do not do that and it is that they do not consider that part to be
very important. TCP by IP reference model is something which is almost ubiquitous. And
of course there is ATM, it is one networking technology which is rather complex technology;
as I mentioned here just as an example; so that is another kind of reference model. There
are all kinds of different reference models, sometimes these models are basically a description
of the different layers that are there; and naturally if you talk about the layers, what
the layer is supposed to do and that is what you see and then how it is to be interfaced
with the layer above and layer below. Since this is number of layers, one on top of other,
they are also referred to as stacks.
We call about this as TCP by IP stacks, OSI stacks, ATM stacks and so on. Other protocol
stacks exits and new ones are possible. However the extent to which a particular model is
universally accepted is the key to its success. As I said a lot of thought went into OSI reference
model but in practice TCP/IP became much more prevalent.
OSI reference model has seven layers and these layers are; application layer, the presentation
layer, the session layer, the network layer, the data link layer and the physical layer,
which means that in order that people can communicate over this network in a very seamless
manner, all the jobs that are involved have been broken down into seven parts. So they
are different layers – application layer is something and then presentation, session,
network, data link and physical layer. Each layer has some kind of functionality and all
these functionalities together give you the overall functionality in the network.
Little bit more about peer-level communication: messages sent from one application to another
application on different host, travels down to the layers of the sending machine and each
layer adds a header to be used by its corresponding peer level and the bottom layer, which is
the physical layer, sends the message to the TCP machine; this is the general scheme. The
point is that suppose we start something at the very top, in the case of OSI, we call
it the application layer. Some communication has been initiated at the application layer.
This application layer, mind you, has its peer in the destination machine. In the destination
machines also some application layer program is running.
For example let us say you are doing a TELNET kind of thing, which means you are logging
on to another machine, TELNET to another machine. So you will start a TELNET program, which
is your TELNET client program and the destination machine will respond to a TELNET client. Who
will respond to TELNET client; only a TELNET server can respond to a TELNET client. TELNET
server is under the remote machine. These are the two modules which are in the application
layer. How TELNET is an example of a protocol? This is an application layer protocol and
what this protocol does, how the TELNET client will request and how the TELNET server will
respond etc. are the internals of TELNET protocol.
So far as the TELNET client or any of these application programs is concerned – when
it tries to communicate with another application program in another machine – it just knows
about this protocol and how things have to be done at that layer but how this communication
is able to go from this machine to another machine? For this, if you put the whole thing
in the same program that becomes very complicated; that was the idea of layering. So give him
a virtual connection, he will communicate to the target machine, he will have some data
to send that will add up maybe to other kinds of data and then hand it over to the lower
layer in the same node.
The lower layer may be running a protocol with the corresponding layer in the remote
machine. For that protocol it needs to do communication, for that communication whatever
message has to be sent here that gets added to the original data, which was sent by the
application layer. As the message to be sent moves down the stack from the originating
machine at each layer, each layer is running its own protocol with its peer and it has
some message to add to give to his pair. So, they will keep on adding it to this and this
becomes fatter and fatter as it goes down. As it goes down to the physical layer, there
it can communicate to the remote machine and in the remote machine this is now again moved
up the stack and at each layer that particular program or whatever that module in that layer,
he will pick out the message which has been sent by its peer in the source. This is how
communication will go on for all these protocols.
Sending a message is received on the receiving side, and then passed up through each layer
and each layer reads the corresponding header that means the corresponding header which
has been sent by its own peer on the source machine.
For example, we have two machines, and one machine is a DOS machine. That means some
DOS is an old operating system which used to run on the PCs and this was Microsoft DOS,
PC DOS, IBM DOS, etc. And Macintosh was a different company as I mentioned. So, these
two can still communicate, that means two different machines but this original data
which was originated from the application layer.
There is the presentation layer and this presentation layer will add its own header to the original
data. This whole thing becomes data for the next layer, namely, the session layer. Session
layer will add its own header so as I said, that the original data becomes fatter and
fatter and fatter till it comes to the physical layer. At the physical layer, data is actually
sent in one hop, to the destination machine. Here, as this whole fat packet travels up,
each layer will strip off its corresponding header which is coming from its peer in the
source. That is how the each of the peers can communicate and each of them has a virtual
connection with the destination machine, although the actual connection is the physical connection.
These are the seven protocol layers and now we are going bottom up. First is the physical
link, which is how to transmit the bits. Then we have the data link layer – that is how
to transmit frames. Now what is the difference between transmitting bits and transmitting
frames? We will see to that; but a data link basically is a direct connection that is,
how two computers which are directly connected or two nodes which are directly connected
to each other. How they will communicate is the matter of data link. Computers need not
be directly connected to each other in order to communicate; they have to be connected
to the network. If there are two machines A and B or two nodes A and B which wants to
communicate and there is no direct link between A and B, so it may go as C D E and then B.
Now, how do you know you have to go through C D and E and then to reach B? Somebody has
to keep track of the route. How to route the packets over the entire network? That is the
job of the network layer.
Then there is the transport layer that is how to send packets to the application. Packet
is some data which has been segregated and put into a packaged together. But the original
application layer need not have any concept of packet; somebody has to packetize all these
data and there are may be other functions in the transport layer. That is they make
packets out of the data given by the upper layer, this is a transport layer. The session
layer, which manages the virtual connection between in the application layer. It manages
the virtual connection.
The presentation layer that means how we encode and decode messages that means two different
machines may have two different ways of encoding things. So, that is the job of the presentation
layer as well as the security comes here. Application, so whatever the actual job the
human user is interested in comes in the application layer.
The application layer contains a variety of protocols; it depends on what you are trying
to do. The various users may want to do various things; examples are; FTP, TELNET, SMTP, HTTP
etc. so these are names of some protocolsm By the FTP protocol, what u can do is you
can download files from another machine, by HTTP, you can look at web pages, surf etc.
and SMTP is used for sending mails. You may not have come across these protocols directly
but the point is whenever you are sending a mail, let us say from a UNIX machine or
something, you are using the SMTP protocol, so SMTP protocol has been built into that.
Similarly, even if you is TELNETing that means the TELNET sever, TELNET client etc, they
will be there in the machine as part of the OS. So, the application layer usually, request
reliable and cheap connection to its peer. That is what the application layer is concerned
about: that it must be connected reliably and cheaply to its peer. Some examples of
peers we have given some nodes given service etc.
Application layer hands this, whatever it has to send to the presentation layer which
handles the format of the data: Protocol conversion, data translation with its ASCII or may be
some other big or something and data compression, data encryption, these are handled in the
presentation layer.
In the session layer, it allows the application on different computers to share a connection.
We will see about this connection later on. I go to the next layer we will see that I
will packetize this data but then so far as the user is concerned, he wants a continuous
connection.
This connection is handled in the session layer so it can provide check points; that
is if there is come disruption, you can come back to it and get the original state back
and then you can retransmit if there is some distance – dialogue control, who can transmit
etc.
The transport layer: the basic function of the transport layer is to accept data from
the layer above, split it into smaller units if necessary. Now, why we need to split? That
we will come to later on. So these are the packets. Pass these to the network layer and
ensure that the pieces all arrive correctly and in the right order at the other end. For
example, you have chopped them into pieces; they may have become out of order. That is
the business of the transport layer. That should also be done in a cheap and efficient
manner and etc. and the same thing applies.
There may be different types of transport services; there may be multiple protocols
here. One could be error-free, point-to-point channels or it could be a very cheap kind
of channel or broadcasting of messages to multiple destinations. So these are the different
types of transport service, which are possible.
Network layer decides on what route to take locally, so that the intended message ultimately
reaches the destination. It controls the broadcasting by essentially segregating the different networks,
etc. it handles technological mismatches so we will get into the details of this later
on. It does congestion control, it handles billing information etc.
The data link layer makes the physical link layer appear like a channel that is free of
transmission errors. Actually in the physical layer there may be error but the data link
layer handles this error correction etc. at the very lowest level. Finally, at the lowest
level we have the physical layer, where the data is actually transmitted as raw bits,
etc.
The other layer is TCP by IP reference model, where the session and presentation layer are
not there. We have the application layer, transport layer, network layer or maybe something
like the data link or the physical layer.
So the rough correspondence is something like this; we have the TCP by IP model where we
have just this few and we have the OSI reference model with so many. So more or less, they
match the essential functions match. There are other kinds of protocols, which are also
used but the TCP by IP and OSI, are the most common. In the next class, we will be discussing
the different structures of networks. So, today we just had an abstract view of networks
and in the next class we will handle different structures.
Good day. In this lecture we will discuss the network topology. Now what do you mean
by a network topology? We just have a quick recap of what we had learnt last time, basically
a computer network, could be a number of nodes which are connected by some communication
links. There is some kind of graph, this graph has certain structure so when we talk about
the structure, this structure has an implication about how will go about communicating as I
said it is in general not feasible to have one to one communication between each pair
of nodes. That is not possible at all, so what kind of structure? That is why the nodes
connected in each manner is the subject matter of our discussion today. A network may be
represented as a graph, nodes representing computers or network devices like switches,
routers etc. and the links represent communication links. Modes of communication may be broadcast
or point to point. We have discussed this.First let us talk about the LAN topologies. LAN,
the local area network and the local area network topologies are three. They are very common; star, ring
and a bus.
First of all, we first take up this bus topology and why do you take up a bus topology? This
a very simple kind of network which is based on a shared broadcast links. We still want
to look at point to point communication, that means there may be so many nodes a, b, c,
d, etc., which are connected to the network and a wants to communicate to b. so c, d,
e are connected but a specifically wants to communicate to b. Each pair of communicating
nodes used a link for the short time. So, a uses the link for the short time to send
his message to b then may be c might sends something to b or something like that. Other
nodes ignore the communication. Since, this is shared broadcast link all the nodes get
the communication, that is not private in that sense. All the nodes get that communication
but they usually ignore this communication whereas b will copy this for its own purpose.
Now, they has to be a distributed protocol to decide who gets to use the link. There
has to be some protocol otherwise if a wants to communicate with b and b wants to communicate
c, as c wants to communicate with d their communications will go and collide in that
shared broadcast medium, so the communication of both the pairs of node will get garbled.
So by that I mean and sometimes actually that would happen that things will get garbled
but that is not what we.