16 31 Source Port (Cổng ch−ơng trình
8.6 Các cổng ch−ơng trình, các đ−ờng liên kết và các điểm cuố
Cũng giống nh− giao thức UDP trong ch−ơng 7, giao thức TCP nằm trên tầng IP trong sơ đồ các tầng giao thức. Hình 8.5 chỉ tổ chức có tính khái niệm về các tầng. Giao thức TCP cho phép nhiều ch−ơng trình ứng dụng trong cùng một máy truyền thông cùng lúc, và giao thức phân luồng dữ liệu đến giữa các ch−ơng trình ứng dụng. Cũng nh− giao thức gói tin ng−ời sử dụng UDP, giao thức TCP sử dụng các số - cổng ch−ơng trình để xác định đích cuối cùng trong một máy tính. Mỗi cổng ch−ơng trình đ−ợc gán một số nguyên nhỏ để xác định nó.
Ch−ơng trình ứng dụng
Giao thức TCP Giao thức UDP Internet (IP)
Giao diện mạng
Hình 8.5 Tầng có khái niệm của giao thức UDP và TCP trên IP
Khi thảo luận về các cổng ch−ơng trình của UDP, chúng ta nghĩ về mỗi cổng nh− là một hàng đợi mà phần mềm giao thức đặt các gói tin đến vào. Các cổng ch−ơng trình giao thức TCP phức tạp hơn nhiều vì số của cổng không t−ơng ứng với một đôí t−ợng. Thay vào đó, giao thức TCP xây dựng liên kết trừu t−ợng, các đối t−ợng đ−ợc xác định là liên kết mạch ảo, không phải là cổng ch−ơng trình riêng biệt.
Vậy điểm cuối của mỗi đ−ờng liên kết là gì? Có thể cho ch−ơng trình ứng dụng là điểm cuối của mỗi đ−ờng liên kết không? Trong giao thức TCP điểm cuối là cặp số nguyên (host, port), với host là địa chỉ IP của máy, còn port là cổng ch−ơng trình. Ví dụ, điểm cuối (128.10.2.3, 25) và (128.10.2.3, 53) xác định một đ−ờng liên kết. Do giao thức TCP liên hệ những gói tin với đ−ờng liên kết chứ không phảicổng ch−ơng trình. T− t−ởng quan trọng cần nhớ là:
Vì giao thức TCP xác định một đ−ờng liên kết nhờ một cặp hai điểm cuối, một cổng của giao thức TCP có thể đ−ợc dùng chung cho nhiều đ−ờng liên kết trên cùng một máy.
Từ cách nhìn của ng−ời lập trình, việc trừu t−ợng đ−ờng liên kết là khái niệm quan trọng. Điều này có nghĩa là ng−ời lập trình có thể thiết kế một ch−ơng trình ứng dụng cung cấp một dịch vụ đồng thời cho nhiều đ−ờng liên kết một lúc mà không cần phải xác định mỗi đ−ờng liên kết một cổng. Ví dụ, nhiều hệ thống cung cấp sự truy cập đồng thời đến ch−ơng trình chủ th− điện tử, cho phép nhiều máy tính gửi th− đến cùng một lúc. Vì ch−ơng trình sử dụng giao thức TCP ngay cả khi nó cho phép xử lý nhiều liên kết một lúc.