Diagnosing NCPROUTE problems
The NCPROUTE protocol provides a standardized interface, through which a server program on one host (NCPROUTE) can manage the routing tables and respond to SNMP route table requests for another program (Network Control Program).
Figure 1 shows the NCPROUTE environment.
Prior to ACF/NCP V7R1, static route tables were used for routing IP datagrams over connected networks. However, the static routes had a drawback in that they were not able to respond to network topology changes. By implementing the RIP protocol between a host and NCP clients, the NCPROUTE server is able to provide dynamic IP routing for NCP clients. In effect, the NCP clients become active RIP routers in a TCP/IP network.
Multiple NCP units (374x family of communications controllers) can connect to the same NCPROUTE server on one host. This means that NCPROUTE can manage multiple routing tables for each NCP client. SNALINK is used as the connection vehicle to establish LU0 sessions between NCPROUTE and NCP clients. Each NCP client can have one or more LU0 sessions with NCPROUTE, provided that one session is used as primary and others as secondary for backup.
The NCPROUTE server reacts to network topology changes on behalf of NCP clients by maintaining each NCP client routing table, processing and generating RIP and SNMP datagrams, and performing error recovery procedures.
The NCPROUTE protocol is based on the exchange of protocol data units (PDUs).
- Hello PDU
- Sent from an NCP client to initiate a session with NCPROUTE.
- Acknowledge PDU
- Sent from NCPROUTE to acknowledge receipt of a Hello datagram. NCPROUTE is ready to manage the routing tables for an NCP client.
- Status PDU
- Sent from an NCP client to inform NCPROUTE of a status change with an interface. Interfaces can become inactive or active.
- Delete Route Request PDU
- Sent from NCPROUTE to request deletion of a route that is no longer known to the network from an NCP client routing table. This PDU can also be sent from an NCP client as a response informing NCPROUTE that the delete route request failed.
- Add Route Request PDU
- Sent from NCPROUTE to request addition of a route that is discovered by NCPROUTE to an NCP client routing table. This PDU can also be sent from an NCP client as a response informing NCPROUTE that the add route request failed.
- Change Route Request PDU
- Sent from NCPROUTE to request changing the value of a metric for a route currently active in an NCP client routing table.
- Transport PDU
- Sent from an NCP client to request NCPROUTE to retransmit RIP broadcasts sent from other routers and to process Simple Network Management Protocol (SNMP) requests sent from SNMP clients in the network. This PDU can also be sent from NCPROUTE as a response to retransmit RIP broadcasts or as a response to an SNMP query request. The Transport PDU contains encapsulated RIP and SNMP commands for additional processing.
- Inactive Interface List PDU
- Sent from an NCP client to inform NCPROUTE of currently inactive interfaces.
NCPROUTE uses the RIP messages for retransmitting of and responding to RIP updates and trace requests. A message might be unicasted, broadcasted, or multicasted, depending on the network interface capabilities in an NCP client.
Message type | Description |
---|---|
Request | There are two types of Request messages:
|
Response | There are two types of Response messages:
|
TraceOn | NCP received a request from a neighboring RIP router to enable the actions trace provided by NCPROUTE. |
TraceOff | NCP received a request to a neighboring RIP router to disable tracing provided by NCPROUTE. |
NCPROUTE communicates with the SNMP agent over the Distributed Program Interface (DPI) to process the SNMP commands. In this configuration, NCPROUTE becomes the SNMP subagent to provide values of registered MIB variables to the SNMP agent.
There are four types of SNMP commands that can be encapsulated within a Transport PDU:
- Get Request
- NCP received a request from a client to obtain one or more MIB variable values from an SNMP agent.
- Get Next Request
- NCP received a request from a client to obtain the next variable value in the MIB tree from an SNMP agent.
- Get Response
- Sent from NCP to its client as a response to an SNMP request.
- Set Request
- NCP received a request from a client to set or change the value of one or more MIB variables in an SNMP agent. This command is not supported by NCPROUTE.
See z/OS Communications Server: IP User's Guide and Commands for detailed information about the SNMP commands.
MIB variable | Description |
---|---|
ipRouteDest | Destination IP address of this route |
ipRouteMetric1 | Primary routing metric for this route |
ipRouteMetric2 | Alternative routing metric for this route |
ipRouteMetric3 | Another alternative routing metric for this route |
ipRouteMetric4 | Another alternative routing metric for this route |
ipRouteNextHop | IP address of the next hop of this route |
ipRouteType | Type of route |
ipRouteProto | Routing mechanism by which this route was learned |
ipRouteMask | Mask value for this route |
See z/OS Communications Server: IP User's Guide and Commands for detailed information about the MIB variables.