3DEXPERIENCE platform need use some ports. for example
3DSPACE Index and 3DSwym Index default using 19000-19100, 29000-29100 ports.
For a TCP connection, it will need local(client) port , local IP and server port , server IP four elements.
and on Linux /etc/sysctl.conf, we will define the local port range as
net.ipv4.ip_local_port_range = 9000 65500
to increase the range of local port.
This range define the capability of concurrent connections, so more ports. more connections can be make at same time, and normally tomee and apache ports will not be in this range.
But it is conflict with 3DSpace Index and 3DSwym Exalead server ports.
It will result in sometimes 3DSPACE Index or 3DSwym Index can not be started because of port confliction.
So there is a good solution . at /etc/sysctl.conf
add
net.ipv4.ip_local_reserved_ports=19000-19100,29000-29100
and then sysctl -p to let this take effect.
at this time , local port will not use these reserved ports. so we are good.
and of course , you only need define this on 3DSpace Index and Swym Index servers , and for many distributed server clients, we do not have this issue , this is only for who only use like one or two servers.
below is explanation from Linux kernel page:
ip_local_reserved_ports - list of comma separated ranges
Specify the ports which are reserved for known third-party
applications. These ports will not be used by automatic port
assignments (e.g. when calling connect() or bind() with port
number 0). Explicit port allocation behavior is unchanged.
The format used for both input and output is a comma separated
list of ranges (e.g. "1,2-4,10-10" for ports 1, 2, 3, 4 and
10). Writing to the file will clear all previously reserved
ports and update the current list with the one given in the
input.
Note that ip_local_port_range and ip_local_reserved_ports
settings are independent and both are considered by the kernel
when determining which ports are available for automatic port
assignments.
You can reserve ports which are not in the current
ip_local_port_range, e.g.:
\\\$ cat /proc/sys/net/ipv4/ip_local_port_range
32000 61000
\\\$ cat /proc/sys/net/ipv4/ip_local_reserved_ports
8080,9148
although this is redundant. However such a setting is useful
if later the port range is changed to a value that will
include the reserved ports.
Default: Empty
https://www.kernel.org/doc/Documentation/networking/ip-sysctl.txt
