• Aucun résultat trouvé

Route Determination within the Network

2.2.10 4-Binary 3-Ternary (4B3T) Code

Chapter 5. Principles of High Speed Networks

5.7 Route Determination within the Network

There are two aspects to routing within a network:

1. Determining what the route for a given connection shall be.

2. Actually switching (routing) the packet within a switching node.

There are many methods of determining a route through a network. So long as this can be performed before the connection is set up (or during the connection establishment) it doesn't matter much to the switching nodes. For very high throughput, the critical item is that the switching element must be able to decide where to route an incoming packet in a few microseconds.

5.7.1 Dynamic Node by Node Routing

In this method there is no route determined when the connection is set up. This is due to the fact that there is no connection. Each packet is sent into the network with its full destination address imbedded in the header. Each node knows the current network topology and loadings and is able to decide where and on which path the packet should be directed.

This process can be very fast (for a software technique). It is the principle behind "Arpanet" routing and that of TCP/IP. The IBM product X25Net uses this method of routing internally and achieves a throughput of up to 1,000 packets per second

on

a PS/2 (depending on the model used as switching node).

Special switches exist which use this type of technique and achieve throughputs of 50,000 packets per second.

But this is a software based technique. It is very difficult to see how it could be efficiently implemented in hardware. Packet rates of millions per second are not likely to be achieved by this method any time soon.

5.7.2 Source Routing

In the source routing method the origination node (or interfacing function) is responsible for calculating the route the packet must take through the network.

A routing vector is appended to every packet sent and that vector is used by intermediate nodes to direct the packet towards its destination.

This method is used in the IBM Token-Ring implementation for routing through a bridged token-ring network. (See section 11.4, "Source-Routing Bridges" on page 251.) It is also used in the IBM research project called" Paris". (See section 8.3.2, "Automatic Network Routing (ANR)" on page 160.)

In this method the sending node must either know the network topology or it must use some method (such as broadcasting) to find the optimal route. But once the route is determined, intermediate switches do not need to refer to any system tables or parameters to make the routing decision. The next stage of the route is right there in the packet header.

A drawback of this method is that the routing vector in the packet header takes some storage and is an overhead. But this is quite small and the benefits of being able to make a fast routing decision outweigh the small increase in bandwidth overhead.

5.7.3 Logical 10 Swapping

Logical ID swapping is an internal network technique for routing data through a network of packet switched nodes. While the technique is widely used in existing networks and not specifically a high speed technique, it is regarded by many as an appropriate technique for supporting high speed networks

supporting Frame Relay and ATM. A connection oriented technique (see section 5.6, "Connection Oriented versus Connectionless Networks" on page 88), it is used widely by many different networking systems.

Notice that logical ID swapping is an internal process for routing packets or cells within a network. These internal network protocols are typically not specified by international standards.

This technique is used in IBM APPN networks and in a number of proprietary networking protocols. It may also be used in networks supporting:

• X.25

• Frame Relay

• Asynchronous Transfer Mode (ATM)

Networks that use this technique typically multiplex many connections (or sessions) on a link using some form of logical "channelisation". That is, each block (or frame) sent on the link has a header which includes an arbitrary number identifying which logical connection that this block (or frame) belongs to.

Systems vary in the rules governing how the number is allocated and how a path through the system is defined but the principle is the same.

• In APPN, the logical channel identifier is called a Local Form Session Identifier (LFSID) and is located in the format 2 (FID_2) transmission header.

The connection is called a session.

• In X.25 the logical connection is called a virtual circuit. The identifier is called a logical channel and is contained within the packet header.

• In Frame Relay the identifier is called the DLCI (Data Link Connection Identifier) and this is located in the address field of the link header. The connection is called a virtual link.

• In ATM the identifier is called a Virtual Channel Identifier (VCI) and it is situated in the cell header.

Chapter 5. Principles of High Speed Networks 93

Link 1 Node A

Link 2 - 6 - 1 - . . - - 7 - -

---'L

- - 8 - -

1---j6~--logical 7 '

-connect i on 8

-Connect i on Table link lc link lc

1 6 2 8

1 8 3 B

Link 3

•• 8 C D E ..

IIII

.. 8 C D E ..

Link 2

Node B

9

Link 6

logical connection

3:...,...--

~---t---4----Connect i on Table link lc link lc

2 8 6 4

5 ; 6

-Figure 32. Data Networking by Logical ID Swapping

5.7.3.1 Data Transfer

In Figure 32 there is a logical connection between an end user system

connected to link 1 (ID 8) on node A and another end user system attached to link 6 (ID 4) on node B. In operation the procedure works as followS:31

1. The end user system places data to be sent on a link to the network. (In the example, link 1 on node A.)

2. The user data has a header appended to it which contains a logical channel identifier. (In the example, Ic 6.)

3. Node A receives the block and looks at the header. !t finds that the received block has Ic 6.

31 Another example in this document is ID swapping used with frame relay. See Figure 54 on page 146.

4. The node then looks at the connection table for Ic 6 on link 1 (the node knows which link the data was received on).

5. The node finds that Ic 6 on link 1 is connected to Ic B on link 3.

6. The node then changes the Ic 10 within the data header from 6 to B.

7. The node then queues the data for transmission on link 3.

8. When node B receives the data it sees that it belongs to Ic B. (Notice here that both nodes know the same Ic number at each end of the link because it is the same link. The Ic number only has meaning in the context of the single link between node A and node B.

9. Node B then repeats the process changing the 10 to "4" and sending it out on link 6.

5.7.3.2 Determining the Route

There are many ways of determining the route and setting up the connection tables.

• It could be done by a central node and updates sent to each node along the path when the connection is set up.

• It could be determined by the originating node (or a node providing route calculation support to the originating node). If this is done, the route can be sent out in a special message which travels along the specified route and signals the control processor in each node to set up the connection tables.

This is exactly what happens in APPN. In APPN, when a session is set up, a routing vector is included in the connection (session) setup packet (the BIND). As the BIND progresses through the system, each node in the path builds a connection table entry for the new session.

• It can be done in a distributed way by allowing each node that receives the setup message to calculate the next hop along the path.

• It may be predefined through a system definition process.

The point about this is that connection setup is relatively infrequent (compared to the routing of data blocks) and is not too time critical. A connection setup time of 200 milliseconds (or even a second or two) is quite tolerable in even a very high speed network.

Of course, in most systems the tables do not exist in the form suggested in the example - they will be set up in whichever way is most efficient within the using system.

5.7.3.3 Characteristics

The system has the following characteristics.

Minimal Bandwidth Overhead

The 10 part of the header is the only essential field for this method of routing. The systems described above use between 10 and 20 bits for this field.

Fixed Route(s)

Frames (packets, cells ... ) flow on the fixed predetermined route. This means that frames will (in most systems) arrive in the same sequence in which they were sent.

Chapter 5. Principles of High Speed Networks 95

Efficient Switching

Relatively few instructions are required to perform the switching function.

In order to route a packet towards its destination reference must be made to the connection tables. So whatever process performs the switching must have very fast access to the tables. In addition, when a new connection is set up or an old one is terminated the tables must be updated. (The database of network topology and loadings can, of course, be maintained quite separately.)

In a software based system (traditional packet switch) this is no problem at all as the function that maintains the tables shares the same storage as the code that does the switching.

In a system using a hardware based routing mechanism, this mechanism must have very fast (sub-microsecond) access to the tables. The

updating function must also have access though its demands for access are not as critical (it can wait a bit).

This means that in a hardware implementation you need to have a shared set of tables that is instantly accessible to the hardware switch and also easily accessible from the control processor.

This can increase the cost of the implementation above that of the ANR technique. (See section 8.3.2, "Automatic Network Routing (ANR)" on page 160).

Requires Connection Setup

The techniques require that the connection tables be set up and maintained dynamically. This is a processing overhead in each node and makes "datagram" transport quite inefficient.