CSMA/CD (Carrier Sense Multiple Access with Collision Detection) là một phương pháp nổi tiếng cùng với mạng Ethernet (IEEE 802.3).
Nguyên tắc làm việc Theo phương pháp CSMA/CD, mỗi trạm đều có quyền truy nhập bus mà không cần một sự kiểm soát nào. Phương pháp được tiến hành như sau:
• Mỗi trạm đều phải tự nghe đường dẫn (carrier sense), nếu đường dẫn rỗi (không có tín hiệu) thì mới được phát.
• Do việc lan truyền tín hiệu cần một thời gian nào đó, nên vẫn có khả năng hai trạm cùng phát tín hiệu lên đường dẫn. Chính vì vậy, trong khi phát thì mỗi trạm vẫn phải nghe đường dẫn để so sánh tín hiệu phát đi với tín hiệu nhận được xem có xảy ra xung đột hay không (collision detection).
• Trong trường hợp xảy ra xung đột, mỗi trạm đều phải huỷ bỏ bức điện của mình, chờ một thời gian ngẫu nhiên và thử gửi lại.
Một tình huống xảy ra xung đột tiêu biểu và cách khắc phục được minh họa trên
Hình 2.19. Trạm A và C cùng nghe đường dẫn. Đường dẫn rỗi nên A có thể gửi trước.
Trong khi tín hiệu từ trạm A gửi đi chưa kịp tới nên trạm C không hay biết và cũng gửi,
gây ra xung đột tại một điểm gần C. A và C sẽ lần lượt nhận được tín hiệu phản hồi, so
sánh với tín hiệu gửi đi và phát hiện xung đột. Cả hai trạm sẽ cùng phải hủy bức điện đã
gửi đi bằng cách không phát tiếp, các trạm muốn nhận sẽ không nhận được cờ hiệu kết
thúc bức điện và sẽ coi như bức điện không hợp lệ. A và C cũng có thể gửi đi một tín
hiệu “jam” đặc biệt để báo cho các trạm cần nhận biết. Sau đó mỗi trạm sẽ chờ một thời
gian chờ ngẫu nhiên, trước khi thử phát lại. Thời gian chờ ngẫu nhiên ở đây tuy nhiên
phải được tính theo một thuật toán nào đó để sao cho thời gian chờ ngắn một cách hợp
lý và không giống nhau giữa các trạm cùng chờ. Thông thường thời gian chờ này là một
bội số của hai lần thời gian lan truyền tín hiệu TS.
Ưu điểm của CSMA/CD là tính chất đơn giản, linh hoạt. Khác với các phương pháp
tiền định, việc ghép thêm hay bỏ đi một trạm trong mạng không ảnh hưởng gì tới hoạt
động của hệ thống. Chính vì vậy, phương pháp này được áp dụng rộng rãi trong mạng
Ethernet.
Nhược điểm của CSMA/CD là tính bất định của thời gian phản ứng. Các trạm đều
bình đẳng như nhau nên quá trình chờ ở một trạm có thể lặp đi lặp lại, không xác định
được tương đối chính xác thời gian. Hiệu suất sử dụng đường truyền vì thế cũng thấp.
Rõ ràng, nếu như không kết hợp thêm với các kỹ thuật khác thì phương pháp này không
thích hợp với các cấp thấp, đòi hỏi trao đổi dữ liệu định kỳ, thời gian thực.
Điều kiện ràng buộc
Khả năng thực hiện phương pháp CSMA/CD bị hạn chế bởi một điều kiện ràng buộc
giữa chiều dài dây dẫn, tốc độ truyền thông và chiều dài bức điện. Chỉ khi một trạm
phát hiện được xung đột xảy ra trong khi bức điện chưa gửi xong mới có khả năng hủy
bỏ bức điện (có thể chỉ đơn giản bằng cách không gửi tiếp cờ hiệu kết thúc). Còn nếu
bức điện đã được gửi đi xong rồi mới phát hiện xảy ra xung đột thì đã quá muộn, một
trạm khác có thể đã nhận được và xử lý bức điện với nội dung sai lệch.
Trong trường hợp xấu nhất hai trạm cùng gửi thông tin có thể ở hai đầu của dây dẫn,
trạm thứ hai chỉ gửi điện trước khi tín hiệu từ trạm thứ nhất tới một chút. Tín hiệu bị
xung đột xảy ra ở đây phải mất thêm một khoảng thời gian nữa đúng bằng thời gian lan
truyền tín hiệu TS mới quay trở lại tới trạm thứ nhất. Như vậy điều kiện thực hiện
phương pháp CSMA/CD là thời gian gửi một bức điện phải lớn hơn hai lần thời gian lan
truyền tín hiệu, tức:
(Chiều dài bức điện n / Tốc độ truyền v) > 2TS
<=> n/v > 2l/(0,66*300.000.000),
với l là chiều dài dây dẫn và hệ số k = 0,67
<=> lv < 100.000.000n
Đây chính là điều kiện ràng buộc trong việc nâng cao tốc độ và tăng chiều dài dây
dẫn. Ví dụ đối với một mạng Fast Ethernet (100Mbit/s) có chiều dài 100m thì một bức
điện không thể ngắn hơn 100 bit. Hệ quả của điều kiện ràng buộc này là hiệu suất truyền
thông sẽ rất thấp nếu như dữ liệu cần trao đổi không lớn. Một lần nữa, ta thấy rằng
phương pháp này không thích hợp lắm cho các hệ thống mạng cấp thấp.