Khái niệm, định nghĩa Port là gì?

Khái niệm – Định nghĩa

Trong giao thức TCP và UDP, port là số nguyên 16 bit được chèn vào phần đầu (header) của mỗi gói tin. Chẳng hạn, phía người dùng (client) có thể yêu cầu một máy chủ nào đó trên Internet cung cấp dịch vụ chia sẻ tập tin (file) qua máy chủ FTP. Để đáp ứng yêu cầu này, lớp phần mềm TCP trên máy của bạn phải nhận diện được port số 21 (đăng ký sẵn cho dịch vụ FTP) trong số các port 16 bit số nguyên được ghép theo gói tin yêu cầu của bạn. Tại máy chủ, lớp TCP sẽ đọc port 21 và chuyển tiếp yêu cầu đến máy chủ FTP.

Hay nói cách khác, với một địa chỉ IP, chúng ta chỉ có thể xác định được một máy tính duy nhất trên mạng, tuy nhiên khi một máy tính chạy nhiều dịch vụ khác nhau thì chúng phải được phân biệt bởi khái niệm port. Ví dụ, máy chủ A (Server A) có dịch vụ web, DNS và FTP server, có địa chỉ IP là 210.245.126.14. Các máy tính khác khi muốn đến Server A thì cần đến địa chỉ IP (hay tên miền), nhưng để phân biệt dịch vụ là web, DNS hay FTP, cần xác định thêm port. Chẳng hạn, khi máy B muốn truy nhập dịch vụ web trên server A, trong gói tin gửi đi, IP đích sẽ là 210.245.126.14 và port đích sẽ là 80. Cùng lúc đó có máy C truy nhập đến dịch vụ DNS trên server A thì trong gói tin IP gửi đi, IP đích vẫn là 210.245.126.14 nhưng port đích sẽ là 53. Tương tự, máy D truy cập đến dịch vụ FTP trên server A, IP đích sẽ là 210.245.126.14 và port là 21. Thông thường các ứng dụng thường ẩn các port này để giảm tính phức tạp của giao thức TCP/IP.

Có tất cả 65535 cổng (port) và được chia thành 3 đoạn: Well Known Port (WKP), Registered Port (RP) và Dynamic/Private Port (D/PP). WKP gồm các port từ 0 đến 1023 và được giữ cho các ứng dụng phổ biến như web (port 80), mail (port 25), ftp (port 21)… RP gồm các port từ 1024 đến 49151. Còn D/PP là các port từ 49152 đến 65535. IANA qui định WKP và RP phải được đăng ký với IANA (iana.org) trước khi sử dụng.

Cổng phổ biến (Well Known Port 0-1023)

Trong tầm từ 0-1023, hầu hết các port đã được đăng ký, tham khảo tại iana.org/assignments/port-numbers. Trong đó, nổi bật có các port phổ biến được liệt kê theo danh sách bên dưới. Với mạng cá nhân, muốn triển khai được các dịch vụ, chẳng hạn web server, ftp server… hệ thống của bạn phải mở các port tương ứng. Ứng với mỗi thiết bị định tuyến (router) của từng hãng, bạn sẽ có cách mở port khác nhau. Để dễ dàng mở các port cũng như hướng dẫn chi tiết trên từng router, bạn có thể vào trang portforward.com để tìm đúng router đang có. Trang web này luôn cập nhật danh sách router mới nhất của nhiều hãng.

Một điều cần lưu ý trước khi mở port là bạn nên kiểm tra lại hệ thống đã mở sẵn cổng này chưa bằng cách vào trang www.grc.com (nhớ tắt firewall trên Windows) hoặc dùng lệnh netstat -an để biết máy của bạn đang sử dụng và “lắng nghe” những port nào.

Danh sách các port thông dụng

20TCPFile Transfer – FTP data
21TCPFile Transfer – FTP control
22TCP/UDPSSH Remote Login Protocol/ pcAnywhere
23TCPTelnet
25TCPSimple Mail Transfer Protocol (SMTP)
38TCP UDPRoute Access Protocol (RAP)
42UDPHost Name Server – Microsoft WINS
45TCPMessage Processing Module (receive)
46TCPMessage Processing Module (send)
50TCP UDPRemote Mail Checking Protocol (RMCP)
66TCP UDPOracle SQL*NET
69TCP UDPTrivial File Transfer Protocol (TFTP)
88TCP UDPKerberos Network Authentication Service
101TCP UDPNetwork Information Center (NIC) Hostname Server
110TCP UDPPost Office Protocol (POP) Version 3
118TCP UDPSQL Services
119TCP UDPNetwork News Transfer Protocol
130TCP UDPCisco FNATIVE
143TCP UDPInternet Message Access Protocol (IMAP) Mail Server
161TCP UDPSNMP
211TCP UDPTexas Instruments 914C/G Terminal
280TCP UDPhttp-mgmt
314TCP UDPOpalis Robot
333TCP UDPTexar Security Port
742TCP UDPNetwork Revision Control System
747TCP UDPFujitsu Device Control
749TCP UDPKerberos Administration
767TCP UDPPhonebook
777TCP UDPMultiling HTTP
800TCP UDPMDBS Daemon, Remotely Possible (Remote Control)
989TCP UDPFTP Data Over TLS/SSL
990TCP UDPFTP Control Over TLS/SSL
991TCP UDPNetnews Administration System
992TCP UDPSecure Telnet (over TLS/SSL)
993TCP UDPSecure IMAP4 (over TLS/SSL)
994TCP UDPSecure IRC (over TLS/SSL)
995TCP UDPSecure POP3 (over TLS/SSL)
996TCPVsinet / Central Point Software Xtree License Server

Cổng đăng ký (Registered port: 1024–49151)

Các cổng TCP và UDP có số từ 1024 đến 49151 được gọi là các cổng đăng ký (registered ports). IANA quản lý danh sách các dịch vụ sử dụng các port trong tầm số này để giảm thiểu việc sử dụng trùng nhau. Không giống nhu các port có số thấp hơn (0-1023), những nhà phát triển dịch vụ TCP/UDP mới có thể chọn một số mới để đăng ký với IANA thay vì dùng trùng số đã đăng ký.

Cổng động/Cổng riêng (Dynamic/ Private Port: 49152–65535)

Các cổng TCP và UDP có số bắt đầu từ 49152 đến 65535 được gọi là port động (dynamic port), port riêng (private port) hay port tạm (ephemeral port). IANA không quản lý Dynamic port cũng như không giới hạn việc sử dụng của người dùng. Các dịch vụ có thể chọn một hoặc vài port ngẫu nhiên miễn phí trong tầm số này khi cần truyền trên nhiều socket.

Ứng dụng

Hãy tưởng tượng, chiếc máy tính giống như ngôi nhà của bạn và port sẽ giống như các cửa ra vào. Bạn muốn mời một người nào đó vào nhà, nghĩa là phải chỉ cho họ biết lối vào (địa chỉ nhà) và mở sẵn cửa đón khách. Tương tự với máy tính, bạn phải cho biết server đang lắng nghe (listening) ở port nào để client biết và gửi yêu cầu. Router trong mô hình bên dưới giữ vai trò như một người gác cổng. Nó sẽ mở các port dịch vụ trong mạng.

Theo Đức Thịnh – Pcworld