Trang chủ » Kiến thức » Kiến trúc giao thức OSI trong mạng truyền thông công nghiệp
Kiến trúc giao thức OSI trong mạng truyền thông công nghiệp
Tóm tắt nội dung
Trên thực tế, khó có thể xây dựng được một mô hình chi tiết thống nhất về chuẩn giao thức và dịch vụ cho tất cả các hệ thống truyền thông, nhất là khi các hệ thống rất đa dạng và tồn tại độc lập. Chính vì vậy, năm 1983 tổ chức chuẩn hóa quốc tế ISO đã đưa ra chuẩn ISO 7498 với mô hình quy chiếu OSI (Open System Interconnection – Reference Model), nhằm hỗ trợ xây dựng các hệ thống truyền thông có khả năng tương tác. Lưu ý rằng, ISO/OSI hoàn toàn không phải là một chuẩn thống nhất về giao thức, cũng không phải là một chuẩn chi tiết về dịch vụ truyền thông.
Có thể thấy, chuẩn này không đưa ra bất kỳ một quy định nào về cấu trúc một bức điện, cũng như không định nghĩa bất cứ một chuẩn dịch vụ cụ thể nào. OSI chỉ là một mô hình kiến trúc phân lớp với mục đích phục vụ việc sắp xếp và đối chiếu các hệ thống truyền thông có sẵn, trong đó có cả việc so sánh, đối chiếu các giao thức và dịch vụ truyền thông, cũng như cơ sở cho việc phát triển các hệ thống mới.
Theo mô hình OSI, chức năng hay dịch vụ của một hệ thống truyền thông được chia thành bảy lớp, tương ứng với mỗi lớp dịch vụ là một lớp giao thức. Các lớp này có thể do phần cứng hoặc phần mềm thực hiện, tuy nhiên chuẩn này không đề cập tới chi tiết một đối tác truyền thông phải thực hiện từng lớp đó như thế nào.
Một lớp trên thực hiện dịch vụ của mình trên cơ sở sử dụng các dịch vụ ở một lớp phía dưới và theo đúng giao thức qui định tương ứng. Thông thường, các dịch vụ cấp thấp do phần cứng (các vi mạch điện tử) thực hiện, trong khi các dịch vụ cao cấp do phần mềm (hệ điều hành, phần mềm điều khiển, phần mềm ứng dụng) đảm nhiệm.
Việc phân lớp không những có ý nghĩa trong việc mô tả, đối chiếu các hệ thống truyền thông, mà còn giúp ích cho việc thiết kế các thành phần giao diện mạng. Một lớp bất kỳ trong bảy lớp có thể thay đổi trong cách thực hiện mà không ảnh hưởng tới các lớp khác, chừng nào nó giữ nguyên giao diện với lớp trên và lớp dưới nó.
Vì đây là một mô hình quy chiếu có tính chất dùng để tham khảo, không phải hệ thống truyền thông nào cũng thực hiện đầy đủ cả bảy lớp đó. Ví dụ, vì lý do hiệu suất trao đổi thông tin và giá thành thực hiện, đối với các hệ thống bus trường thông thường chỉ thực hiện các lớp 1, 2 và 7. Trong các trường hợp này, có thể một số lớp không thực sự cần thiết hoặc chức năng của chúng được ghép với một lớp khác (ví dụ với lớp ứng dụng).
Một mô hình quy chiếu tạo ra cơ sở, nhưng không đảm bảo khả năng tương tác giữa các hệ thống truyền thông, các thiết bị truyền thông khác nhau. Với việc định nghĩa bảy lớp, OSI đưa ra một mô hình trừu tượng cho các quá trình giao tiếp phân cấp.
Nếu hai hệ thống thực hiện cùng các dịch vụ và trên cơ sở một giao thức giống nhau ở một lớp, thì có nghĩa là hai hệ thối, có khả năng tương tác ở lớp đó. Mô hình OSI có thể coi như một công trình khung, hỗ trợ việc phát triển và đặc tả các chuẩn giao thức.
Cần phải nhấn mạnh rằng, bản thân môi trường truyền thông và các chương trình ứng dụng không thuộc phạm vi đề cập của chuẩn OSI.
Như vậy, các lớp ở đây chính là các lớp chức năng trong các thành phần giao diện mạng của một trạm thiết bị, bao gồm cả phần cứng ghép nối và phần mềm cơ sở. Các mũi tên nét gạch chấm biểu thị quan hệ logic giữa các đối tác thuộc các lớp tương ứng, trong khi các mũi tên nét liền chỉ đường đi thực của dữ liệu.
Chức năng của các lớp được mô tả sơ lược dưới đây. Lưu ý, ở đây tên lớp năm (Session) được dịch sang “Kiểm soát nối” mặc dù không hoàn toàn chính xác về mặt từ ngữ, nhưng thể hiện rõ hơn về ý nghĩa của lớp này. Cách dịch theo nghĩa mà không theo từ này cũng phổ biến trong giới chuyên môn ở các nước trong khu vực không nói tiếng Anh. Trong một số tài liệu tiếng Việt, các tác giả chọn từ “Phiên” bởi nó ngắn gọn và sát với từ nguyên bản tiếng Anh.
1. Lớp ứng dụng (application layer)
Lớp ứng dụng là lớp trên cùng trong mô hình OSI, có chức năng cung cấp các dịch vụ cao cấp (trên cơ sở các giao thức cao cấp) cho người sử dụng và các chương trình ứng dụng. Ví dụ, có thể sắp xếp các dịch vụ và giao thức theo chuẩn MMS cũng như các dẫn xuất của nó sử dụng trong một số hệ thống bus trường thuộc lớp ứng dụng.
Các dịch vụ thuộc lớp ứng dụng hầu hết được thực hiện bằng phần mềm. Thành phần phần mềm này có thể được nhúng sẵn trong các linh kiện giao diện mạng, hoặc dưới dạng phần mềm điều khiển (drivers) có thể nạp lên khi cần thiết, và/hoặc một thư viện cho ngôn ngữ lập trình chuyên dụng hoặc ngôn ngữ lập trình phổ thông.
Để có khả năng sử dụng dễ dàng trong một chương trình ứng dụng (ví dụ điều khiển cơ sở hoặc điều khiển giám sát), nhiều hệ thống cung cấp các dịch vụ này thông qua các khối chức năng (function block). Đối với các thiết bị trường thông minh, các khối chức năng này không chỉ đơn thuần mang tính chất của dịch vụ truyền thông, mà còn tích hợp cả một số chức năng xử lý thông tin, thậm chí cả điều khiển tại chỗ. Đây cũng chính là xu hướng mới trong việc chuẩn hóa lớp ứng dụng cho các hệ thống bus trường, hướng tới kiến trúc điều khiển phân tán triệt để.
2. Lớp biểu diễn dữ liệu (presentation layer)
Trong một mạng truyền thông, ví dụ mạng máy tính, các trạm máy tính có thể có kiến trúc rất khác nhau, sử dụng các hệ điều hành khác nhau và vì vậy cách biểu diễn dữ liệu của chúng cũng có thể rất khác nhau. Sự khác nhau trong cách biểu diễn dữ liệu có thể là độ dài khác nhau cho một kiểu dữ liệu, hoặc cách sắp xếp các byte khác nhau trong một kiểu nhiều byte, hoặc sử dụng bảng mã ký tự khác nhau.
Ví dụ, một số nguyên có kiểu integer có thể biểu diễn bằng 2 byte, 4 byte hoặc 8 byte, tùy theo thế hệ CPU, hệ điều hành và mô hình lập trình. Ngay cả một kiểu integer có chiều dài 2 byte cũng có hai cách sắp xếp thứ tự byte giá trị cao đứng trước hay đứng sau byte giá trị thấp.
Chức năng của lớp biểu diễn dữ liệu là chuyển đổi các dạng biểu diễn dữ liệu khác nhau về cú pháp thành một dạng chuẩn, nhằm tạo điều kiện cho các đối tác truyền thông có thể hiểu được nhau mặc dù chúng sử dụng các kiểu dữ liệu khác nhau.
Nói một cách khác, lớp biểu diễn dữ liệu giải phóng sự phụ thuộc của lớp ứng dụng vào các phương pháp biểu diễn dữ liệu khác nhau. Ngoài ra, lớp này còn có thể cung cấp một số dịch vụ bảo mật dữ liệu, ví dụ của phương pháp sử dụng mã khóa.
Nếu như cách biểu diễn dữ liệu được thống nhất, chuẩn hóa, thì chức năng này không nhất thiết phải tách riêng thành một lớp độc lập, mà có thể kết hợp thực hiện trên lớp ứng dụng để đơn giản hóa và nâng cao hiệu suất của việc xử lý giao thức. Đây chính là một đặc trưng trong các hệ thống bus trường.
3. Lớp kiểm soát nối (session layer)
Một quá trình truyền thông, ví dụ trao đổi dữ liệu giữa hai chương trình ứng dụng thuộc hai nút mạng, thường được tiến hành thành nhiều giai đoạn. Cũng như việc giao tiếp giữa hai người cần có việc tổ chức mối quan hệ, giữa hai đối tác truyền thông cần có sự hỗ trợ tổ chức mối liên kết.
Lớp kiểm soát nối có chức năng kiểm soát mối liên kết truyền thông giữa các chương trình ứng dụng, bao gồm các việc tạo lập, quản lý và kết thúc các đường nối giữa các ứng dụng đối tác.
Cần phải nhắc lại rằng, mối liên kết giữa các chương trình ứng dụng mang tính chất logic; thông qua một mối liên kết vật lý (giữa hai trạm, giữa hai nút mạng) có thể tồn tại song song nhiều đường nối logic. Thông thường, kiểm soát nối thuộc chức năng của hệ điều hành. Để thực hiện các đường nối giữa hai ứng dụng đối tác, hệ điều hành có thể tạo các quá trình tính toán song song (cạnh tranh).
Như vậy, nhiệm vụ đồng bộ hóa các quá trình tính toán này đối với việc sử dụng chung một giao diện mạng cũng thuộc chức năng của lớp kiểm soát nối. Chính vì thế, lớp này còn có tên là lớp đồng bộ hóa.
Trong các hệ thống bus trường, quan hệ nối giữa các chương trình ứng dụng được xác định sẵn (quan hệ tĩnh) nên lớp kiểm soát nối không đóng vai trò gì đáng kể. Đối với một số hệ thống khác, chức năng của lớp này được đẩy lên kết hợp với lớp ứng dụng vì lý do hiệu suất xử lý truyền thông
4. Lớp vận chuyển (transport layer)
Bất kể bản chất của các ứng dụng cần trao đổi dữ liệu, điều cần thiết là dữ liệu phải được trao đổi một cách tin cậy. Khi một khối dữ liệu được chuyển đi thành từng gói, cần phải đảm bảo tất cả các gói đều đến đích và theo đúng trình tự chúng được chuyển đi.
Chức năng của lớp vận chuyển là cung cấp các dịch vụ cho việc thực hiện vận chuyển dữ liệu giữa các chương trình ứng dụng một cách tin cậy, bao gồm cả trách nhiệm khắc phục lỗi và điều khiển lưu thông. Nhờ vậy mà các lớp trên có thể thực hiện được các chức năng cao cấp mà không cần quan tâm tới cơ chế vận chuyển dữ liệu cụ thể.
Các nhiệm vụ cụ thể của lớp vận chuyển bao gồm:
- Quản lý về tên hình thức cho các trạm sử dụng
- Định vị các đối tác truyền thông qua tên hình thức và/hoặc địa chỉ Xử lý lỗi và kiểm soát dòng thông tin, trong đó có cả việc lập lại quan hệ liên kết và thực hiện các thủ tục gửi lại dữ liệu khi cần thiết Dồn kênh các nguồn dữ liệu khác nhau
- Đồng bộ hóa giữa các trạm đối tác.
Để thực hiện việc vận chuyển một cách hiệu quả, tin cậy, một dữ liệu cần chuyển đi có thể được chia thành nhiều đơn vị vận chuyển (data segment unit) có đánh số thứ tự kiểm soát trước khi bổ sung các thông tin kiểm soát lưu thông.
Do các đặc điểm riêng của mạng truyền thông công nghiệp, một số nhiệm vụ cụ thể của lớp vận chuyển trở nên không cần thiết, ví dụ việc dồn kênh hoặc kiểm soát lưu thông. Một số chức năng còn lại được dồn lên kết hợp với lớp ứng dụng để tiện việc thực hiện và tạo điều kiện cho người sử dụng tự chọn phương án tối ưu hóa và nâng cao hiệu suất truyền thông.
5. Lớp mạng (network layer)
Một hệ thống mạng diện rộng (ví dụ Internet hay mạng viễn thông) là sự liên kết của nhiều mạng tồn tại độc lập. Mỗi mạng này đều có một không gian địa chỉ và có một cách đánh địa chỉ riêng biệt, sử dụng công nghệ truyền thông khác nhau. Một bức điện đi từ đối tác A sang một đối tác B ở một mạng khác có thể qua nhiều đường khác nhau, thời gian, quãng đường vận chuyển và chất lượng đường truyền vì thế cũng khác nhau.
Lớp mạng có trách nhiệm tìm đường đi tối ưu (routing) cho việc vận chuyển dữ liệu, giải phóng sự phụ thuộc của các lớp bên trên vào phương thức chuyển giao dữ liệu và công nghệ chuyển mạch dùng để kết nối các hệ thống khác nhau.
Tiêu chuẩn tối ưu ở đây hoàn toàn dựa trên yêu cầu của các đối tác, ví dụ yêu cầu về thời gian, quãng đường, về giá thành dịch vụ hay yêu cầu về chất lượng dịch vụ. Việc xây dựng và hủy bỏ các quan hệ liên kết giữa các nút mạng cũng thuộc trách nhiệm của lớp mạng.
Có thể nhận thấy, lớp mạng không có ý nghĩa đối với một hệ thống truyền thông công nghiệp, bởi ở đây hoặc không có nhu cầu trao đổi dữ liệu giữa hai trạm thuộc hai mạng khác nhau, hoặc việc trao đổi được thực hiện gián tiếp thông qua chương trình ứng dụng (không thuộc lớp nào trong mô hình OSI).
Việc thực hiện trao đổi dữ liệu thông qua chương trình ứng dụng xuất phát từ lý do là người sử dụng (lập trình) muốn có sự kiểm soát trực tiếp tới đường đi của một bức điện để đảm bảo tính năng thời gian thực, chứ không muốn phụ thuộc vào thuật toán tìm đường đi tối ưu của các bộ router.
Cũng vì vậy, các bộ router thông dụng trong liên kết mạng hoàn toàn không có vai trò gì trong các hệ thống bus trường.
6. Lớp liên kết dữ liệu (data link layer)
Lớp liên kết dữ liệu có trách nhiệm truyền dẫn dữ liệu một cách tin cậy trong qua mối liên kết vật lý, trong đó bao gồm việc điều khiển việc truy nhập môi trường truyền dẫn và bảo toàn dữ liệu. Lớp liên kết dữ liệu cũng thường được chia thành hai lớp con tương ứng với hai chức năng nói trên: Lớp điều khiển truy nhập môi trường (medium access control, MAC) và lớp điều khiển liên kết logic (logical link control, LLC).
Trong một số hệ thống, lớp liên kết dữ liệu có thể đảm nhiệm thêm các chức năng khác như kiểm soát lưu thông và đồng bộ hóa việc chuyển giao các khung dữ liệu.
Để thực hiện chức năng bảo toàn dữ liệu, thông tin nhận được từ lớp phía trên được đóng gói thành các bức điện có chiều dài hợp lý (frame). Các khung dữ liệu này chứa các thông tin bổ sung phục vụ mục đích kiểm lỗi, kiểm soát lưu thông và đồng bộ hóa.
Lớp liên kết dữ liệu bên phía nhận thông tin sẽ dựa vào các thông tin này để xác định tính chính xác của dữ liệu, sắp xếp các khung lại theo đúng trình tự và khôi phục lại thông tin để chuyển tiếp lên lớp trên nó.
Lớp vật lý là lớp dưới cùng trong mô hình phân lớp chức năng truyền thông của một trạm thiết bị. Lớp này đảm nhiệm toàn bộ công việc truyền dẫn dữ liệu bằng phương tiện vật lý. Các quy định ở đây mô tả giao diện vật lý giữa một trạm thiết bị và môi trường truyền thông:
・Kỹ thuật truyền dẫn (RS-485, MBP, truyền cáp quang….)
・Phương pháp mã hóa bit (NRZ, Manchester, FSK,…)
・Chế độ truyền tải (dải rộng/dải cơ sở/dải mang, đồng bộ/không đồng bộ)
・Các tốc độ truyền cho phép
・Giao diện cơ học (phích cắm,…).
Lưu ý rằng lớp vật lý hoàn toàn không đề cập tới môi trường truyền thông, mà chỉ nói tới giao diện với nó. Có thể nói, quy định về môi trường truyền thông nằm ngoài phạm vi của mô hình OSI. Lớp vật lý cần được chuẩn hóa sao cho một hệ thống truyền thông có sự lựa chọn giữa một vài khả năng khác nhau.
Trong các hệ thống bus trường, sự lựa chọn này không lớn quá, hầu hết dựa trên một vài chuẩn và kỹ thuật cơ bản.
Các mũi tên nét gạch chấm biểu thị quan hệ giao tiếp logic giữa các lớp tương đương thuộc hai trạm. Lớp vật lý thuộc trạm A được nối trực tiếp với lớp vật lý thuộc trạm B qua cáp truyền. Trong thực tế, các chức năng thuộc lớp vật lý và lớp liên kết dữ liệu được thực hiện hầu hết trên các mạch vi điện tử của phần giao diện mạng.
Đối với máy tính điều khiển hoặc thiết bị đo thì phần giao diện mạng có thể tích hợp trong phần xử lý trung tâm, hoặc dưới dạng một module riêng.
Khi chương trình điều khiển ở trạm A cần cập nhật giá trị đo, nó sẽ sử dụng dịch vụ trao đổi dữ liệu ở lớp ứng dụng để gửi một yêu cầu tới trạm B. Trong thực tế, quá trình này có thể được thực hiện đơn giản bằng cách gọi một hàm trong thư viện giao tiếp của mạng được sử dụng. Quan hệ nối giữa hai trạm đã được thiết lập sẵn.
Lớp ứng dụng bên A xử lý yêu cầu của chương trình điều khiển và chuyển tiếp mã lệnh xuống lớp phía dưới – lớp biểu diễn dữ liệu. Lớp này biểu diễn mã lệnh thành một dãy bit có độ dài và thứ tự quy ước, sau đó chuyển tiếp xuống lớp kiểm soát nối. Lớp kiểm soát nối sẽ bổ sung thông tin để phân biệt yêu cầu cập nhật dữ liệu xuất phát từ quan hệ nối logic nào, từ quá trình tính toán nào. Bước này trở nên cần thiết khi trong một chương trình ứng dụng có nhiều quá trình tính toán cạnh tranh (task) cần phải sử dụng dịch vụ trao đổi dữ liệu, và kết quả cập nhật dữ liệu phải được đưa trả về đúng nơi yêu cầu.
Khối dữ liệu giao thức (PDU) từ lớp kiểm soát nối chuyển xuống được lớp vận chuyển sắp xếp một kênh truyền tải và đảm bảo yêu cầu sẽ được chuyển tới bên B một cách tin cậy. Sử dụng dịch vụ chuyển mạch và tìm đường đi tối ưu của lớp mạng, một số thông tin sẽ được bổ sung vào bức điện cần truyền nếu cần thiết. Tiếp theo, lớp liên kết dữ liệu gắn thêm các thông tin bảo toàn dữ liệu, sử dụng thủ tục truy nhập môi trường để chuyển bức điện xuống lớp vật lý.
Cuối cùng, các vi mạch điện tử dưới lớp vật lý (ví dụ các bộ thu phát RS-485) chuyển hóa dãy bit sang một dạng tín hiệu thích hợp với đường truyền (mã hóa bit) để gửi sang bên B, với một tốc độ truyền – hay nói cách khác là tốc độ mã hóa bit – theo quy ước.
Quá trình ngược lại diễn ra bên B. Qua lớp vật lý, tín hiệu nhận được được giải mã và dãy bit dữ liệu được khôi phục. Mỗi lớp phía trên sẽ phân tích phần thông tin bổ sung của mình để thực hiện các chức năng tương ứng. Trước khi chuyển lên lớp trên tiếp theo, phần thông tin này được tách ra.
Đương nhiên, các quá trình này đòi hỏi hai lớp đối tác của hai bên phải hiểu được thông tin đó có cấu trúc và ý nghĩa như thế nào, tức là phải sử dụng cùng một giao thức. Cuối cùng, chương trình thu thập dữ liệu bên thiết bị đo nhận được yêu cầu và chuyển giá trị đo cập nhật trở lại trạm A cũng theo đúng trình tự như trên.
Xem thêm: Giao thức và mô hình lớp của hệ thống mạng công nghiệp
Bài cùng chủ đề