Ta có thể coi mô hình của mạng DHT (cụ thể là Chord) được phân tầng như hình dưới
Layer 1 đảm nhận việc truyền thông tin giữa 2 nút, layer 2 – overlay routing đảm nhận việc chuyển tiếp gói tin lên trên hoặc qua các nút khác tùy thuộc vào điểm đến của gói tin, layer 3 là tầng ứng dụng nằm trên mạng DHT. CSCC hoạt động phía trên của layer 2 – overlay routing và dưới layer 3. Tại nút đích mỗi khi nhận được gói tin đến CSCC sẽ trả lại gói tin ACK trực tiếp cho nút ban đầu gửi truy vấn bằng giao thức UDP. Tại nút nhận, CSCC duy trì trong bộ nhớ đệm của nó một hàng đợi cho các truy vấn đến. Khi hàng đợi đạt tới mức giới hạn của nút, các truy vấn đến sau sẽ bị loại bỏ mà không có thông báo gì cho nút gửi. Trên mỗi nút lưu một giá trị credit thể hiện số lượng truy vấn đã gửi đi mà chưa nhận được gói tin ACK trả về. Sử dụng thuật toán tương tự như thuật toán tính toán kích thước cửa sổ TCP cho giá trị credit, ta so sánh giá trị credit này với một giá trị threshold. Nếu credit nhỏ hơn threshold ta tiếp tục tăng nhanh giá trị credit, nếu credit đến ngưỡng threshold, ta sẽ tăng chậm hơn với mỗi gói ACK nhận được. Nếu như có gói tin bị mất (quá thời gian timeout mà chưa có gói ACK trả về) giá trị threshold sẽ được giảm xuống. Sau khi nhận biết một gói tin bị mất, nút gửi sẽ gửi lại gói tin đó.
Có thể thấy phương thức hoạt động của CSCC gần tương tự như CC của TCP. Tuy nhiên nhược điểm của CSCC là sử dụng trên mạng DHT với quá trình kết nối tương đối phức tạp, chuyển tiếp giữa nhiều nút, không giống như TCP có kết nối 2 điểm trong thời gian dài và tương đối ổn định. Điều này gây khó khăn cho việc xác định các giá trị cần thiết như thời gian timeout. Thêm nữa, một gói tin có thể nhận được nhiều lần do đó mỗi nút cần phải tốn tài nguyên lưu giữ danh sách các gói nhận được ứng với mỗi nút gửi. CSCC thực hiện việc drop gói tin do đó thông lượng đạt được sẽ giảm.