Mô hình OSI

Mô hình OSI ("Open Systems Interconnection Reference Model", viết ngắn là "OSI Model" hoặc "OSI Reference Model") - tạm dịch là Mô hình tham chiếu kết nối các hệ thống mở - là một thiết kế dựa vào nguyên lý tầng cấp, lý giải một cách trừu tượng kỹ thuật kết nối truyền thông giữa các máy tính và thiết kế giao thức mạng giữa chúng. Mô hình này được phát triển thành một phần trong kế hoạch Kết nối các hệ thống mở ("Open Systems Interconnection") do ISO và IUT-T khởi xướng. Nó còn được gọi là Mô hình bảy tầng của OSI.

== Mục đích ==
Mô hình OSI sắp xếp một giao thức với chức năng của nó vào một hoặc một nhóm các lớp tương ứng. Mỗi một tầng cấp có một đặc tính là nó "chỉ sử dụng chức năng của tầng dưới nó", đồng thời chỉ cho phép tầng trên sử dụng các chức năng của mình. Một hệ thống cài đặt các giao thức bao gồm một chuỗi các tầng nói trên được gọi là "chồng giao thức" ("protocol stack"). Chồng giao thức có thể được cài đặt trên phần cứng, hoặc phần mềm, hoặc là tổ hợp của cả hai. Thông thường thì chỉ có những tầng thấp hơn là được cài đặt trong phần cứng, còn những tầng khác được cài đặt trong phần mềm.

Mô hình OSI này chỉ được ngành công nghiệp mạng và công nghệ thông tin tôn trọng một cách tương đối. Tính năng chính của nó là quy định về giao diện giữa các tầng cấp, tức quy định đặc tả về phương pháp các tầng liên lạc với nhau. Điều này có nghĩa là cho dù các tầng cấp được soạn thảo và thiết kế bởi các nhà sản xuất, hoặc công ty, khác nhau nhưng khi được lắp ráp lại, chúng sẽ làm việc một cách dung hòa (với giả thiết là các đặc tả được thấu đáo một cách đúng đắn). Trong cộng đồng TCP/IP, các đặc tả này thường được biết đến với cái tên RFC ("Requests for Comments", dịch sát là "Đề nghị duyệt thảo và bình luận"). Trong cộng đồng OSI, chúng là các tiêu chuẩn ISO ("ISO standards").

Thường thì những phần thực thi của giao thức sẽ được sắp xếp theo tầng cấp, tương tự như đặc tả của giao thức đề ra, song bên cạnh đó, có những trường hợp ngoại lệ, còn được gọi là "đường cắt ngắn" ("fast path"). Trong kiến tạo "đường cắt ngắn", các giao dịch thông dụng nhất, mà hệ thống cho phép, được cài đặt như một thành phần đơn, trong đó tính năng của nhiều tầng được gộp lại làm một.

Việc phân chia hợp lý các chức năng của giao thức khiến việc suy xét về chức năng và hoạt động của các chồng giao thức dễ dàng hơn, từ đó tạo điều kiện cho việc thiết kế các chồng giao thức tỉ mỉ, chi tiết, song có độ tin cậy cao. Mỗi tầng cấp thi hành và cung cấp các dịch vụ cho tầng ngay trên nó, đồng thời đòi hỏi dịch vụ của tầng ngay dưới nó. Như đã nói ở trên, một thực thi bao gồm nhiều tầng cấp trong mô hình OSI, thường được gọi là một "chồng giao thức" (ví dụ như TCP/IP).

Mô hình tham chiếu OSI là một cấu trúc phả hệ có 7 tầng, nó xác định các yêu cầu cho sự giao tiếp giữa hai máy tính. Mô hình này đã được định nghĩa bởi Tổ chức tiêu chuẩn hoá quốc tế ("International Organization for Standardization") trong tiêu chuẩn số 7498-1 ("ISO standard 7498-1"). Mục đích của mô hình là cho phép sự tương giao ("interoperability") giữa các hệ máy ("platform") đa dạng được cung cấp bởi các nhà sản xuất khác nhau. Mô hình cho phép tất cả các thành phần của mạng hoạt động hòa đồng, bất kể thành phần ấy do ai tạo dựng. Vào những năm cuối thập niên 1980, ISO đã tiến cử việc thực thi mô hình OSI như một tiêu chuẩn mạng.

Tại thời điểm đó, TCP/IP đã được sử dụng phổ biến trong nhiều năm. TCP/IP là nền tảng của ARPANET, và các mạng khác - là những cái được tiến hóa và trở thành Internet. (Xin xem thêm RFC 871 để biết được sự khác biệt chủ yếu giữa TCP/IP và ARPANET.)

Hiện nay chỉ có một phần của mô hình OSI được sử dụng. Nhiều người tin rằng đại bộ phận các đặc tả của OSI quá phức tạp và việc cài đặt đầy đủ các chức năng của nó sẽ đòi hỏi một lượng thời gian quá dài, cho dù có nhiều người nhiệt tình ủng hộ mô hình OSI đi chăng nữa.

Mặt khác, có nhiều người lại cho rằng, ưu điểm đáng kể nhất trong toàn bộ cố gắng của công trình mạng truyền thông của OSI là nó đã thất bại trước khi gây ra quá nhiều tổn thất.

== Tường trình các tầng cấp của mẫu hình OSI ==
=== Tầng 1: Tầng vật lý ("Physical Layer)" ===
Tầng vật lý định nghĩa tất cả các đặc tả về điện và vật lý cho các thiết bị. Trong đó bao gồm bố trí của các chân cắm ("pin"), các hiệu điện thế, và các đặc tả về cáp nối ("cable"). Các thiết bị tầng vật lý bao gồm Hub, bộ lặp ("repeater"), thiết bị chuyển đổi tín hiệu (converter), thiết bị tiếp hợp mạng ("network adapter") và thiết bị tiếp hợp kênh máy chủ ("Host Bus Adapter") - (HBA dùng trong mạng lưu trữ "Storage Area Network"). Chức năng và dịch vụ căn bản được thực hiện bởi tầng vật lý bao gồm:

- Thiết lập hoặc ngắt mạch kết nối điện ("electrical connection") với một môi trường truyền dẫn phương tiện truyền thông ("transmission medium").
- Tham gia vào quy trình mà trong đó các tài nguyên truyền thông được chia sẻ hiệu quả giữa nhiều người dùng. Chẳng hạn giải quyết tranh chấp tài nguyên ("contention") và điều khiển lưu lượng.
- Điều chế ("modulation"), hoặc biến đổi giữa biểu diễn dữ liệu số ("digital data") của các thiết bị người dùng và các tín hiệu tương ứng được truyền qua kênh truyền thông ("communication channel").

Cáp ("bus") SCSI song song hoạt động ở tầng cấp này. Nhiều tiêu chuẩn khác nhau của Ethernet dành cho tầng vật lý cũng nằm trong tầng này; Ethernet nhập tầng vật lý với tầng liên kết dữ liệu vào làm một. Điều tương tự cũng xảy ra đối với các mạng cục bộ như Token ring, FDDI và IEEE 802.11.

=== Tầng 2: Tầng liên kết dữ liệu ("Data-Link Layer)" ===
Tầng liên kết dữ liệu cung cấp các phương tiện có tính chức năng và quy trình để truyền dữ liệu giữa các thực thể mạng (truy cập đường truyền, đưa dữ liệu vào mạng), phát hiện và có thể sửa chữa các lỗi trong tầng vật lý nếu có. Cách đánh địa chỉ mang tính vật lý, nghĩa là địa chỉ (địa chỉ MAC) được mã hóa cứng vào trong các thẻ mạng ("network card") khi chúng được sản xuất. Hệ thống xác định địa chỉ này không có đẳng cấp ("flat scheme"). "Chú ý:" Ví dụ điển hình nhất là Ethernet. Những ví dụ khác về các giao thức liên kết dữ liệu ("data link protocol") là các giao thức HDLC; ADCCP dành cho các mạng điểm-tới-điểm hoặc mạng chuyển mạch gói ("packet-switched networks") và giao thức Aloha cho các mạng cục bộ. Trong các mạng cục bộ theo tiêu chuẩn IEEE 802, và một số mạng theo tiêu chuẩn khác, chẳng hạn FDDI, tầng liên kết dữ liệu có thể được chia ra thành 2 tầng con: tầng MAC ("Media Access Control" - Điều khiển Truy nhập Đường truyền) và tầng LLC ("Logical Link Control" - Điều khiển Liên kết Logic) theo tiêu chuẩn IEEE 802.2.

Tầng liên kết dữ liệu chính là nơi các thiết bị chuyển mạch (switches) hoạt động. Kết nối chỉ được cung cấp giữa các nút mạng được nối với nhau trong nội bộ mạng.

=== Tầng 3: Tầng mạng ("Network Layer") ===
Tầng mạng cung cấp các chức năng và quy trình cho việc truyền các chuỗi dữ liệu có độ dài đa dạng, từ một nguồn tới một đích, thông qua một hoặc nhiều mạng, trong khi vẫn duy trì chất lượng dịch vụ ("quality of service") mà tầng giao vận yêu cầu. Tầng mạng thực hiện chức năng định tuyến. Các thiết bị định tuyến ("router") hoạt động tại tầng này - gửi dữ liệu ra khắp mạng mở rộng, làm cho liên mạng trở nên khả thi (còn có thiết bị chuyển mạch ("switch") tầng 3, còn gọi là chuyển mạch IP). Đây là một hệ thống định vị địa chỉ lôgic ("logical addressing scheme") – các giá trị được chọn bởi kỹ sư mạng. Hệ thống này có cấu trúc phả hệ. Ví dụ điển hình của giao thức tầng 3 là giao thức IP.

=== Tầng 4: Tầng giao vận ("Transport Layer") ===
Tầng giao vận cung cấp dịch vụ chuyên dụng chuyển dữ liệu giữa các người dùng tại đầu cuối, nhờ đó các tầng trên không phải quan tâm đến việc cung cấp dịch vụ truyền dữ liệu đáng tin cậy và hiệu quả. Tầng giao vận kiểm soát độ tin cậy của một kết nối được cho trước. Một số giao thức có định hướng trạng thái và kết nối ("state and connection orientated"). Có nghĩa là tầng giao vận có thể theo dõi các gói tin và truyền lại các gói bị thất bại. Một ví dụ điển hình của giao thức tầng 4 là TCP. Tầng này là nơi các thông điệp được chuyển sang thành các gói tin TCP hoặc UDP. Ở tầng 4 địa chỉ được đánh là address ports, thông qua address ports để phân biệt được ứng dụng trao đổi.

=== Tầng 5: Tầng phiên ("Session layer") ===
Tầng phiên kiểm soát các (phiên) hội thoại giữa các máy tính. Tầng này thiết lập, quản lý và kết thúc các kết nối giữa trình ứng dụng địa phương và trình ứng dụng ở xa. Tầng này còn hỗ trợ hoạt động song công ("duplex") hoặc bán song công ("half-duplex") hoặc đơn công ("Simplex") và thiết lập các quy trình đánh dấu điểm hoàn thành ("checkpointing") - giúp việc phục hồi truyền thông nhanh hơn khi có lỗi xảy ra, vì điểm đã hoàn thành đã được đánh dấu - trì hoãn ("adjournment"), kết thúc ("termination") và khởi động lại ("restart"). Mô hình OSI uỷ nhiệm cho tầng này trách nhiệm "ngắt mạch nhẹ nhàng" ("graceful close") các phiên giao dịch (một tính chất của giao thức kiểm soát giao vận TCP) và trách nhiệm kiểm tra và phục hồi phiên, đây là phần thường không được dùng đến trong bộ giao thức TCP/IP.

=== Tầng 6: Tầng trình diễn ("Presentation layer") ===
Tầng trình diễn hoạt động như tầng dữ liệu trên mạng. Tầng này trên máy tính truyền dữ liệu làm nhiệm vụ dịch dữ liệu được gửi từ tầng ứng dụng sang định dạng chung. Và tại máy tính nhận, lại chuyển từ định dạng chung sang định dạng của tầng ứng dụng. Tầng thể hiện thực hiện các chức năng sau:

- Dịch các mã ký tự từ ASCII sang EBCDIC.

- Chuyển đổi dữ liệu, ví dụ từ số interger sang số dấu phảy động.

- Nén dữ liệu để giảm lượng dữ liệu truyền trên mạng.

- Mã hoá và giải mã dữ liệu để đảm bảo sự bảo mật trên mạng.

=== Tầng 7: Tầng ứng dụng ("Application layer") ===
Tầng ứng dụng là tầng gần với người sử dụng nhất. Nó cung cấp phương tiện cho người dùng truy nhập các thông tin và dữ liệu trên mạng thông qua chương trình ứng dụng. Tầng này là giao diện chính để người dùng tương tác với chương trình ứng dụng, và qua đó với mạng. Một số ví dụ về các ứng dụng trong tầng này bao gồm HTTP, Telnet, FTP (giao thức truyền tập tin) và các giao thức truyền thư điện tử như SMTP, IMAP, X.400 Mail.

== Các giao diện ==
Ngoài các tiêu chuẩn đối với từng giao thức về truyền tải dữ liệu, còn có các tiêu chuẩn giao diện cho các tầng cấp khác nhau hội thoại với tầng cấp ở trên hoặc ở dưới nó (thường phụ thuộc vào hệ điều hành cụ thể đang được sử dụng). Ví dụ, Winsock của Microsoft Windows, Berkeley sockets của Unix và Giao diện tầng chuyển tải ("Transport Layer Interface") của System V là những giao diện giữa các trình ứng dụng (tầng 5 trở lên) và tầng giao vận (tầng 4). NDIS ("Network Driver Interface Specification" - Đặc tả Giao diện Điều vận Mạng) và ODI ("Open Data-Link Interface" - Giao diện Liên kết Dữ liệu Mở) là các giao diện giữa phương tiện truyền ("media") (tầng 2) và giao thức mạng (tầng 3).

== For Fun ==
Mô hình bảy tầng cấp trên thường được mở rộng thêm dưới một hình thức hài hước, ám chỉ đến những nhan đề thông thường, không có tính kỹ thuật. Một trong những trò đùa là mô hình 10 tầng cấp, trong đó tầng 8 là tầng "người dùng", tầng 9 là "tài chính" và tầng 10 là "chính trị".

Kỹ thuật viên mạng truyền thông thường ám chỉ đến những nhan đề của tầng thứ 8, ý nói tầng người dùng là tầng có nhan đề, chứ không phải là mạng.

Mô hình OSI còn được gọi một cách diễu cợt là "mô hình Taco Bell" (cửa hàng bán thức ăn México), vì cửa hàng ăn này đã từng nổi tiếng với những cái bánh gói 7 lớp burrito.

Dick Lewis dùng một câu chuyện diễn tả điệp viên James Bond (007) phân phát một thông điệp mật để minh họa mô hình bảy tầng.

== Những câu dễ nhớ ("Mnemonics") ==
Tên của bảy tầng trong giao thức mô hình của OSI ("Physical", "Data link", "Network", "Transport", "Session", "Presentation" và "Application") có thể được ghi nhớ nhanh chóng bằng các cách viết tắt sau:

- Anh Phải Sống Theo Người Địa Phương.
- Anh Phải Sống Thế Nào Đây Phương
- Anh Phải Sống Tới Ngày Động Phòng
- Please Do Not Throw Sausage Pizza Away
- All People Seem To Need Data Processing
- APS Transports Network Data Physically (separates upper and lower layer groups)
- APS Turds Never Develop Pubes
- Please Do Not Tell Secret Passwords Anytime
- A Perfect Student Needs To Drink Port

== Xem thêm ==
- Mô hình do Bộ Quốc phòng Mỹ đặt ra (DoD Model)
- Danh sách liệt kê các giao thức mạng truyền thông
- Các giao thức của OSI (OSI protocols)
- Nút mạng (network node)

== Liên kết ngoài ==
- ISO standard 7498-1:1994
- Cybertelecom:: Layered Model of Regulation
- OSI Model Tutorial
- OSI Model Tutorial In Flash
- 'OSI Reference Model—The ISO Model of Architecture for Open Systems Interconnection , Hubert Zimmermann, IEEE Transactions on Communications, vol. 28, no. 4, tháng 4 năm 1980, pp. 425 – 432.