1. Ports
  2. Port 390

Port 390 sits in a strange category: officially assigned, rarely used for its intended purpose, quietly repurposed by other software.

Official Assignment

The Internet Assigned Numbers Authority (IANA) lists port 390 as assigned to UIS (User Information Service) for both TCP and UDP.1 The registration lists Ed Barron as the assignee. No RFC documents the protocol. No specification explains what UIS was supposed to do. The assignment exists in the registry, but the protocol itself has vanished into history.

This happens more often than you'd think. Someone registered a port number in the 1980s or early 1990s for a service that never gained traction, never got deployed widely, or was abandoned when better alternatives emerged. The assignment remains because IANA doesn't revoke well-known port numbers—they're permanent, even when the protocol dies.

What Actually Uses Port 390

In practice, port 390 is commonly used by Unidata UDPROXY, a middleware component that provides IP connectivity between remote Unidata database systems.2 Unidata is a MultiValue database system (part of the IBM U2 family), and UDPROXY handles network communication between database instances.

Some sources also note port 390 being used by IBM AIX's nfsd daemon in certain configurations, though NFS typically operates on port 2049.3

Neither of these uses has anything to do with "User Information Service." They're just applications that needed a port number and picked one from the well-known range that wasn't being actively used.

The Well-Known Port Range

Port 390 falls in the well-known port range (0-1023), the original block of ports assigned by IANA for system services. In theory, only privileged processes can bind to these ports on Unix-like systems—you need root access to listen on port 390.

This restriction was meant to ensure trust: if you connect to port 80, you know a privileged process (not some random user's script) is answering. But it also means the well-known range is full of assignments from the 1980s and 1990s for protocols that no longer exist, while modern applications have to use higher-numbered registered ports (1024-49151).

Port 390 is a fossil embedded in this range—officially claimed, functionally abandoned by its original owner, repurposed by software that needed a number.

Why Unassigned and Abandoned Ports Matter

The port number system is a fixed resource: 65,535 ports per protocol (TCP/UDP), and that's it. The well-known range (0-1023) is especially constrained because many of those 1,024 slots are occupied by assignments like port 390—claimed but unused for their original purpose.

This creates a problem: new protocols can't get well-known port numbers because the registry is effectively frozen. Modern services use registered ports (1024-49151) or dynamic ports (49152-65535), but those don't carry the same historical weight or the same assumption of system-level trust.

Unassigned ports, meanwhile, are fair game. If you see traffic on an unassigned port, it could be:

  • Custom application using an arbitrary port
  • Malware trying to avoid detection by using uncommon ports
  • Legitimate software that picked a "free" number
  • A testing or development service

The lack of official assignment means there's no standard to reference, no expected behavior. You have to investigate what's actually listening.

How to Check What's Using Port 390

On Linux or macOS:

sudo lsof -i :390
sudo netstat -tulpn | grep :390

On Windows:

netstat -ano | findstr :390

If something is listening on port 390, check the process ID and investigate the binary. It's probably Unidata UDPROXY if you're running U2 databases. If it's something else, find out what it is—port 390 isn't a standard service most systems need.

Frequently Asked Questions

Byla tato stránka užitečná?

😔
🤨
😃
Port 390: UIS — The Officially Assigned Port That Nobody Uses • Connected