What is the purpose of the 'well-known port' range (0-1023) and why do these ports require elevated privileges to bind on Linux/Unix systems?
- A.Ports 0-1023 are faster than high ports because they use a dedicated CPU core
- B.Well-known ports require elevated privileges because they consume more kernel memory than high ports
- C.Ports 0-1023 are reserved by ICMP and cannot be used for TCP or UDP
- D.Well-known ports (0-1023, IANA) are assigned to specific standard services (HTTP=80, HTTPS=443, SSH=22, etc.). On Unix/Linux, binding these ports requires root or CAP_NET_BIND_SERVICE privilege - this prevents a malicious non-privileged process from impersonating a system service (e.g., a rogue process cannot fake an SSH server on port 22 if it lacks root)
Why D is correct
IANA port ranges: 0-1023 (System/Well-known): reserved for system services. On POSIX systems, binding requires root or CAP_NET_BIND_SERVICE. This security feature prevents a non-privileged user from starting a fake SSH server on port 22 or a fake web server on port 80 to intercept credentials. 1024-49151 (User/Registered): IANA-assigned to specific applications but bindable by normal users. 49152-65535 (Dynamic/Ephemeral): used as source ports for outgoing connections, assigned automatically by the OS.
Know someone studying for Network Fundamentals? Send them this one.