Categories
PROTOCOL

PROTOCOL VERIFICATION

Realistic protocols and the programs that implement them are often quite complicated. Consequently, much research has been done trying to find formal. mathematical techniques for specifying and verifying protocols. In the following sections we will look at some models and techniques. Although we are looking at them in the context of the data link layer, they are also applicable to other layers.

 

3.5.1 Finite State Machine Models A key concept used in many protocol models is the finite state machine. With this technique, cach protocol machine (ie, sender or receiver) is always in specific state at every instant of time. Its state consists of all the values of its
variables, including the program counter.

In most cases, a large number of states can be grouped for purposes of
analysis. For example, considering the receiver in protocol 3, we could abstract out from all the possible states two important ones: waiting for frame or waiting for frame I. All other states can be thought of as transient just steps on the way to one of the main states. Typically, the states are chosen to be those instants that

the protocol machine is waiting for the next event to happen lie., executing the procedure call wait(event) in our examples) At this point the state of the protocol machine is completely determined by the states of its variables. The number of states is then 2 where n is the number of bits needed to represent all the vari

tables combined. The state of the complete system is the combination of all the states of the two protocol machines and the channel. The state of the channel is determined by its contents. Using protocol 3 again as an example, the channel has four possible States: a 0 frame or a Iframe moving from sender to receiver, an acknowledge

ment frame going the other way, or an empty channel. If we model the sender and receiver as each having two states, the complete system has 16 distinct states A word about the channel state is in order. The concept of a frame being “on the channel” is an abstraction, of course. What we really mean is that a frame has possibly been received, but not yet processed at the destination. A frame remains

“on the channel” until the protocol machine executes From Physical layer and processes it. From each state, there are zero or more possible transitions to other states. Transitions occur when some event happens. For a protocol machine, a transition might occur when a frame is sent, when a frame arrives, when a timer expires.

when an interrupt occurs, etc. For the channel, typical events are insertion of a  new frame onto the channel by a protocol machine, delivery of a frame to a proto col machine, or loss of a frame due to noise. Given a complete description of the protocol machines and the channel characteristics, it is possible to draw a directed graph showing all the states as nodes and all the transitions as directed ares.

 

One particular state is designated as the initial state. This state corresponds to the description of the system when it starts running, or at some convenient starting place shortly thereafter. From the initial state, some, perhaps all of the other states can be reached by a sequence of transitions. Using well-known tech- niques from graph theory (e.g., computing the transitive closure of a graph), it is
possible to determine which states are reachable and which are not. This tech

nique is called reachability analysis (Lin et al., 1987). This analysis can be help ful in determining whether a protocol is correct. Formally, a finite state machine model of a protocol can be regarded as a qua-
druple (S, M. I, T), where: At the beginning of time, all processes are in their initial states. Then events egin to happen, such as frames becoming available for transmission or timers

oing off. Each event may cause one of the processes or the channel to take an iction and switch to a new state. By carefully enumerating each possible succes or to each state, one can build the reachability graph and analyze the protocol Reachability analysis can be used to detect a variety of errors in the protocol

specification. For example, if it is possible for a certain frame to occur in a car in state and the finite state machine does not say what action should be taken, se specification is in error (incompleteness). If there exists a set of states from which no exit can be made and from which no progress can be made (i.e., no

correct frames can be received any more), we have another error (deadlock). A less serious error is protocol specification that tells how to handle an event in a state in which the event cannot occur (extraneous transition). Other errors can also be detected

Categories
Networks Differ

BROADBAND WIRELESS

We have been indoors too long. Let us now go outside and see if any interest-ing  networking is going on there. It turns out that quite a bit is going on there, andsome  of it has to do with the so-called last mile. With the deregulation of th  ulation of the telephone system in many countries, competitors to the entrenched telephone com pany are now often allowed to offer local voice and high-speed Internet service.

 

There is certainly plenty of demand. The problem is that running fiber, coax, or expensive. What is a competitor to do? even category 5 twisted pair to millions of homes and businesses is prohibitively side of town and in The answer is broadband wireless. Erecting a big antenna on a hill just out- f town and installing antennas directed at it on customers’ roofs is much

 

easier and cheaper than digging trenches and stringing cables. Thus, competing telecommunication companies have a great interest in providing a multimegabit wireless communication service for voice, Internet, movies on demand, etc. As we saw in Fig. 2-30, LMDS was invented for this purpose. However, until

recently, every carrier devised its own system. This lack of standards meant that hardware and software could not be mass produced, which kept prices high and acceptance low. Many people in the industry realized that having a broadband wireless stan and was the key element missing, so IEEE was asked to form a committee com

posed of people from key companies and academia to draw up the standard. The nest number available in the 802 numbering space was 802.16. so the standard got this number. Work was started in July 1999. and the final standard was approved  in April 2002. Officially the standard is called “Air Interface for Fixed Broadband

Wireless Access Systems. However, some people prefer to call it a wireless MAN (Metropolitan Area Network) or a wireless local loop. We regard all these terms as interchangeable Like some of the other 802 standards, 802.16 was heavily influenced by the OSI model, including the subilayers, terminology service primitives, and more
Unfortunately, also like OSI, it is fairly complicated. In the following sections we

will give a brief description of some of the highlights of 802.16, but this treatment is far from complete and leaves out many details. For additional information about broadband wireless in general, see (Block et al. 2001: and Webb, 2001). for information about 802.16 in particular, see Eklund et al., 2002).

 

At this point you may be thinking: Why devise a new standard? Why not just use 802.11 There are some very good reasons for not using 802.11. primarily because 802.11 and 802.16 solve different problems. Before getting into the tech nology of 802.16, it is probably worthwhile saying a few words about why a new standard is needed at all.
The environments in which 802.11 and 802.16 operate are similar in some

ways, primarily in that they were designed to provide high-bandwidth wireless communications. But they also differ in some major ways. To start with, 802.16 provides service to buildings and buildings are not mobile. They do not migrate from cell to cell often. Much of 802.11 deals with mobility, and none of that is relevant here. Next, buildings can have more than one computer in them, a com

plication that does not occur when the end station is a single notebook computer.  Because building owners are generally willing to spend much more money for communication gear than are notebook owners, better radios are available. This difference means that 802.16 can use full-duplex communication, something 802.11 avoids to keep the cost of the radios low.

Because 802.16 runs over part of a city, the distances involved can be several kilometers, which means that the perceived power at the base station can vary widely from station to station. This variation affects the signal-to-noise ratio. which, in, turn, dictates multiple modulation schemes. Also, open communication over a city means that security and privacy are essential and mandatory.

Furthermore, each cell is likely to have many more users than will a typical 802.11 cell, and these users are expected to use more bandwidth than will a type- cal 802.11 user. After all it is rare for a company to invite 50 employees to show up in a room with their laptops to see if they can saturate the 802.11 wireless net-

work by watching 50 separate movies at once. For this reason, more spectrum is needed than the ISM bands can provide, forcing 802.16 to operate in the much higher 10-to-66 GHz frequency range, the only place unused spectrum is still available.

Categories
Networks Differ

 How Networks Differ

Networks can differ in many ways. Some of the differences, such as different modulation techniques or frame formats, are in the physical and data link layers, These differences will not concern us here. Instead, in Fig. 5-43 we list some of the differences that can occur in the network layer. It is papering over these

differences that makes internetworking more difficult than operating within a single network. When packets sent by a source on one network must transit one or more foreign networks before reaching the destination network (which also may be dif- ferent from the source network), many problems can occur at the interfaces be-
tween networks. To start with, when packets from a connection-oriented network

must transit a connectionless one, they may be reordered, something the sender does not expect and the receiver is not prepared to deal with, Protocol converter- sions will often be needed, which can be difficult if the required functionality can- not be expressed. Address conversions will also be needed, which may require

Some kind of directory system. Passing multicast packets through a network that does not support multicasting requires generating separate packets for each desti- The differing maximum packet size used by NJ different networks can be a jor nuisance. How do you pass an 8000-byte packet through a network whose

 

maximum size is 1500 bytes? Different qualities of service is an issue w
packet that has real-time delivery constraints passes through a network that da not offer any real-time guarantees. Error, flow, and congestion control often differ among different networks the source and destination both expect all packets to be delivered in sequence
without error but an intermediate network just discards packets whenever it smells

congestion on the horizon, many applications will break. Also, if packets can wander around aimlessly for a while and then suddenly emerge and be delivered, trouble will occur if this behavior was not anticipated and dealt with. Different security mechanisms, parameter settings, and accounting rules, and even national privacy laws also can cause problems.

 

Networks can be interconnected by different devices, as we saw in Cho
Let us briefly review that material. In the physical layer, networks can be nected by repeaters or hubs, which just move the bits from one network to an identical network. These are mostly analog devices and do not understand any thing about digital protocols (they just regenerate signals).

One layer up we find bridges and switches, which operate at the data link layer. They can accept frames, examine the MAC addresses, and forward the frames to a different network while doing minor protocol translation in the pro cess, for example, from Ethernet to FDDI or to 802.11. In the network layer, we have routers that can connect two networks. If two

networks have dissimilar network layers, the router may be able to translate be tween the packet formats, although packet translation is now increasingly rare. A router that can handle multiple protocols is called a multiprotocol router. In the transport layer we find transport gateways, which can interface between

nVo transport connections. For example, a transport gateway could allow packets 1o flow between a TCP network and an SNA network, which has a different trans- port protocol, by essentially gluing a TCP connection to an SNA connection. Finally, in the application layer, application gateways translate message

semantics. As an example, gateways between Internet e-mail (RFC 822) and X 400 e-mail must parse the e-mail messages and change various header fields. In this chapter we will focus on internetworking in the network layer. To see how that differs from switching in the data link layer, examine Fig. 5-44. In

Fig. 5-44(a), the source machine, S, wants to send a packet to the destination machine, D. These machines are on different Ethernets, connected by a switch. S encapsulates the packet in a frame and sends it on its way. The frame arrives at the switch, which then determines that the frame has to go to LAN 2 by looking at its MAC address. The switch just removes the frame from LAN 1 and deposits it

Categories
Primitives

Service Primitives

A service is formally specified by a set of primitives (operations) available to a user process to access the service. These primitives tell the service to perform some action or report on an action taken by a peer entity. If the protocol stack is located in the operating system, as it often is, the primitives are normally system

calls. These calls cause a trap to kernel mode, which then turned control of the machine over to the operating system to send the necessary packets. The set of primitives available depends on the nature of the service being pro- vided. The primitives for connection-oriented service are different from those of

connectionless service. As a minimal example of the service primitives that might be provided byto implement a reliable byte stream in a client-server environ- ment, consider the primitives listed in Fig. , These primitives might be used as follows. First, the server executes LISTEN.

to indicate that it is prepared to accept incoming connections. A common wav implement LISTEN is to make it a blocking system call. After executing the primi tive, the server process is blocked until a request for connection appears. Next, the client process executes CONNECT to establish a connection with the

server. The CONNECT call needs to specify who to connect to, so it might have a parameter giving the server’s address. The operating system then typically sends a packet to the peer asking it to connect, as shown by (bin Fig. 1-18. The client process is suspended until there is a response. When the packet arrives at the server, it is processed by the operating system there. When the system sees that

the packet is requesting a connection, it checks to see if there is a listener. If so, it does two things: unblocks the listener and sends back an acknowledgement (2). The arrival of this acknowledgement then releases the client. At this point the  client and server are both running and they have a connection established. it is

important to note that the acknowledgement (2) is generated by the protocol code itself, not in response to a user-level primitive. If a connection request arrives and there is no listener, the result is undefined. In some systems the packet may be queued for a short time in anticipation of a LISTEN.

The obvious analogy between this protocol and real life is a customer (client) calling a company’s customer service manager. The service manager starts out by being near the telephone in case it rings. Then the client places the call. When the manager picks up the phone, the connection is established.

 

The next step is for the server to execute RECEIVE to prepare to accept the first request. Normally, the server does this immediately upon being released from the LISTEN, before the acknowledgement can get back to the client. The RECEIVE call

blocks the server. Then the client executes SEND to transmit its request (3) followed by the exe- cution of RECEIVE to get the reply.
The arrival of the request packet at the server machine unblocks the server process so it can process the request. After it has done the work, it uses SEND to

return the answer to the client (4). The arrival of this packet unblocks the client, which can now inspect the answer. If the client has additional requests, it can make them now. If it is done, it can use DISCONNECT to terminate the connection. Usually, an initial DISCONNECT is a blocking call, suspending the client and send-
ing a packet to the server saying that the connection is no longer needed (5)

.
When the server gets the packet, it also issues a DISCONNECT of its own, ac- acknowledging the client and releasing the connection. When the server’s packet (6) gets back to the client machine, the client process is released and the connec- tion is broken. In a nutshell, this is how connection-oriented communication works.

Of course, life is not so simple. Many things can go wrong here. The timing can be wrong (e.g., the CONNECT is done before the LISTEN), packets can get lost,

Categories
Applications

Home Applications

the number two computer vendor in the world (alter IBM). When
In 1977. Ken Olsen was president of the Digital Equipment CorporationDigital was not going after the personal computer market in a big way. he sd”There is no reason for any individual to have a computer in his home.” Historyshowed otherwise and Digital no longer exists. Why do people buy computers for

why
home use? Initially, for word processing and games, but in recent years that picture has changed radically. Probably the biggest reason now is for Internet access Some of the more popular uses of the Internet for home users are as follows:

1. Access to remote information. 2. Person-to-person communication.
3. Interactive entertainment. 4. Electronic commerce Access to remote information comes in many forms. It can be surfing the World Wide Web for information or just for fun. Information available includes
the arts, business, cooking, government, health, history, hobbies, recreation sci

ence, sports, travel, and many others. Fun comes in too many ways to mention plus some ways that are better left unmentioned
Many newspapers have gone on-line and can be personalized. For example, it is sometimes possible to tell a newspaper that you want everything about corrupt politicians, big fires, scandals involving celebrities, and epidemics, but no foot

ball, thank you. Sometimes it is even possible to have the selected articles down loaded to your hard disk while you sleep or printed on your printer just before breakfast. As this trend continues, it will cause massive unemployment among12-year-old paperboys, but newspapers like it because distribution has always been the weakest link in the whole production chain.

The next step beyond newspapers (plus magazines and scientific journal) is the on-line digital library. Many professional organizations, such as the ACM (www.acm.org) and the IEEE Computer Society (www.computer.org), already  have many journals and conference proceedings on-line. Other groups are follow

ing rapidly. Depending on the cost, size, and weight of book-sized notebook com posters, printed books may become obsolete. Skeptics should take note of the effect the printing press had on the medieval illuminated manuscript. All of the above applications involve interactions between a person and a remote database full of information. The second broad category of network use is
person-to-person communication, basically the 21st century’s answer to the 19th

century’s telephone. E-mail is already used on a daily basis by millions of people all over the world and noits use is growing rapidly. It already routinely contains audio and video as well as text and pictures. Smell may take a while.[9:29 PM, 1/16/2020] Umakant Dubey: Access to remote information comes in many forms. It can be surfing the
World Wide Web for information or just for fun. Information available includes

the arts, business, cooking, government, health, history, hobbies, recreation sci ence, sports, travel, and many others. Fun comes in too many ways to mention plus some ways that are better left unmentioned
Many newspapers have gone on-line and can be personalized. For example, it is sometimes possible to tell a newspaper that you want everything about corrupt

politicians, big fires, scandals involving celebrities, and epidemics, but no foot ball, thank you. Sometimes it is even possible to have the selected articles down loaded to your hard disk while you sleep or printed on your printer just before breakfast. As this trend continues, it will cause massive unemployment among 12-year-old paperboys, but newspapers like it because distribution has always

been the weakest link in the whole production chain.
The next step beyond newspapers (plus magazines and scientific journal) is the on-line digital library. Many professional organizations, such as the ACM (www.acm.org) and the IEEE Computer Society (www.computer.org), already have many journals and conference proceedings on-line. Other groups are follow

ing rapidly. Depending on the cost, size, and weight of book-sized notebook com posters, printed books may become obsolete. Skeptics should take note of the effect the printing press had on the medieval illuminated manuscript. All of the above applications involve interactions between a person and a remote database full of information. The second broad category of network use is
person-to-person communication, basically the 21st century’s answer to the 19th

century’s telephone. E-mail is already used on a daily basis by millions of people all over the world and noits use is growing rapidly. It already routinely contains audio and video as well as text and pictures. Smell may take a while. Access to remote information comes in many forms. It can be surfing the
World Wide Web for information or just for fun. Information available includes

the arts, business, cooking, government, health, history, hobbies, recreation sci ence, sports, travel, and many others. Fun comes in too many ways to mention plus some ways that are better left unmentioned
Many newspapers have gone on-line and can be personalized. For example, it is sometimes possible to tell a newspaper that you want everything about corrupt.

politicians, big fires, scandals involving celebrities, and epidemics, but no foot ball, thank you. Sometimes it is even possible to have the selected articles down loaded to your hard disk while you sleep or printed on your printer just before breakfast. As this trend continues, it will cause massive unemployment among

12-year-old paperboys, but newspapers like it because distribution has always been the weakest link in the whole production chain.
The next step beyond newspapers (plus magazines and scientific journal) is the on-line digital library. Many professional organizations, such as the ACM  (www.acm.org) and the IEEE Computer Society (www.computer.org), already

have many journals and conference proceedings on-line. Other groups are follow ing rapidly. Depending on the cost, size, and weight of book-sized notebook com posters, printed books may become obsolete. Skeptics should take note of the effect the printing press had on the medieval illuminated manuscript.

All of the above applications involve interactions between a person and a remote database full of information. The second broad category of network use is person-to-person communication, basically the 21st century’s answer to the 19th century’s telephone. E-mail is already used on a daily basis by millions of people all over the world and noits use is growing rapidly. It already routinely contains audio and video as well as text and pictures. Smell may take a while.

Categories
Uncategorized

Business Applications

Many companies have a substantial number of computers For example. A company may have separate computers to monitor production. keep track of inventories, and do the payroll. Initially, each of these computers may have worked in isolation from the others, but at some point, management may have decided to connect them to be able to extract and correlate information about the entire company.

Put in slightly more general form, the issue here is resource sharing. and the goal is to make all programs, equipment, and especially data available to a obvious and widespread example is having a group of office workers share a common printer.

None of the individuals really needs a private printer, and a high-volume network printer is often cheaper, faster, and easier to main tain than a large collection of individual printers.

However, probably even more important than sharing physical resources such as printers, scanners, and CD burner, is sharing information. Every large and medium-sized company and many small companies are vitally dependent on com puterized information. Most companies have customer records, inventories,

accounts receivable, financial statements, tax information, and much more on line. If all of its computers went down. a bank could not last more than five min- utes. A modern manufacturing plant, with a computer-controlled assembly line.

would not last even that long. Even a small travel agency or three-person lawfirm is now highly dependent on computer networks for allowing employees toaccess relevant information and documents instantly For smaller companies, all the computers are likely to be in a single office or perhaps a single building, but for larger ones, the computers and employees may be scattered over dozens of offices and plants in many countries.

Nevertheless, a
sales person in New York might sometimes need access to a product inventory. database in Singapore. In other words, the mere fact that a user happens to ba 15,000 km away from his data should not prevent him from using the data though they were local. This goal may be summarized by saying that itis an

attempt to end the tyranny of geography.”
In the simplest of terms, one can imagine a company’s information system as consisting of one or more databases and some number of employees who need to access them remotely. In this model, the data are stored on powerful computers called servers. Often these are centrally housed and maintained by a system

administrator. In contrast, the employees have simpler machines, called clients,  on their desks, with which they access remote data, for example, to include in spreadsheets they are constructing. (Sometimes we will refer to the human user  of the client machine as the “client,” but it should be clear from the context

whether we mean the computer or its user.) The client and server machines are connected by a network, as illustrated in Fig. 1-1. Note that we have shown the  network as a simple oval, without any detail. We will use this form when we  mean a network in the abstract sense. When more detail is required, it will be provided.

 

This whole arrangement is called the client-server model. It is widely used  and forms the basis of much network usage. It is applicable when the client and server are both in the same building (e g. belong to the same company), but also when they are far apart. For example, when a person at home accesses a pap

the World Wide Web, the same model is employed, with the remote Web server being the server and the user’s personal computer being the client. Under most conditions, one server can handle a large number of clients If we look at the client-server model in detail, we see that two processes are involved, one on the client machine and one on the server machine. Communica

tion takes the form of the client process sending a message over the network to the server process. The client process then waits for a reply message. When the server.This whole arrangement is called the client-server model. It is widely used and forms the basis of much network usage. It is applicable when the client and server are both in the same building (e g. belong to the same company), but also

when they are far apart. For example, when a person at home accesses a pap the World Wide Web, the same model is employed, with the remote Web server being the server and the user’s personal computer being the client. Under most conditions, one server can handle a large number of clients If we look at the client-server model in detail, we see that two processes are

involved, one on the client machine and one on the server machine. Communica tion takes the form of the client process sending a message over the network to the server process. The client process then waits for a reply message. When the server.This whole arrangement is called the client-server model. It is widely used
and forms the basis of much network usage. It is applicable when the client and

server are both in the same building (e g. belong to the same company), but also when they are far apart. For example, when a person at home accesses a pap the World Wide Web, the same model is employed, with the remote Web server being the server and the user’s personal computer being the client. Under most

conditions, one server can handle a large number of clients
If we look at the client-server model in detail, we see that two processes are involved, one on the client machine and one on the server machine. Communica tion takes the form of the client process sending a message over the network to the

server process. The client process then waits for a reply message. When the server.This whole arrangement is called the client-server model. It is widely used and forms the basis of much network usage. It is applicable when the client and server are both in the same building (e g. belong to the same company), but also

when they are far apart. For example, when a person at home accesses a pap the World Wide Web, the same model is employed, with the remote Web server being the server and the user’s personal computer being the client. Under most conditions, one server can handle a large number of clients

If we look at the client-server model in detail, we see that two processes areinvolved, one on the client machine and one on the server machine. Communica tion takes the form of the client process sending a message over the network to the server process. The client process then waits for a reply message. When the server.