Giao thức và mô hình lớp của hệ thống mạng công nghiệp
Tóm tắt nội dung
Ở bài này chúng ta sẽ tìm hiểu về mô hình lớp và giao thức mạng trong hệ thống mạng công nghiệp. Đây là những khái niệm quan trọng để có thể nắm được nội dung các bài tiếp theo.
1. Giao thức của hệ thống mạng công nghiệp
1.1. Giao thức là gì ?
Bất cứ sự giao tiếp nào cũng cần một ngôn ngữ chung cho các đối tác. Trong kỹ thuật truyền thông, bên cung cấp dịch vụ cũng như bên sử dụng dịch vụ đều phải tuân thủ theo các quy tắc, thủ tục cho việc giao tiếp, gọi là giao thức. Giao thức chính là cơ sở cho việc thực hiện và sử dụng các dịch vụ truyền thông. Một quy chuẩn giao thức bao gồm các thành phần sau:
- Cú pháp (syntax): Quy định về cấu trúc bức điện, gói dữ liệu dùng khi trao đổi, trong đó có phần thông tin hữu ích (dữ liệu) và các thông tin bổ trợ như địa chỉ, thông tin điều khiển, thông tin kiểm lỗi….
- Ngữ nghĩa (semantic): Quy định ý nghĩa cụ thể của từng phần trong một bức điện, như phương pháp định địa chỉ, phương pháp bảo toàn dữ liệu, thủ tục điều khiển dòng thông tin, xử lý lỗi,…
- Định thời (timing): Quy định về trình tự, thủ tục giao tiếp, chế độ truyền (đồng bộ hay không đồng bộ), tốc độ truyền thông….
Việc thực hiện một dịch vụ truyền thông trên cơ sở các giao thức tương ứng được gọi là xử lý giao thức Nói một cách khác, quá trình xử lý giao thức có thể là mã hóa (xử lý giao thức bên gửi) và giải mã (xử lý giao thức bên nhận). Tương tự như các dịch vụ truyền thông, có thể phân biệt các giao thức cấp thấp và giao thức cao cấp. Các giao thức cao cấp là cơ sở cho các dịch vụ cao cấp và các giao thức cấp thấp là cơ sở cho các dịch vụ cấp thấp.
Giao thức cấp thấp gần với phần cứng, thường được thực hiện trực tiếp bởi các mạch điện tử. Một số ví dụ giao thức cấp thấp quen thuộc là TCP/IP được dùng phổ biến trong Internet, HART dùng trong điều khiển quá trình, HDLC làm cơ sở cho nhiều giao thức khác và UART dùng trong đa số các giao diện vật lý của các hệ thống bus trường. Hai giao thức nói sau – HDLC và UART – có vai trò quan trọng trong truyền thông công nghiệp và vì vậy được giới thiệu sơ lược dưới đây.
1.2. Giao thức HDLC
HDLC cho phép chế độ truyền bit nối tiếp đồng bộ hoặc không đồng bộ. Một bức điện, hay còn gọi là khung (frame) có cấu trúc như sau:
Mỗi khung được khởi đầu và kết thúc bằng một cờ hiệu (flag) với dãy bit 01111110. Dãy bit này được đảm bảo không bao giờ xuất hiện trong các phần thông tin khác qua phương pháp nhồi bit (bit stuffing), tức cứ sau một dãy 5 bit có giá trị 1 (11111) thì một bit 0 lại được bổ sung vào 5 1 (chi tiết xem phần Bảo toàn dữ liệu). Ô địa chỉ tiếp theo chứa địa chỉ bên gửi và bên nhận. Tùy theo cách gán địa chỉ 4 hoặc 8 bit (tương ứng với 32 hoặc 256 địa chỉ khác nhau), ô này có chiều dài là 8 hoặc 16 bit.
Cấu trúc của ô thông tin điều khiển được quy định như sau:
Ô thông tin có độ dài biến thiên, cũng có thể để trống nếu như bức điện không dùng vào mục đích vận chuyển dữ liệu. Sau ô thông tin là đến dãy bit kiểm lỗi (FCS = Frame Check Sequence), dùng vào mục đích bảo toàn dữ liệu. Tốc độ truyền thông tiêu biểu đối với HDLC từ 9,6 kbit/s đến 2 Mbit/s.
Bit khởi đầu (Start bit) bao giờ cũng là 0 và bit kết thúc (Stop bit) bao giờ cũng là 1. Các bit trong một ký tự được truyền theo thứ tự từ bit thấp (LSB) tới bit cao (MSB). Giá trị của bit chẵn lẻ P phụ thuộc vào cách chọn:
Nếu chọn parity chẵn, thì P bằng 0 khi tổng số bit 1 là chẵn. Nếu chọn parity lẻ, thì P bằng 0 khi tổng số bit 1 là lẻ. Như tên của nó đã thể hiện, chế độ truyền không đồng bộ được sử dụng ở đây, tức không có một tín hiệu riêng phục vụ cho việc đồng bộ hóa giữa bên gửi và bên nhận. Dựa vào các bit đầu cuối và tốc độ truyền thông đã được đặt trước cho cả hai bên, bên nhận thông tin phải tự chỉnh nhịp lấy mẫu của mình để đồng bộ với bên gửi.
2. Mô hình lớp trong mạng truyền thông
Để trao đổi dữ liệu giữa hai thiết bị, các thủ tục, giao thức cần thiết có thể tương đối phức tạp. Rõ ràng điều cần ở đây là sự cộng tác của hai đối tác truyền thông trên một mức trừu tượng cao. Thay vì phải thực hiện tất cả các bước cần thiết trong một module duy nhất, có thể chia nhỏ thành các phần việc có thể thực hiện độc lập.
Trong mô hình lớp, các phần việc được sắp xếp theo chiều dọc thành từng lớp, tương ứng với các lớp dịch vụ và các lớp giao thức khác nhau. Mỗi lớp giải quyết một nhiệm vụ rõ ràng phục vụ việc truyền thông. Một dịch vụ ở lớp trên sử dụng dịch vụ của lớp dưới ngay kề nó.
Để thực hiện một dịch vụ truyền thông, mỗi bức điện được xử lý qua nhiều lớp trên cơ sở các giao thức quy định, gọi là xử lý giao thức theo mô hình lớp. Mỗi lớp ở đây có thể thuộc chức năng của phần cứng hoặc phần mềm. Càng ở lớp cao hơn thì phần mềm càng chiếm vai trò quan trọng, trong khi việc xử lý giao thức ở các lớp dưới thường được các vi mạch điện tử trực tiếp thực hiện.
Đứng từ bên gửi thông tin, qua mỗi lớp từ trên xuống dưới, một số thông tin bổ trợ lại được gắn thêm vào phần dữ liệu do lớp trên đưa xuống, gọi là đầu giao thức (protocol header). Bên cạnh đó, thông tin cần truyền đi có thể được chia thành nhiều bức điện có đánh số thứ tự, hoặc một bức điện có thể tổng hợp nhiều nguồn thông tin khác nhau. Người ta cũng dùng các khái niệm như “đóng gói dữ liệu” hoặc “tạo khung” để chỉ các thao tác này.
Một quá trình ngược lại sẽ diễn ra bên nhận thông tin. Các phần header sẽ được các lớp tương ứng đọc, phân tích và tách ra trước khi gửi tiếp lên lớp trên. Các bức điện mang một nguồn thông tin sẽ được tổng hợp lại, hoặc một bức điện mang nhiều nguồn thông tin khác nhau sẽ được phân chia tương ứng. Đến lớp trên cùng, thông tin nguồn được tái tạo.
Với mô hình phân lớp, ý nghĩa của giao thức một lần nữa thể hiện rõ. Đương nhiên, để thực hiện truyền thông cần có hai đối tác tham gia, vậy phải tồn tại cùng một tập hợp các hàm phân lớp cả trong hai thiết bị. Quan hệ giao tiếp ở đây chính là quan hệ giữa các lớp tương đương của hai trạm. Chỉ khi các đối tác truyền thông trong các lớp tương đương sử dụng chung một ngôn ngữ, tức chung một giao thức thì mới có thể trao đổi thông tin.
Trong trường hợp khác, cần có một phần tử trung gian hiểu cả hai giao thức, gọi chung là bộ chuyển đổi, có thể là bridge hay gateway – tùy theo lớp giao thức đang quan tâm. Vấn đề mấu chốt ở đây để có thể thực hiện được việc chuyển đổi là sự thống nhất về dịch vụ truyền thông của các lớp tương đương trong hai hệ thống khác nhau. Nếu hai hệ thống lại quy định các chuẩn khác nhau về dịch vụ thì việc chuyển đổi rất bị hạn chế và nhiều khi hoàn toàn không có ý nghĩa.
Ví dụ, một bên đòi hỏi cài đặt các dịch vụ cao cấp như cài đặt và kiểm soát chạy chương trình từ xa, trong khi bên đối tác chỉ cung cấp dịch vụ trao đổi dữ liệu thuần túy thì việc chuyển đổi ở đây không có vai trò gì cũng như không thể thực hiện được. Tuy nhiên, càng những dịch vụ ở cấp thấp càng dễ có cơ hội đưa ra một chuẩn thống nhất cho cả hai phía.
Xem thêm: Dịch vụ truyền thông trong kiến trúc giao thức hệ thống mạng
Bài cùng chủ đề