Trong thời đại công nghệ phát triển ngày nay, chắc hẳn ai trong số chúng ta đều đã sử dụng chức năng gửi 1 hình ảnh, email, bài hát,…cho một máy tính khác để đưa thông tin đến cho người nhận. Công việc tưởng chừng như rất đơn giản nhưng có khi nào các bạn thắc mắc vì sao 1 file nhac, 1 hình ảnh hay 1 thư điện tử lại có thể truyền đến cho người nhận không. Chắc hẳn các bạn đã nghĩ nó thật kì diệu. Và bài viết sau đây sẽ giúp các bạn hình dung và hiểu rõ cơ chế hoạt động cũng như cách thức gửi nhận của một dữ liệu từ một máy tính này đến một máy tính khác các bạn nhé.
Tổng quan
Theo sơ đồ ở trên thì mô hình OSI gồm có 7 tầng và được đánh số thứ tự từ dưới lên từ 1 đến 7. Và ở đây các bạn có thể thấy rằng có 2 trạng thái đó là “Transmit Data” và “Receive Data” . Ở đây 2 trạng thái này có nghĩa là truyền dữ liệu và nhận dữ liệu. Các bạn có thể hiểu nôm na ở đây là bên người gửi dữ liệu, máy tính gửi còn bên kia là bên người nhận, máy tính nhận dữ liệu. Và như các đã thấy, bên phía người gửi thì gói tin sẽ đi từ tầng 7 xuống tầng 1 và ngược lại.
- Data, Segments, Packets, Frames, Bits là đơn vị truyền dữ liệu giữa các tầng.
Quy trình xử lý dữ liệu trong mô hình OSI
1. Phía máy gửi
Ở tầng Application (tầng 7), người dùng tiến hành đưa thông tin cần gửi vào máy tính. Các thông tin này thường có dạng như: hình ảnh, văn bản,…
Sau đó thông tin dữ liệu này được chuyển xuống tầng Presentation (tầng 6) để chuyển các dữ liệu thành một dạng chung để mã hóa dữ liệu và nén dữ liệu.
Dữ liệu tiếp tục được chuyển xuống tầng Session (Tầng 5). Tầng này là tầng phiên có chức năng bổ sung các thông tin cần thiết cho phiên giao dịch (gửi- nhận) này. Các bạn có thể hiêu nôm na là tâng phiên cũng giống như các cô nhân viên ngân hàng làm nhiệm vụ xác nhận, bổ sung thông tin giao dịch khi bạn chuyển tiền tại ngân hàng.
Sau khi tầng Session thực hiện xong nhiệm vụ, nó sẽ tiếp tục chuyển dữ liệu này xuống tầng Transport (Tầng 4). Tại tầng này, dữ liệu được cắt ra thành nhiều Segment và cũng làm nhiệm vụ bổ sung thêm các thông tin về phương thước vận chuyển dữ liệu để đảm bảo tính bảo mật, tin cậy khi truyền trong mô hình mạng.
Tiếp đó, dữ liệu sẽ được chuyển xuống tầng Network (Tầng 3). Ở tầng này, các segment lại tiếp tục được cắt ra thành nhiều gói Package khác nhau và bổ sung thông tin định tuyến. Tầng Network này chức năng chính của nó là định tuyến đường đi cho gói tin chứa dữ liệu.
Dữ liệu tiếp tục được chuyển xuống tầng Data Link (tầng 2). Tại tầng này, mỗi Package sẽ được băm nhỏ ra thành nhiều Frame và bổ sung thêm các thông tin kiểm tra gói tin chứa dữ liệu để kiểm tra ở máy nhận.
Cuối cùng, các Frame này khi chuyển xuống tầng Physical (Tầng 1) sẽ được chuyển thành một chuỗi các bit nhị phân (0 1….) và được đưa lên cũng như phát tín hiệu trên các phương tiện truyền dẫn (dây cáp đồng, cáp quang,…) để truyền dữ liệu đến máy nhận.
Mỗi gói tin dữ liệu khi được đưa xuống các tầng thì được gắn các header của tầng đó, riêng ở tầng 2 (Data Link), gói tin được gắn thêm FCS (Frame Check Sequence).
2. Phía máy nhận
Tầng Physical (tầng 1) phía máy nhận sẽ kiểm tra quá trình đồng bộ và đưa các chuỗi bit nhị phân nhận được vào vùng đệm. Sau đó gửi thông báo cho tầng Data Link (Tầng 2) rằng dữ liệu đã được nhận.
Tiếp đó tầng Data Link sẽ tiến hành kiểm tra các lỗi trong frame mà bên máy gửi tạo ra bằng cách kiểm tra FCS có trong gói tin được gắn bên phía máy nhận. Nếu có lỗi xảy ra thì frame đó sẽ bị hủy bỏ. Sau đó kiểm tra địa chỉ lớp Data Link (Địa chỉ MAC Address) xem có trùng với địa chỉ của máy nhận hay không. Nếu đúng thì lớp Data Link sẽ thực hiện gỡ bỏ Header của tầng Data Link để tiếp tục chuyển lên tầng Network.
Tầng Network sẽ tiến hành kiểm tra xem địa chỉ trong gói tin này có phải là địa chỉ của máy nhận hay không. (Lưu ý: địa chỉ ở tầng này là địa chỉ IP). Nếu đúng địa chỉ máy nhận, tầng Network sẽ gỡ bỏ Header của nó và tiếp tục chuyển đến tầng Transport để tiếp tục qui trình.
Ở tầng Transport sẽ hỗ trợ phục hồi lỗi và xử lý lỗi bằng cách gửi các gói tin ACK, NAK (gói tin dùng để phản hồi xem các gói tin chứa dữ liệu đã được gửi đến máy nhận hay chưa?). Sau khi phục hồi sửa lỗi, tầng này tiếp tục sắp xếp các thứ tự phân đoạn và đưa dữ liệu đến tầng Session.
Tầng Session làm nhiệm vụ đảm bảo các dữ liệu trong gói tin nhận được toàn vẹn. Sau đó tiến hành gỡ bỏ Header của tầng Session và tiếp tục gửi lên ầng Presentation.
Tầng Presentation sẽ xử lý gói tin bằng cách chuyển đối các định dạng dữ liệu cho phù hợp. Sau khi hoàn thành sẽ tiến hành gửi lên tầng Application.
Cuối cùng, tầng Application tiến hành xử lý và gỡ bỏ Header cuối cùng. Khi đó ở máy nhận sẽ nhận được dữ liệu của gói tin được truyền đi.
Lời kết:
Quá trình truyền và nhận một gói tin được thực hiện trong mô hình mạng máy tính được thực hiện một cách trình tự. Hi vọng qua bài viết này, các bạn có thể hình dung cụ thể đường đi của một gói tin khi chúng ta tiến hành gửi một dữ liệu nào đó. Để qua đó có thể hiểu rõ hơn những công nghệ mà chúng ta đang được sử dụng trong xã hội ngày nay không phải là một thứ gì đó quá mơ hồ, mà tất cả đều dựa trên một qui trình và công nghệ do con người làm chủ và tạo ra chúng các bạn nhé.