TCP/IP Functional Description: DN70265755 Issue 4-1
TCP/IP Functional Description: DN70265755 Issue 4-1
TCP/IP Functional Description: DN70265755 Issue 4-1
The information in this document applies solely to the hardware/software product (“Product”) specified
herein, and only as specified herein. Reference to “Nokia” later in this document shall mean the respective
company within Nokia Group of Companies with whom you have entered into the Agreement (as defined
below).
This document is intended for use by Nokia's customers (“You”) only, and it may not be used except for the
purposes defined in the agreement between You and Nokia (“Agreement”) under which this document is
distributed. No part of this document may be used, copied, reproduced, modified or transmitted in any form
or means without the prior written permission of Nokia. If You have not entered into an Agreement
applicable to the Product, or if that Agreement has expired or has been terminated, You may not use this
document in any manner and You are obliged to return it to Nokia and destroy or delete any copies thereof.
The document has been prepared to be used by professional and properly trained personnel, and You
assume full responsibility when using it. Nokia welcomes your comments as part of the process of
continuous development and improvement of the documentation.
This document and its contents are provided as a convenience to You. Any information or statements
concerning the suitability, capacity, fitness for purpose or performance of the Product are given solely on
an “as is” and “as available” basis in this document, and Nokia reserves the right to change any such
information and statements without notice. Nokia has made all reasonable efforts to ensure that the
content of this document is adequate and free of material errors and omissions, and Nokia will correct
errors that You identify in this document. Nokia's total liability for any errors in the document is strictly
limited to the correction of such error(s). Nokia does not warrant that the use of the software in the Product
will be uninterrupted or error-free.
NO WARRANTY OF ANY KIND, EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO
ANY WARRANTY OF AVAILABILITY, ACCURACY, RELIABILITY, TITLE, NON-INFRINGEMENT,
MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE, IS MADE IN RELATION TO THE
CONTENT OF THIS DOCUMENT. IN NO EVENT WILL NOKIA BE LIABLE FOR ANY DAMAGES,
INCLUDING BUT NOT LIMITED TO SPECIAL, DIRECT, INDIRECT, INCIDENTAL OR CONSEQUENTIAL
OR ANY LOSSES, SUCH AS BUT NOT LIMITED TO LOSS OF PROFIT, REVENUE, BUSINESS
INTERRUPTION, BUSINESS OPPORTUNITY OR DATA THAT MAY ARISE FROM THE USE OF THIS
DOCUMENT OR THE INFORMATION IN IT, EVEN IN THE CASE OF ERRORS IN OR OMISSIONS
FROM THIS DOCUMENT OR ITS CONTENT.
This document is Nokia proprietary and confidential information, which may not be distributed or disclosed
to any third parties without the prior written consent of Nokia.
Nokia is a registered trademark of Nokia Corporation. Other product names mentioned in this document
may be trademarks of their respective owners.
Only trained and qualified personnel may install, operate, maintain or otherwise handle this
product and only after having carefully read the safety information applicable to this product.
The safety information is provided in the Safety Information section in the “Legal, Safety and
Environmental Information” part of this document or documentation set.
Nokia is continually striving to reduce the adverse environmental effects of its products and services. We
would like to encourage you as our customers and users to join us in working towards a cleaner, safer
environment. Please recycle product packaging and follow the recommendations for power use and proper
disposal of our products and their components.
If you should have questions regarding our Environmental Policy or any of the environmental services we
offer, please contact us at Nokia for any additional information.
Table of Contents
This document has 33 pages
Summary of changes..................................................................... 6
List of Figures
Figure 1 TCP/IP protocol suite of Nokia SGSN.................................................. 7
Figure 2 TCP/IP core service users in Nokia SGSN...........................................8
Figure 3 SCTP multi-homing example..............................................................18
Figure 4 Carrier-sense IP address and interface switchover............................26
Figure 5 Logical and carrier-sense IP addressing in 2N unit............................ 27
Figure 6 Logical IP addressing in N+1 redundant unit group........................... 28
Figure 7 Symmetric and asymmetric SCTP multi-homing................................ 29
Figure 8 N+1 redundant computer group with logical static route ................... 31
Figure 9 Local IP address-based default gateway usage.................................32
List of Tables
Table 1 Supported FTP commands...................................................................9
Table 2 Routing table flags..............................................................................14
Table 3 Network interfaces..............................................................................19
Table 4 Supported interface flags....................................................................19
Summary of changes
Changes between document issues are cumulative. Therefore, the latest document
issue contains all changes made to previous issues.
Changes made between issues 4-1 and 4-0
The dyn0 interface is introduced in the section Supported IP interfaces and a
corresponding section IP over DMX message interface, dyn0 is added.
A note is deleted in section Telnet server.
Changes made between issues 4-0 and 3-0
A note for explaining asymmetric multi-homing is added in section Stream Control
Transmission Protocol.
Changes made between issues 3-0 and 2-0
A new description has been added: SSH Server.
OSPF
Telnet daemon
applicationX application
FTP layer
DNSres.
socket(),
etc.
POSIX
Socket API system
transport
TCP UDP SCTP layer
NetBSD
kernel
IP ICMP IPv6ICMPv6
network
layer
ARP NeighbourDiscovery
datalink
DMXRTE
MAC layer
physical
layer
Ethernet
Sigtran
DNS M3UA
IP IPv6
Ethernet/ ATM
DX200component/protocol,visibleonlytointernalLAN
FTP commands are transferred through a control connection. The FTP server observes
port 21 for new control connections for clients. A separate data connection is opened for
each data transfer. The server opens a data connection when it receives a command
that requires data transfer. These commands are LIST, RETR, NLST, APPE, and STOR.
Implemented FTP commands
With the FTP protocol, all control connections have to be initiated by the client FTP
process on a remote site.
The supported FTP commands and their arguments are explained in the following table.
RNTO New name for the file Rename the file given as rename
the previous RNFR
command parameter
ALLO Size of the file (as a Allocate space to the next quote ALLO n ('n'
decimal number) in the next file transferred with STOR represents the file
STOR size in bytes)
EPRT IP address and port for the Inform the server of which Embedded to
next data connection IP address and port to commands that
connect for a data connec- require data
tion (IPv4 and IPv6 connection in
compatible) active mode
REST Offset byte from where to Restarts file transfer at a quote REST
restart the file transfer given position
In FTP data transfer, certain parameters can be negotiated between a client and a server
before a transfer if necessary. These parameters are data structure, mode of data
transfer, and type of data transfer. However, as only the stream mode and file structure
are supported, and these parameters have default values on all servers, they do not
necessarily have to be negotiated.
There are two options for the type of data transfer, namely, ASCII and binary. The
difference between these two types is that in the binary type, all data is sent to the line
as it is, but in the ASCII mode, the local end of the line sequence is replaced by a
carriage return and line feed characters. In start-up, the type of data transfer is by default
set to be ASCII.
Directory handling in FTP
In the start-up of the FTP connection, the default working directory is the root directory of
the two WDUs. This means that if you transfer a file to the server immediately after
logging in without defining the file path, the file is transferred to the root of the two
WDUs. To change the current working directory, use the CWD command. To interrogate
the current working directory, use the PWD command, which returns the default directory
as a reply string.
To view the directory information, use the LIST command. The outcome of the LIST
command contains information about the files in the directory. The first few fields show
the latest time and date of reading the file, and the ones following these fields show the
latest time and date of modifying the file. The next field shows the size of the file in
blocks, and the last field shows the name of the file.
Retrieving files from the network element
File transfer is started with the RETR command. The command can either have only the
name of the requested file or the full pathname as an argument. If only the filename is
given, the default directory information is used to complete the file information.
Storing files in the network element
The ALLO command is needed when new files over 64 kilobytes are transferred to a
network element. To create an appropriate file for the data, this command informs the
server about the size of the file to be transferred. If the ALLO command is not given, the
server uses the size of an old version of the file. If the ALLO command is not given, and
there are no previous versions of the file, a default value of 64 kilobytes is used. If the
size of the file is too small, that is, the size of the file to be transferred exceeds 64
kilobytes, the transfer fails, and an error reply is sent to the client.
Data transfer is started with the STOR command. The command can have the name of
the requested file only or the full pathname as an argument. If only the filename is given,
the default directory information is used to complete the file information.
Deleting files from the network element
To delete files through FTP, use the DELE command. The command can have the name
of the file to be deleted or the full pathname as an argument. If you use only the name of
the file to be deleted, the default directory information is used to delete the file.
FTP compatibility and number of connections
The FTP server in the network element is compatible with any FTP clients supported by
RFC 765: File Transfer Protocol. However, graphical FTP clients, compared to character-
based FTP clients, provide limited functionality. You can define the size of the
connections using the ALLO command.
Telnet is to be used in a trusted private intranet environment only. Users of Telnet should
be familiar with TCP/IP security policies.
The Telnet application is compatible with the commonly used Telnet clients. It is possible
to establish up to 15 simultaneous Telnet connections.
1.4 IP routing
When an IP packet is sent to a destination host, networking protocols select the next-hop
node, which may be either a real destination host at the local link or a router.
IP routing is the process of making a correct next-hop selection for the packet according
the rules of the routing table of the TCP/IP stack. IP routing is done for each sent packet
regardless of whether the packet is generated locally or just forwarded. The networking
protocols IP and IPv6 require a relatively simple set of rules for selecting the correct
neighbour node for each sent packet.
The IP forwarding flag of the networking protocol must be enabled to allow the stack to
act as a router and forward traffic between different subnets.
Routing information of the routing table is acquired either dynamically (by exchanging it
between neighbour routers by routing protocols) or by static routes. Additionally, local IP
addressing has an effect on IP routing since each local IP address creates a route to the
own link for the subnetwork of the own IP address.
The rules of the routing table are presented as the IP addressing range of the destination
network and the corresponding next-hop node information. This means that the IP route
lookup is typically done according to the destination IP address field of the IP header of
the sent packet. The routing decision selects the best possible routing table entry match
as the next-hop based on the netmask length of the destination in the following order:
1. The destination is at the own link behind the route of the own IP address.
2. A host route with a netmask of 32 bits for IP address and 128 bits for the IPv6
address.
3. A network route which has the most accurate match with used network bits. For
example, addressing range with 10.0.0.0/24 is a more accurate match than
10.0.0.0/8. Packets sent to the 10.0.0.12 destination would use the gateway of the
10.0.0.0/24 network route.
4. The local IP address-based default gateway presents a better match than the default
gateway of the routing table.
5. The default gateway is the least accurate route (the netmask length for a default
route is zero) and used only if any other rule applies for the sent packet.
In addition to the destination network and next-hop gateway information, the routing table
includes useful information for debugging networking problems such as routing flags for
each entry. If the routing table includes entries that include flags like R, D, or M there are
problems either at the destination host or at the networking topology.
Flag Purpose
H The route is to a host. The host route netmask length is 32 or 128 bits
depending on the networking protocol type.
C The route is cloned to create new routes. For example, ARP clones a local
IP addressing route to a host route for the local neighbour, the MAC
address of which is resolved by the ARP.
Flag Purpose
The TCP/IP stack implementation reflects directly on the routing table rules. The DX200
system limits the number of routes to the destination network to be at most just one.
Multiple routes to the same destination network are not allowed. The same limitation
applies to the local IP addressing as well since only a single route to the local link can
exist even when multiple local IP addresses of the same subnetwork are configured. This
is because the routing decision also chooses the locally-used network interface. As a
result the computer unit may own multiple IP addresses from the same subnetwork
range for different network interfaces, but this is considered as a faulty configuration
since only single interface is actually used when packets are sent.
SGSN supports classless interdomain routing (CIDR) that offers better ways to optimise
IP addressing than classfull IP addressing, which is also supported by default if netmask
is not explicitly defined together with the IP address to separate the subnetwork area
from the host IP addressing range.
Static routing can be incorporated into OSPF with the use of redistribution. With
redistribution the user can run non-OSPF networks smoothly with OSPF networks and
have full connectivity between the two.
In DX200, the routing daemon handles both dynamic OSPF routing and static routes.
Only OSPFv2 is supported. Dynamic IPv6 routing is excluded; only static routing can be
used with IPv6.
In SGSN, OSPF is used to back up an IPoA link. For example, if a physical link fails,
traffic is routed through another PAPU unit to the destination PAPU unit.
addr1.1 addr1.2
active
Endpoint A EndpointB
active
addr2.1 addr2.2
2.Primarypathfailure.
addr1.1 addr1.2
X active
Endpoint A EndpointB
active
addr2.1 addr2.2
3.SCTP seamlesslychangestoasecondarypath.
addr1.1 addr1.2
X active
Endpoint A EndpointB
active
addr2.1 addr2.2
2.2 IPv6
Each TCP/IP protocol stack in DX200 is a dual stack. This means that it is able to
provide both IPv4 and IPv6 networking protocols.
The IPv6 implementation of IPv6 supports all the basic features of IPv6 including
Neighbour Discovery Protocol, duplicate address detection (DAD), scoped IP addressing
architecture, and path MTU discovery.
IPv6 is supported in DX200 by default unless otherwise stated.
IPv6 has some limitations that must be taken into account when taking IPv6 into use:
• Dynamic routing OSPFv2 supports only IPv4. You can use static routes and local IP
address-based default gateway with IPv6.
• Since OSPFv3 is not supported, logical IP routes are not supported for IPv6. OSPF-
based end-to-end link redundancy over IPv6 is not possible.
• The following network interfaces types are not IPv6-compatible:
– IP forwarding interface
– EMB LAN (IPv6 is totally disabled for security reasons)
• Embedded IPv6 addresses (for example, IPv4-mapped IPv6 addresses) are not
supported because, for example, a DNS resolver is able to handle them.
• IPv6 anycasting is excluded.
• Avoid using IPv6 autoaddressing configuration because it weakens the fault
tolerance.
Loopback lo0
The user can see the status of any interface of any computer unit by requesting the
information directly from the local TCP/IP protocol stack of the according unit. The
interface flag field expresses the status information.
Note that the local IP address-based default gateway cannot be used with unnumbered
IP addresses.
• 127.0.0.1
• ::1
Do not remove these IP addresses since the TCP/IP protocol stack always requires at
least one IP address to enable local communication over IP.
For example, you can use the VIMMLA service terminal extension to establish an MML
session over the local IP connection through the local console if any other connection to
the active OMU’s MMI system is disabled.
The IP addresses of the loopback interface are not directly visible to the public Ethernet
network. However, the user can configure new IP addresses to the loopback interface
and advertise networks behind the local loopback interface towards the external OSPF
routing area.
Jumbo frames are Ethernet frames with more than 1500 bytes of payload (MTU). DMX
jumbo frames can carry up to 2000 bytes of payload. The maximum IP Maximum
Transmission Unit (MTU) for Ethernet interfaces is 2000 bytes in CPUs that support it,
that is, CP710 and CP816. In other CPUs, for example, CP550B, the maximum is 1500
bytes. Even when hardware supports jumbo frames, the default MTU is still 1500 bytes.
Therefore the situation equals quite closely with carrier sense IP addressing (L3
redundancy), but in lower L2 level - MAC address is now floating together with the active,
physical Ethernet link.
IP connectivity over a bonding network interface is based on the fact that LAN segment
is able to detect and to recover from any broken hops. In order to recover from broken
non-edge Ethernet link, LAN switches need to find out alternative path between the
source and the destination. The main drawback with bonding redundancy is related to
physically separated LANs (for example, EMB LAN), where bonding network device
cannot be reliably utilized.
The bonding network interface of DMX computer unit uses its own MAC address; not
inherited from physical Ethernet device. Furthermore, bonding device of DMX computer
unit facilitates a full IP connectivity over both physical devices with their unique MAC/IP
addresses. There is no need to prevent any traffic from either physical device unless
explicitly managed so. Additionally, xSTP is not supported by bonding device - fault
tolerance actions are based on Ethernet device interrupts (link-ok or link-failed).
Notice that LinDX (IPD unit) bonding interface implementation differs from DMX unit. The
LinDX bonding driver MAC address is taken from its first slave device (eth0 physical
interface). This MAC address is then passed to the following slave device (eth1). Thus it
is not advised to configure any IP address to eth0 or eth1 interfaces of IPD unit after the
bonding interface is created.
• An A record defines the IP address. The DX200 system is able to support 250 A
records per FQDN.
• An AAAA record defines the IPv6 address. The DX200 system is able to support 250
AAAA records per FQDN. If the application is not interested in the IP addressing
family used it should create an AF_UNSPEC type of request to obtain either IP or
IPv6 addresses with a single name-to-address resolution routine.
• The maximum length for FQDN is 255 characters.
• A pointer record (PRT) is used for address-to-name requests.
• A canonical record (CNAME) is an alias name for FQDN. The DX200 system is able
to support 140 CNAME records per FQDN obtained from the DNS server or 34
records if the information is locally stored at the local host file.
• DNS uses user datagram protocol (UDP) as a transport protocol while responses
over 512 bytes are always handled over TCP.
• DNS queries may be transmitted either over IP or IPv6.
The DX200 DNS resolver is a stub implementation and requires that possible recursive
name requests are handled by the DNS server, not by the resolver. Since the DNS
resolver is a co-linked library it needs to be linked together with each application POSIX
process that utilises DNS services or otherwise the static data of the DNS resolver may
be corrupted.
The DNS cache is an independent local storage in each DMX computer unit to store at
most 1000 name-to-address mappings sent by the DNS server or read from the local
host file.
The DNS cache supports A, AAAA, and CNAME records meaning that address-to-name
requests are never solved via a local DNS cache. If the DNS cache is activated, the
search order of the resolver is the following by default:
1. DNS cache
For AF_UNSPEC queries the IPv6 query is made before the IPv4 query.
2. DNS server
3. Local host file storage (/etc/hosts) POSIX file for A, AAAA, and CNAME queries.
• The round robin algorithm offers load sharing among the A or AAAA records of the
DNS response. The algorithm moves the first IP address to the end of the address
list and therefore the primary IP address of the FQDN changes equally for each
request.
• The sortlist is used to define the IP address ranges in order to favour some IP
addresses over others. If the sortlist and round robin are active together, the round
robin implements equal load sharing among addresses belonging to the same sortlist
addressing range.
• With negative caching the failed name-to-address (A and AAAA) requests are put
into a negative DNS cache for a relatively short time meaning that the network
queries are forbidden for that name for the time it is in the negative DNS cache. This
is to avoid loading the possibly overloaded DNS network service with continuously
and likely failing DNS requests. The period of time for which a FQDN is considered
valid in the negative DNS cache depends on the cause of the failed name-to-address
request. Temporary errors are negatively cached for 30 seconds and others for 3
minutes. The negative DNS cache can store at most 200 failed domain names.
The user can clean the DNS cache of each computer unit by configuring the DNS cache
off and back on.
In addition to the DNS cache it is possible to configure a local host file in DX200 to store
A, AAAA, and CNAME resource records locally at the DX200 centralised DNS
configuration.
Non-equal load sharing
Non-equal load sharing cannot be achieved by DNS server requests since typically a
DNS server is not able to support several of the same IP addresses for an FQDN.
If non-equal load sharing is required to favour an advanced GGSN, for example, the
name-to-address mappings must be configured in the local host file so that the weighted
IP address is configured multiple times for the same FQDN + address family.
Note that non-equal load sharing requires an active DNS cache since the local file
storage is not an optimal place for the round robin IP addressing list. A successfully read
local host query is therefore stored into a DNS cache with an infinite TTL and the cache
also implements the round robin if required.
Updates to the local host file upon the active DNS service require that the DNS cache is
cleaned from obsolete information after the local host file change is complete.
If the local host file is taken into use, it should be favoured over the network queries if
both the DNS server and local host file are used. Otherwise the successful DNS server
responses override the local host file information and can cause problems with non-
equal load sharing.
Limitations of the local host file
The local host file is a part of the POSIX configuration in the DX200 system. The size of
the physical local host file has the following restriction:
• The number of IP addressing A/AAAA records per FQDN is 250, but the CNAME
records are limited to 34 per FQDN and the MMI system limits the domain name
lengths to less than 100 characters.
SGSN SGSN
interface
switchover
Computerunit Computerunit
There can be multiple Ethernet and VLAN interfaces, and each IP address can have at
most one redundant interface with the same type (either Ethernet or VLAN). The carrier-
sense IP addressing interface switchover can also be executed manually with an MML
command.
As a result, interface redundancy enhances the overall reliability of the own link between
the computer unit and the nearest physically connected device. However, note that the
interface redundancy model does not detect link failures behind the nearest link.
unitswitchover SGSN
2nUNIT-0(WO)(TE/SP) 2nUNIT-1(SP)(WO)
interfaceredundancy interfaceredundancy
active active
192.16.2.2 (192.16.2.2) (192.16.2.2) 192.16.2.2
el1 el1 el0 el1
The logical IP addressing is attached closely to the recovery system of the DX200
Platform. Logical IP addresses are presented as a resource for the recovery system in
the N+1 redundant unit groups. This means that the recovery system changes the unit
state to the WO-EX state when the first logical IP address is configured for the SP-EX
unit. Respectively, the unit state is changed back to SP when the last logical IP address
is removed (in the event that there are no other resources).
SGSN
The application defines and prioritises the Ethernet interface failures so that when all
Ethernet interfaces are out of order, the unit is automatically changed to the test (TE)
state. The interface unit offering service over IP forces the recovery system to execute
the unit switchover since the IP connections of the active unit have fatal connectivity
problems. For example, the N+1 redundant PAPU group of the SGSN uses this kind of
solution together with logical IP addresses.
If static routes are defined together with the logical IPv4 address, it is recommended that
you configure the routes also as logical routes.
primarypath
Computerunit Computerunit
active
active
el0 el0
active
el1 el1
active
secondarypath
active
active
3rdpartyproduct active
Computerunit
primarypath
el0
activ
e
eth0 active
el1
active
secondarypath active
The SCTP application works alongside the SCTP parameters to control how quickly a
path and/or an association is declared inactive (or found active again). By tuning the
parameters, SCTP can failover to a secondary path faster than rapid spanning tree
protocol (RSTP), for example.
Optimally, the SCTP multi-homing configuration is symmetric, but it can also be
asymmetric. However, asymmetric configuration is not recommended since it does not
offer entire end-to-end path redundancy. Sometimes it has to be done for interoperability
reason.
g Note: In case of asymmetric multi-homing, the configuration also has two separate
paths but one of the hosts has only one Ethernet port in use. Two IP addresses should
be assigned to the only Ethernet port of that host.
When the VLAN tagging is done by a host, ESB can be put on trunking mode so that it
lets certain VLAN IDs through. On the DX200 side the IP addresses are configured on
four VLAN interfaces with three different VLAN IDs instead of putting them directly on
two physical Ethernet interfaces.
SGSN
Unit1(WO) Unit2(WO)
Unit2(WO) Unit3(SP)
EL0:192.168.1.11/24 (EL0:192.168.1.11/24)
EL0:192.168.1.11/24
Dest:20/8GW:192.168.1.1 (Dest:20/8GW:192.168.1.1)
Dest:20/8GW:192.168.1.1
Unit2(WO)
Unit2(WO)
192.168.1.1
IP network
Router1 20/8
An N+1 unit has a logical IP address configured to the el0 interface and a logical route to
IP network 20/8 through Router1’s address 10.0.0.1. When Unit1 (WO) fails, both the
logical address and the logical route migrate to a new WO unit as shown by the arrow in
the picture. The advantage of logical routes in this case is that the user must configure
only the WO units. With physical routes the user must configure the spare (SP) units,
too.
If a connection to the SP side is required, the user must use physical static routes.
Logical routes are not supported for IPv6 networking protocol.
SGSN a.b.c.1/24
Computerunit
a.b.c.d/24;defgw:a.b.c.1
a.b.e.f/24;defgw:a.b.e.1
L2SWU Router
. IP network
. L2SWU Router
Computerunit
a.b.c.x/24;defgw:a.b.c.1
a.b.e.y/24;defgw:a.b.e.1
a.b.e.1/24
The most simplified local IP configuration can just consist of IP addresses and their
default gateway information without any static routes or even default route of the routing
table.
The local IP address-based default gateway can be defined for any local IP address. It
does not depend on the possible redundancy model or the family type (IP or IPv6) of the
address.
To avoid possible dependencies with static routes, the local IP address-based default
gateway address must be configured from the same subnetwork to which the local IP
address itself belongs. The only exception is that a link local IPv6 address can be
defined as a local IPv6 address-based default gateway address.
Note also that the received Internet Control Message Protocol (ICMP) redirect messages
are not able to update and thus overwrite local IP address-based default gateway routes.