24/05/2018, 20:40

Ethernet và giải quyết đụng độ

Việc truyền thông trong mạng Ethernet được biết đến là phương thức truyền Broadcast với kỹ thuật truyền baseband (chỉ có một tín hiệu được truyền trên sợi cáp tại một thời điểm), theo nguyên tắc đến trước phục vụ trước. Điều này nảy sinh vấn đề khi trong hệ ...

Việc truyền thông trong mạng Ethernet được biết đến là phương thức truyền Broadcast với kỹ thuật truyền baseband (chỉ có một tín hiệu được truyền trên sợi cáp tại một thời điểm), theo nguyên tắc đến trước phục vụ trước. Điều này nảy sinh vấn đề khi trong hệ thống Ethernet có nhiều thiết bị cùng muốn truyền thông tin một lúc sẽ xảy ra đụng độ (collision). Việc đụng độ làm giảm một cách đáng kể hiệu suất của mạng Ethernet hoặc có thể dẫn đến sập mạng. Người ta đã đưa ra nhiều giải pháp để khắc phục collision thậm chí loại bỏ collision trong mạng Ethernet.

Ngày nay đa phần các mạng Ethernet đều không còn collision vì hầu hết các thiết bị tập trung (Hub) được lắp đặt đều là thiết bị lớp 2 (Switch) với khả năng phân tách các vùng collision thành nhiều vùng nhỏ hơn cụ thể mỗi cổng của Switch sẽ tạo thành một collision domain và nếu cổng đó kết nối trực tiếp với 1 PC hoặc một thiết bị từ lớp 2 trở lên thì sẽ không có collision xảy ra tại cổng này hay nói cách khác khi đó collision domain này được gọi là collision free.

Tuy vậy với các mạng Ethernet mà vẫn còn sử dụng thiết bị trung tâm lớp 1 (HUB, …) thì trên hệ thống này các thiết bị phải sử dụng một giải pháp để đối phó với việc xảy ra xung đột đó là CSMA/CD (CarrierSencewithMultipleAccess/Collision Detection)

.

Để xác định cáp có đang dùng không, máy tính có thể kiểm tra sóng mang (carrier - dạng tín hiệu mà máy tính truyền trên cáp). Nếu có sóng mang, máy phải chờ cho đến khi bên gởi kết thúc. Về mặt kỹ thuật, kiểm tra một sóng mang được gọi là cảm sóng (carrier sence), và ý tưởng sử dụng sự hiện hữu của tín hiệu để quyết định khi nào thì truyền gọi là Cảm sóng đa truy (CSMA). Vì CSMAcho phép mỗi máy tính xác định đường cáp chia sẻ có đang được máy khác sử dụng hay không nên nó ngăn cấm một máy cắt ngang việc truyền đang diễn ra. Tuy nhiên, CSMA không thể ngăn ngừa tất cả các xung đột có thể xảy ra. Để hiểu lý do tại sao, hãy tưởng tượng chuyện gì xảy ra nếu hai máy tính ở hai đầu cáp đang nghỉ nhận được yêu cầu gởi khung. Cả hai cùng kiểm tín hiệu mang, cùng thấy cáp đang trống và cả hai bắt đầu gởi khung. Các tín hiệu phát từ hai máy sẽ gây nhiễu lẫn nhau xảy ra collision. Máy đầu tiên trên đường truyền phát hiện được xung đột sẽ phát sinh tín hiệu xung đột cho các máy khác. Tuy xung đột không làm hỏng phần cứng nhưng nó tạo ra một sự truyền thông méo mó và hai khung nhận được sẽ không chính xác. Để xử lý các biến cố như vậy, Ethernet yêu cầu mỗi bên gởi tín hiệu giám sát (monitor) trên cáp để bảo đảm không có máy nào khác truyền đồng thời.

Khi máy gởi phát hiện đụng độ, nó ngưng truyền ngay lập tức, và tiếp tục bắt đầu lại quá trình chuẩn bị việc truyền tin sau một khoảng thời gian ngẫu nhiên (khoảng thời gian này được tính toán bởi một thuật toán gọi là back-off). Việc giám sát cáp như vậy gọi là phát hiện đụng (CDCollisionDetection), và kỹ thuật Ethernetđó được gọi là Cảm sóng đa truy với phát hiện đụng độ (CSMA/CD).

Thuật toán Back-Off

0