Phần cứng trong mô hình tham chiếu OSI: Lớp 2

Phần cứng trong mô hình tham chiếu OSI: Lớp 1

Russell Hitchcock

Trong phần trước của loạt bài này, chúng tôi đã giới thiệu cho các bạn về mô hình tham chiếu 7 lớp OSI và về lớp đầu tiên, đó là lớp vật lý. Trong phần hai của loạt bài này chúng tôi sẽ giới thiệu về lớp thứ hai, lớp liên kết dữ liệu hay Data Link, từ góc độ phần cứng.

Lớp liên kết dữ liệu cung cấp các phương pháp mang tính chức năng và thủ tục cho việc truyền tải dữ liệu giữa hai điểm với nhau. Có đến 5 chức năng chung mà lớp này phải chịu trách nhiệm. Các chức năng đó là:

  • Điều khiển liên kết logic
  • Điều khiển truy nhập môi trường
  • Đóng khung dữ liệu
  • Định địa chỉ
  • Phát hiện lỗi

Điều khiển liên kết logic (Logical Link Control - LLC)

Logical Link Control (LLC) thường được coi như một lớp con của lớp liên kết dữ liệu (DLL), trái với chức năng của DLL, lớp con LLC này có liên quan chính với việc ghép các giao thức để gửi đi trên lớp con MAC (điều khiển truy nhập môi trường). LLC thực hiện nhiệm vụ này bằng cách phân chia dữ liệu được gửi thành các khung dữ liệu nhỏ hơn và bổ sung thêm vào đó các thông tin mô tả về khung, gọi là các tiêu đề khung hay header.

Điều khiển truy nhập môi trường (Media Access Control - MAC)

Giống như LLC, Media Access Control (MAC) cũng được coi là một lớp con của DLL nhưng trái với chức năng của DLL, gồm có trong lớp con này là địa chỉ MAC. Địa chỉ MAC cung cấp cho lớp con này một bộ nhận dạng duy nhất để mỗi điểm truy cập mạng có thể truyền thông với mạng. Lớp con MAC cũng có trách nhiệm cho việc truy cập cáp mạng, hoặc môi trường truyền thông.

Đóng khung dữ liệu

Nếu ai đó gửi dữ liệu vào một mạng. Người nhận sẽ phải biết được cách thức, thời gian để đọc dữ liệu đó. Vấn đề này có thể xảy ra theo một số cách và là mục đích duy nhất của việc đóng khung. Theo thuật ngữ chung, việc đóng khung chính là cách tổ chức dữ liệu để được truyền tải và để nhận dạng dữ liệu này là các thông tin chỉ dẫn, được gọi là các header. Những gì và bao nhiêu thông tin có bên trong các header để có thể nhận dạng bằng giao thức đã được sử dụng trên mạng, giống như Ethernet.

Cấu trúc của một khung liên quan chặt chẽ với giao thức Ethernet được hiển thị trong hình 1 bên dưới.


Hình 1: Cấu trúc khung Ethernet

Định địa chỉ

Việc định địa chỉ trong lớp 2 xảy ra với địa chỉ MAC của lớp con MAC. Bạn không được nhầm lẫn điều này với việc định địa chỉ mạng hoặc địa chỉ IP. Việc kết hợp địa chỉ MAC với một điểm truy cập mạng nào đó và địa chỉ mạng hoặc IP được kết hợp với toàn bộ một thiết bị (ví dụ như máy tính, máy in hoặc router).

Nói về các router, bạn cần lưu ý rằng các router hoạt động trong lớp 3 chứ không phải lớp 2. Các Switch và hub hoạt động trong lớp 2, chính vì vậy việc gửi dữ liệu được dựa vào việc định địa chỉ lớp 2 (địa chỉ MAC) và không hề quan tâm đến địa chỉ IP hoặc địa chỉ mạng. Tuy nhiên một số router có thực hiện một số chức năng của lớp 2, với các router này chúng tôi sẽ giới thiệu kỹ về nó trong một bài khác.

Quản lý và phát hiện lỗi

Bất cứ khi nào dữ liệu được gửi trên phương tiện truyền dẫn thì cũng đều tồn tại trường hợp phía người nhận sẽ không nhận được dữ liệu chính xác như nó đã được gửi. Điều này xảy ra do nhiều lý do, ví dụ như việc xuyên nhiễu, trong một số trường hợp đường truyền dẫn quá dài nên có thể làm yếu tín hiệu. Chính vì vậy cách bên phía máy nhận biết dữ liệu đã được nhận có lỗi hay không rất quan trọng. Có một số phương pháp để thực hiện điều này. Một số phương pháp này là những phương pháp đơn giản tuy nhiên cũng có nhiều hiêu quả.

Các bit chẵn lẻ là một ví dụ của giao thức phát hiện lỗi đơn giản mặc dù có hiệu quả hơi hạn chế, tuy nhiên nó lại được sử dụng rất rộng rãi. Một bit chẵn lẻ là môt bit mở rộng được thêm vào trong một gói dữ liệu. Có hai giá trị cho mỗi một bit này. Giá trị này được chọn sẽ phụ thuộc vào cách phát hiện bit chẵn lẻ mà nó sử dụng. Có hai cách phát hiện chẵn lẻ. Nếu sử dụng tính chẵn thì bit chẵn phải lẻ được thiết lập (‘1’ hoặc ‘0’) để làm cho số lượng ‘1’ trong gói dữ liệu là chẵn. Ngược lại, nếu sử dụng tính lẻ thì bít chẵn lẻ phải được thiết lập theo giá trị cần thiết để làm cho số ‘1’ trong gói dữ liệu là lẻ.

Khi sử dụng phát hiện lỗi bit chẵn lẻ, bên nhận sẽ kiểm tra tất cả các bít ‘1’ trong khung dữ liệu, có trong đó cá bít chẵn lẻ. Bên nhận sẽ có một thiết lập cho tính chẵn hoặc tính lẻ; nếu số bit ‘1’ trong khung không tương xứng với thiết lập thì có nghĩa là khung dữ liệu này truyền đi đã bị lỗi. Tuy nhiên hiệu quả của phương pháp phát hiện lỗi kiểu này bị hạn chế. Sự hạn chế của nó ở đây là vì nếu có một số lượng chẵn các lỗi trong cùng một khung dữ liệu thì phương pháp này hoàn toàn mất khả năng phát hiện lỗi – chính vì vậy cần có một phương pháp phát hiện lỗi tinh vi hơn.

Phương pháp phát hiện lỗi bằng cách kiểm tra tổng có thể cho chúng ta thấy được hiệu quả tốt hơn nếu được sử dụng với phương pháp bit chẵn lẻ. Phương pháp kiểm tra tổng là phương pháp kiểm tra tổng tất cả các bit ‘1’ trong gói dữ liệu và kiểm tra giá trị đó đối với giá trị tổng được bởi người gửi thêm vào cho gói dữ liệu. Phương pháp kiểm tra tổng có thể cung cấp một số hiệu quả cho những cố gắng phát hiện lỗi của bạn nhưng nó vẫn còn một số hạn chế. Cho ví dụ, một tổng kiểm tra không thể phát hiện một số lượng các lỗi chẵn (vì tổng của chúng sẽ bằng 0), một số byte nào đó bị chèn vào mà tổng của chúng bằng 0, hoặc thậm chí còn sắp đặt lại thứ tự của các byte trong gói dữ liệu. Để khắc phục tình trạng này, đã có một số phương pháp mới được đưa ra.

Một trong những phương pháp nổi bật nhất trong việc phát hiện lỗi là kiểm tra lỗi CRC. Phương pháp này dùng chuyển đổi một gói dữ liệu thành một kiểu đa thức, trong đó giá trị của các hệ số tương ứng với các bít trong gói, sau đó chia đa thức đó bằng một khóa định trước hoặc một khóa chuẩn. Phần còn lại của phép chia được gửi cùng với gói dữ liệu đến phía nhận. Phía nhận cũng thực hiện việc chia đa thức như vậy với cùng một khóa với phía gửi, sau đó kiểm tra kết quả nhận được. Nếu hai kết quả này phù hợp thì quá trình gửi tin đã thành công và không có lỗi. Phương pháp này có hiệu quả khá tốt vì có rất nhiều khả năng một đa thức có thể sử dụng một khóa tuy vậy không phải đa thức nào cũng cung cấp sự phát hiện lỗi tốt giống nhau. Một nguyên lý chung ở đây là, các đa thức càng dài thì khả năng phát hiện lỗi càng tốt nhưng vấn đề toán học liên quan lại khá phức tạp và nhiều khía cạnh kỹ thuật có một số bàn cãi trong việc thi hành như thế nào để phương pháp này cung cấp hiệu quả phát hiện lỗi tốt nhất.

Cuối cùng tôi muốn chỉ ra cho các bạn rằng, các phương pháp phát hiện lỗi này không bị hạn chế đối với sự truyền tải dữ liệu trong môi trường mạng; chúng có thể được sử dụng khá tốt trong kịch bản lưu trữ dữ liệu, ở đây người ta muốn kiểm tra xem dữ liệu có bị sai lệch hay không.

Trong phần 3 tiếp theo của loạt bài này, chúng tôi sẽ giới thiệu cho các bạn một chút thông tin chi tiết về tại sao các router hầu như lại nằm ở lớp 3 chứ không phải lớp 2.

Phần cứng trong mô hình tham chiếu OSI: Lớp 2

Thứ Tư, 11/06/2008 16:18
3,52 👨 4.040
0 Bình luận
Sắp xếp theo
    ❖ Tổng hợp