... X.25 Relay - was ist das ? Konfiguration eines Cisco Routers als X.25 Relay X.25 X.25 DECUS Symposium 2000 Bonn ISO 8881 Andreas Aurand Compaq Support Center Networks and Communications Konfiguration eines Cisco Routers als X.25 Relay # 1 ISO TR 10029 - CONS LAN/WAN Relay • DECnis, X.25 Gateway, RouteAbout • Tru64 UNIX, OpenVMS Alpha (ab V1.3) • Cisco Router ab V11.3(3) ISO 8881 - X.25 PLP in LANs (LLC2) • OpenVMS Alpha und VAX • Tru64 UNIX • SUN, HP usw. X.25 Andreas Aurand Konfiguration eines Cisco Routers als X.25 Relay # 2 ... Voraussetzungen Andreas Aurand ... X.25 Relay Client Setup s e t llc2 s a p mindestens IOS V11.3(3), vorher nur X.25 Relay über NSAP Mapping mittels X.25 Called Address Extensions n besser V12.0(5) oder V11.3(10) wegen CSCdm06362 (Router reagiert nicht auf ein LLC2 DISC Frame mit gesetztem P Bit) n # show interface e0 s a p- 0 link c i s c o 7 E - Ethernet0 is up, line protocol is up Hardware is Lance, address is 0060.5cf4.726f r e m o t e m a c a d d r e s s 00 -6 0- 5c -f 4- 72 -6 f, remote lsap address 7e ! create x25 p r o t o c o l d t e c i s c o 7 E p r o f i l e " I S O 8 8 8 1 X " set x25 protocol dte cisco7E i n b o u n d d t e c l a s s cisco7E , - l i n k s e r v i c e p r o v i d e r llc2 s a p s a p -0 l i n k c i s c o 7 E , - n interface type D T E , - Enterprise Version x25 address 45610301234 , - X.25 Adresse des seriellen Anschlußes outgoing list [[1..2]] , extended packet sequencing false , - X.25 und LAPB Kommandos in dem Wide Area Networking Teil der Dokumentation n d e f a u l t p a c k e t s i z e 128 , - m a x i m u m p a c k e t s i z e 128 , - minimum packet size 16 , - default window size 2 , - LLC2 im Bridging and IBM Networking Command Reference Teil und dort bei IBM Networking n Konfiguration eines Cisco Routers als X.25 Relay # 3 maximum window size 2 , minimum window size 1 Andreas Aurand Konfiguration eines Cisco Routers als X.25 Relay # 4 ... Cisco X.25 Serial Setup interface s0 encapsulation x25 Router(config-if)# x25 address 1 x25 routing Router(config)# Router(config)# interface e0 Router(config-if)# cmns enable Router(config-if)# llc2 local-window 127 Router(config-if)# x25 win 2 Router(config-if)# x25 wout 2 Router(config-if)# x25 ips 128 Router(config-if)# x25 ops 128 Router(config-if)# exit x25 htc 2 Router(config-if)# x25 ltc 1 Router(config-if)# Router(config-if)# Router(config-if)# Router(config-if)# Router(config)# Dummy Adresse Logical Channel Range x25 win 2 x25 wout 2 Window Size x25 ips 128 x25 ops 128 Packet Size Router(config)# Konfiguration eines Cisco Routers als X.25 Relay # 5 Andreas Aurand ... Cisco X.25 Relay Setup Router(config-if)# Router(config-if)# Parameter sollten mit dem seriellen X.25 Anschluß übereinstimmen - Andreas Aurand x25 route ... Konfiguration eines Cisco Routers als X.25 Relay # 6 Seite 1 Parameter sollten mit dem seriellen X.25 Anschluß übereinstimmen LAN / WAN Relay Engine Andreas Aurand ... X.25 LAN / WAN Relay Engine n ... X.25 LAN / WAN Relay Engine Incoming Call x25 route [#position] [selection] [modification] disposition − Position (optional) Called DTE 456103001 Calling DTE 45610320111 Data 01 00 00 00 41 − Position des Eintrags in der X.25 Routing Tabelle − Selection Incoming Interface (optional) Selection − Filter, über den der Routing Eintrag ausgewählt wird − Modification Modification (optional) − modifiziert die X.25 Source und Destination Adresse im X.25 Call Paket bei ausgehenden Verbindungen Disposition Outgoing Interface First match − Disposition Called DTE modified-dte Calling DTE modified-dte Data 01 00 00 00 41 − Interface, zu dem die eingehende X.25 Verbindung weitergeleitet werden soll - sofern die Selection des Routing Eintrags passt Outgoing Call Konfiguration eines Cisco Routers als X.25 Relay # 7 Andreas Aurand Konfiguration eines Cisco Routers als X.25 Relay # 8 ... X.25 LAN / WAN Relay Engine n ... X.25 LAN / WAN Relay Engine Selection Parameter - 5 verschiedene Optionen möglich − Called X.121 network interface address − x25 route ^456103001$ n − falls kein X.25 Routing Eintrag mit dem Call übereinstimmt, wird die eingehende Verbindung abgelehnt (d.h. Router sendet ein CLEAR Paket zurück) Source X.25 Adresse − x25 route source ^456103001$ ... − Called address extension − ein X.25 Call kann nicht zu dem Interface weitergeleitet werden, über das er empfangen wurde Destination NSAP Adresse − x25 route dest-ext ^37\.2624.* ... − X.25 packet's call user data n Call User Data Feld − falls das Interface „operational“ ist, aber keine weiteren VCs mehr zur Verfügung stehen, wird der Call abgelehnt. Es wird kein weiterer Eintrag mehr überprüft (ab V12.0(4)T - nur für serielle Interfaces) − x25 route input-interface s0 interface e0 mac aa00.0400.1223 Konfiguration eines Cisco Routers als X.25 Relay # 9 Ausfallsicherheit − falls das Interface nicht „operational“ ist (d.h. Im Status „down“) wird überprüft, ob andere Routing Einträge passen und der nächste (passende) genommen. − x25 route cud "^V3\.0 MAIL-11$" interface S0 − CUD bezieht sich immer auf die Daten nach den 4 Byte Protokollinformationen − X.25 Input Interface Selection Parameter − falls ein eingehender X.25 Call zu einer Selection passt, wird der Call zu dem in der Disposition angegebenen Interface weitergeleitet Destination X.25 Adresse interface e0 mac aa00.0400.1223 − Calling X.121 network interface address Andreas Aurand Konfiguration eines Cisco Routers als X.25 Relay # 10 ... X.25 LAN / WAN Relay Engine n n − Destination Adresse substitute-dest rewrite-pattern − WAN Port LAN Port Hunt Group XoT Clear Call x25 route x25 route x25 route x25 route x25 route ^45610301234$ ^45610301234$ ^45610301234$ ^45610301234$ .* − − − − − − − − interface Serial0 interface e0 mac aa00.0400.0101 hunt-group DATEXP xot 1.1.1.1 clear Lastverteilung über X.25 Hunt Groups − ab der Version V12.0(3)T können mehrere DTEs zu einer Hunt Group zusammengefaßt werden . asterisk * plus sign + question mark? caret ^ dollar sign $ brackets [] hyphen underscore _ Matches any single character, including white space Matches 0 or more sequences of the pattern Matches 1 or more sequences of the pattern Matches 0 or 1 occurrences of the pattern Matches the beginning of the input string Matches the end of the input string Designates a range of single-character p Separates the end points of a range Matches a comma (,), left brace ({), right brace (}), left parenthesis, right parenthesis, the beginning of the input string, the end of the input string, or a space to use these special characters as single-character patterns, remove the special meaning by preceding each character with a backslash (\) n − http://127.0.0.1:8080/cc/td/doc/product/software/ios120/120newft/120t/120t3/x25lbal.htm Konfiguration eines Cisco Routers als X.25 Relay # 11 Regular Expressions − period Disposition Parameter - 5 verschiedeneMöglichkeiten − − − − n n substitute-source rewrite-pattern Andreas Aurand ... X.25 LAN / WAN Relay Engine Modification Parameter − Source Adresse Andreas Aurand Andreas Aurand Konfiguration eines Cisco Routers als X.25 Relay # 12 Seite 2 Andreas Aurand ... X.25 LAN / WAN Relay Engine n Regular Expressions − ^45610320$ − ^45610320 n ... Einschränkungen n exact match match 45610320, 45610320x, 45610320xx, 45610320xxx − ^45610320...$ match 45610320xxx − 45610320 match *45610320* − .* matchall Mehr Infos zu Regular Expressions Nur eine LLC2 Entity pro LAN Interface − X.25 Parameter aller LLC2 Clients müssen mit dem seriellen Interface übereinstimmen − Ansonsten erfolgt beim X.25 Verbindungsaufbau Packet und Window Size Negotiation − Beispiel LLC2 Window Size 7, Packet Size 256 00:19:16: Ethernet0: CMNS I R1 Call (19) 8 lci 4 00:19:16: From (11): 45610311111 To (9): 456103555 − http://127.0.0.1:8080/cc/td/doc/product/software/ios120/12cgcr/dial_r/drprt11/drregexp.htm 00:19:16: 00:19:16: Facilities: (0) Call User Data (4): 0x01000000 (pad) 00:19:16: Serial0: X.25 O R1 Call (20) 8 lci 2 00:19:16: From (0): To (9): 456103555 00:19:16: 00:19:16: Facilities: (6) Packet sizes: 256 256 00:19:16: 00:19:16: Window sizes: 7 7 Call User Data (4): 0x01000000 (pad) 00:19:16: Serial0: X.25 I R1 Clear (5) 8 lci 2 00:19:16: Cause 3, Diag 65 (Invalid facility request/Facility code not allowed) Konfiguration eines Cisco Routers als X.25 Relay # 13 Andreas Aurand Konfiguration eines Cisco Routers als X.25 Relay # 14 ... Einschränkungen ... Einschränkungen − Mit der Version V12.0(7)T gibt es die Möglichkeit, dass der Router die X.25 Pakete lokal quittiert (sog. „local Acknowledgments“) − Die Packet und Window Size Parameter der einzelnen Anschlüsse können dann unterschiedlich sein x25 routing acknowledge local interface e0 x25 ips 256 x25 ops 256 x25 win 7 x25 wout 7 cmns enable interface s0 x25 subscribe flow-control never x25 ips 128 x25 ops 128 x25 win 2 x25 wout 2 n X25 Routing von LLC2 nach Serial Nur eine LLC2 Entity pro LAN Interface − bei mehreren X.25 Anschlüßen mit unterschiedlicher Packet und Window Size, sollten mehrere LAN Interfaces verwendet werden X.25 00:06:34: Ethernet0: CMNS I R1 Call (19) 8 lci 4 00:06:34: 00:06:34: From (11): 45610311111 To (9): 456103555 Call User Data (4): 0x01000000 (pad) 00:06:34: Serial0: X.25 O R1 Call (14) 8 lci 2 00:06:34: From (0): To (9): 456103555 00:06:34: Andreas Aurand X.25 Window Size 4 Packet Size 256 Call User Data (4): 0x01000000 (pad) Window Size 2 Packet Size 128 X25 Routing von Serial nach LLC2 00:12:02: Serial0: X.25 I R1 Call (19) 8 lci 1 00:12:02: From (9): 456103555 To (11): 45610311111 00:12:02: Call User Data (4): 0x01000000 (pad) 00:12:02: Ethernet0: CMNS O R1 Call (25) 8 lci 1024 00:12:02: 00:12:02: 00:12:02: 00:12:02: 00:12:02: n From (9): 456103555 To (11): 45610311111 Facilities: (6) Packet sizes: 128 128 Window sizes: 2 2 Call User Data (4): 0x01000000 (pad) Konfiguration eines Cisco Routers als X.25 Relay # 15 Andreas Aurand Konfiguration eines Cisco Routers als X.25 Relay # 16 ... Einschränkungen Andreas Aurand ... Einschränkungen Als lokale X.25 Adresse des seriellen Anschlußes sollte nicht die offizielle (DATEX-P) Adresse verwendet werden n n − alle eingehenden X.25 Verbindungen mit der Interface Adresse als Called Address werden lokal von dem Router bearbeitet − falls service pad auf dem Router gesetzt ist (ist der default), erfolgt ein X.29 Login auf den Router selbst (Security !!!) − ansonsten erfolgt ein Clear auf die eingehende Verbindung, der Call wird jedoch nicht an die LAN / WAN Relay Engine weitergegeben 00:30:21: Serial0: X.25 I R1 Call (19) 8 lci 1 00:30:21: From (9): 456103001 To (11): 45610301234 00:30:21: Facilities: (0) 00:30:21: Call User Data (4): 0x01000000 (pad) 00:30:21: Serial0: X.25 O R1 Clear (5) 8 lci 1 00:30:21: Cause 0, Diag 70 (DTE originated/Incoming call barred) 00:30:21: Serial0: X.25 I R1 Clear Confirm (3) 8 lci 1 Konfiguration eines Cisco Routers als X.25 Relay # 17 Als LSAP Adresse nur SAP 7E möglich − kann nicht auf dem Cisco Router definiert werden Dummy Adresse für das serielle Interface Router(config)# interface s0 Router(config-if)# x25 address 1 − Calling Address des Relay Clients Router(config-if)# no x25 use-source-address (default) − keine Calling Address (z.B. bei DATEX-P möglich) Router(config-if)# x25 suppress-calling-address − Modification Parameter des X25 Route Kommandos Router(config-if)# Andreas Aurand x25 route source 111 substitute-source 45610320111 ... Konfiguration eines Cisco Routers als X.25 Relay # 18 Seite 3 Andreas Aurand ... Einschränkungen n ... Beispiele Verhalten des Cisco Routers beim Reboot DTE: 456103201 − sendet kein DISC Frame 1 ⇒ dadurch bleibt die LLC2 Entity auf den Hosts im State „Running“ − Cisco baut nur eine LLC2 Verbindung auf, wenn Daten zu übertragen sind (dynamisches LLC2) 45610320111 ⇒ Ist kein LLC2 Link aktiv, wird beim Empfang eines X.25 Paketes vom Router ein DM Frame an den Host gesendet x25 route #3 ^44.* clear Lösung x25 x25 x25 x25 − Tru64 UNIX WAN Support V3.0 und ECO #2 − OpenVMS Alpha X.25 V1.3 ECO #1 − OpenVMS VAX DECnet-Plus V7.2 ECO #1 oder V6.3 ECO #12 Konfiguration eines Cisco Routers als X.25 Relay # 19 route route route route Andreas Aurand DTE: 45610320111 AES Rechner 10 11 12 AES: Protokoll FF44534E cud "^V3\.0 MAIL-11$" ^456103201 input-interface s0 .* X25 routing interface s0 encapsulation x25 x25 address 1 x25 htc 2 interface e0 cmns enable Konfiguration eines Cisco Routers als X.25 Relay # 21 interface interface interface interface e0 mac aa00.0400.0101 e0 mac aa00.0400.0102 e0 mac aa00.0400.0103 e0 mac aa00.0400.0104 Andreas Aurand ... Beispiele - Subadressen 1 2 45610320111 und 456103501 x25 routing interface s0 encapsulation x25 x25 accept-reverse x25 address 1 x25 htc 2 x25 suppress-calling-address interface s1 encapsulation x25 x25 address 2 x25 htc 2 x25 suppress-calling-address x25 route #1 source ^1.$ substitute-source 45610320111 interface s0 x25 route #2 cud ^\$COPY$ interface e0 mac aa00.0400.0101 x25 route #3 cud ^\$DECNET$ interface e0 mac aa00.0400.0101 x25 route #4 cud ^\$ITS$ interface e0 mac aa00.0400.0101 x25 route #6 cud ^\$MAIL$ interface e0 mac aa00.0400.0101 x25 route #7 cud ^\$PRBLM$ interface e0 mac aa00.0400.0101 x25 route #8 cud ^\$REG$ interface e0 mac aa00.0400.0101 x25 route #9 source .* interface e0 mac aa00.0400.0102 x25 route #10 source .* interface e0 mac aa00.0400.0103 X.29 Calls über die 456103501 und alle CONS über die 45610320111 – Problem: nur eine LLC2 Entity möglich – Lösung: verschiedene Subadressen für die Protokolle set node 0 x25 protocol dte dte-1 x25 address 456103 set node 0 x25 acc template "OSI Transport" local subaddress 20111 set node 0 x25 acc template X29Login local subaddress 501 interface e0 cmns enable x25 route #1 source ^45610320111$ interface s0 x25 route #2 source ^456103501 interface s1 x25 route #3 source .* interface e0 mac aa00.0400.0101 Andreas Aurand Konfiguration eines Cisco Routers als X.25 Relay # 22 ... Beispiele - XoT 45610311555 #4 #5 #6 #7 Konfiguration eines Cisco Routers als X.25 Relay # 20 ... Beispiele - Call User Data 1 12 interface s0 encapsulation x25 x25 address 1 x25 htc 2 interface e0 cmns enable x25 route #1 source ^45610320111$ interface s0 x25 route #2 source ^1.$ substitute-source 45610320112 interface s0 ⇒ Host geht daraufhin in den State „Haltet“ und es muß ein Disable/Enable auf die LLC DTE durchgeführt werden. n 11 X25 routing Andreas Aurand ... Beispiele - X.25 Hunt Group IP Netz 1 999 − X.25 over TCP/IP ist im RFC 1613 definiert 11 − Cisco Router und OpenVMS Alpha mit X.25 V1.4 (FT) als Gegenseite der XoT-Verbindung 2 45610320111 und 45610320112 12 X25 hunt-group DATEXP rotary interface s0 interface s1 x25 hunt-group LLC-Clients vc-count interface e0 mac aa00.0400.0101 interface e0 mac aa00.0400.0102 X25 routing ! interface Ethernet0 ip address 10.100.7.91 255.255.252.0 cmns enable ! x25 routing interface s0 encapsulation x25 x25 address 1 x25 htc 2 x25 suppress-calling-address interface s1 encapsulation x25 x25 address 2 x25 htc 2 x25 suppress-calling-address interface e0 cmns enable x25 route #1 input-interface s0 hunt-group LLC-Clients x25 route #2 input-interface s1 hunt-group LLC-Clients x25 route #3 source ^1.$ hunt-group DATEXP x25 route source ^45610311555$ xot 10.100.7.73 xot-source Ethernet0 x25 route source ^999$ interface Ethernet0 mac aa00.0400.c9fe Vorsicht: Hunt Groups funktionieren noch nicht richtig ! Konfiguration eines Cisco Routers als X.25 Relay # 23 Andreas Aurand Konfiguration eines Cisco Routers als X.25 Relay # 24 Seite 4 Andreas Aurand ... Beispiele - X.25 Hunt Groups n ... Show Kommandos vc-count basierende Hunt Group n − Interface mit den wenigsten Virtual Circuits wird bevorzugt n rotary basierende Hunt Group n # show x25 hunt-group show llc2 Ethernet0 DTE: aa00.0400.21fd 0060.5cf4.726f 7E 7E state NORMAL V(S)=1, V(R)=1, Last N(R)=1, Local window=127, Remote Window=127 akmax=3, n2=10, xid-retry timer 0/0 ack timer 0/5555 p timer 0/1000 idle timer 7870/10000 rej timer 0/3200 busy timer 0/9600 akdelay timer 0/100 txQ count 0/200 − Round Robin zwischen den einzelnen Interfaces next-between ID Type Target uses status Ethernet0 aa00.0400.c9fe ID Type Target 4 uses next status n 396/5756 6 2 VC 776/20209 Konfiguration eines Cisco Routers als X.25 Relay # 25 show llc2 brief LLC2 Connections: total of 3 connections Et0 NORMAL aa00.0400.c9fe 0060.5cf4.726f 7E 7E Et0 NORMAL aa00.0400.21fd 0060.5cf4.726f 7E 7E Et0 NORMAL aa00.0400.82c5 0060.5cf4.726f 7E 7E traffic( out/ i n ) ================================================================= = = = = = = = = = = = = = = = = LLC vc-count Serial0 4 1 VC 3029/3540 Ethernet0 aa00.0400.c9fe Andreas Aurand Konfiguration eines Cisco Routers als X.25 Relay # 26 ... Show Kommandos n show interface s0 n Konfiguration eines Cisco Routers als X.25 Relay # 27 show x25 vc | show x25 interface s0 | show x25 interface e0 mac ... SVC 2, State: D1, Interface: Ethernet0 Started 00:00:06, last input 00:00:05, output 00:00:04 Connects 45610301234 <--> 456103001 to Serial0 SVC 2 Window size input: 2, output: 2 Packet size input: 128, output: 128 PS: 2 PR: 1 ACK: 1 Remote PR: 2 RCNT: 0 RNR: no P/D state timeouts: 0 timer (secs): 0 data bytes 682/11 packets 18/1 Resets 0/0 RNRs 0/0 REJs 0/0 INTs 0/0 SVC 2, State: D1, Interface: Serial0 Started 00:00:06, last input 00:00:04, output 00:00:05 Connects 45610301234 <--> 456103001 from Ethernet0 CMNS aa00.0400.ddc5 Window size input: 2, output: 2 Packet size input: 128, output: 128 PS: 1 PR: 2 ACK: 2 Remote PR: 1 RCNT: 0 RNR: no P/D state timeouts: 0 timer (secs): 0 data bytes 11/682 packets 1/18 Resets 0/0 RNRs 0/0 REJs 0/0 INTs 0/0 Andreas Aurand Konfiguration eines Cisco Routers als X.25 Relay # 28 ... Show Kommandos show x25 context Andreas Aurand ... Troubleshooting n - ab V12.0(3)T Ethernet0 remote address aa00.0400.82c5 CMNS dxe/DTE, address <none>, state R1, modulo 8, timer 0 Defaults: idle VC timeout 0 input/output window sizes 2/2, packet sizes 128/128 Timers: T20 1, T21 1, T22 1, T23 1 Channels: Incoming-only none, Two-way 1-1024, Outgoing-only none RESTARTs 1/0 CALLs 0+0/0+0/0+0 DIAGs 0/0 Serial0 X.25 DTE, address 1, state R1, modulo 8, timer 0 Defaults: idle VC timeout 0 cisco encapsulation input/output window sizes 2/2, packet sizes 128/128 Timers: T20 180, T21 200, T22 180, T23 180 Channels: Incoming-only none, Two-way 1-2, Outgoing-only none RESTARTs 1/0 CALLs 0+0/0+0/0+0 DIAGs 0/0 LAPB DTE, state CONNECT, modulo 8, k 7, N1 12056, N2 20 T1 3000, T2 0, interface outage (partial T3) 0, T4 0 VS 1, VR 1, tx NR 1, Remote VR 1, Retransmissions 0 Queues: U/S frames 0, I frames 0, unack. 0, reTx 0 IFRAMEs 1/1 RNRs 0/0 REJs 0/0 SABM/Es 1/0 FRMRs 0/0 DISCs 0/0 Konfiguration eines Cisco Routers als X.25 Relay # 29 Andreas Aurand ... Show Kommandos Serial0 is up, line protocol is up Hardware is HD64570 MTU 1500 bytes, BW 1544 Kbit, DLY 20000 usec, reliability 255/255, txload 1/255, rxload 1/255 Encapsulation X25, loopback not set X.25 DTE, address 1, state R1, modulo 8, timer 0 Defaults: idle VC timeout 0 cisco encapsulation input/output window sizes 2/2, packet sizes 128/128 Timers: T20 180, T21 200, T22 180, T23 180 Channels: Incoming-only none, Two-way 1-2, Outgoing-only none RESTARTs 1/0 CALLs 0+0/0+0/0+0 DIAGs 0/0 LAPB DTE, state CONNECT, modulo 8, k 7, N1 12056, N2 20 T1 3000, T2 0, interface outage (partial T3) 0, T4 0 VS 7, VR 4, tx NR 4, Remote VR 7, Retransmissions 0 Queues: U/S frames 0, I frames 0, unack. 0, reTx 0 IFRAMEs 7/4 RNRs 0/0 REJs 0/0 SABM/Es 1/0 FRMRs 0/0 DISCs 0/0 .... DCD=up DSR=up DTR=up RTS=up CTS=up n time-between traffic ( out/in) ================================================================= = = = = = = = = = = = = = = = = DATEXP rotary Serial0 5 full 2873/2720 Traces auf den X.25 Relay Clients − L2 − L3 n Debug auf dem Cisco Router − L2 − L3 Andreas Aurand $ trace start/live/full "llc2 sap sap-0 link cisco7E" $ trace start/live/full "x25l3 dte cisco7E“ # debug llc2 packets # debug x25 all | events Konfiguration eines Cisco Routers als X.25 Relay # 30 Seite 5 Andreas Aurand Fragen ? ? ? Konfiguration eines Cisco Routers als X.25 Relay # 31 ? ?? ? ? Andreas Aurand Seite 6