Chế độ bán song công (Half Duplex Ethernet)

Một phần của tài liệu Tìm hiểu lớp liên kết dữ liệu trong mô hình 7 lớp osi và mô phỏng mạng token buslan (Trang 29 - 33)

IV. CÁC PHƯƠNG THỨC TRUYỀN TIN

4.1.Chế độ bán song công (Half Duplex Ethernet)

Half – Duplex Ethernet là mô hình truyền thống của Ethernet sử dụng giao

thức CSMA/CD (Carrier Sense Multiple Access/Collision Detect). Với

CSMA/CD hay nhiều hơn các trạm chia sẽ một đường truyền chung. Để truyền một frame, một trạm phải chờ cho một khoảng thời gian rảnh trên đường truyền khi không có một trạm khác đang truyền. Sau đó nó truyền frame bằng cách thông báo (broadcast) nó trên đường truyền để mà nó nghe tất cả các trạm trên mạng. Nếu một trạm khác cố gắng truyền để truyền dữ liệu tại cùng một thời điểm, một đụng độ xuất hiện. Trạm truyền sau đó cố ý truyền một Jam để

bảo đảm tất cả các trạm được thông báo frame truyền bị lỗi vì một đụng độ. Trạm sau đó giữ cho một khoảng thời gian ngẫu nhiên trước khi nổ lực để

truyền lại. Tiến trình được lặp lại cho đến khi frame truyền thành công. Các nguyên tắc cơ bản cho việc truyền một frame:

§ Mạng được quan sát bởi một “carrier”, hoặc sự hiện diện của một trạm truyền. Tiến trình này thì được biết như “carrier sense”.

§ Nếu một carrier tích cực được phát hiện, sau đó đường truyền được trì hoãn. Trạm tiếp tục quan sát mạng cho đến khi carrier ngừng.

§ Nếu một carrier không được phát hiện, và khoảng không có carrier thì bằng hoặc lớn hơn khỏang thời gian chung giữa hai khung dữ liệu (interframe gap), sau đó trạm lặp tức bắt đầu truyền lại frame.

§ Trong khi trạm đang truyền frame, nó quan sát đường truyền có đụng

độ hay không.

§ Nếu một đụng độ được phát hiện, trạm truyền ngừng gửi khung dữ

liệu (frame data) và gửi một chuỗi jame 32 bits. Nếu đụng độ được phát hiện rất sớm trong lúc truyền frame, thì trạm truyền sẽ hoàn thành việc truyền preamble của frame trước khi bắt đầu truyền chuỗi jame. Chuỗi jame được phát đi để đảm bảo chiều dài của đụng độ đủ để thông báo tới các trạm khác.

§ Sau khi gửi chuỗi jame, trạm truyền chờ một khoảng thời gian ngẫu nhiên được chọn từ bộ phát random number trước khi bắt đầu tiến trình truyền lại. Tiến trình này gọi là “backoff”. Có thể một đụng độ được lặp lại bị giảm đi do trạm đang đụng độ chờ một khoảng thời gian ngẫu nhiên trước khi truyền lại.

§ Nếu đụng độ xuất hiện lại, thì việc truyền được lặp lại, nhưng thời gian trì hoãn ngẫu nhiên được tăng với mỗi nỗ lực truyền lại. Điều này làm giảm khả năng đụng độ của trạm khác.

§ Tiến trình này lặp lại đến khi một trạm truyền một frame không có

đụng độ. Ngay khi một trạm thành công truyền một frame, nó sẽ reset lại collision counter nó sử dụng để tăng thời gian backoff sau mỗi lần

đụng độđã lặp lại.

Slot time là một thông số cho mạng hoạt động half – duplex Ethernet. Nó được

xác định là 512 bits time cho mạng Ethernet hoạt động tại 10 và 100 Mb/s, và

4096 bit time cho Gigabit Ethernet. Để mà cho mỗi nơi truyền tin cậy trong việc phát hiện đụng độ, thời gian truyền nhỏ nhất cho một frame phải ít nhất là một slot time, và thời gian yêu cầu cho đụng độ để truyền đến tất cả các trạm trên mạng phải nhỏ hơn một slot time. Vì thế, một trạm không thể hoàn thành truyền frame trước khi phát hiện rằng một đụng độđã xuất hiện.

Các tín hiệu đã truyền bởi các khoảng trì hoãn đụng độ các trạm Ethernet khi chúng truyền suốt trên mạng. Các khoảng truyền bao gồm thời gian yêu cầu cho tín hiệu truyền qua các phần cáp, và thời gian trì hoãn đụng độ logic khi các tín

hiệu chuyển qua các thành phần điện trong Network Interface Cards (NICs) và

các hub. Đối với các phần cáp dài hơn và nhiều hub trên trạm, nó cho tín hiệu truyền từ một mạng cuối đến mạng khác. Thời gian một tín hiệu truyền giữa hai trạm có khoảng cách xa nhất trong mạng được biết như là “propagation delay” lớn nhất của mạng.

Một trạm phát hiện rằng frame mà nó đang truyền đã bắt gặp một đụng độ, các tín hiệu của nó phải truyền qua mạng đến trạm khác phát hiện các đụng độ. Trạm này phải truyền một chuỗi jame để chỉ một đụng độ đã được phát hiện. Chuỗi jame này phải truyền qua lại mạng trước khi được phát hiện bởi trạm

đang truyền. Tổng một vòng truyền tối đa (“round trip propagation delay) và thời gian yêu cầu để truyền một chuỗi jame là các thành phần xác định chiều dài của Ethernet slot time.

Slot time là một thông số quan trọng vì:

§ 512 bits slot time thiết lập kích cỡ nhỏ nhất của một Ethernet frame là

64 bytes. (4096 bits slot time cho Gigabit Ethernet yêu cầu một vùng

mở rộng được thêm vào frame để kích cỡ truyền nhỏ nhất là 512 bytes). Bất kỳ frame có chiều dài ít hơn 64 bytes thì được xem như là

một “collision fragment” hay “runt frame”, và tự động được bỏ ra bởi trạm nhận.

§ Slot time thiết lập một giới hạn kích cỡ của một mạng trong giới hạn phần chiều dài cáp tối đa và số lần lặp lại có thể trên đường dẫn. Nếu kích cỡ của mạng quá lớn, một hiện tượng được biết như “late collisions” có thể xuất hiện. Đụng độ trễđược xem như một lỗi trong mạng bởi vì đụng độđến quá trễ trong việc truyền frame tự động đối xử bởi chức năng điều khiển truy cập đường truyền Ethernet. Frame (adsbygoogle = window.adsbygoogle || []).push({});

đang được truyền sẽ bị bỏ, yêu cầu một phần mềm ứng dụng phát hiện mất và bắt đầu truyền lại.

§ Slot time đảm bảo nếu có một đụng độ sắp xuất hiện, nó sẽđược phát hiện trong 512 bits đầu tiên (4096 cho Gigabit Ethernet) của frame truyền. Một phần cứng Ethernet đơn giản giữ frame truyền lại sau một

đụng độ.

§ Đối với Gigabit Ethernet, slot time phải được tăng từ 512 đến 4096 bits time. Vì Gigabit Ethernet có tốc độ data cao hơn, tín hiệu truyền chỉ cho một khoảng cách rất nhỏ trong phạm vi 512 bits time. Tại tốc

độ một slot time 512 bits sẽ được hỗ trợ một mạng kích cỡ tối đa khoảng 20 mét. Một mạng nhỏ là không thực tế, vì thế chấp nhận của việc mở rộng một sóng mang được giới thiệu tăng slot time đến 4096 bits. Việc tăng kích cỡ của slot time và việc giới hạn số lần lặp lại trong một mạng, kích cỡ một mạng 200 mét có thểđược hỗ trợ bởi Gigabit Ethernet.

Backoff là quá trình xử lý một trạm đang truyền tính toán chờ bao lâu sau một

đụng độ trước khi nỗ lực truyền lại frame. Nếu tất cả các trạm đã chờ cùng khoảng thời gian trước khi truyền lại, sau đó đụng độ khác sẽ chắc chắn xuất hiện. Điều này được tránh bằng cách mỗi trạm phát một số ngẫu nhiên để tín khoảng thời gian nó phải chờ trước khi kiểm tra sóng mang. Khoảng thời gian này được biết như là “backoff delay” của trạm.

Thuật backoff thực hiện trong Ethernet là “truncated binary exponential

backoff”. Sau một đụng độ, mỗi trạm phát một số ngẫu nhiên nằm trong tầm chỉ rõ của giá trị. Sau đó nó chờ số slot time trước khi nỗ lực truyền lại. Tầm giá trị tăng theo số mũ sau mỗi lần truyền lại bị hỏng. Nỗ lực lần đầu có tầm là 0

đến 1, lần thứ hai là 0 đến 3, lần ba là 0 đến 7 và cứ thế tiếp tục. Nếu đụng độ

lặp lại, thì tầm tiếp tục mở rộng đến 10 nỗ lực khi nó đi từ 0 đến 1023. Sau đó tầm của giá trị nằm giữa từ 0 đến 1023. Nếu một trạm không thành công trong việc truyền sau 16 lần nỗ lực, thì MAC thông báo “excessive collision error”.

Frame được truyền lại sau đó bị bỏđi, ta cần phần mềm ứng dụng phát hiện mất frame và bắt đầu một sự truyền lại.

Các kết quả binary exponential backoff trong khoảng trì hoãn nhỏ nhất trước

khi truyền lại khi lưu lượng trên LAN là thấp. Khi lưu lượng cao, đụng độ lặp lại là nguyên nhân làm tầm tăng lên, vì thế làm giảm cơ hội đụng độ sau đó. Trong một mạng, nơi mà lưu lượng có mức độ cao, đụng độ lặp lại sẽ bắt đầu gây ra lỗi quá đụng độ (excessive collision error) được phát đi. Lỗi quá đụng độ để chỉ ra rằng lưu lượng tải đã tăng đến điểm mà nó không thể có khả năng được giữ trên một mạng Ethernet đơn lẻ.

Capture Effect. Khi mạng đang hoạt động dưới một tải lớn, thuật toán binary exponential backoff có thể trình bày một sự không công bằng được biết như

“capture effect”. Vấn đề nảy sinh từ việc nắm giữ của collision counter. Mỗi trạm sẽ cập nhật bộđếm đụng độ một cách độc lập của nó và chỉ sau một nỗ lực truyền lại. Chỉ có thành công bộ đếm đụng độ trở về zero sau khi phát một gói thành công. Điều này cho thuận lợi một trạm đơn bật cho phép nó “capture” mạng được một khoảng thời gian mở rộng.

Một ví dụ của hiệu ứng bắt gồm hai trạm có nhiều data để gửi và có thể gửi data nhanh như được cho phép. Cả hai đụng độ với nỗ lực truyền lại đầu tiên và chọn backoff là 0 hoặc 1. Trạm A chọn 0, và trạm B chọn 1. Trạm A truyền lại trong lúc trạm B chờ một slot time. Sau khi trạm A hoàn thành việc truyền của nó và hết khoảng interframe gap, cả hai trạm sẵn sàng truyền lại và đụng độ xuất hiện. Đây là đụng độđầu tiên của trạm A đối với frame này, vì thế nó chọn một backoff là 0 hoặc 1. Tuy nhiên, đây là đụng độ lần thứ hai của trạm B cho frame này, vì thế nó chọn một backoff giữa 0 và 3. Vì vậy trạm A có khả năng truyền cao hơn trong lúc trạm B chờ lại. Nếu điều này xảy ra thì lấy số giống như vậy và lại đụng độ, cho nên lấy các số lẻ cho trạm B (lấy số chẵn thì xấu hơn).

Một kịch bản giống như vậy có thể lặp đi lặp lại chỉ có thể kết thúc khi hàng của trạm A là nỗ lực cuối cùng hoặc khi trạm cuối cùng trạm B tiến tới nỗ lực thứ

16. Sau 16 lần nỗ lực trạm B sẽ reset lại bộđếm đụng độ của nó cho phép nó trở

lại cạnh tranh nhiều hơn. Nhưng nó cũng bỏ ra frame nó đã nỗ lực truyền lại, yêu cầu nó xếp hàng frame cho việc truyền lại bằng phần mềm.

Vào năm 1994 một thuật toán backoff mới được gọi là “binary logarithm arbitration method” (BLAM) được đưa ra để làm giảm vấn đề hiệu ứng bắt. Một nhóm làm việc IEEE 802.3w được tạo ra để thêm BLAM như một đặc

minh rằng BLAM đưa ra một cải tiến xác định trên thuật toán binary

exponential backoff, công việc để kết hợp nó vào trong chuẩn Ethernet không

bao giờ được hoàn thành vì một thay đổi (dịch) trong rõ nét ở full – duplex Ethernet và thiếu sự chú ý cập nhật phần cứng half – duplex.

Một phần của tài liệu Tìm hiểu lớp liên kết dữ liệu trong mô hình 7 lớp osi và mô phỏng mạng token buslan (Trang 29 - 33)