1.Mô hình OSI là gì ?
Mô hình OSI (Open System Interconnection) bạn có thể hiểu đơn giản là nó gồm có 7 tầng, mỗi tầng sẽ đảm nhận một nhiệm vụ riêng biệt của nó. Việc phân chia như vậy sẽ rõ ràng hơn, giúp thu hẹp được các vấn đề khi xảy ra. Các tầng này sẽ mô tả trực quan những gì đang diễn ra với một hệ thống mạng, cách mà dữ liệu sẽ được vận hành như thế nào. Mục đích chính của mô hình mạng OSI sinh ra 7 lớp là giúp chúng ta hình dung dữ liệu của chúng ta gửi hoặc nhận nó sẽ hoạt động và đi như nào trên mạng.
Ví dụ việc trao đổi dữ liệu giữa 2 host, có thể bạn thấy quá trình này diễn ra nhanh, tuy nhiên trong đó là cả một quá trình phải thực hiện thông qua nhiều bước, nhiều giai đoạn. Có thể lấy 1 ví dụ cụ thể hơn là mỗi khi chúng ta đăng ảnh lên facebook bằng điện thoại, thì mô hình osi sẽ diễn tả cho bạn thấy được quá trình giữa điện thoại và máy chủ facebook sẽ truyền dữ liệu với nhau như thế nào. Để biết được, thì chúng ta sẽ cùng đi vào tìm hiểu chức năng của từng tầng và sự liên kết giữa các tầng đó.
2.Chức năng riêng của từng tầng
Như tôi đã nói ở phần trên, thì mô hình OSI sẽ gồm 7 tầng, đánh theo số thứ tự từ trên xuống dưới:
Tầng ứng dụng (Application): là nơi mà hầu hết người dùng đều nhìn thấy, tương tác trực tiếp với nó. Một số ví dụ về ứng dụng tại tầng này bao gồm trình duyệt web, truyền file, email, giao thức DNS (Domain Name System), và các ứng dụng khác,…
Tầng trình bày (Presentation): bạn có thể hiểu đơn giản là khi các ứng dụng trên 2 host sử dụng các định dạng dữ liệu khác nhau thì tầng này sẽ đứng ra chịu trách nhiệm thông dịch và diễn giải để 2 ứng dụng ở host truyền thông với nhau có thể hiểu được.
Tầng phiên (Session): Ví dụ khi 2 host cần nói chuyện với nhau thì sẽ phải tạo ra 1 phiên, thì tầng này sẽ có nhiệm vụ thiết lập, duy trì phiên đó.
Tầng giao vận (Transport): Nhiệm vụ chính của tầng này là quản lý việc truyền dữ liệu giữa hai thiết bị và đảm bảo rằng dữ liệu được truyền tải một cách đáng tin cậy và hiệu quả. Tầng này thực hiện chức năng đó bằng cách sử dụng các giao thức chuyển giao, như TCP (Transmission Control Protocol) và UDP (User Datagram Protocol). TCP tập trung vào việc cung cấp kết nối đáng tin cậy giữa các thiết bị, trong khi UDP tập trung vào việc truyền dữ liệu mà không đảm bảo độ tin cậy.
Tầng mạng (Network): Tầng này được sử dụng để định tuyến gói tin thông qua các mạng khác nhau, để cho gói tin đến được điểm đến một cách hiệu quả.
Tầng liên kết dữ liệu (Data Link): Tầng này làm việc với khung dữ liệu, đảm bảo cho các khung dữ liệu được gửi đi được nhận đúng và đầy đủ. Nó cũng đảm bảo tính toàn vẹn của dữ liệu bằng cách kiểm tra và sửa lỗi.
Tầng vật lý (Physical): Tầng này chịu trách nhiệm cho việc truyền dữ liệu qua các kết nối vật lý, đảm bảo truyền tải bit trên kết nối vật lý và xác định các thông số vật lý của kết nối như tốc độ truyền tải, độ rộng băng tần, độ dài tối đa của mỗi khung dữ liệu. Ví dụ khi có 1 sự cố về mạng, nhiều kỹ sư mạng đầu tiên sẽ kiểm tra về nguồn điện xem đã cắm chưa, cáp đã nối đúng chưa, công tắt đã bật chưa,…
Mục đích của mô hình OSI là tăng khả năng truyền thông và trao đổi thông tin giữa các hệ thống khác nhau mà không đòi hỏi sự thay đổi về phần cứng hoặc phần mềm của hệ thống hiện tại.
3.Cách thức hoạt động của mô hình OSI
Cụ thể, quá trình truyền dữ liệu trong mô hình OSI sẽ đi từ các tầng trên xuống các tầng dưới, thông qua đường truyền vật lý tới host đầu bên kia và ngược lại.
Mỗi giao thức truyền dữ liệu của các lớp đều quy định các gói tin mà chúng sẽ sử dụng để đóng gói dữ liệu cần truyền. Các gói tin này được gọi là các đơn vị thông tin (PDU – Protocol Data Unit). Các PDU sẽ gồm 2 thành phần Header và Data, Header là phần thông tin quản lý của gói tin và Data chính là phần dữ liệu thực sự của gói tin.
Quá trình đóng gói (Data encapsulation): dữ liệu sẽ đi từ tầng 7 xuống tầng 1, cứ xuống tầng nào thì được bọc thêm Header của tầng đó. Riêng tầng 2 sẽ có FCS để kiểm tra lỗi dữ liệu và khi xuống tầng 1 thì sẽ đóng thành các bit 01 để gửi đi.
Quá trình mở gói (Data De-Encapsulation): Tại đầu nhận quá trình mở gói sẻ bắt đầu một chiều ngược lại từ tầng 1 đến tầng 7, cứ mỗi khi lên 1 tầng thì header của tầng dưới lại được gỡ bỏ để trả lại gói tin dữ liệu PDU, đến tầng 7 dữ liệu sẻ được mở gói hoàn toàn, thực hiện các ứng dụng của tầng này sẻ gửi data trực tiếp đến người dùng.
Ví dụ cụ thể hơn cho quá trình truyền dữ liệu giữa người dùng khi họ truy cập Facebook.