Ở phần trước chúng ta đã tìm hiểu về sự phân tầng giao thức và mô hình chồng giao thức TCP/IP. Trong phần này của Series Nhập môn mạng máy tính, chúng ta sẽ tìm hiểu về mô hình OSI là gì?
Mô hình OSI là gì?
Open Systems Interconnection (OSI) là một mô hình khái niệm do Tổ chức Tiêu chuẩn hóa Quốc tế (International Organization for Standardization, viết tắt là ISO) đã đề nghị là các mạng máy tính nên được tổ chức theo kiến trúc gồm bảy tầng, cho phép các hệ thống truyền thông giao tiếp bằng cách sử dụng các giao thức chuẩn. Để hiểu đơn giản, OSI cung cấp một tiêu chuẩn cho các hệ thống máy tính khác nhau có thể giao tiếp với nhau.
Mô hình OSI có thể được xem như một ngôn ngữ chung cho mạng máy tính. Nó dựa trên khái niệm chia hệ thống Internet thành bảy tầng trừu tượng.
Tầm quan trọng của mô hình OSI
Mặc dù Internet hiện đại không còn tuân thủ nghiêm ngặt theo Mô hình OSI, nhưng Mô hình OSI vẫn rất hữu ích trong việc khắc phục sự cố mạng.
Chẳng hạn như một người không thể truy cập Internet bằng máy tính của họ hay một trang web ngừng hoạt động cùng với hàng nghìn người dùng, thì Mô hình OSI có thể giúp khắc phục sự cố và cô lập nguồn gốc của sự cố đó. Điều này giúp chúng ta thu hẹp vấn đề về một tầng cụ thể nào đó của mô hình, nhờ đó có thể giảm được rất nhiều công sức xử lý sự cố.
7 tầng của mô hình OSI
Bảy tầng trừu tượng của mô hình OSI có thể được định nghĩa như sau, từ trên xuống dưới:
Tầng Ứng dụng (The Application layer)
Đây là tầng duy nhất tương tác trực tiếp với dữ liệu từ người dùng. Các ứng dụng phần mềm như trình duyệt web và ứng dụng email,… dựa vào tầng Ứng dụng để có thể giao tiếp. Nhưng lưu ý rằng các ứng dụng phần mềm máy khách không phải là một phần của tầng Ứng dụng; thay vào đó, tầng Ứng dụng chịu trách nhiệm về các giao thức và thao tác dữ liệu mà phần mềm dựa vào để trình bày thông tin có ý nghĩa cho người dùng.
Giao thức lớp ứng dụng bao gồm HTTP cũng như SMTP.
Tầng Trình bày (The Presentation layer)
Tầng này có nhiệm vụ chuẩn bị dữ liệu cho tầng Ứng dụng có thể sử dụng được; nói cách khác, tầng 6 làm cho dữ liệu hiển thị cho các ứng dụng sử dụng. Tầng Trình bày chịu trách nhiệm dịch, mã hóa và nén dữ liệu.
Hai thiết bị mạng đang giao tiếp có thể sử dụng các phương pháp mã hóa khác nhau, do đó, tầng 6 chịu trách nhiệm dịch dữ liệu đến thành một cú pháp mà lớp ứng dụng của thiết bị nhận có thể hiểu được.
Nếu các thiết bị đang giao tiếp qua kết nối được mã hóa, tầng 6 thêm mã hóa ở đầu người gửi cũng như giải mã mã hóa ở đầu người nhận để nó có thể hiển thị ở tầng ứng dụng với dữ liệu có thể đọc được, không còn mã hóa.
Cuối cùng, tầng Trình bày thực hiện nén dữ liệu mà nó nhận được từ tầng Ứng dụng trước khi phân phối đến tầng 5. Điều này giúp cải thiện tốc độ và hiệu quả của giao tiếp bằng cách giảm thiểu lượng dữ liệu được truyền đi.
Tầng Phiên (The Session layer)
Đây là tầng chịu trách nhiệm đóng mở kết nối giữa hai thiết bị. Khoảng thời gian khi kết nối được mở cho đến khi đóng được gọi là phiên. Tầng Phiên đảm bảo rằng phiên vẫn mở đủ lâu để chuyển tất cả dữ liệu đang được trao đổi và sau đó nhanh chóng đóng phiên kết nối để tránh lãng phí tài nguyên.
Tầng Phiên cũng đồng bộ hóa việc truyền dữ liệu với các điểm kiểm tra. Ví dụ: nếu tệp 100 megabyte đang được truyền, tầng Phiên có thể đặt một điểm kiểm tra cứ sau 5 megabyte. Trong trường hợp ngắt kết nối hoặc gặp sự cố sau khi 52 megabyte đã được truyền, phiên có thể được tiếp tục từ điểm kiểm tra cuối cùng, có nghĩa là chỉ cần chuyển thêm 50 megabyte dữ liệu. Nếu không có các trạm kiểm soát, toàn bộ quá trình chuyển sẽ phải bắt đầu lại từ đầu.
Tầng Vận chuyển (The Transport layer)
Tầng 4 chịu trách nhiệm giao tiếp đầu cuối giữa hai thiết bị. Điều này bao gồm việc lấy dữ liệu từ tầng Phiên và chia nhỏ nó thành các phần được gọi là phân đoạn (segments) trước khi gửi đến tầng 3. Tầng Vận chuyển trên thiết bị nhận chịu trách nhiệm tập hợp và lắp ráp lại các phân đoạn thành dữ liệu mà tầng Phiên có thể sử dụng.
Tầng Vận chuyển cũng chịu trách nhiệm kiểm soát luồng và kiểm soát lỗi. Kiểm soát luồng xác định tốc độ truyền tối ưu để đảm bảo rằng không có lỗi xảy ra khi tốc độc truyền/nhận ở 2 bên chênh lệch. Tầng Vận chuyển thực hiện kiểm soát lỗi ở đầu nhận bằng cách đảm bảo rằng dữ liệu nhận được là hoàn chỉnh và yêu cầu truyền lại nếu chưa đủ.
Tầng Mạng (The Network layer)
Tầng Mạng thực hiện việc truyền dữ liệu giữa hai mạng khác nhau. Nếu hai thiết bị đang giao tiếp trên cùng một mạng, thì tầng Mạng là không cần thiết.
Tầng Mạng chia nhỏ các phân đoạn từ tầng Vận chuyển thành các đơn vị nhỏ hơn, được gọi là gói tin (packets), trên thiết bị của người gửi và tập hợp lại các gói tin này trên thiết bị nhận. Tầng mạng cũng có vai trò tìm ra con đường tốt nhất, ngắn nhất để gửi dữ liệu đến đích của nó; điều này được gọi là định tuyến.
Tầng Liên kết dữ liệu (The Data Link layer)
Tầng Liên kết dữ liệu rất giống với tầng mạng, ngoại trừ tầng Liên kết dữ liệu tạo điều kiện thuận lợi cho việc truyền dữ liệu giữa hai thiết bị trên cùng một mạng. Tầng liên kết dữ liệu nhận các gói từ tầng Mạng và chia chúng thành các phần nhỏ hơn gọi là khung (frames). Giống như tầng Mạng, tầng Liên kết dữ liệu cũng chịu trách nhiệm kiểm soát luồng và kiểm soát lỗi trong giao tiếp nội mạng (tầng vận chuyển chỉ thực hiện kiểm soát luồng và kiểm soát lỗi đối với truyền thông giữa các mạng).
Tầng Vật lý (The Physical layer)
Tầng này bao gồm các thiết bị vật lý liên quan đến việc truyền dữ liệu, chẳng hạn như cáp và thiết bị chuyển gói tin. Đây cũng là tầng mà dữ liệu được chuyển đổi thành một luồng bit, là một chuỗi gồm các số 1 và 0. Tầng vật lý của cả hai thiết bị cũng phải đồng bộ về một quy ước tín hiệu để các số 1 có thể được phân biệt với các số 0 trên cả hai thiết bị.
Cách dữ liệu di chuyển trong mô hình OSI
Để thông tin từ thế giới thực được truyền qua mạng từ thiết bị này sang thiết bị khác, dữ liệu phải đi xuống bảy tầng của Mô hình OSI trên thiết bị gửi và sau đó đi lên bảy tầng ở đầu nhận.
Ví dụ: Ông Cooper muốn gửi cho bà Palmer một email. Ông Cooper soạn tin nhắn của mình trong một ứng dụng email trên máy tính của mình và sau đó nhấn “Gửi”. Ứng dụng email của ông ấy sẽ chuyển thông điệp email của ông ấy đến tầng Ứng dụng, tầng này sẽ chọn một giao thức (SMTP) và chuyển dữ liệu cùng đến tầng Trình bày. Sau đó, tầng Trình bày sẽ nén dữ liệu và gửi đến tầng Phiên, tầng này sẽ khởi tạo phiên giao tiếp.
Sau đó, dữ liệu sẽ được đưa đến tầng Vận chuyển của người gửi, nơi nó sẽ được phân đoạn, sau đó các phân đoạn đó sẽ được chia thành các gói ở tầng Mạng, các gói này sẽ được chia nhỏ hơn nữa thành các khung ở tầng Liên kết dữ liệu. Sau đó, tầng Liên kết dữ liệu sẽ phân phối các khung đó đến tầng Vật lý, tầng này sẽ chuyển đổi dữ liệu thành dòng bit 1 và 0 và gửi nó qua một phương tiện vật lý, chẳng hạn như cáp.
Sau khi máy tính của cô Palmer nhận được luồng bit qua một phương tiện vật lý (chẳng hạn như wifi của cô ấy), dữ liệu sẽ truyền qua cùng một chuỗi các tầng trên thiết bị của cô ấy, nhưng theo thứ tự ngược lại. Đầu tiên, tầng Vật lý sẽ chuyển đổi dòng bit từ 1 và 0 thành các khung được chuyển đến tầng Liên kết dữ liệu. Tầng Liên kết dữ liệu sau đó sẽ tập hợp lại các khung thành các gói cho tầng mạng. Tầng mạng sẽ tạo các phân đoạn từ các gói cho tầng Vận chuyển, tầng này sẽ tập hợp lại các phân đoạn thành một phần dữ liệu.
Sau đó, dữ liệu sẽ chảy vào tầng Phiên của người nhận, tầng này sẽ truyền dữ liệu tới tầng Trình bày và sau đó kết thúc phiên giao tiếp. Tiếp theo, tầng Trình bày sẽ loại bỏ phần nén và chuyển dữ liệu thô lên tầng Ứng dụng. Tầng Ứng dụng sẽ cung cấp dữ liệu cho phần mềm email của cô Palmer, phần mềm này sẽ cho phép cô đọc email của ông Cooper trên màn hình máy tính của mình.
Tổng kết
Phần kiến thức về mô hình OSI kết thúc tại đây, phần sau chúng ta sẽ đi vào một khái niệm hết sức nhạy cảm trong môi trường Internet – An ninh mạng.
Comments 1