Sie sind auf Seite 1von 33

M.

Vuskovic

ATM Networking

CS596

Chapter 3 ATM INTERNETWORKING


Table of contents:

3.1 OVERVIEW 3.1.1 IP over ATM 3.1.2 Logical IP Subnetworks (LIS) 3.1.3 Subnet Masks 3.1.4 IP Address Resolution 3.1.5 Example of LIS Connected to ATM 3.2 CLASSICAL IP OVER ATM (CLIP) 3.2.1 RFC 1577 3.2.2 ATMARP Server 3.2.3 Registration 3.2.4 Inverse ARP (InARP) 3.2.5 ARP Requests 3.2.6 Connection and Data Transfer 3.2.7 Interconnecting LIS 3.3 LAN EMULATION (LANE) 3.3.1 LANE Protocol Architecture 3.3.2 Components of LANE 3.3.3 Connections Between LANE Components 3.3.4 LANE Configuration 3.3.5 LEC Initialization and Configuration 3.3.6 LEC Registration 3.3.7 Data Transfer 3.3.8 3.4 MULTI PROTOCOL OVER ATM (MPOA) 3.4.1 Next Hop Resolution Protocol (NHRP) 3.4.2 MPOA Components 3.4.3 MPOA Operation 3.4.4 Examples of MPOA Scenarios

Copyright C 1999 by Marko Vuskovic

3-2

OVERVIEW IP Over ATM TCP and IP are prevalent protocols, hence there are large number of "legacy" applications which run on top of TCP/IP. Therefore it is important to support IP over ATM. ATM Forum has specified several protocols which enable IP over ATM, and has helped ATM to be successful. The IP/ATM networking is relatively complex due to two reasons: ATM is connection-oriented, IP is connection-less ATM supports QoS, IP does not There are two fundamental models for IP over ATM: peer model overlay model In peer model both IP and ATM layers are considered as peer networking layers which operate in the same address space (i.e. use the same addressing scheme used in IP). This would simplify addressing but would significantly complicate the ATM switch design because the ATM switches would have to extend all the functionality of IP routers. This would be even more complex if ATM were to support other protocols such as IPX and Appletalk. In overlay model (which prevailed) IP runs on top of ATM and both operate in their own unrelated address spaces which does not allow simple mapping. Consequently, the end systems will have two addresses: an IP address and an ATM address. With overlay model, there are three approaches for IP over ATM: Classical IP over ATM (CLIP) LAN emulation (LANE) Multiprotocol over ATM (MPOA) CLIP is simpler, it treats ATM as a LAN: it resolves IP addresses into ATM addresses by using address resolution protocol which is essentially similar to IP ARP, only the MAC addresses are replaced by ATM addresses. The end stations which belong to the same logical subnet of IP communicate over VCCs thus treating the entire ATM network as a LAN. The end stations which belong to different IP subnets have to communicate through IP routers, even though they are attached to the same ATM network.

Copyright C 1999 by Marko Vuskovic

3-3

OVERVIEW (Cont.)

LANE uses ATM network to simulate a LAN (specifically Ethernet or token ring): all communications which are involved in LAN like IP address to MAC address resolution and broadcasting of ARP requests, ARP replies and data are carried over ATM VCCs. The end stations which belong to different IP subnets still have to communicate through IP routers. MPOA eliminates the inefficiency of CLIP and LANE in the case of interconnecting different IP subnets. This is done by combining LANE with the Next Hop Resolution Protocol (NHRP) in which a direct VCC is established between two end stations even though they belong to different IP subnets. Before moving to the discussion of these approaches, the rest of this section reviews some basic facts about IP subnetting.

Copyright C 1999 by Marko Vuskovic

3-4

OVERVIEW (Cont.)

Logical IP Subnetworks (LIS) The concept of IP subnetting is very important part of the internetworking protocols discussed in this chapter. Subnetting was introduced in IP to handle the complexity of large networks. An alternative name for IP subnetting is "summarization of host addresses". Without subnetting, routers and hosts would have to perform address resolution over large address space, which would require an enormous amount of memory in each router and host, and an enormous network management effort.
Router and hosts need to resolve 216-2 = 65,534 possible addresses which would require emormous size of ARP tables (cache).

Class B network

130.191.0.0
Route table of router R must 0 8 have only 2 = 256 entries for subnet routers R 1,R2.... and x entries for external routers,

R0

Subnet 1

R1

130.191.1.0
Local subnetworks
Subnet 2

130.191.0.0
R0

130.191.2.0
R2
Route table of routers R and i hostsin each subnet need maximal size of ARP tables of only2 8-2 = 254 entries.

Reasons for subnetting: -

Smaller ARP caches and easier network management Less traffic (traffic is localized to subnets) Different subnets can use different (incompatible) network technologies Security (it is convenient to have different security attributes for different subnets)
Copyright C 1999 by Marko Vuskovic

3-5

OVERVIEW (Cont.) Subnet Masks Splitting networks into subnetworks depends on the network class. There are three major network classes which IP uses (other classes, D and E, also exist but they are irrelevant for this discussion). The difference between the three classes is in the size of the network part versus the host part ("n" are bits of the network part, "h" are bits of the host address part): Class A: 0nnnnnnn.hhhhhhhh.hhhhhhhh.hhhhhhhh (1.0.0.0 - 127.255.255.255) Class B: 10nnnnnn.nnnnnnnn.hhhhhhhh.hhhhhhhh (128.0.0.0 - 191.255.255.255) Class C: 110nnnnn.nnnnnnnn.nnnnnnnn.hhhhhhhh (192.0.0.0 - 223.255.255.255)

NOTICE: In definitions above is used term "host". More precise term would be "host's network interface". A single host can have several network interface cards (NICs). Each of the NICs can have an IP address. For the simplicity we will continue to use term host.

Some IP addresses are not the addresses of the particular hosts. Examples: 68.0.0.0 - address of an A class network 130.191.0.0 - address of a B class network 200.123.224.0 - address of a C class network 68.255.255 - broadcast address of an A class network 130.191.255 - broadcast address of a B class network 200.123.224.255 - broadcast address of a C class network Some IP addresses are used for private networks (which are not connected to the Internet). The private addresses are in the following ranges: 10.0.0.0 - 10.255.355.255 (Class A) 172.16.0.0 - 172.31.255.255 (Class B) 192.168.0.0 - 192.168.255.255 (Class C) A network mask is a 32-bit pattern which shows which bits of the IP address belong to the network part (1s) and which bits belong to the host part (0s). For example, network masks for the three classes above are: 255.0.0.0, 255.255.0.0, and 255.255.255.0 respectively.
Copyright C 1999 by Marko Vuskovic

3-6

OVERVIEW (Cont.)

A network can be split into subnetworks by using a portion of the host bits as a subnetwork number. One way of forming subnets in class B networks is to use only last 8 bits for hosts, while the next byte to the left is used for subnet number. For example, the network 130.191.0.0 can be split into the following subnetworks 130.191.1.0, 130.191.2.0,... ...,130.191.254, which gives 28-2 subnets. (addresses 130.191.x.0 and 130.191.x.255 are reserved for the subnet address and the subnet broadcast address respectively.) Subnet masks would be 255.255.255.0. Subnets are transparent to other networks, i.e. they have only local significance. For example, network 130.192.0.0 is not aware of the subnetworks 130.191.xxx.0 It is not mandatory to create subnets at the byte boundary. For example, a subnet can be defined by using only 6 leftmost bits of the last two bytes:

130

191

subnets

hosts

10000010.10111111.sssssshh.hhhhhhh
The corresponding mask is 255.255.252.0

255

255

252

11111111.11111111.11111100.00000000
subnet hosts

This would allow 26-2 = 62 subnets and 210-2 = 1022 hosts in each subnet. For example, the IP address of the host number 258 in subnet 7 would be: 130.191.29.2. Proof:

130

191

29

11111111.11111111.00011101.00000010
subnet 7 host 258

Copyright C 1999 by Marko Vuskovic

3-7

OVERVIEW (Cont.)

Each subnet must have a router, which will forward trafic to other subnets. If a source wants to send a frame to a destination which doesn't belong to the same subnet, it must be addressed to the router for that subnet. If the destination belongs to the same subnet as source, it can go directly to that address. How can one know if an IP address belongs to the same subnet? Answer: by AND-ing the IP addresses by their subnet mask, then by comparing the result. Example: Given are IP addresses: 192.168.48.2 and 192.168.49.102. Suppose the subnet mask 255.255.252.0. Do these IP addresses belong to the same subnet?

255

255

252

11111111.11111111.11111100.00000000
192 168 48 2

11000000.10101000.00110000.00000010
subnet 12 192 168 49 host 2 102

11000000.10101000.00110001.01100110
subnet 12 host 358

Since both subnet numbers (bit patterns after AND-ing with the subnet mask) are the same, the IP numbers belong to the same subnet.

Copyright C 1999 by Marko Vuskovic

3-8

OVERVIEW (Cont.) IP Address Resolution Although all NICs are assigned IP addresses, they communicate only through MAC numbers. IP addresses are needed for applications which are above the layer 3. The NICs however communicate at layer 2 and use MAC addresses. In other words, a frame sent to a destination must contain the MAC address of that destination. Therefore an address resolution is needed. Address resolution is performed by hosts that are using the Address Resolution Protocol (ARP), which is part of the layer 3 protocol. For example, if host A wants to send a frame to host B (see figure below), then the ARP of A will perform mapping IP.B!MAC.B. The following events happen when A wants to send a frame to B: (1) 1 (2) 2 A determines if B belongs to the same subnet (ANDs bitwise the IP addresses with the subnet mask of A, then compares them) If A has the MAC address of B in its cache, it performs the address resolution by finding the entry [IP.B, MAC.B] in ARP table, then sends the frame by using the MAC address MAC.B. If A can't find the entry [IP.B, MAC.B] in its ARP table, it broadcasts an ARP_REQUEST packet (which contains: IP.A, IP.B, MAC.A) to all hosts in subnet. All hosts cache the info [IP.A, MAC.A] for their own use, but only B answers with an ARP_RESPONSE packet which has IP.B, MAC.B. By now, A has the MAC address of B, and can send the frame.

(3) 3

If A wants to send a frame to E (which is on different subnet than A), the following happens: (1) 1 (2) A finds that E doesn't belong to the same subnet. A sends the frame to the router R1 (the default router for the subnet 1). The router for wards the frame to the network, which will eventually route the frame to the router R2 , which in turn delivers the frame to the end station E, by using its own ARP to obtain the MAC address of E.

R1

IP.X

IP

IP.Y

R2
IP.R1 MAC.R1

IP.R1 MAC.R1

C
IP.C MAC.C

D
IP.D MAC.D

IP.B IP.A MAC.A MAC.B Subnet 1

IP.F IP.E MAC.E MAC.F Subnet 2

Copyright C 1999 by Marko Vuskovic

3-9

OVERVIEW (Cont.) Example of LIS Connected to ATM Subnets can be directly connected to an ATM network, or indirectly through bridges, LAN switches, routers and/or gateways. .

LIS1

LIS2

ATM Hosts

LIS3

F G

Switch 1 Switch 2

H J
ATM Edge Devices

Bridge

Router

LIS4

LIS5

LIS6

LAN Hosts

COMMENTS: End stations A, B, C, D, E, F, G, H and J are directly connected to the ATM network and they must have the ATM NICs (they are called "ATM hosts"). Bridge and router are also directly connected to the ATM network and have ATM NICs (they are called "ATM edge devices). End stations K, L, M, P, Q, R, S, T and U are connected indirectly to the ATM network and are ATM unaware, i.e. they don't have ATM NICs, instead they have Ethernet or Token Ring NICs (they are called "legacy devices").
Copyright C 1999 by Marko Vuskovic

3-10

CLASSICAL IP OVER ATM

RFC 1577 Classical IP over ATM (CLIP) is the simplest ATM internetworking protocol. Its specifications are originally given in RFC1577 (1994), later superseded by RFC2225 (1998). The protocol is designed to enable interworking between legacy IP applications distributed across an ATM network. The applications that originally worked on Ethernet or token ring are not aware of ATM and do not need any modification. Since the application knows only the source's IP address, the RFC1577 needs to provide an ATM address resolution, i.e. the mapping

IP " AESA
so that UNI can make the call setup for the destination end station B. This address resolution is done by an ATMARP server. (NOTE: the traditional ARP, which mapped IP " MAC, did not require an ARP server. The protocol was invoked as a passive system component, part of the layer 3.)

IP Host A
ATM NIC IP.A AESA.A MAC.A

ATM
PVC SVC

IP Host B
ATM NIC IP.B AESA.B MAC.B

Host A
Application TCP/IP RFC1577 UNI ALL5 ATM PHY

Host B
Application TCP/IP RFC1577 UNI

ATM Switch
ATM PHY

ATM Switch
ATM PHY

ALL5 ATM PHY

Copyright C 1999 by Marko Vuskovic

3-11

CLASSICAL IP OVER ATM (Cont.)

ATMARP Server Why ATMARP needs a server? The traditional ARP could broadcast the ARP requests to all (unknown) hosts at the Ethernet or token ring segment and wait for an ARP response. ATM is however a point-to-point communication through VCCs and in order to broadcast an ATMARP request a list of all hosts attached to the ATM network must be known and maintained. These hosts therefore must register, so that their AESA is known and can be used for broadcast. The registration of ad-hoc hosts can only be done by an active system component, which is a server. An ATMARP server can run on ATM switch, or on any host attached to ATM switch. Each LIS of hosts attached to the ATM network must have its own ATMARP server. The role of the ATMARP server involves two stages: registration address resolution Once the AESA of the destination is known, the source station can start the call setup, followed by data transfer.

Copyright C 1999 by Marko Vuskovic

3-12

CLASSICAL IP OVER ATM (Cont.)


Registration In order to be able to send an ARP request, an end station attached to an ATM network must register first with ATMARP server. After registration, the end station becomes an ATMARP client. The AESA of the ATMARP server must be manually configured in the NIC of each IP station so that the station can initiate an ATM call to the server.

AESA.S VCC established by setup call from A ATMARP Server S VCC established by setup call from B

IP End Station A

IP End Station B

ATM
AESA.A IP.A AESA.B IP.B

Once the connection is made with the ATMARP server, an end station can make ARP requests. An ATMARP server builds and maintains its ATMARP table which has the following entries:

[IP.A, AESA.A, <time stamp>]


There are two ways an ATMARP server gets information for its table: through inverse ARP requests through ARP requests from clients Time stamp is used for entries aging. The entries older than certain time period (commonly 20 minutes) are considered stale and are replaced by the server.

Copyright C 1999 by Marko Vuskovic

3-13

CLASSICAL IP OVER ATM (Cont.)

Inverse ARP (InARP) In classical IP over ATM, the inverse ARP performs the following mapping:

AESA.X " IP.X


(NOTE: In IP world the equivalent of inverse ARP is called "reverse ARP" and it performs mapping: MAC.X " IP.X) The purpose of InARP is to obtain the IP addresses of all ATM hosts that have registered with the server. Since the server knows the AESA of all registered end stations, it can broadcast an InARP request to obtain their IP addresses and to build its ARP table.

In order to refresh its ARP table, the ATMARP server sends InARPs periodically (every 15 minutes) to all IP stations for which a VCC is still in place. The VCC will clear automatically due to inactivity. In this case the ATMARP server can't send the InARP and must wait for the station which has lost the VCC to register again.

Copyright C 1999 by Marko Vuskovic

3-14

CLASSICAL IP OVER ATM (Cont.)

ARP Requests Once the VCC is established between the end station and the ATMARP server, the station can ask for AESA for any given IP address, provided that the address belongs to an ATM NIC attached to the ATM network and the IP address belongs to the LIS which is served by the ATMARP server.

ATMARP server checks first the entry [IP.A, AESA.A, time]. If entry is not there it will add it to its ARP table. If entry is there it will update it, including the time stamp. Then, the server looks for the entry [IP.B, AESA.B, time]. If it is there, it will send back the ARP_REPLY. If the entry is not there, it will broadcast the InARP request to get the AESA from IP.B. If this fails, it will send to A the negative acknowledgement ATMARO_NAK.

or

If ATMARP server cannot resolve the requested address it will send this message.

Copyright C 1999 by Marko Vuskovic

3-15

CLASSICAL IP OVER ATM (Cont.)

Connection and Data Transfer Once an end station knows the AESA of the destination, it can place a setup call by invoking the UNI 3.1/4.0 protocol (the call is placed through VCC VPI=0, VCI = 5, see section "UNI Signaling").

AESA.S ATMARP Server S Periodic InARP requests The ARP VCCs can be automatically cleared due to inactivity (20 min)

ATM

IP End Station A AESA.A IP.A

Data VCC

IP End Station B AESA.B IP.B

Data

Data VCCs can age much faster than the ARP VCCs. This is to emulate the connectionless paradigm. The data VCC will release if there is no packet flow within a few minutes.

Copyright C 1999 by Marko Vuskovic

3-16

CLASSICAL IP OVER ATM (Cont.)


Interconnecting LIS An ATMARP server has a scope of a single LIS. The RFC 1577 (and newer RFC 2225) require that the hosts at different subnets must communicate through routers, even though they are connected to the same ATM network. This is one of the major limitations of the CLIP.
IP Router

LIS1
ATM NIC

LIS2

A B
ATMARP server for LIS1

ATM Network

C D S2
ATMARP server for LIS2

S1

If A wants to communicate with C (which belongs to different LIS), the following steps will occur: A sends an ATMARP_REQUEST to S1 to get AESA.C S1 returns AESA.R to A, which establishes VCC1 with R, then sends IP packet R routes the packet to IP.C: it sends first an ATMARP_REQUEST to S2 S2 resolves the address IP.C and returns AESA.C to R R establishes VCC2 with C R sends the IP packet to C
Since A and C belong to different LIS, there must be two data VCCs which are connected through router

R
VCC1

A
Since A and B belong to the same LIS, a direct data VCC can be established between them

VCC2

B
Copyright C 1999 by Marko Vuskovic

3-17

CLASSICAL IP OVER ATM (Cont.)

With two different LISs and one router, the data packets have to go three times through the AAL5 and IP layers (i.e. one time more than it would be normally necessary). This is because the communication is performed hop-by-hop through a router. In case of more LIS and more routers this overhead would be even greater, because there would be hops between routers. This is a limitation of CLIP which is unnatural because there is a physical connection between the hosts from different LIS, provided they are all connected to the ATM network. This limitation is removed by NHRP and MPOA, discussed in the following sections.

R
VCC 1 VCC2

Host A
Application

Host C
Application

TCP
IP RFC1577 UNI ALL5 ATM PHY

Router R
IP RFC1577 UNI

TCP Overhead due to inter LIS communication


IP RFC1577 UNI

ATM Switch
ATM PHY

ALL5 ATM PHY

ATM Switch
ATM PHY

ALL5 ATM PHY

VCC1

VCC 2

Copyright C 1999 by Marko Vuskovic

3-18

LAN EMULATION

Copyright C 1999 by Marko Vuskovic

3-19

LAN EMULATION (Cont.)

Copyright C 1999 by Marko Vuskovic

3-20

LAN EMULATION (Cont.)

Copyright C 1999 by Marko Vuskovic

3-21

LAN EMULATION (Cont.)

Establishment of VCCs that connect LANE components, as well as usage of the VCCs to transfer data involves the following five phases: 1. LANE initialization 2. LEC initialization and configuration 3. LEC registration 4. Data transfer

Copyright C 1999 by Marko Vuskovic

3-22

LAN EMULATION (Cont.)


LANE Configuration In order to be able to register a LEC with a LES and establish the VCCs by which the LEC is connected to other LANE components, these components (LECS, LES and BUS) must exist in the first place. Bringing these components into existence involves the following steps: (1) 1 (2) 2 Design the LANE (decide how many ELANs are going to be used, what are their names, decide where to place LECS, LESs, and BUSs). Determine the LANE default addresses on every device which will participate in LANE and which will be running the LANE components (ATM switches and edge devices. For example, for CISCO products that support IOS use command "show lane default" This command will display the default ATM addresses of LECS, LES, BUS and LEC for each ATM interface (port). The displayed addresses should be put down on a configuration worksheet. Enter (manually) the address of the chosen LECS into all switches and edge devices. Save the addresses permanently. Set up manually the LECS database (configuration table). The configuration table contains entries [<ELAN name>, <LES AESA>].

(3) 3 (4) 4

(5) 5 (6) 6

Enable LECS on the selected machine (where the LECS is "placed")

Set up the LES/BUS. Usually the LES and BUS are collocated on the same machine. They have to be set up for each ELAN. An ELAN can have several LES/BUS pairs, the primary LES/BUS and the backup LES/BUS (the latter are usually placed on different machines). Set up LECs on edge devices (routers, Ethernet switches, bridges).

(7) 7

Copyright C 1999 by Marko Vuskovic

3-23

LAN EMULATION (Cont.)

LEC Initialization and Configuration At the LEC start-up or new installation the following happens: (1) 1 (2) 2 LEC obtains its own AESA through ILMI automatic address registration (gets from the switch the prefix part and sends to the switch its ESI) LEC determines the LECS AESA, by one of the following ways: (3) 3 (4) 4 By By By By preconfigured LECS AESA using ILMI to get LECS AESA from the switch using well known LECS address (see below) using well known label (VPI = 0, VCI = 17)

LEC sets up the configuration direct VCC with the LECS

LEC sends to LECS the CONFIGURE_REQUEST message which includes the following data: my AESA my maximal frame size (MTU - max. transfer unit) my LAN type (802.3 or 802.5) name of ELAN I wish to join my layer 3 address (IP address)

(5) 5

LECS sends back to LEC the CONFIGURE_RESPONSE message which includes the following data: maximum frame size (MTU) LAN type ELAN ID LES AESA (for the requested ELAN)

Well known AESA of the LECS is defined by the ATM Forum:

47.0079.00000000000000000000.00A03E000001

Copyright C 1999 by Marko Vuskovic

3-24

LAN EMULATION (Cont.)

LEC Registration After a LEC learns the AESA of the LES, it can register with the LES and join the ELAN. This is done through the following steps: (1) 1 (2) 2 (3) 3 LEC clears the configuration direct VCC, which is no longer needed

LEC sets up the control direct VCC with the LES (by using UNI/PNNI)

LEC sends my my my my my

LE_JOIN_REQUEST which includes the following data: LAN type (802.2 or 802.5) ELAN name AESA MAC address MTU

(4) 4

LES adds the LEC to the control distribute VCC and sends LE_JOIN_RESPONSE with the following data: - updated information from LE_JOIN_REQUEST - LEC ID (which is unique to ELAN and is used in LAN frame)

(5) 5

Now LEC wants to connect to the BUS. Therefore it must first find its AESA. LEC sends to LES the ARP_REQUEST for the MAC number "FFFFFFFFFFFF" (the broadcast MAC address).

(6) 6 (7) 7 (8) 8 (9) 9 (0) 10

LES forwards the LEC's ARP_REQUEST to everybody on the control distribute VCC (BUS included) BUS sends ARP_REPLY to LES (the reply contains its AESA)

LES forwards ARP_REPLY to LEC

LEC sets up the multicast send VCC wit the BUS

BUS adds the LEC to the multicast forward VCC

Copyright C 1999 by Marko Vuskovic

3-25

LAN EMULATION (Cont.)

Data Transfer When a LEC becomes officially a member of ELAN, it can communicate with other LECs which are either direct members of ELAN (i.e. registered with the LES) or are behind a LAN bridge or a LAN router. Of course, the latter have to have an ATM interface end must be registered with the LES. There are four phases of this communication: 1. Resolving the MAC address of destination (IP ARP) 2. Initial data transmission through BUS 3. Resolving the ATM address of destination (LE ARP) 4. Data transmission through data direct VCC The second and third phases are overlapped.

Copyright C 1999 by Marko Vuskovic

3-26

LAN EMULATION (Cont.)

Example: A wants to communicate with B

B
ATM host (LEC) ATM switch ATM host (LEC)

A S
LAN Bridge/Switch (LEC) LAN host

ATM

Ethernet

LAN host

C
BUS
BUS broadcasts the IP ARP request to all LECs via multicast forward VCC LEC on S encapsulates the IP ARP Request into a LANE frame and sends it to BUS via multicast send VCC

LES

LECS

LEC on S decapsulates the IP ARP replyh and forwards it to A B recognizes IP.B and sends its MAC address to BUS, which in turn forwards the frame to the LEC on S via multicast send VCC

As soon as A gets the MAC address of B it starts sending data to LAN LEC on S forwards data to BUS via multicast send VCC

BUS broadcasts data to all LECs via multicast forward VCC. This gets data moving immediately without waiting for data direct VCC between A and B

Copyright C 1999 by Marko Vuskovic

3-27

LAN EMULATION (Cont.)

B
ATM host (LEC) ATM switch ATM host (LEC)

A S
LAN Bridge/Switch (LEC) LAN host

ATM

Ethernet LAN host

C
BUS LES LECS
In order to communicate more efficiently, LEC on S needs to know AESA of B andsends an LE_ARP request to B

LEC on B recognizes MAC.B and replies to LES

LES broadcasts the LE_ARP request to all LECs over control distribute VCC LES broadcasts the LE_ARP reply to all LECs over control distribute VCC

After it gets the AESA.B, LEC on S sets up a data direct VCC with B LEC on S decapsulates LE framesand sends LAN frames to A

After the data direct VCC is established between S and B they can communicate faster. Data braoadcast via BUS is no longer needed

LEC on S encapsulates LAN frames and sends LE frames to B

Copyright C 1999 by Marko Vuskovic

3-28

MULTI PROTOCOL OVER ATM

LANE has a similar limitation as CLIP: if end stations belong to different subnets, the data transfer over the ATM network has to go over several VCCs that connect the edge devices with intermediate routers. This introduces an unnecessary overhead, since the data frames have to traverse the AALs several times. Another limitation is that the LANE can work only with two types of LAN protocols: Ethernet and token ring. Therefore Multi Protocol Over ATM (MPOA) was brought by ATM Forum in 1997 under the industry concensus to achieve two goals: - to extend LANE to other protocols such as IPX, ApleTalk and DECNET - to create a more efficient internetworking (specifically to eliminate routers in inter-ELAN data transfer) MPOA is an extension of LANE which uses Next Hop Routing Protocol (NHRP) to get the AESA of the destination edge device and to create a direct VCC for data transfer, called shortcut or cut through. Consequently MPOA retains the LANE components and connections between them. If the communication involves two end stations which belong to the same subnet, the VCC for data transfer will be established according to LANE specification. If the end stations belong to different subnets, the data will start to flow over several VCC through router(s) until the ingress edge device discovers such flow and organizes the shortcut. Router

R
ATM Network

LANE Edge device

LANE Edge device LAN

Shortcut (MPOA)

E1
LAN

E2

B LIS1

E LIS2

Copyright C 1999 by Marko Vuskovic

3-29

MULTI PROTOCOL OVER ATM (Cont.)


Next Hop Resolution Protocol (NHRP) NHRP is a protocol that eliminates routers in data transfer between different LISs. Since the ATM hosts or edge devices are directly connected to the ATM network, there is a possibility to establish a single direct VCC for data transfer. Such VCC is called "shortcut" or "cut-through" data VCC. In order to establish a VCC, the source station must know the AESA of the destination station. NHRP specifies one NHRP server (NHS) for each LIS. Each potential end station is an NHRP client (NHC). The main purpose of NHS is to resolve IP addresses into ATM addresses even if IP belongs to a different LIS than the NHC. If an NHS gets an ARP_REQUEST for LIS it doesn't serve, it will forward the request to the next NHS. Eventually the ARP request will get to the NHS which serves the target LIS. The target NHS will then send ARP_REPLY (or ARP_NAK) back to the end station, following the same route in reverse direction. The intermediate NHSs will cache the information into their ARP tables, so that next time they can generate the ARP_REPLY instead of forwarding the ARP_REQUEST to the next NHS.
ATM host or edge device which IP address belongs to LIS1 ATM host or edge device which IP address belongs to LIS3

A
NHC 1 6 NHS1

Direct VCC ("shortcut", "cut-through")

B
NHC

7
This server serves LIS3 and resolves IP.B " AESA.B

LIS3

2 5

NHS2

3 4

NHS3

LIS1

LIS2
These servers cache [IP.B, AESA.B]

NHRP ARP_REQUEST ("I am IP.A, what is AESA of IP.B?") NHRP ARP_REPLY ("IP.B has AESA.B")
Copyright C 1999 by Marko Vuskovic

3-30

MULTI PROTOCOL OVER ATM (Cont.)

MPOA Components MPOA uses similar client/server architecture as LANE. Consequently MPOA uses all components of LANE defined in the previous section. It also defines additional components, which can be classified into two types: MPOA Client (MPC) Every ATM host, edge device or router with ATM interface run a copy of MPC. When MPC is in ingress role it monitors traffic and detects the frames sent to a router that contains an MPS. If it realizes that the flow would benefit from a shortcut, it starts a NHRC-based query-response protocol to obtain necessary information to setup a shortcut. If such shortcut is available it will establish it between the source MPC and the destination MPC, and will continue frame forwarding over the shortcut. In egress role MPC receives internetwork data frames and forwards them to its local users. MPOA Server (MPS) Runs on a router. It includes NHRC server (NHS) and answers MPOA queries from ingress MPCs.

Copyright C 1999 by Marko Vuskovic

3-31

MULTI PROTOCOL OVER ATM (Cont.)


MPOA Operation The operation of MPOA has the following steps:

1. Configuration MPC and MPS obtain the address of LECS. There are four methods to do this (same as in LEC configuration): By By By By preconfigured LECS AESA using ILMI to get LECS AESA from the switch using well known LECS address using well known label (VPI = 0, VCI = 17)

Once MPC and MPS obtain the necessary addresses they establish control direct VCC with LES.

2. Discovery MPC and MPS discover each other. This is done over LANE (by now the LANE components are already connected, and the communication over LUNI is in place). An MPC sends an LE_ARP_REQUEST for MPS to LES (this message has an additional field identifying that the request is in connection to MPS). LES returns LE_ARP_REPLY with the AESA of MPS. Once the MPC has MPS's address it will establish the connection.

3. Target Resolution As soon as the data direct VCCs are established between the LECs, the data will start to flow from the source LEC to the destination LEC via the router(s). At the same time the source MPC will start counting the forwarded frames. When this count reaches a "significant flow" called: Shortcut Setup Frame Count (default value is 10), the MPC will send an MPOA_ARP_REQUEST to its MPS, to get the AESA of the destination MPC. The request goes from one MPS to another (hop-by-hop) until it reaches the egress MPS which serves the target ELAN. The egress MPS will then send an MPOA_ARP_REPLY back to the requesting MPC. The reply follows the same route in reversed direction. This address resolution is performed by multiple MPSs in accordance with the NHRP which is part of MPS.

4. Data Transfer When the source MPC gets the AESA of the destination MPC, it will establish a data direct VCC (the shortcut) with the destination MPC.
Copyright C 1999 by Marko Vuskovic

3-32

MULTI PROTOCOL OVER ATM (Cont.)


Examples of MPOA Scenarios Suppose the following (simplified) network:

A
ATM host

Router

LIS2

C
LAN host

LIS1

S B
ATM host

ATM Network

LAN Switch

Ethernet

D
LAN host

The MPOA environment can be pictured as follows:

A
ATM host

Router MPS RF

S
LAN Switch

MPC LEC

C
LAN host

LEC

MPC FWD

B
ATM host

D
LAN host

ELAN1

ELAN2

LEC

MPC LEC MPOA VCCs LANE VCCs LAN


RF - Routing Function FWD - Layer 3 Forwarding Function MFC - MPOA Client MPS - MPOA Server LEC - LANE Client

Two types of scenarios exist for the environment: Intra-ELAN scenarios: A $ B, C $ D Inter-ELAN scenarios: A $ C, A $ D, B $ C, B $ D
Copyright C 1999 by Marko Vuskovic

3-33

MULTI PROTOCOL OVER ATM (Cont.)

Intra-ELAN scenarios:

A
ELAN

C
LAN

LAN

Inter-ELAN scenarios (default path):

A,B
ELAN

R
ELAN

C,D

LAN

Inter-ELAN scenarios (shortcut path):

A,B
MPOA ARP request

R
MPOA ARP request

C,D

MPOA ARP reply Shortcut

MPOA ARP reply LAN

Copyright C 1999 by Marko Vuskovic

Das könnte Ihnen auch gefallen