TCP Đưa sóc nhận biết khách hàng
Như đang nói, TCP chăm sóc nhận dạng ứng dụng khách và máy chủ chỉ thấy "ổ cắm" trên mỗi máy khách.
Nói một máy chủ tại 10.10.100.100 lắng nghe cổng 80 cho các kết nối TCP đến (HTTP được xây dựng trên TCP). Trình duyệt của khách hàng (tại 10.9.8.7) kết nối với máy chủ bằng cổng khách hàng 27143. Máy chủ thấy: "máy khách 10.9.8.7:27143 muốn kết nối, bạn có chấp nhận không?". Ứng dụng máy chủ chấp nhận và được cấp "xử lý" (ổ cắm) để quản lý mọi giao tiếp với ứng dụng khách này và trình xử lý sẽ luôn gửi gói tới 10.9.8.7:27143 với tiêu đề TCP thích hợp.
gói không bao giờ đồng thời
Bây giờ, về thể chất, có nói chung là chỉ có một (hoặc hai) kết nối liên kết các máy chủ với internet, vì vậy các gói tin chỉ có thể đến theo thứ tự tuần tự. Câu hỏi trở thành: thông lượng tối đa thông qua sợi là bao nhiêu và máy tính có thể tính toán và trả lại bao nhiêu phản hồi. Khác với thời gian CPU bị mất hoặc tắc nghẽn bộ nhớ trong khi đáp ứng yêu cầu, máy chủ cũng phải giữ một số tài nguyên còn sống (ít nhất 1 ổ cắm hoạt động cho mỗi máy khách) cho đến khi kết nối được kết nối và do đó tiêu thụ RAM. Thông lượng đạt được thông qua một số tối ưu hóa (không loại trừ lẫn nhau): ổ cắm không chặn (để tránh độ trễ pipelining/socket), đa luồng (để sử dụng nhiều lõi CPU/luồng hơn).
Nâng cao yêu cầu thông lượng hơn nữa: cân bằng tải
Và cuối cùng, máy chủ vào "front-side" của các trang web thường không làm tất cả công việc của mình (đặc biệt là những thứ phức tạp hơn, như cơ sở dữ liệu truy vấn, tính toán vv), và trì hoãn nhiệm vụ hoặc thậm chí chuyển tiếp các yêu cầu HTTP đến các máy chủ phân tán, trong khi chúng tiếp tục xử lý tầm thường (ví dụ như chuyển tiếp) càng nhiều yêu cầu mỗi giây càng tốt. Phân phối công việc trên một số máy chủ được gọi là cân bằng tải.
Trích dẫn chất lượng kém, hoàn toàn nhầm lẫn giữa ổ cắm và cổng. Các kết nối được xác định bởi địa chỉ IP và * cổng, * không phải bằng ổ cắm. – EJP