Thứ Hai, 20 tháng 5, 2013

Sự khác nhau giữa CSMA/CA và CSMA/CD



Điểm khác nhau giữa CSMA/CA(Carier sense multiple access/ collision avoidance) và CSMA/CD (Carrier Sense Multiple Access with Collosion Detection) là:

-CSMA/CA tránh xung đột (CSMA/CD phát hiện xung đột) và sử dụng ACK để xác nhận thay vì tùy ý sử dụng môi trường truyền khi có xung đột xảy ra. Việc sử dụng ACK rất đơn giản, khi một thiết bị không dây gởi gói tin, đầu nhận sẽ đáp lại bằng ACK nếu như gói tin đó được nhận đúng và đầy đủ. Nếu đầu gởi không nhận được ACK thì nó xem như là đã có xung đột xảy ra và truyền lại gói tin.

-CSMA/CA phát ra nhiều dữ liệu điều khiển trên WLAN, làm cho chi phí chiếm đến xấp xỉ 50% băng thông sẳn có của WLAN. Chi phí này cộng với các chi phí của các giao thức khác như RTS/CTS (được dùng để tránh xung đột) là nguyên nhân chính làm cho băng thông thực sự chỉ đạt xấp xỉ 5.0 – 5.5 Mbps đối với một mạng 802.11b (tốc độ lý thuyết là 11 Mbps). Mặc dù CSMA/CD cũng phát sinh chi phí, nhưng nó chỉ chiếm khoảng 30% băng thông của mạng. Khi một mạng Ethernet bắt đầu nghẽn thì CSMA/CD chiếm băng thông lên đến 70%, trong khi mạng không dây lúc bị nghẽn vẫn còn 50-55% băng thông để truyền dữ liệu.

-Giao thức CSMA/CA tránh khả năng xung đột gữa các trạm dùng chung đường truyền (sóng vô tuyến) bằng cách sử dụng random back off time (khoảng thời gian bất kỳ phải đợi trước khi có thể giành quyền sử dụng đường truyền) nếu bộ cảm biến vật lý hay logic của máy trạm phát hiện đường truyền bận. Khoảng thời gian ngay sau khi đường truyền bận là khoảng thời gian dễ xảy ra xung đột nhất, đặc biệt là trong môi trường có nhiều người sử dụng. Tại thời điểm này, các máy trạm phải đợi cho đường truyền rảnh và sẽ cố truyền dữ liệu tại cùng một thời điểm. Một khi đường truyền rảnh, random back of time sẽ trì hoãn việc truyền dữ liệu của trạm, hạn chế tối đa khả năng xảy ra xung đột giữa các trạm.

CSMA/CD: Ethernet’s Multiple Access Protocol (Đa truy cập nhận biết song mang tránh xung đột)
Các nút mạng trong một môi trường LAN Ethernet được nối với nhau qua một kênh truyền broadcast (hub) để một adapter (card mạng máy tính của chúng ta) phát một frame, tất cả các adapter khác trong LAN nhận được frame đó. Adapter sử dụng thuật toán đa truy cập CSMA/CD qua các cơ chế sau:
1. Một adapter có thể bắt đầu phát vào bất kỳ một thời điểm nào.
2. Một adapter không bao giờ phát một frame khi nó phát hiện các adapter khác cũng đang phát, nó sử dụng bộ dò tìm song mang.
3. Một adapter đang phát frame sẽ huy bỏ quá trình phát của nó ngay khi nó phát hiện có một adapter khác cũng đang phát, nó sử dung collision detection (dò tìm đụng độ).
4. Trước khi thử phát lại frame, adapter chờ một random time, một khoảng thời gian rất nhỏ so với thời gian lặp lại.
Mỗi một adapter hoạt động giao thức CSMA/CD mà không có sự phối hợp với các adapter khác trong Ethernet. 
Các adapter hoạt động giao thức CSMA/CD như sau:
1. Adapter nhận được một đơn vị dữ liệu từ nút mạng của nó, nó chuẩn bị một frame Ethernet và đặt frame đó trong bộ đệm của adapter.
2. Nếu adapter nhận biết được kênh truyền đang rỗi (không có tín hiệu điện ở mức 1 trong đường dây đi vào adapter), nó bắt đầu phát frame. Nếu adapter nhận biết rằng kênh truyền bận, nó đợi cho đến khi biết rằng không có tín hiệu điện (cộng thêm một vài trăm micro giây) và sau đó bắt đầu phát frame.
3. Trong khi phát, adapter kiểm tra sự hiện diện của tín hiệu điện đến từ một adapter khác. Nếu adapter phát toàn bộ frame mà không phát hiện tín hiệu điện nào từ adapter khác, adapter đã hoàn thành xong với việc phát frame đó.
4. Nếu adapter phát hiện có tín hiệu năng lượng từ adapter khác trong khi phát, nó dừng việc phát frame và thay vào đó là phát một tín hiệu jam 48 bit.
5. Sau khi dừng (phát tín hiệu jam) adaoter tạo ra một khoảng thời gian chờ để phát lại tăng lên theo số mũ lũy thừa. Đặc biệt, khi phát một frame, sau khi sự đụng độ lần thứ n xảy ra khi phát một frame đó, adapter chọn một giá trị K bát kỳ từ {0,1,2,…,2m-1)} trong đó m:=min(n,10). Adapter sau đó chờ K*512*bit time (1 bit time là 1 micro giây đối với môi trường Ethernet 10 Mbps) và sau đó trở lại bước 2.
Mục đích của tín hiệu jam là để chắc chắn rằng tất cả các adapter nhận biết được đụng độ xảy ra. Ví dụ giả sử một adapter A bắt đầu phát một frame, và trước khi tín hiệu của A tới được B, adapter B bắt đầu phát. Do đó B sẽ chỉ phát được một vài bit và B phải dừng việc phát, một vài bit này sẽ được phát quảng bá đến A, nhưng nó có thể chưa đủ năng lượng để thiết lập cho A biết rằng có đụng độ xảy ra trên kênh truyền, vì vậy để chắc chắn A nhận biết được có xảy ra đụng độ, nó phải phát được tín hiệu 48bit.

2 nhận xét: