ip routing on z/os

77
© 2014 IBM Corporation IP Routing on z/OS Mike Fox, Software Architect IBM Enterprise Networking Solutions [email protected]

Upload: zoscommserver

Post on 11-Jun-2015

1.243 views

Category:

Technology


20 download

DESCRIPTION

This presentation discusses the principles of IP Routing as they apply to z/OS, the z/OS implementation of static routing through the TCP/IP profile, and dynamic routing with OMPROUTE.

TRANSCRIPT

Page 1: IP Routing on z/OS

© 2014 IBM Corporation

IP Routing on z/OS

Mike Fox, Software Architect IBM Enterprise Networking Solutions [email protected]

Page 2: IP Routing on z/OS

© 2014 IBM Corporation © 2014 IBM Corporation 2

� Basic IP routing concepts � ARP, Default routing, Nets, subnets, supernets, forwarding, IPv6

� Basic z/OS routing concepts � IP routing table � Defining static routes � Layer 2 routing (including ARP takeover)

� Dynamic routing concepts � OSPF, RIP, “connection” routing

� Dynamic routing on z/OS � OMPROUTE structure, � Configuring � Monitoring

Agenda

Page 3: IP Routing on z/OS

© 2014 IBM Corporation © 2014 IBM Corporation 3

Basic IP routing concepts

Page 4: IP Routing on z/OS

© 2014 IBM Corporation © 2014 IBM Corporation 4

TCP/IP Addressing – IPv4

§ IPv4 uses four byte addressing structure e.g., 198.51.100.36 Ø Broken into netID and hostID portion

Ø The mask indicates which part is network and which part is host

Ø Expresses as a mask (e.g., 255.255.255.0) or a number of mask bits (e.g., /24)

§ The “class mask” is the network mask that goes with an address class § Class A mask: 255.0.0.0 or /8 § Class B mask: 255.255.0.0 or /16 § Class C mask: 255.255.255.0 or /24

0

Class A:

10

110

8 1 6

2 4

3 1

netID

netID

netID

hostID

hostID

hostID

Class B:

Class C:

Page 5: IP Routing on z/OS

© 2014 IBM Corporation © 2014 IBM Corporation 5

TCP/IP Addressing nets, subnets, supernets § Network address: mask is equal to the class mask

§ E.g., 9.0.0.0/8 § Subnet address: mask is longer than the class mask, meaning the standard host portion has been “subnetted”

§ E.g., 9.1.1.0/24 § Supernet address: mask is shorter than the class mask, meaning multiple networks are being addressed

§ E.g., 192.168.0.0/16 § Host address: mask is all 1’s. Addresses a single host on the network.

§ E.g., 192.168.1.1/32 § Networks, subnets, and supernets are key to IPv4 routing

§ By collapsing multiple addresses into nets, subnets, and supernets, we reduce the size of the routing tables

§ E.g., a route to 9.0.0.0/8 reaches every IP address in the 9.0.0.0 network (9.x.x.x) rather than having to specify a host route to every destination

Page 6: IP Routing on z/OS

© 2014 IBM Corporation © 2014 IBM Corporation 6

Special addresses § With supernetting and subnetting the mask can be anything and network classes are less meaningful. This is called Classless Inter Domain Routing (CIDR) and the mask is usually called a subnet mask no matter its actual class. Almost all modern networks use CIDR. Henceforth we will use the term subnet mask for all IPv4 masks.

§ Every subnet has two special reserved addresses § The subnet broadcast address: all host bits are 1’s § The subnet number: all host bits are 0’s § Example: 192.168.255.255 is the broadcast address and 192.168.0.0 is the subnet

number for subnet 192.168.0.0/24. § These addresses should NOT be assigned to hosts § Result: the longest practical subnet mask in IPv4 is /30, or 255.255.255.252. A subnet this size has a subnet number, a subnet broadcast address, and two hosts.

§ Example: subnet 192.168.1.4/30 § 192.168.1.4: subnet number § 192.168.1.5: host

• 192.168.1.6: host • 192.168.1.7: broadcast address

Page 7: IP Routing on z/OS

© 2014 IBM Corporation © 2014 IBM Corporation 7

§ IPv6 is an evolution of the “current” version of IP, which is known as IPv4

§ Expanded Routing and Addressing § Address space increased from 32 bits to 128 bits

§ IPv6 addresses are written as hexadecimal half-words separated by colons § One set of consecutive half-words of zeroes can be omitted and replaced with ::

TCP/IP addressing – IPv6

2001:0db8:4545:0:0:09ff:fef7:62dc 2001:0db8:4545::09ff:fef7:62dc (these are the same address with the zeroes replaced with :: in the second example

Important difference: in IPv6 an interface can have multiple IP addresses and they usually do

Page 8: IP Routing on z/OS

© 2014 IBM Corporation © 2014 IBM Corporation 8

§ In IPv6 the concept of subnetting is replaced with prefix § There are no address classes, and prefix lengths are always variable (but usually 64 bits) § Prefix notation is always significant bits

IPv6 prefixes

2001:0db8:4545::/64 (specifies a 64 bit long prefix) 2001:0db8:4545::09ff:fef7:62dc/128 (specifies a host prefix)

§ Like IPv4, a prefix route addresses all addresses that fall within that prefix § Unlike IPv4 there is no broadcast address for a prefix so the all 1’s address can be assigned to a host

§ IPv6 supports multicast but not broadcast.

Page 9: IP Routing on z/OS

© 2014 IBM Corporation © 2014 IBM Corporation 9

IPv6 scopes

§ Unlike IPv4, IPv6 address have scope. An IPv6 address is only unique within its scope. Most commonly used scopes are:

§ Link local (all addresses in prefix fe80::/10) § Only unique on a specific link (e.g., ethernet LAN segment) § Every non-VIPA interface must have a link-local address

§ Global (all addresses in prefix 2000::/3) § Can be addressed from anywhere § For comparison, all IPv4 addresses are global § Some quick math reveals that the IPv6 global address space is HUGE

§ Usually, a physical interface has both a global and a link-local address § A VIPA only has a global address

Page 10: IP Routing on z/OS

© 2014 IBM Corporation © 2014 IBM Corporation 10

IPv6 Link Local scope illustrated

Page 11: IP Routing on z/OS

© 2014 IBM Corporation © 2014 IBM Corporation 11

ARP – mapping an IPv4 address to a MAC address

§ Address Resolution Protocol (ARP) is used to map an IPv4 address to the MAC address of an adapter on the link

§ The most basic form of routing, it underlies all other routing § A stack queries the LAN to find the MAC for an IP address § The owner responds and the result is cached in the ARP cache

Destination Host

Sending Host

Other Host

Adapter IP: 9.1.1.1

Adapter IP: 9.1.1.2

Adapter IP: 9.1.1.3

MAC A MAC B

MAC C

I have 9.1.1.2, and the MAC addr is MAC B

Who has 9.1.1.2? 1

2

Page 12: IP Routing on z/OS

© 2014 IBM Corporation © 2014 IBM Corporation 12

ARP – gratuitous ARP

§ A host can send a gratuitous ARP to proactively notify neighbors on the LAN that it has an IP address. This is commonly done.

§ Lets the rest of the network know where an address is without having to ask and cache at send time § Improves performance, fewer wasted flows

Destination Host

Sending Host

Other Host

Adapter IP: 9.1.1.1

Adapter IP: 9.1.1.2

Adapter IP: 9.1.1.3

MAC A MAC B

MAC C

Hey guys,FYI, 9.1.1.1 is at MAC A!

Page 13: IP Routing on z/OS

© 2014 IBM Corporation © 2014 IBM Corporation 13

NeD – mapping an IPv6 address to a MAC address

§ Instead of ARP, IPv6 uses Neighbor Discovery § Neighbor Discovery is similar to ARP but has improvements § More proactive notification and robustness and supports IPv6 enhancements like autoconfiguration of IP addresses

§ The Neighbor Discovery (ND) cache replaces the ARP cache

Page 14: IP Routing on z/OS

© 2014 IBM Corporation © 2014 IBM Corporation 14

IPv6 Stateless Autoconfiguration § Stateless autoconfiguration is a powerful capability of IPv6

§ IPv6 addresses can be automatically assigned to interfaces! § Significantly enhances flexibility and mobility of IPv6 networks § Requires use of 64 bit prefix length

§ Method: 64 bit Link prefix is prepended to the 64 bit interface ID § Link prefix automatically learned from router (part of NeD) § Interface ID can be configured or automatically derived from the link’s MAC address § Link local address is always created this way (fe80::+interface ID)

§ Advantages: § If a host moves, it can learn the prefix of the new link and automatically reconfigure its interface IP addresses (great for mobile devices or any other host relocation scenario) § Router can better control addressing on its link

Page 15: IP Routing on z/OS

© 2014 IBM Corporation © 2014 IBM Corporation 15

IPv6 Stateless Autoconfiguration illustrated

Host

Interface MAC: 0B:32:45:67:89:AA

Router

Router solicitation “I’m new here, what’s the config?”

Router advertisement “The link prefix is 2001:0db8:1:1::/64 and the default router is at fe80::3000:1::1”

Resulting interface configuration: Link local addresss: fe80::0b32:45ff:fe67:89aa (always configured this way) Global IP address: 2001:0db6:1:1:: 0b32:45ff:fe67:89aa (from the router advertisement)

Link local addr: Fe80::3000:1::1

Page 16: IP Routing on z/OS

© 2014 IBM Corporation © 2014 IBM Corporation 16

Basic z/OS routing concepts

Page 17: IP Routing on z/OS

© 2014 IBM Corporation © 2014 IBM Corporation 17

IP Routing Table § The z/OS Comm Server TCP/IP stack uses an IP routing table to route packets

§ You can display it with NETSTAT ROUTE

MVS TCP/IP NETSTAT CS V2R1 TCPIP Name: TCPCS 14:24:09 IPv4 Destinations Destination Gateway Flags Refcnt Interface ----------- ------- ----- ------ --------- Default 9.67.115.65 UGS 0000000002 OSAQDIOLINK 9.67.115.0/24 9.67.115.72 UGS 0000000000 OSAQDIOLINK 9.67.115.69/32 9.67.115.72 UGHS 0000000000 OSAQDIOLINK 9.67.112.0/24 0.0.0.0 US 0000000000 OSAQDIOLINK

To reach this destination go out this IP interface

to this next hop address

1 2 3 4

Direct route (no next hop required)

Page 18: IP Routing on z/OS

© 2014 IBM Corporation © 2014 IBM Corporation 18

Notes on the routing table § TCP/IP uses the “most specific match” method of picking a route for a destination.

§ If a host route (for example, route 3 on the previous slide) for the destination exists, use it § If not, use the most specific (longest mask) subnet route that matches § If no match found, use the default route (for example route 1 on the previous slide)

Example route destination Route used on the previous slide

9.67.115.69 3 (matching host route)

9.67.115.32 2 (most specific subnet route)

9.1.1.1 1 (default route)

9.67.112.1 4 (most specific subnet route)

Page 19: IP Routing on z/OS

© 2014 IBM Corporation © 2014 IBM Corporation 19

Route Flags § The Flags field gives good information about routes. The most common values are:

§ U: the route is up and available for use § S,Z: static route (coded into the TCP/IP profile, more on this later) § O,R,C: Route learned from OMPROUTE (more on this later) § G: Route uses a gateway (not a direct route) § H: Route is a host route § More flags are documented in IP Sysadmin Commands

§ The RefCnt tells you how many connections are currently using the route

MVS TCP/IP NETSTAT CS V2R1 TCPIP Name: TCPCS 14:24:09 IPv4 Destinations Destination Gateway Flags Refcnt Interface ----------- ------- ----- ------ --------- Default 9.67.115.65 UGS 0000000002 OSAQDIOLINK 9.67.115.0/24 9.67.115.72 UGS 0000000000 OSAQDIOLINK 9.67.115.69/32 9.67.115.72 UGHS 0000000000 OSAQDIOLINK 9.67.115.69/32 9.67.115.75 UGHS 0000000000 OSAQDIOLINK

Page 20: IP Routing on z/OS

© 2014 IBM Corporation © 2014 IBM Corporation 20

Multipath § Multiple routes to the same destination are supported; This is called “multipath”

§ How it’s handled depends on configuration of IPCONFIG MULTIPATH § NONE: first matching route is always used § PERCONNECTION: Each connection is assigned to a route in a round-robin fashion (recommended, provides load balancing) § PERPACKET: Each packet is assigned to a route in a round-robin fashion (not recommended, can cause reordering problems within connections)

MVS TCP/IP NETSTAT CS V2R1 TCPIP Name: TCPCS 14:24:09 IPv4 Destinations Destination Gateway Flags Refcnt Interface ----------- ------- ----- ------ --------- Default 9.67.115.65 UGS 0000000002 OSAQDIOLINK 9.67.115.0/24 9.67.115.72 UGS 0000000000 OSAQDIOLINK 9.67.115.69/32 9.67.115.72 UGHS 0000000000 OSAQDIOLINK 9.67.115.69/32 9.67.115.75 UGHS 0000000000 OSAQDIOLINK

2 multipath routes to 9.67.115.69 using 2 different next hop routers

Page 21: IP Routing on z/OS

© 2014 IBM Corporation © 2014 IBM Corporation 21

A note about IPv6 routes § Everything said here also applies to IPv6 routes but IPv4 routes are used in the examples in the interest of space

§ Because of the length of IPv6 addresses, IPv6 routes are displayed after IPv4 routes in Netstat reports, and in a different format that doesn’t fit well on slides.

IPv6 Destinations DestIP: Default Gw: 2001:0db8::206:2aff:fe71:4400 Intf: OSAQDIO46 Refcnt: 0000000000 Flgs: UGS MTU: 1492 DestIP: 2001:0db8::9:67:115:13/128 Gw: :: Intf: OSAQDIO46 Refcnt: 0000000000 Flgs: UD MTU: 1492 DestIP: 2001:0db8::206:2aff:fe71:4400/128 Gw: :: Intf: OSAQDIO46 Refcnt: 0000000000 Flgs: UHS MTU: 1492

Page 22: IP Routing on z/OS

© 2014 IBM Corporation © 2014 IBM Corporation 22

Static Routes § Static routes are defined in the TCP/IP profile (as opposed to learned from the network). There are two types of static routes in z/OS:

§ REPLACEABLE: If a dynamic route is learned to the same destination, the dynamic route replaces the static route. If the dynamic route is lost, the static route is restored.

§ Consider these “last resort, backup” routes to be used when dynamic routing fails to find a destination. § The Netstat flag for these routes is “Z”

§ NONREPLACEABLE: This route cannot be replaced by a dynamically learned route. This is a “must use” route that overrides all dynamics.

§  Even if this route is unavailable (for example uses a router or interface that is down) and dynamic routing learns a route that is available, this route will be used (i.e., the destination will be unreachable). § The Netstat flag for these routes is “S”

§ Static routes are easier and simpler, but they do not provide any automatic rerouting around failures or network changes.

§ If the network topology changes, either planned or because of outages, the static routes must be reconfigured

Page 23: IP Routing on z/OS

© 2014 IBM Corporation © 2014 IBM Corporation 23

Defining static routes § In z/OS Communications Server, static routes for both IPv4 and IPv6 are defined using the BEGINROUTES definition block in the TCP/IP profile

BEGINRoutes ; ; Destination/Mask First Hop Link Name Pkt Size Opts ; DEFAULT 130.50.75.1 OSAQDIOLN1 MTU 2000 ROUTE 130.50.75.0/24 = OSAQDIOLN1 MTU 2000 ROUTE 193.5.2.0/24 = OSAQDIOLN2 MTU 1500 ROUTE 193.7.2.2/32 = MPCCTCLNK1 MTU 2000 ROUTE 12.17.99.0/24 130.50.75.1 OSAQDIOLN1 MTU 2000 REPL ; DEFAULT6 fe80::230:71ff:fed3:5160 OSAQDIO61 MTU 3000 ROUTE 2001:0DB8::/64 = OSAQDIO61 MTU 3000 ROUTE 2001:0DB8::1:1/128 fe80::230:71ff:fed3:5160 OSAQDIO62 MTU 1500 ;

ENDRoutes

This route is replaceable First hop of = means direct route

Page 24: IP Routing on z/OS

© 2014 IBM Corporation © 2014 IBM Corporation 24

Modifying Static Routes

§ To modify static routes, a new BEGINROUTES block must be coded and added to the profile using VARY OBEYFILE

§ VARY OBEYFILE is the command that applies changes to the TCP/IP profile § A new BEGINROUTES block is a complete replacement, so the entire static route table must be replaced to make a change

§ Only one BEGINROUTES block is allowed in a TCP/IP profile. If there are multiple blocks the last one will replace any previous ones.

§ The single BEGINROUTES block contains both IPv4 and IPv6 static routes.

§ Example: If you do VARY OBEYFILE to add IPv6 static routes, you have to include the existing IPv4 static routes that you want to keep as well or they will be deleted

Page 25: IP Routing on z/OS

© 2014 IBM Corporation © 2014 IBM Corporation 25

Why use Static Routes? § Static routing is most useful in a simple, stable network configuration

§ For example if z/OS is not in a sysplex and is on a LAN with a router that takes responsibility for routing all hosts on the LAN

§ A static default route pointing to the router and a static subnet route for the attached LAN may be sufficient

§ But remember, hosts in the network still have to be able to reach you! § So without dynamic routing to advertise your destinations, static routes will also have to be coded on the router and other hosts on the LAN to reach your host, unless you’re using a flat layer 2 network configuration (more on the next slide)

§ A static route configuration can be simpler and use less CPU (no routing daemon running).

§ But with limited resilience. In the example above, if the router goes down and a backup router takes over, static routes will have to be modified to maintain connectivity

Page 26: IP Routing on z/OS

© 2014 IBM Corporation © 2014 IBM Corporation 26

TN3270e Server

VIPA#1

CICS Appl-A VIPA#2

FTP Services

VIPA#3 DB2 subsystem

VIPA#4

OSA OSA OSA

CICS Appl-B VIPA#5

Web Services VIPA#6

IP#10 IP#11 IP#12

Connect to VIPA#1

Connect to CICS-Appl-A.xyz.com

My z/OS IP host

Resolve CICS-Appl-A.xyz.com

Use IP address VIPA#2 Name server

A VIPA is an IP address that is not tied to a specific

physical interface and instead

represents a higher level concept such as

a host, an application, or a load

balancer.

VIPA#7

Flat Layer 2 network: first, an introduction to VIPA

Page 27: IP Routing on z/OS

© 2014 IBM Corporation © 2014 IBM Corporation 27

What is a Flat Layer 2 network? § In a flat layer 2 network configuration, VIPAs on a host are defined to be in the same subnet as an attached physical LAN/VLAN

§ Disadvantage: limits VIPA flexibility and ties VIPAs to a specific LAN (to which there can be multiple interfaces attached) § Advantage: improves robustness in static routing configurations

§ The key to a flat layer 2 network is that z/OS Communications Server registers all VIPAs that are in the same subnet as an OSA interface, to that OSA interface

§ The OSA interface then §  performs ARP on behalf of the registered VIPAs, and § forwards packets to registered VIPAs up to the TCP/IP stack

§ This is a unique z/OS + OSA value added function

Page 28: IP Routing on z/OS

© 2014 IBM Corporation © 2014 IBM Corporation 28

z/OS VIPA address visibility on a flat layer 2 network

§  OSA interfaces will do gratuitous ARP for the OSA interface IP address and for VIPA addresses that belong to the same subnet as the OSA interface.

§  Note that VIPA 10.1.2.1 in TCPIPB is not eligible for this optimization because it’s not in the OSA subnet

OSA OSA

Port name PORTA

Home IP address 10.1.1.1

Mac address MAC1

Port name PORTB

Home IP address 10.1.1.2

Mac address MAC2

TCPIPA VIPA 10.1.1.10

OSA OSA

Port name PORTC

Home IP address 10.1.1.3

Mac address MAC3

Port name PORTD

Home IP address 10.1.1.4

Mac address MAC4

TCPIPB VIPA 10.1.2.1

XCF IP address: 10.1.3.1

XCF IP address: 10.1.3.2

Host-2: 10.1.1.6

IP Address MAC Address

10.1.1.1 MAC1

10.1.1.2 MAC2

10.1.1.3 MAC3

10.1.1.4 MAC4

10.1.1.10 MAC1

Router’s ARP cache

Gratuitous ARP and respond to ARP requests for: •  10.1.1.1 •  10.1.1.10

Gratuitous ARP and respond to ARP requests for: •  10.1.1.4

IP Address ARP Owner

10.1.1.1 Yes

10.1.1.10 Yes

10.1.1.2 No

10.1.3.1 No

OSA PORTA’s Address Table

IPv4 subnet: 10.1.1.0/24

Router: 10.1.1.5

Page 29: IP Routing on z/OS

© 2014 IBM Corporation © 2014 IBM Corporation 29

IP Address MAC Address

10.1.1.1 MAC1

10.1.1.2 MAC2

10.1.1.10 MAC1

10.1.1.3 MAC3

10.1.1.4 MAC4

VIPA movement on a flat network (without dynamic routing)

OSA OSA

Port name PORTA

Home IP address 10.1.1.1

Mac address MAC1

Port name PORTB

Home IP address 10.1.1.2

Mac address MAC2

TCPIPA VIPA 10.1.1.10

OSA OSA

Port name PORTC

Home IP address 10.1.1.3

Mac address MAC3

Port name PORTD

Home IP address 10.1.1.4

Mac address MAC4

TCPIPB VIPA 10.1.2.1

XCF IP address: 10.1.3.1

XCF IP address: 10.1.3.2

Router: 10.1.1.5 Host2: 10.1.1.6

IPv4 subnet: 10.1.1.0/24

Router’s ARP cache

IP Address ARP Owner

10.1.1.1 Yes

10.1.1.10 Yes

10.1.1.2 No

10.1.3.1 No

OSA PORTA’s Address Table

IP Address MAC Address

10.1.1.1 MAC1

10.1.1.2 MAC2

10.1.1.10 MAC3

10.1.1.3 MAC3

10.1.1.4 MAC4

Router’s ARP cache

IP Address ARP Owner

10.1.1.3 Yes

10.1.1.10 Yes

10.1.1.4 No

10.1.3.2 No

10.1.2.1 No

OSA PORTC’s Address Table

Moving VIPA 10.1.1.10 to another LPAR

When 10.1.1.10 is added to OSA PORTC’s OAT with ARP ownership, PORTC sends out a gratuitous ARP that forces nodes on the LAN with that IP address in their ARP cache to update their ARP cache entry with the new MAC address.

Grat ARP for 10.1.1.10

IP Address ARP Owner

10.1.1.1 Yes

10.1.1.10 Yes

10.1.1.2 No

10.1.3.1 No

VIPA 10.1.1.10

Page 30: IP Routing on z/OS

© 2014 IBM Corporation © 2014 IBM Corporation 30

ARP Takeover: Additional layer 2 resilience provided by z/OS+OSA

§ ARP takeover is an additional z/OS + OSA function to keep networks resilient, without dynamic routing

§ When a z/OS TCP/IP stack has multiple OSA interfaces on the same subnet: § The interfaces learn about each other

§ They form a “LAN Group.” § The interfaces back each other up seamlessly and automatically

§ If one goes down, the other(s) take over ARP responsibility for the addresses the failed interface owned

§ Result: Seamless failover between OSA interfaces in case of failures

§ Illustrated on the following slides.

Page 31: IP Routing on z/OS

© 2014 IBM Corporation © 2014 IBM Corporation 31

ARP Takeover Illustrated

OSA OSA

Port name PORTA

Home IP address 10.1.1.1

Mac address MAC1

Port name PORTB

Home IP address 10.1.1.2

Mac address MAC2

TCPIPA VIPA 10.1.1.10

Router: 10.1.1.5/24

IP Address ARP Owner

10.1.1.1 Yes

10.1.1.10 Yes

10.1.1.2 No

10.1.3.1 No

OSA PORTA’s Address Table IP Address ARP Owner

10.1.1.1 No

10.1.1.10 No

10.1.1.2 Yes

10.1.3.1 No

OSA PORTB’s Address Table IP Address ARP Owner

10.1.1.1 Yes

10.1.1.10 Yes

10.1.1.2 No

10.1.3.1 No

OSA PORTA’s Address Table IP Address ARP Owner

10.1.1.1 Yes

10.1.1.10 Yes

10.1.1.2 Yes

10.1.3.1 No

OSA PORTB’s Address Table

XCF IP address: 10.1.3.1

IP Address MAC Address

10.1.1.1 MAC1

10.1.1.2 MAC2

10.1.1.10 MAC1

Router’s ARP cache IP Address MAC Address

10.1.1.1 MAC2

10.1.1.2 MAC2

10.1.1.10 MAC2

Router’s ARP cache

OSA PORTA fails

When PORTA fails, PORTB is takes over ARP ownership of the addresses PORTA previously had. PORTB sends gratuitous ARPs to enable downstream hosts to update their ARP cache.

z/OS TCP/IP supports interface recovery if multiple network interfaces to the same subnet exist. In this example, both OSA PORTA and PORTB are connected to the 10.1.1.0/24 subnet.

Page 32: IP Routing on z/OS

© 2014 IBM Corporation © 2014 IBM Corporation 32

Monitoring LAN groups and ARP takeover

§  Messages are issued when an interface takes over ARP responsibility – EZD0040I INTERFACE OSAQDIO2 HAS TAKEN OVER ARP RESPONSIBILITY FOR

INACTIVE INTERFACE OSAQDIO1 §  Messages are issued whenever a previously taken over link or interface recovers and takes

back the ARP responsibility. – EZD0041I INTERFACE OSAQDIO1 HAS TAKEN BACK ARP RESPONSIBILITY FROM

INTERFACE OSAQDIO2 §  Use Netstat DEvlinks/-d report to tracks the state of takeover:

– Displays ARP/ND information. – LAN group membership is determined dynamically per interface during interface

initialization – LAN group numbers are determined dynamically, they are not configured

......... IPv4 LAN Group Summary LanGroup: 00010 Name Status ArpOwner VipaOwner ---- ------ -------- --------- O3OSXA0 Active O3OSXA0 Yes IPv6 LAN Group Summary LanGroup: 00001 Name Status NDOwner VipaOwner ---- ------ ------- --------- EZ6OSM02 Active EZ6OSM02 Yes EZ6OSM01 Active EZ6OSM01 No

Page 33: IP Routing on z/OS

© 2014 IBM Corporation © 2014 IBM Corporation 33

The fine print! (Some of the rules for availability and DVIPA movement in flat networks without dynamic routing)

§  z/OS VIPA addresses in a flat network configuration without dynamic routing must be allocated out of the same subnet as the directly attached network - in this example, the 10.1.1.0/24 subnet.

– If multiple VLANs are used on the network, VIPA addresses belonging to one VLAN (one subnet) can in general only be accessed and recovered via that VLAN

– A default router that does know about all DVIPAs, can be used to reach VIPAs on other VLANs (subnets)

§  All LPARS in the Sysplex must be attached to one and the same IP subnet via OSA ports.

§ Network interfaces belonging to other IP subnets cannot be used for automatic re-routing around failed OSA ports.

– That includes MPC links, XCF links, or other OSA-attached subnets § Overall physical availability of the network to which the OSA ports are attached

becomes of outmost importance and must generally be based on what is known as Layer2-and-below availability functions in the switches and the physical links (cables).

– Redundant switches with trunk links – part of the zEnterprise infrastructure – Redundant OSA adapters in each LPAR – always use at least two OSX ports – OSA port cabling to multiple switches – part of the zEnterprise infrastructure

Page 34: IP Routing on z/OS

© 2014 IBM Corporation © 2014 IBM Corporation 34

Basic Dynamic Routing Concepts

Page 35: IP Routing on z/OS

© 2014 IBM Corporation © 2014 IBM Corporation 35

Dynamic routing protocols supported on z/OS § z/OS Communication Server supports three dynamic routing protocols

§ Connection routing: a relatively trivial method of determining reachability of directly attached subnets.

§ (Maybe should say we support 2 ½ dynamic routing protocols) § Routing Information Protocol (RIP): A relatively simple distance vector protocol

§ Distance vector means: based on routers sharing their routing tables with each other

§ Open Shortest Path First (OSPF): The primary and recommended routing protocol for z/OS. It’s a link state protocol

§ Link state means: based on routers learning the network topology from each other, then each one independently calculating its routing table based on learned topology

All protocols are supported for both IPv4 and IPv6 and are implemented by the OMPROUTE daemon

Page 36: IP Routing on z/OS

© 2014 IBM Corporation © 2014 IBM Corporation 36

Connection Routing § When an interface becomes available, its attached subnet becomes a reachable destination

§ Learned simply by virtue of an interface coming up, no communication with other routers or hosts required. § Connection routes are indicated by the “C” flag in Netstat reports

z/OS Host

Interface OSA1: 9.1.1.1/24

Subnet 9.1.1.0

MVS TCP/IP NETSTAT CS V2R1 TCPIP Name: TCPCS 14:24:09 IPv4 Destinations Destination Gateway Flags Refcnt Interface ----------- ------- ----- ------ --------- 9.1.1.0/24 0.0.0.0 UC 0000000000 OSA1 9.1.1.1/32 0.0.0.0 UH 0000000000 OSA1

OMPROUTE “Implicit route” is always added by the stack for each local interface IP address

“Connection route” to the interface’s subnet is added by OMPROUTE

Page 37: IP Routing on z/OS

© 2014 IBM Corporation © 2014 IBM Corporation 37

When is connection routing useful? § If z/OS is using dynamic routing and is attached to a back-end network that uses a flat layer 2 configuration

§ That is, every IP address on that back-end network is in the same subnet § Meaning that a route to the subnet can reach every host on the back-end network (via ARP routing), for example

§ A back-end LAN with one or more blade centers attached and the blades are all single homed and without VIPAs

§ Single-homed means they only have IP interface onto the network § zEnterprise IEDN

§ It’s almost always used in conjuction with OSPF or RIP running on other interfaces attached to more complex networks.

Page 38: IP Routing on z/OS

© 2014 IBM Corporation © 2014 IBM Corporation 38

RIP: Routing Information Protocol § RIP is based on routers sharing their routing tables with each other § Each router tells its neighbors what destinations it can reach, routers add their hops and then inform their neighbors

9.1.1.1

9.1.1.2

9.1.2.2

9.1.2.3

9.1.3.3

9.1.3.4

I’m 9.1.1.1 I’m 9.1.2.2

And 9.1.1.1 is one hop away from me and 9.1.1.2 is zero hops away from me

I’m 9.1.3.3

And 9.1.1.1 is two hops away from me and 9.1.1.2 and 9.1.2.2 are one hop away from me amd 9.1.2.3 is zero hops away from me.

Destination Distance 9.1.1.1 1

Destination Distance

9.1.1.1 2 9.1.1.2 9.1.2.2

1 1

Destination Distance

9.1.1.1 3 9.1.1.2 9.1.2.2

2 2

9.1.2.3 9.1.3.3

1 1

Resulting route tables on each host

Page 39: IP Routing on z/OS

© 2014 IBM Corporation © 2014 IBM Corporation 39

More on RIP § The illustration on the previous slide is obviously a simplification of RIP but shows how distance vector algorithms work

§ RIP can use subnet routes, it doesn’t have to show the distance to every host route § RIP has algorithms to prevent routing loops § The distance value defaults to 1 per hop but interfaces can be configured to have higher distance values

§ In RIP, complete routing tables are sent out every 30 seconds § A route not updated within the last 180 seconds is considered unreachable § If there are topology changes, they can be sent out sooner

§ RIP routes timeout if not refreshed within the last 180 seconds § The maximum distance allowed in RIP is 15. A distance of 16 means “infinity” (unreachable) § There are both IPv4 and IPv6 versions of RIP but they work essentially the same way.

Page 40: IP Routing on z/OS

© 2014 IBM Corporation © 2014 IBM Corporation 40

RIP pros and cons

§ PROs § Simplicity § Uses less CPU because no route calculations are being done

§ CONs § Limited network size supported (since distance of 16 = infinity) § Can use a lot of network bandwidth (since entire routing tables are sent every 30 seconds) § Slow to respond to outages (180 second timer to invalidate a route) § Multipath is not supported

§ In other words, can only learn one route to a specific destination

Page 41: IP Routing on z/OS

© 2014 IBM Corporation © 2014 IBM Corporation 41

OSPF: Open Shortest Path First

§ Unlike RIP, OSPF is a link state protocol § This means that routers exchange topology information, not routes, and each one uses that info to compute its own route table

§ This exchange of topology makes the protocol more powerful and complex than RIP, because of questions like:

§ How does a router know who to exchange topology with? § How much of the network topology does any one router have to know? § How is topology represented? § How is the routing table built?

§ A full OSPF tutorial would fill a presentation on its own so we will only cover some basic high level concepts.

Page 42: IP Routing on z/OS

© 2014 IBM Corporation © 2014 IBM Corporation 42

OSPF: How does a router know who to exchange topology with?

§ Routers use the hello protocol and adjacencies to track each other § The hello protocol is both a probe and a keepalive

§ Routers multicast hello packets to all other routers every hello interval (z/OS default 10 seconds), using a special OSPF multicast address § Routers not heard from for the dead router interval by their neighbors are considered down and unreachacle (z/OS default 40 seconds)

§ The adjacency is how routers keep track of their immediate neighbors § Routers fully communicating with each other and exchanging topology are fully adjacent (neighbor state 128) § Routers go through a progression of states to negotiate and mange adjacencies. Not all physically connected routers become fully adjacent with each other.

Page 43: IP Routing on z/OS

© 2014 IBM Corporation © 2014 IBM Corporation 43

Hello and adjacency illustrated

Page 44: IP Routing on z/OS

© 2014 IBM Corporation © 2014 IBM Corporation 44

OSPF: What is the designated router? § If there are multiple routers on a LAN, fully meshed adjacencies would be a large processing burden. So for efficiency, one router on a LAN is elected the “Designated Router” (DR) and another becomes the Backup Designated Router (BDR)

§ DR and BDR become fully adjacent with every other router on the LAN § The non-DR LAN members only become fully adjacent with the DR and the BDR, not with each other (their neighbor states stop progressing at “2way”) § In this manner, the DR “owns” the LAN for OSPF purposes

§ Gathers topology info from all members and advertises it to the rest of the network § Receives topology info from the rest of the network and distributes it to the other LAN members

§ The BDR quietly waits to take over if the DR fails § The “Designated Router Priority” guides the negotiation to pick the DR and BDR so admins have significant influence here

§ Tip: the DR and BDR should be real routers (e.g., Cisco boxes) not a data host (e.g., z/OS host) whenever possible

Page 45: IP Routing on z/OS

© 2014 IBM Corporation © 2014 IBM Corporation 45

Designated Router Illustrated

Host 1 Host 2 Host 3

Router (DR)

Router (BDR)

IF IF IF

Full adjacency (state 128) with topology exchange Two-way adjacency (state 8) with hello keepalive only

Notes: Ø BDR is optional Ø As the number of non-DR hosts increases, the efficiency benefit increases

To the rest of the network

Page 46: IP Routing on z/OS

© 2014 IBM Corporation © 2014 IBM Corporation 46

How much of the network topology does any one router have to know?

§ To prevent every host in the OSPF domain from being overwhelmed with WAN topology, the OSPF domain is divided into areas.

§ Routers only exchange and store topology for their specific area § Destinations outside the area are reached using area-border routers and summary routes

§ Areas are named using 32 bit numbers written in dotted decimal notation (including in IPv6), for example area 1 is 0.0.0.1 § The backbone area (area 0.0.0.0) is a special area… all other areas must be attached to it and all inter-area routing must go through the backbone.

§ The backbone area is, as the name implies, the backbone of the OSPF domain § Two non-backbone areas cannot be directly connected… must go through the backbone

§ Stub areas and totally stubby areas are another special type of area that limit the amount of information that hosts within the area have to learn about the rest of the network

Page 47: IP Routing on z/OS

© 2014 IBM Corporation © 2014 IBM Corporation 47

Backbone area, illustrated

• Routers Rb, Rc and Rf are Area Border Routers (ABRs) • They manage the exchange of data between areas and maintain topology databases for both areas they belong to.

• Routers Ra, Rd, Re, Rg, Rh, and Rk only maintain topology for their respective areas and they learn about inter-area routes from the Area Border Routers that attach their areas to other areas.

Page 48: IP Routing on z/OS

© 2014 IBM Corporation © 2014 IBM Corporation 48

Totally stubby areas § Routers learn about destinations in other areas from summary routes advertised by the area-border routers.

§ In a large network this can be a large number of routes § Totally Stubby Areas are special areas that limit the amount of inter-area topology that the routers and hosts have to know. Area 4.4.4.4 on the previous slide is a totally stubby area.

§ Instead of advertising inter-area destinations into a stub area, a totally stubby area border router simply advertises a default route into the stub area (destinations within the totally stub area are still advertised to the backbone)

§ It’s in effect saying “don’t worry about what’s outside this area, just forward all packets to me and I’ll handle it”

§ This greatly reduces the size and complexity of routing tables within a totally stubby area

§ For this reason it’s recommended to place z/OS hosts and sysplexes within totally stubby areas whenever possible

§ Restriction: a totally stubby area only works if all the area border routers that it uses can actually reach all destinations outside the area

§ Good network design should ensure this.

Page 49: IP Routing on z/OS

© 2014 IBM Corporation © 2014 IBM Corporation 49

Autonomous systems and external routes § A routing domain is also called an Autonomous System (AS). One Autonomous system uses one routing protocol. Examples of Autonomous Systems:

§  A corporation’s OSPF network § The same corporation’s RIP network § The same corporation’s static network (i.e., areas where no routing protocol is running)

§ A router that acts as a boundary between AS’s is called an Autonomous System Boundary Router or ASBR.

§ An ASBR’s job is to manage the import and advertisement of routes between different AS’s. For example, importing RIP routes into OSPF and vice versa § z/OS supports being an ASBR, but even if you’re not an ASBR, it’s important to understand what an external route is

§ An external route is a route imported into the AS from another AS. For example, a destination that is reached via a static or RIP route that’s advertised into OSPF is an AS external destination

Page 50: IP Routing on z/OS

© 2014 IBM Corporation © 2014 IBM Corporation 50

Areas and AS’s: putting it all together

• This picture shows two AS’s (the OSPF AS and the attached RIP AS) and three areas (the OSPF backbone area, a non-backbone area, and a Totally Stubby area).

• Router 3 is an ASBR and an ABR. It imports destinations from the RIP AS into OSPF. It also manages the boundary between the backbone and the totally stubby area • Router2 is an ABR. It manages the boundary between the backbone area and the non backbone area.

Page 51: IP Routing on z/OS

© 2014 IBM Corporation © 2014 IBM Corporation 51

Flooding: getting the topology info out there

• The previous picture showed which hosts originate what types of routing information. To get routing information known beyond immediate neighbors, information is flooded throughout the AS. Flooding means reforwarding received topology information • This slide shows what type of information each router floods (reforwards). It’s important to note that Router3 only floods a default route into the totally stubby area… sparing the hosts therein from having to keep all the backbone, RIP, and non-backbone destinations in their routing tables.

Page 52: IP Routing on z/OS

© 2014 IBM Corporation © 2014 IBM Corporation 52

Building the routing trees

• As a result of flooding, each router learns the full topology of the area it belongs to. • It uses this topology to use the Djikstra algorithm to calculate a routing tree

• This tree represents the best way to reach each destination in the area • An ABR computes a separate tree for each area it’s attached to

• After the area trees are computed, the best route to reach each area destination, the external (from other AS) routes, and summary (from other areas) routes are added to the routing table.

Page 53: IP Routing on z/OS

© 2014 IBM Corporation © 2014 IBM Corporation 53

Some notes on OSPF route computation § To reduce the number of entries in routing tables, OSPF computes subnet routes whenever possible.

§ For example, to an IPv4 LAN only a subnet route will be added to the routing table. There is no need to add host routes for the host interfaces on that LAN, because they will all be in the LAN subnet so an individual host can be found using ARP, once a route has gotten the packet to the LAN § This also applies to VIPAs, but you have to be more careful. If multiple VIPAs in the same subnet are on different hosts, host routes will have to be advertised instead of subnet routes. More on this on a later slide. § Because IPv6 has more flexibility in assigning IP addresses and prefixes than IPv4, this isn’t always possible so in an IPv6 network you may find many more host routes in a routing table.

§ For IPv6, the next hop in a computed route is always the link local address of the next hop router’s interface on the LAN. Global addresses are never computed as next hop destinations.

Page 54: IP Routing on z/OS

© 2014 IBM Corporation © 2014 IBM Corporation 54

IPv4 OSPF vs. IPv6 OSPF § IPv4 OSPF is OSPF version 2

§ All routers and links are represented by their IP addresses § One of the IP addresses on a router is chosen to represent the router (“Router ID”)

§ z/OS recommendation: use a static VIPA § IPv6 OSPF is OSPF version 3

§ All routers and links are represented abstractly § Routers: by router ID, which is a 32 bit number represented in IPv4 style dotted-decimal notation but is actually an arbitrary value § Links: represented by Interface ID, which is also an arbitrary 32 bit number but is represented as an integer § Actual IP addresses are advertised separately from topology, referencing topology (e.g., “the IP address of link 23 on router 1.1.1.1 is 2001:0db8::9:7”)

§ Building the routing table in IPv4: build the tree to find the best route to each IP address § Building the routing table in IPv6: build the tree to find the best route to each abstract topology element, then overlay the separately advertised IP addresses on that tree to create the routing table.

Page 55: IP Routing on z/OS

© 2014 IBM Corporation © 2014 IBM Corporation 55

OSPF pros and cons

§ PROs § Significant network design flexibility

§ Virtually unlimited network size and complexity supported § After initial synchronization, topology information is only flooded when it changes, so uses less network bandwidth than RIP.

§ That’s a bit of a simplification but holds true. Each topology element is also refreshed every 30 minutes if no changes

§ Responds to outages and topology changes quickly because it uses proactive notifications and more timers, rather than relying on garbage collection like RIP § Supports multipath (can compute multiple equal-cost routes to a single destination)

§ CONs § Complexity § Because of route computations and keepalive timers, uses more CPU than RIP.

Page 56: IP Routing on z/OS

© 2014 IBM Corporation © 2014 IBM Corporation 56

So now you’re an expert on OSPF!?

§ OSPF is a complex and large protocol. We’ve only scratched the surface in this presentation and we’ve done a lot of simplification in the interest of time

§ A full OSPF tutorial would be a presentation on its own

§ For more detailed information on OSPF you can consult:

§ RFC 2328 § This RFC defines OSPF version 2 (for IPv4) § http://www.ietf.org/rfc/rfc2328.txt

§ RFC 2740 § Defines OSPF version 3 (for IPv6) § Note this RFC assumes familiarity with OSPF version 2 § http://tools.ietf.org/html/rfc2740

Page 57: IP Routing on z/OS

© 2014 IBM Corporation © 2014 IBM Corporation 57

Dynamic Routing on z/OS

Page 58: IP Routing on z/OS

© 2014 IBM Corporation © 2014 IBM Corporation 58

OMPROUTE § The OMPROUTE daemon performs dynamic routing on z/OS

§ Open MultiProtocol Router § OMPROUTE implements OSPF and RIP, for both IPv4 and IPv4. § It also does connection routing, and integrates static routes from the TCP/IP stack into the the OSPF & RIP domains. § OMPROUTE learns local configuration from the TCP/IP stack over an Informational Socket § OMPROUTE communicates with other routers using the OSPF and RIP protocols and uses the information learned to build its internal routing table

§  and then uses IOCTL calls to build and update the stack’s routing table from its internal table.

Page 59: IP Routing on z/OS

© 2014 IBM Corporation © 2014 IBM Corporation 59

Configuring OMPROUTE § OMPROUTE is a z/OS Unix daemon and runs in the z/OS Unix shell § OMPROUTE locates its configuration file using the OMPROUTE_FILE environment variable

§ Usually specified in the file pointed to by the STDENV card in the OMPROUTE started PROC.

§ In the OMPROUTE configuration file, you specify: § General control information for each routing protocol being implemented § The dynamic routing characteristics of the stack’s IP interfaces

Page 60: IP Routing on z/OS

© 2014 IBM Corporation © 2014 IBM Corporation 60

Sample OMPROUTE configuration file: OSPF

OSPF Router_ID=10.138.165.9 ; Area Area_number=1.1.1.1 Stub_area=yes Import_Summaries=no ; Area Area_number=0.0.0.0 ; AS_Boundary_Routing

Import_Static_Routes=YES Import_RIP_Routes=YES ;

Define the router ID (we recommend a static VIPA)

This OMPROUTE is an area-border router because it’s attached to two areas: § Totally Stubby Area 1.1.1.1:

§ This router will advertise a default route into 1.1.1.1 to represent the backbone and the rest of the network.

§ The backbone (0.0.0.0): § This router will advertise all 1.1.1.1 destinations into the backbone as summary routes

This router is an AS Boundary router and will import both Static and RIP routes into the OSPF AS ü Note that these routes will only be imported into the backbone and non-stub areas. They aren’t allowed in stub areas.

Page 61: IP Routing on z/OS

© 2014 IBM Corporation © 2014 IBM Corporation 61

Sample OMPROUTE configuration file: IPv4 VIPA Interfaces

OSPF_Interface IP_address=10.138.165.9 Name=SVIPA1 Subnet_mask=255.255.255.248 Attaches_to Area=1.1.1.1 Advertise_VIPA_ROUTES=HOST_ONLY ; OSPF_Interface IP_Address=10.138.200.160 Name=DVIPA Subnet_mask=255.255.255.240 Attaches_to_area=1.1.1.1 ;

IP Address and name must match the stack’s definition

This is a special wildcard for dynamic VIPAs. Note that the IP address is actually the subnet number. Any dynamic VIPA created that falls into this subnet will use this definition if no exact match was found.

For IPv4, the rules for matching a stack VIPA interface to an OMPROUTE definition are: 1. If a static VIPA, match on the IP address then verify the name matches the linkname 2. If a dynamic VIPA, do step 1 first, if no match then match on the subnet number and the name is irrelevant

This is how you control whether OSPF advertises a host or a subnet route for the VIPA

Page 62: IP Routing on z/OS

© 2014 IBM Corporation © 2014 IBM Corporation 62

Sample OMPROUTE configuration file: IPv4 OSA and Hipersockets interfaces

OSPF_Interface IP_address=10.72.116.14 Name=OSAQDIO1A Subnet_mask=255.255.255.128 Attaches_to Area=1.1.1.1 MTU=1500 Router_priority=0 Hello_interval=5 Dead_router_interval=20 Cost0=100; OSPF_Interface IP_Address=10.138.99.14 Name=HSOCKT12 Subnet_mask=255.255.255.240 Attaches_to_area=1.1.1.1 MTU=8000 Router_priority=10 Cost=50 ;

IP Address and name must match the stack’s definition

Always specify the MTU or OMPROUTE will use 576.

Router_priority of 0 means “I will not be a designated router”

Always indicate which OSPF area an interface is attached to

Because no routers can attach to Hipersockets, someone has to be DR

The relatively lower cost indicates that the Hipersockets path is twice as desirable as the OSA path, for route computation purposes

Page 63: IP Routing on z/OS

© 2014 IBM Corporation © 2014 IBM Corporation 63

Sample OMPROUTE configuration file: wildcard interfaces

OSPF_Interface IP_address=10.72.*.* Subnet_mask=255.255.255.128 Attaches_to Area=1.1.1.1 MTU=1500 Router_priority=0 Hello_interval=5 Dead_router_interval=20 Cost0=100; OSPF_Interface IP_Address=10.138.99.* Subnet_mask=255.255.255.240 Attaches_to_area=1.1.1.1 MTU=8000 Router_priority=10 Cost=50 ;

If you have multiple similar interfaces with IP addresses within a reasonable grouping, consider using a wildcard interface definition, like this one that replaces the OSA definition on the previous slide. This way you can write one statement to configure multiple interfaces.

When matching its definitions to stack interfaces, OMPROUTE first looks for an exact match, then for a wildcard, picking the most specific one that matches.

Since the name is not required on wildcard interfaces, they are also handy for interface types with generated names (like XCF Hipersockets)

Page 64: IP Routing on z/OS

© 2014 IBM Corporation © 2014 IBM Corporation 64

Sample OMPROUTE configuration file: IPv6 OSPF

IPv6_OSPF Router_ID=20.1.70.14 ; IPv6_Area Area_number=61.61.61.61 Stub_area=yes Import_Summaries=no ; IPv6_Area Area_number=0.0.0.0 ; IPv6_AS_Boundary_Routing

Import_Static_Routes=YES Import_RIP_Routes=YES ;

Remember in IPv6 this is an arbitrary value, not related to any interfaces. The only requirement is that it be unique throughout the IPv6 OSPF Autonomous System.

IPv6 OSPF definitions are very similar to their IPv4 equivalents!

Like IPv4, the IPv6 backbone area is always 0.0.0.0

Page 65: IP Routing on z/OS

© 2014 IBM Corporation © 2014 IBM Corporation 65

Sample OMPROUTE configuration file: IPv6 OSPF Interfaces

IPv6_OSPF_Interface Name=OSA6* Attaches_to Area=61.61.61.61 Router_priority=0 Hello_interval=5 Dead_router_interval=20 Cost0=100; IPv6_OSPF_Interface Name=VIPA6* Attaches_to_area=61.61.61.61 ;

Because IPv6 addresses are dynamic and often auto-configured, IPv6 interfaces are defined to OMPROUTE by name only. OMPROUTE learns the interface’s IP addresses and prefix lengths from the stack. Names can be explicit or wildcard, as shown here.

NO MTU definition either.. For IPv6 OMPROUTE learns that from the stack as well.

Because OMPROUTE learns so much more information from the stack about IPv6 interfaces, and because they are defined by names, IPv6 interface definitions are usually much simpler in OMPROUTE than their IPv4 equivalents

Page 66: IP Routing on z/OS

© 2014 IBM Corporation © 2014 IBM Corporation 66

Sample OMPROUTE configuration file: Generic Interfaces

IPv6_Interface Name=TRLAN6* ; Interface IP_Address=10.1.1.14 Name=PRIVATE4 Subnet_mask=255.255.255.0 MTU=1500;

The Interface statement (not to be confused with the INTERFACE statement in the TCP/IP profile) is used to define interfaces over which no dynamic routing protocol will be run. For example, a private network over which only static routes will be used. When these interfaces come up, OMPROUTE will add a connection route to the interface’s subnet.

For IPv4 the main reason for this definition is to set the subnet mask and MTU. If not defined OMPROUTE will use the class mask (which in the sample above would be 255.0.0.0) and an MTU of 576, which could result in undesirable connection routes being added to the routing table. In the above example without the subnet mask and MTU defined to OMPROUTE, when PRIVATE4 comes up OMPROUTE would add a route to 10.0.0.0 with an MTU of 576 to the stack’s routing table which for destinations in the 10. network. This route would take precedence over any default routes in the routing table for hosts in that network, which is not likely what was intended.

Page 67: IP Routing on z/OS

© 2014 IBM Corporation © 2014 IBM Corporation 67

Sample OMPROUTE configuration file: RIP definitions

RIP_Interface IP_address=10.72.134.14 Name=OSAQDIO1A Subnet_mask=255.255.255.128 MTU=1500 In_Metric=2; IPv6_RIP_Interface Name=HSOCKT* Subnet_mask=255.255.255.240 In_Metric=1 ;

In the interest of time we won’t go over RIP definitions in detail here. Suffice to say they are analogous to OSPF definitions in most ways, except they specify RIP information for interfaces.

Remember, in RIP a distance of 16 means infinity, so there isn’t a lot of flexibility in setting these values. Usually 1 (the default) is used.

Page 68: IP Routing on z/OS

© 2014 IBM Corporation © 2014 IBM Corporation 68

Monitoring OMPROUTE § OMPROUTE has an extensive set of display commands to help you see what’s going on with dynamic routing § OMPROUTE’s displays are accessed through the D TCP/IP command

§ D TCPIP,tcpipjobname,OMPROUTE,omproute_display_command… § Shortcut: OMPROUTE displays can also be done through the MODIFY OMPROUTE command, i.e.,

§ F omproutejobname,omproute_display_command § OMPROUTE has displays to:

§ Display OMPROUTE’s internal routing table § Display interface information § Display neighbor information § Display topology database information

Page 69: IP Routing on z/OS

© 2014 IBM Corporation © 2014 IBM Corporation 69

RTTABLE: display OMPROUTE’s internal routing table D TCPIP,,OMPROUTE,RTTABLE EZZ7847I ROUTING TABLE TYPE DEST NET MASK COST AGE NEXT HOP(S) SPF 2.2.2.0 FFFFFFFC 3 1380 9.67.106.4 SPF 2.2.2.2 FFFFFFFF 3 1380 9.67.106.4 RIP 6.6.6.4 FFFFFFFC 2 30 9.67.103.6 SPIA* 7.7.7.4 FFFFFFFC 3 1380 9.67.106.4 DIR* 9.67.100.0 FFFFFF00 1 1576 9.67.100.7 SPF 9.67.100.7 FFFFFFFF 2 1545 CTC7TO8 SPE2 10.1.1.0 FFFFFF00 0 1379 9.67.106.4 SPE2 10.1.1.1 FFFFFFFF 0 1379 9.67.106.4 SPE2 130.202.0.0 FFFF0000 0 1379 9.67.100.8 (2)

An interface name instead of a next hop IP address indicates a direct route

This indicates that there are actually two equal cost routes to this destination

This displays OMPROUTE’s internal routing table. This is not the stack’s routing table. OMPROUTE uses this table as the basis for building the stack’s table. Primary types are:

• SPF – route computed from local area topology using Djikstra algorithm • SPIA – summary route to destination in another area, from an area-border router • RIP – route computed using RIP • SPEx – OSPF external route (imported by an AS Boundary Router) • STAT – static route from the stack • RSTA – Replaceable static route from the stack

Notes: for the IPv6 routing table, use RT6TABLE display command This route table edited for space so it’s not complete

Page 70: IP Routing on z/OS

© 2014 IBM Corporation © 2014 IBM Corporation 70

RTTABLE: display routes for a specific destination

D TCPIP,,OMPROUTE,RTTABLE,DEST=9.68.101.66 EZZ7874I ROUTE EXPANSION 370 DESTINATION: 9.68.101.0 MASK: 255.255.255.0 ROUTE TYPE: SPF DISTANCE: 6 AGE: 1344 NEXT HOP(S): 9.167.100.17 (CTC2) 9.168.101.4 (CTC1)

Note the apparent mismatch. OMPROUTE does not have a host route for this destination and this subnet route is the most specific route available so it is what is shown.

If there are multiple equal cost routes for a destination, this display will show them all. OMPROUTE provides all equal cost routes to the stack, and the stack makes any round-robin decisions based on the configured IPCONFIG MULTIPATH value.

Page 71: IP Routing on z/OS

© 2014 IBM Corporation © 2014 IBM Corporation 71

Display summary OSPF interface information D TCPIP,,OMPROUTE,OSPF,IFS EZZ7849I INTERFACES 354 IFC ADDRESS PHYS ASSOC. AREA TYPE STATE #NBRS #ADJS 9.168.100.3 CTC1 0.0.0.0 P-P 16 0 0 9.167.100.13 CTC2 2.2.2.2 P-P 16 1 1 10.1.1.1 OSAGBE1 3.3.3.3 BRDCST 32 4 2 12.1.1.1 VIPA1A 3.3.3.3 VIPA N/A N/A N/A

Remember the designated router architecture discussed earlier. There are four other routers/hosts on this LAN, but this host only becomes fully adjacent to the DR and the BDR, which is why these numbers are different.

Interface state values are documented in IP System Admin Commands. State 32 indicates “not a designated router”

Page 72: IP Routing on z/OS

© 2014 IBM Corporation © 2014 IBM Corporation 72

Display detailed OSPF interface information D TCPIP,,OMPROUTE,OSPF,IF,NAME=OSAQDIO1A EZZ7850I INTERFACE DETAILS 356 INTERFACE ADDRESS: 9.168.100.3 ATTACHED AREA: 0.0.0.0 PHYSICAL INTERFACE: OSAQDIO1A INTERFACE MASK: 255.255.255.0 INTERFACE TYPE: BRDCST STATE: 32 DESIGNATED ROUTER: 9.168.100.1 BACKUP DR: 9.168.100.2 DR PRIORITY: 0 HELLO INTERVAL: 20 RXMT INTERVAL: 10 DEAD INTERVAL: 80 TX DELAY: 1 POLL INTERVAL: 0 DEMAND CIRCUIT: OFF HELLO SUPPRESS: OFF SUPPRESS REQ: OFF MAX PKT SIZE: 556 TOS 0 COST: 100 DB_EX INTERVAL: 256 AUTH TYPE: CRYPTO-MD5 # NEIGHBORS: 4 # ADJACENCIES: 2 # FULL ADJS.: 2 # MCAST FLOODS: 0 # MCAST ACKS: 0 # MAX ADJ. RESETS: 0 # ERR PKTS RCVD: 0 NETWORK CAPABILITIES: BROADCAST MULTICAST

Tells you who the DR and BDR are on this LAN

Configuration information

Someone forgot to configure the MTU value so OMPROUTE used the default. This was probably not the intended result and is causing excessive fragmentation

Page 73: IP Routing on z/OS

© 2014 IBM Corporation © 2014 IBM Corporation 73

Displaying other types of interfaces § There are similar displays for RIP interface information, as well as IPv6 equivalents. In the interest of time we won’t go over them here but they are very similar

§ D TCPIP,,OMPROUTE,RIP,IFS § D TCPIP,,OMPROUTE,RIP,IF,NAME= § D TCPIP,,OMPROUTE,IPV6RIP,IFS § D TCPIP,,OMPROUTE,IPV6RIP,IF,NAME= § D TCPIP,,OMPROUTE,IPV6OSPF,IFS § D TCPIP,,OPMROUTE,IPV6OSPF,IF,NAME= § D TCPIP,,OMPROUTE,GENERIC,IF § D TCPIP,,OMPROUTE,GENERIC6,ALL

Note: GENERIC refers to interfaces defined to OMPROUTE using the INTERFACE statement (i.e., not OSPF or RIP)

Page 74: IP Routing on z/OS

© 2014 IBM Corporation © 2014 IBM Corporation 74

Displaying OSPF neighbor information D TCPIP,,OMPROUTE,OSPF,NBRS EZZ7851I NEIGHBOR SUMMARY NEIGHBOR ADDR NEIGHBOR ID STATE LSRXL DBSUM LSREQ HSUP IFC 199.11.80.109 197.11.108.17 128 0 0 0 OFF OSAQDIO1 199.11.80.108 197.11.108.1 128 0 0 0 OFF OSAQDIO1 199.11.80.105 197.11.105.15 8 0 0 0 OFF OSAQDIO1 199.11.80.104 197.11.104.14 8 0 0 0 OFF OSAQDIO1 199.11.80.103 197.11.104.33 8 0 0 0 OFF OSAQDIO1

These are the neighbor states discussed earlier

Neighbor relationships are important to the functioning of OSPF because it’s how a router learns network topology. So this display is handy for making sure we’re communicating with other routers. In this simplified example, the z/OS host has one OSA interface with five neighbors. The top two in the list are the DR and BDR, so those are the ones OMPROUTE becomes fully adjacent with. The other neighbors remain in state 8, 2-way, meaning we are all seeing each other’s HELLO (keepalive) packets

Page 75: IP Routing on z/OS

© 2014 IBM Corporation © 2014 IBM Corporation 75

Detailed neighbor display D TCPIP,,OMPROUTE,OSPF,NBR,IPADDR=9.67.100.17 EZZ7852I NEIGHBOR DETAILS 360 NEIGHBOR IP ADDRESS: 9.167.100.17 OSPF ROUTER ID: 9.67.100.7 NEIGHBOR STATE: 128 PHYSICAL INTERFACE: OSAQDIO1 DR CHOICE: 9.67.100.17 BACKUP CHOICE: 9.67.100.1 DR PRIORITY: 200 NBR OPTIONS: E,DC (0X22) DB SUMM QLEN: 0 LS RXMT QLEN: 0 LS REQ QLEN: 0 LAST HELLO: 1 NO HELLO: OFF # LS RXMITS: 1 # DIRECT ACKS: 2 # DUP LS RCVD: 2 # OLD LS RCVD: 0 # DUP ACKS RCVD:0 # NBR LOSSES: 0 # ADJ. RESETS: 2 # ERR LS RCVD: 0

This is who the neighbor thinks owns these roles. If they disagree with local values, a problem is likely

This is the local interface over which this host is adjacent to this neighbor

This display allows you to further explore OMPROUTE’s relationship with a neighboring router

Page 76: IP Routing on z/OS

© 2014 IBM Corporation © 2014 IBM Corporation 76

More displays § There is a large set of displays for displaying the topology database information as known by OMPROUTE. In the interest of time, these displays are beyond the scope of this presentation but they are well documented, with samples, in the IP System Administrator’s Guide.

§ D TCPIP,,OMPROUTE,OSPF,AREASUMM § D TCPIP,,OMPROUTE,OSPF,DATABASE,AREAID=…

§ Displays an area’s topology database § D TCPIP,,OMPROUTE,OSPF,EXTERNAL § D TCPIP,,OMPROUTE,OSPF,LSA…

§ Displays specific received topology advertisements

Note: All of the OSPF displays discussed in this presentation have IPv6 equivalents. Just substitute IPV6OSPF for OSPF in the statement syntax.

Page 77: IP Routing on z/OS

© 2013 IBM Corporation 77