Port 0 mang ý nghĩa đặc biệt trong lập trình mạng, đặc biệt là trong hệ điều hành Unĩ khi nói đến lập trình socket, nơi port được sử dụng để yêu cầu các dynamic port, do hệ thống cấp phát. Port 0 là một port ký tự đại diện cho hệ thống biết để tìm một số port phù hợp.

Không giống như hầu hết các port, port 0 là một port dành riêng trong mạng TCP/IP, có ý ngĩa là nó không nên được sử dụng trong các thông điệp TCP hoặc UDP. Các port mạng trong TCP và UDP nằm trong khoảng từ 0 – 65535. Số port trong phạm vi từ 0 đến 1023 được xác định là port system ports. Cơ quan quản lý số port được chỉnh định trên Internet (IANA) duy trì danh sách chính thức về mục đích sử dụng dự kiến của các port này trên internet và port 0 sẽ không được sử dụng.


Làm thế nào TCP/UDP Port 0 hoạt động trong lập trình mạng

Port 0 được sử dụng để làm gì?

Việc định cấu hình kết nối switch mạng yêu cầu một số port được phân bổ ở cả phía nguồn và đích. Thông điệp TCP hoặc UDP được gửi bởi người khởi tạo chứa cả 2 số port để người nhận thông báo có thể đưa ra thông báo phản hồi đến điểm cuối giao thức chính xác.

IANA đã phân bổ trước các port system được chỉ định cho các ứng dụng internet cơ bản như webserver (port 80), nhưng nhiều ứng dụng mạng TCP và UDP không có port system riêng và phải lấy một port từ hệ điều hành của thiết bị mỗi khi chạy.

Để phân bổ số cổng nguồn của nó, các ứng dụng gọi các hàm mạng TCP / IP như bind () để yêu cầu một. Ứng dụng có thể cung cấp một số cố định (được mã hóa cứng) để bind () nếu họ muốn yêu cầu một số cụ thể, nhưng yêu cầu như vậy có thể không thành công vì một ứng dụng khác đang chạy trên hệ thống hiện đang sử dụng nó.

Ngoài ra, nó có thể cung cấp cổng 0 để bind () làm tham số kết nối của nó. Điều đó kích hoạt hệ điều hành tự động tìm kiếm và trả về một cổng khả dụng phù hợp trong dải số cổng động TCP / IP.

Ứng dụng không được cấp cổng 0 mà là một số cổng động khác. Ưu điểm của quy ước lập trình này là tính hiệu quả. Thay vì mỗi ứng dụng triển khai và chạy mã để thử nhiều cổng cho đến khi chúng có được một cổng hợp lệ, các ứng dụng dựa vào hệ điều hành.

Unix, Windows và các hệ điều hành khác khác nhau trong việc xử lý cổng 0, nhưng cùng một quy ước chung được áp dụng.


Port 0 và Network Security

Lưu lượng mạng được gửi qua internet đến các máy chủ đang lắng nghe trên cổng 0 có thể được tạo ra từ những kẻ tấn công mạng hoặc do các ứng dụng được lập trình không chính xác. Các thông báo phản hồi mà các máy chủ tạo ra để đáp ứng với lưu lượng cổng 0 giúp những kẻ tấn công tìm hiểu hành vi và các lỗ hổng mạng tiềm ẩn của các thiết bị đó.

Nhiều nhà cung cấp dịch vụ internet (ISP) chặn lưu lượng trên cổng 0, cả tin nhắn đến và tin nhắn đi, để đề phòng những hành vi lợi dụng này.