Application Layer trong mô hình OSI là lớp gần nhất với người dùng cuối, có nghĩa là Application Layer và người dùng cuối có thể tương tác trực tiếp với ứng dụng phần mềm. Các chương trình Application Layer dựa trên máy khách và máy chủ.
Các bài viết liên quan:
Tổng quan về mô hình OSI và Application Layer
Mô hình OSI (Open Systems Interconnection) là một mô hình tham chiếu được đề xuất bởi Tổ chức Tiêu chuẩn Hóa Quốc tế (ISO) để mô tả cách các thiết bị mạng truyền thông liên lạc với nhau. Mô hình OSI bao gồm 7 tầng và mỗi tầng đóng vai trò quan trọng trong việc truyền tải thông tin giữa các thiết bị trên mạng.
Application Layer là tầng cao nhất trong mô hình OSI và đóng vai trò quan trọng trong việc xác định cách các ứng dụng truy cập vào mạng và truyền thông với nhau. Tầng này cung cấp các giao thức và dịch vụ cho các ứng dụng, cho phép các ứng dụng tương tác với nhau thông qua mạng.
Các chức năng chính của Application Layer bao gồm:
- Giao tiếp: Cung cấp khả năng giao tiếp giữa các ứng dụng trên các thiết bị khác nhau trên mạng.
- Quản lý địa chỉ: Xác định các địa chỉ cho các ứng dụng và cung cấp các phương thức để quản lý các địa chỉ này.
- Mã hóa / giải mã: Đảm bảo an toàn và bảo mật cho dữ liệu được truyền tải giữa các ứng dụng trên mạng.
- Đồng bộ hóa: Đảm bảo rằng các ứng dụng trên mạng có thể hoạt động đồng bộ với nhau.
- Điều khiển lỗi: Đảm bảo rằng dữ liệu được truyền tải giữa các ứng dụng trên mạng được truyền tải một cách chính xác và không bị mất hoặc bị lỗi.
Một số ví dụ về ứng dụng của Application Layer bao gồm: trình duyệt web, email, giao thức HTTP (HyperText Transfer Protocol), giao thức FTP (File Transfer Protocol) và giao thức SMTP (Simple Mail Transfer Protocol). Các giao thức này đều sử dụng các dịch vụ và chức năng của Application Layer để truyền tải dữ liệu trên mạng.
Xem thêm:
Application Layer bao gồm các chức năng sau:
- Xác định các đối tác truyền thông: Application Layer xác định tính khả dụng của các đối tác truyền thông cho một ứng dụng có dữ liệu để truyền.
- Xác định tính khả dụng của tài nguyên: Application Layer xác định xem có đủ tài nguyên mạng cho giao tiếp được yêu cầu hay không.
- Đồng bộ hóa giao tiếp: Tất cả các giao tiếp xảy ra giữa các ứng dụng yêu cầu sự hợp tác được quản lý bởi một Application Layer.
Dịch vụ của các Application Layer
- Network Virtual terminal: Một Application Layer cho phép người dùng đăng nhập vào một máy chủ từ xa. Để làm như vậy, ứng dụng tạo mô phỏng phần mềm của một thiết bị đầu cuối tại máy chủ từ xa. Máy tính của người dùng nói chuyện với thiết bị đầu cuối phần mềm, đến lượt nó, sẽ nói chuyện với máy chủ. Máy chủ từ xa nghĩ rằng nó đang giao tiếp với một trong các thiết bị đầu cuối của chính nó, vì vậy nó cho phép người dùng đăng nhập.
- Truyền, Truy cập và Quản lý Tệp (FTAM): Ứng dụng cho phép người dùng truy cập tệp trong máy tính từ xa, truy xuất tệp từ máy tính và quản lý tệp trong máy tính từ xa. FTAM định nghĩa tệp ảo phân cấp về cấu trúc tệp, thuộc tính tệp và loại hoạt động được thực hiện trên tệp cũng như thuộc tính của chúng.
- Định địa chỉ: Để có được giao tiếp giữa máy khách và máy chủ, cần có địa chỉ. Khi một máy khách thực hiện một yêu cầu đến máy chủ, yêu cầu chứa địa chỉ máy chủ và địa chỉ của chính nó. Phản hồi của máy chủ đối với yêu cầu của máy khách, yêu cầu chứa địa chỉ đích, tức là địa chỉ máy khách. Để đạt được kiểu địa chỉ này, DNS được sử dụng.
- Dịch vụ Thư: Một Application Layer cung cấp chuyển tiếp và lưu trữ Email.
- Dịch vụ thư mục: Một ứng dụng chứa cơ sở dữ liệu phân tán cung cấp quyền truy cập thông tin toàn cầu về các đối tượng và dịch vụ khác nhau.
Xác thực: Nó xác thực tin nhắn của người gửi hoặc người nhận hoặc cả hai.
Xem thêm Testing security – Kiểm tra cấu hình nền tảng ứng dụng
Kiến trúc ứng dụng mạng
Kiến trúc ứng dụng khác với kiến trúc mạng. Kiến trúc mạng là cố định và cung cấp một tập hợp các dịch vụ cho các ứng dụng. Mặt khác, kiến trúc ứng dụng được thiết kế bởi nhà phát triển ứng dụng và xác định cách ứng dụng nên được cấu trúc trên các hệ thống đầu cuối khác nhau.
Kiến trúc ứng dụng có hai loại:
- Kiến trúc máy client-server: Một chương trình ứng dụng chạy trên máy cục bộ gửi yêu cầu đến một chương trình ứng dụng khác được gọi là máy khách và chương trình phục vụ yêu cầu được gọi là máy chủ. Ví dụ: khi một máy chủ web nhận được yêu cầu từ máy khách, nó sẽ phản hồi lại yêu cầu đó cho máy chủ.
Đặc điểm của kiến trúc máy client-server:
- Trong kiến trúc Máy khách-máy chủ, các máy khách không trực tiếp giao tiếp với nhau. Ví dụ, trong một ứng dụng web, hai trình duyệt không giao tiếp trực tiếp với nhau.
- Máy chủ là địa chỉ cố định, được biết đến là địa chỉ IP vì máy chủ luôn bật trong khi máy khách luôn có thể liên hệ với máy chủ bằng cách gửi một gói đến địa chỉ IP của người gửi.
Nhược điểm của kiến trúc máy client-server:
Nó là một kiến trúc dựa trên một máy chủ không có khả năng giữ tất cả các yêu cầu từ các máy khách. Ví dụ, một trang mạng xã hội có thể trở nên quá tải khi chỉ có một máy chủ tồn tại.
- Kiến trúc P2P (peer-to-peer): Nó không có máy chủ chuyên dụng trong trung tâm dữ liệu. Máy tính ngang hàng là những máy tính không thuộc sở hữu của nhà cung cấp dịch vụ. Hầu hết những người bạn cùng lứa cư trú trong nhà, văn phòng, trường học và trường đại học. Các đồng nghiệp giao tiếp với nhau mà không cần chuyển thông tin qua một máy chủ chuyên dụng, kiến trúc này được gọi là kiến trúc ngang hàng. Các ứng dụng dựa trên kiến trúc P2P bao gồm chia sẻ tệp và điện thoại internet.
Đặc điểm của kiến trúc P2P
- Khả năng tự mở rộng: Trong hệ thống chia sẻ tệp, mặc dù mỗi máy ngang hàng tạo ra một khối lượng công việc bằng cách yêu cầu tệp, mỗi máy ngang hàng cũng bổ sung thêm dung lượng dịch vụ bằng cách phân phối tệp cho máy ngang hàng.
- Hiệu quả về chi phí: Hiệu quả về chi phí vì nó không yêu cầu cơ sở hạ tầng máy chủ và băng thông máy chủ đáng kể.
Quy trình giao tiếp mạng
- Một ứng dụng mạng bao gồm một cặp quy trình gửi tin nhắn cho nhau qua mạng.
- Trong hệ thống chia sẻ tệp P2P, một tệp được chuyển từ một quá trình trong một máy ngang hàng sang một quá trình trong một máy ngang hàng khác. Chúng tôi gắn nhãn một trong hai quy trình là máy khách và một quy trình khác là máy chủ.
- Với chia sẻ tệp P2P, máy ngang hàng đang tải tệp xuống được gọi là máy khách và máy ngang đang tải tệp lên được gọi là máy chủ. Tuy nhiên, chúng tôi đã quan sát thấy trong một số ứng dụng như chia sẻ tệp P2P; một quy trình có thể vừa là máy khách vừa là máy chủ. Do đó, chúng ta có thể nói rằng một quá trình có thể vừa tải xuống vừa tải tệp lên.