Mô hình OSI là một mô hình chuẩn quốc tế được phát triển bởi Tổ chức Tiêu chuẩn hóa Quốc tế (ISO) nhằm mô tả cách các hệ thống mạng truyền thông giao tiếp với nhau. Mô hình này chia quá trình truyền thông thành 7 tầng, từ việc truyền dữ liệu vật lý đến các ứng dụng mà người dùng sử dụng.
Tầng liên kết dữ liệu chia luồng dữ liệu thành các khung (frames) để dễ dàng quản lý và kiểm soát. Mỗi khung chứa thông tin tiêu đề (header), dữ liệu thực, và các thông tin cần thiết cho việc kiểm tra lỗi.
Tầng này sử dụng địa chỉ MAC (Media Access Control) để định danh các thiết bị trong cùng một mạng. Địa chỉ MAC là duy nhất cho từng thiết bị và được sử dụng để định tuyến dữ liệu đến đúng đích trong mạng cục bộ.
Tầng liên kết dữ liệu có khả năng phát hiện lỗi trong quá trình truyền dữ liệu và có thể yêu cầu truyền lại dữ liệu bị lỗi. Cơ chế kiểm tra lỗi thường dùng là CRC (Cyclic Redundancy Check).
Đảm bảo rằng tốc độ truyền dữ liệu của nguồn và đích phù hợp với nhau, tránh tình trạng quá tải hoặc mất dữ liệu. Tầng này điều chỉnh luồng dữ liệu để đảm bảo các thiết bị nhận không bị quá tải với quá nhiều dữ liệu cùng một lúc.
Tầng liên kết dữ liệu kiểm soát quyền truy cập vào phương tiện truyền thông chung trong mạng. Ví dụ, trong mạng Ethernet, nó xác định khi nào một thiết bị có thể gửi dữ liệu, để tránh xung đột giữa các thiết bị.
Tầng mạng xác định đường đi tốt nhất để chuyển tiếp gói tin từ nguồn đến đích. Nó dựa vào các thuật toán định tuyến và bảng định tuyến để chọn tuyến đường thích hợp. Các router là thiết bị hoạt động ở tầng này, giúp định tuyến gói tin qua các mạng khác nhau.
Tầng mạng sử dụng các địa chỉ logic (địa chỉ IP) để xác định nguồn và đích của gói tin. Điều này khác với tầng liên kết dữ liệu, vốn sử dụng địa chỉ vật lý (MAC). Địa chỉ IP được sử dụng để xác định một thiết bị cụ thể trong một mạng.
Khi gói tin lớn hơn kích thước mà mạng có thể xử lý, tầng mạng sẽ chia nhỏ gói tin đó thành các mảnh nhỏ hơn (phân mảnh). Sau đó, khi gói tin đến đích, chúng sẽ được hợp nhất lại (hợp nhất).
Tầng mạng giúp điều chỉnh lượng dữ liệu truyền tải để tránh tình trạng tắc nghẽn trên mạng. Nó có thể giảm hoặc điều chỉnh lưu lượng dữ liệu khi phát hiện có dấu hiệu tắc nghẽn.
Tầng mạng có thể cung cấp các mức độ ưu tiên khác nhau cho các gói tin, đảm bảo rằng các dịch vụ quan trọng (như thoại hoặc video) nhận được băng thông và độ ưu tiên cao hơn so với các loại dữ liệu khác.
Tầng giao vận tạo và quản lý các kết nối trực tiếp giữa các thiết bị đầu cuối (end-to-end). Điều này đảm bảo rằng dữ liệu được gửi từ một ứng dụng trên một thiết bị đến đúng ứng dụng tương ứng trên thiết bị khác.
Dữ liệu lớn từ tầng ứng dụng được chia thành các gói nhỏ hơn gọi là phân đoạn (segments). Tại đầu đích, các phân đoạn này sẽ được hợp nhất (reassembly) lại thành dữ liệu gốc. Điều này giúp tránh tình trạng mất dữ liệu khi truyền qua mạng.
Đảm bảo rằng nguồn truyền không gửi quá nhiều dữ liệu nhanh hơn tốc độ mà thiết bị đích có thể xử lý. Tầng giao vận điều chỉnh tốc độ truyền dữ liệu dựa trên khả năng tiếp nhận của thiết bị đích.
Tầng giao vận có khả năng phát hiện các lỗi trong quá trình truyền dữ liệu (như gói tin bị mất, bị trùng hoặc hỏng) và yêu cầu truyền lại gói tin đó để đảm bảo dữ liệu được nhận đúng và đầy đủ.
Một trong những chức năng quan trọng của tầng này là cung cấp các cơ chế để đảm bảo dữ liệu đến đúng đích theo đúng thứ tự và không bị mất. Ví dụ, giao thức TCP có cơ chế bắt tay ba bước (three-way handshake) để đảm bảo kết nối được thiết lập và duy trì.
Tầng giao vận bao gồm hai giao thức chính:
Là giao thức tin cậy, đảm bảo dữ liệu đến đúng đích, đúng thứ tự, không bị mất và không trùng lặp. TCP được sử dụng trong các ứng dụng yêu cầu độ tin cậy cao, như duyệt web (HTTP), email (SMTP), và truyền tải tệp (FTP).
Là giao thức không tin cậy, nghĩa là nó không đảm bảo dữ liệu sẽ đến đích và đến đúng thứ tự. Tuy nhiên, UDP có ưu điểm là tốc độ nhanh hơn và ít tốn tài nguyên hơn TCP, phù hợp cho các ứng dụng như streaming video, trò chơi trực tuyến, và các ứng dụng thời gian thực khác.
Tầng phiên tạo lập các phiên giao dịch giữa hai thiết bị hoặc ứng dụng, giữ cho kết nối luôn ổn định trong suốt thời gian phiên hoạt động, và đảm bảo phiên được kết thúc đúng cách khi không cần thiết nữa.
Tầng này có thể đồng bộ hóa dữ liệu bằng cách sử dụng các điểm kiểm tra (checkpoints). Điều này có nghĩa là nếu phiên bị gián đoạn, dữ liệu có thể được phục hồi từ điểm kiểm tra gần nhất thay vì phải truyền lại toàn bộ dữ liệu. Điều này hữu ích trong các ứng dụng yêu cầu việc truyền tải dữ liệu liên tục hoặc trong các quá trình giao dịch dài.
Tầng phiên điều khiển kiểu đối thoại giữa hai thiết bị giao tiếp, có thể là full-duplex, nơi cả hai bên có thể truyền và nhận dữ liệu đồng thời, hoặc half-duplex, nơi chỉ một bên có thể truyền hoặc nhận tại một thời điểm.
Nếu phiên giao dịch bị gián đoạn (do lỗi mạng hoặc thiết bị), tầng phiên có thể tái thiết lập phiên để việc truyền dữ liệu tiếp tục mà không bị mất dữ liệu.
Tầng trình bày chịu trách nhiệm chuyển đổi dữ liệu thành các định dạng tiêu chuẩn để dữ liệu có thể được hiểu bởi cả hai bên giao tiếp. Ví dụ, khi một ứng dụng gửi dữ liệu dưới dạng hình ảnh, tầng trình bày sẽ đảm bảo rằng hình ảnh được chuyển đổi thành định dạng thích hợp trước khi truyền.
Tầng này cũng chịu trách nhiệm mã hóa dữ liệu trước khi truyền để bảo mật, và giải mã dữ liệu khi nhận được để đảm bảo rằng nó có thể được đọc bởi tầng ứng dụng. Ví dụ, khi gửi dữ liệu an toàn qua mạng, tầng trình bày có thể mã hóa dữ liệu bằng cách sử dụng SSL/TLS.
Một chức năng quan trọng khác của tầng trình bày là nén dữ liệu để giảm dung lượng truyền tải qua mạng, giúp tăng tốc độ truyền. Sau khi dữ liệu được truyền đến đích, tầng này sẽ giải nén để trả lại dữ liệu về kích thước ban đầu. Điều này thường được sử dụng trong các giao thức truyền dữ liệu như HTTP hoặc FTP.
Tầng trình bày đảm bảo rằng cú pháp và cấu trúc của dữ liệu (chẳng hạn như các định dạng ký tự, văn bản, hình ảnh) được thống nhất giữa hai bên giao tiếp, để chúng có thể hiểu và xử lý dữ liệu một cách đồng nhất. Ví dụ, tầng này đảm bảo rằng các định dạng văn bản như ASCII, EBCDIC, JPEG, PNG hoặc các chuẩn dữ liệu khác được định nghĩa rõ ràng.
Ví dụ về các giao thức tầng ứng dụng
Là giao thức được sử dụng để truy cập các trang web qua trình duyệt. HTTP là giao thức cơ bản truyền dữ liệu giữa máy chủ web và người dùng, trong khi HTTPS thêm một lớp bảo mật bằng cách mã hóa dữ liệu.
Được sử dụng để gửi email qua mạng. SMTP là giao thức chịu trách nhiệm gửi email từ máy chủ gửi đến máy chủ nhận.
Được sử dụng để truyền tải tệp tin qua mạng. FTP giúp người dùng gửi và nhận các tệp tin từ một máy chủ FTP thông qua kết nối internet.
Dịch địa chỉ IP sang tên miền và ngược lại. Khi người dùng nhập tên miền (ví dụ: www.google.com), DNS sẽ chuyển nó thành địa chỉ IP để hệ thống máy tính có thể nhận diện và kết nối.
Được sử dụng để truy cập và quản lý email. POP3 tải toàn bộ email về máy tính của người dùng, trong khi IMAP cho phép người dùng xem và quản lý email trực tiếp trên máy chủ từ nhiều thiết bị.