Xin chào ! Nếu đây là lần đầu tiên bạn đến với diễn đàn, xin vui lòng danh ra một phút bấm vào đây để đăng kí và tham gia thảo luận cùng VnPro.
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • Tổng quan về mô hình tcp/ip và một số cơ chế của giao thức http

    Trong kiến trúc mạng hiện đại, việc truyền tải dữ liệu không còn là một quá trình ngẫu nhiên mà được vận hành bởi những bộ quy tắc chặt chẽ và phân lớp rõ rệt. Đóng vai trò là "xương sống" của Internet, mô hình TCP/IP cung cấp một khung tham chiếu chuẩn hóa giúp các thiết bị không đồng nhất có thể giao tiếp một cách liền mạch thông qua năm tầng chức năng riêng biệt.

    Tuy nhiên, để các ứng dụng web có thể trao đổi thông tin một cách hiệu quả trên nền tảng đó, chúng ta cần đến giao thức HTTP - một giao thức ở tầng ứng dụng hoạt động theo cơ chế request-response. Việc nắm vững cách phối hợp giữa cấu trúc phân lớp của TCP/IP và các cơ chế đặc thù của HTTP như phương thức truyền tải, trạng thái kết nối và bảo mật không chỉ giúp tối ưu hóa hiệu suất mạng mà còn là nền tảng quan trọng trong việc xây dựng các hệ thống phân tán an toàn.


    TỔNG QUAN VỀ MÔ HÌNH TCP/IP

    Mô hình TCP/IP là mô hình dùng để định nghĩa và tham chiếu đến một tập giao thức lớn mà từ đó cho phép các máy tính có thể giao tiếp được với nhau. Để định nghĩa một giao thức, TCP/IP sử dụng các tài liệu được gọi là Request For Comment (RFC).

    Mô hình TCP/IP giúp chúng ta đơn giản hóa quá trình sử dụng một thiết bị nào đó như máy tính, điện thoại, v.v. như là cắm dây cáp vào máy tính hay kết nối điện thoại đến Wifi và sau đó là truy cập vào các trang web yêu thích của mình, sử dụng các ứng dụng, v.v. tất cả là nhờ vào mô hình TCP/IP đã được triển khai bên trong các thành phần của các thiết bị.


    Ta cùng hiểu sơ qua về các tầng (hay còn gọi là Layer) có trong mô hình TCP/IP để hiểu sơ qua về cách hoạt động của nó:
    Click image for larger version

Name:	thumb_16784.png
Views:	12
Size:	6.2 KB
ID:	439624​​​
    • Tầng Application: Cung cấp các dịch vụ cho các phần mềm ứng dụng đang chạy trên máy tính, đóng vai trò như cầu nối giữa các ứng dụng đang chạy và mạng. Một số giao thức phổ biến của tầng ứng dụng gồm: HTTP, POP3, SMTP.
    • Tầng Transport: Tầng vận chuyển có khá ít giao thức nhưng hai giao thức nổi bật nhất ở tầng này là TCP (Transmission Control Protocol) và UDP (User Datagram Protocol). Các giao thức ở tầng này cung cấp các dịch vụ cho các giao thức ở tầng phía trên (tầng Application) và đặc biệt là khả năng khôi phục lỗi của TCP giúp đảm bảo dữ liệu được truyền tải giữa các ứng dụng được toàn vẹn.
    • Tầng Network: Tầng mạng với giao thức chính là IP (Internet Protocol) với nhiệm vụ là định tuyến cho dữ liệu đến các mạng khác nhau, ngoài ra giao thức IP đem đến khả năng nhận diện các host nguồn và host đích thông qua địa chỉ IPv4 hoặc IPv6.
    • Tầng Data Link và tầng Physical: Hai tầng liên kết và tầng vật lí xác định các giao thức và phần cứng cần thiết để truyền dữ liệu qua một mạng vật lý nào đó. Tầng vật lí định nghĩa các tiêu chuẩn cáp và năng lượng có thể chạy qua loại cáp đó. Tầng liên kết định nghĩa các tiêu chuẩn về đường truyền như Ethernet 802.3 hoặc Wifi 802.11. Hiểu đơn giản là hai lớp này bao gồm hai chức năng riêng biệt: các chức năng liên quan đến việc truyền dữ liệu vật lý, cộng với các giao thức và quy tắc kiểm soát việc sử dụng phương tiện vật lý.
    CƠ CHẾ GIAO THỨC HTTP

    Sau khi đã hiểu sơ qua về mô hình TCP/IP cùng với một vài chức năng chính của mô hình. Ở phần này, ta sẽ tìm hiểu qua về cơ chế của giao thức HTTP.

    HTTP (Hypertext Transfer Protocol) được tạo ra bởi Tim Berners-Lee vào đầu những năm 1990. Chức năng HTTP cho phép yêu cầu nội dung của các trang web, cụ thể là bằng cách cung cấp cho trình duyệt web khả năng yêu cầu các tập tin từ máy chủ và cung cấp cho máy chủ cách thức để trả về nội dung của các tập tin đó.

    Logic tổng quát được biểu hiện như hình dưới đây:
    Click image for larger version

Name:	image.png
Views:	7
Size:	26.5 KB
ID:	439622
    • Bước 1: Bob gửi một request HTTP có header là GET home.htm. Header này bao gồm phương thức “GET” và tài nguyên cần lấy từ máy chủ là “home.htm”​.
    • Bước 2: Máy chủ Web của Larry phản hồi lại gói tin HTTP response với mã trạng thái là OK (200) cùng với dữ liệu của tập tin home.htm đến cho trình duyệt của Bob. Nếu máy chủ Web không có nội dung được yêu cầu, mạng trạng thái sẽ trở thành Not Found (404)​.
    • Bước 3: Đối với các loại tài nguyên lớn mà máy chủ Web không thể truyền hết trong một gói tin, lúc này máy chủ Web sẽ tiếp tục gửi tiếp các response chứa dữ liệu tài nguyên cho đến khi tất cả dữ liệu được truyền hết. Nhưng với các response này sẽ không có tiêu đề HTTP nhằm tránh lãng phí không gian​.
    QUÁ TRÌNH XỬ LÝ GÓI TIN HTTP

    Từ những khái niệm cơ bản ở trên, ở phần này ta sẽ tìm hiểu cách thức một gói tin HTTP được xử lý như thế nào khi kết hợp mô hình TCP/IP và cơ chế của giao thức HTTP lại với nhau.

    Như đã nói ở trên, tầng vận chuyển (Transport) cung cấp dịch vụ cho các giao thức ở tầng ứng dụng (Application) và một trong số đó là cơ chế đảm bảo quá trình vận chuyển dữ liệu diễn ra suông sẻ và không làm mất dữ liệu nhờ vào giao thức TCP. Để phục hồi lỗi, TCP sử dụng khái niệm “Acknowledgement”.
    Click image for larger version

Name:	image.png
Views:	7
Size:	27.2 KB
ID:	439623




    Để hiểu đơn giản cơ chế này, mình sẽ giải thích ngắn gọn sau đây:
    1. Gói tin HTTP request được gửi từ client đến server như thông thường, khi máy chủ nhận được HTTP request, nó tiến hành gửi HTTP response cho client. (SEQ=1)
    2. Giả sử, trong quá trình truyền dữ liệu xảy gặp vấn đề (có thể là do mất mát gói tin hay dữ liệu bị lỗi), gói tin HTTP response thứ hai bị mất (SEQ=2)
    3. Máy chủ vẫn tiếp tục gửi tiếp gói tin HTTP response thứ ba (SEQ=3)
    4. Lúc này, máy client nhận được hai gói tin HTTP response ngoại trừ gói tin có SEQ=2. Máy client lúc này sẽ phản hồi lại cho máy chủ để yêu cầu gửi lại gói tin bị mất

    17/04/2026
    Nguyễn Thành Phát
    Phòng Kỹ Thuật VnPro
    Attached Files
Working...
X