Khái niệm giao thức mạng

    1

    Khái niệm

    Giao thức mạng là tập hợp các quy tắc điều khiển quá trình truyền thông mà các thành phần của hệ thống mạng phải tuân theo khi tham gia vào quá trình truyền thông. 

    Mỗi giao thức, nhìn giản lược, là một bộ quy tắc quy định 3 yếu tố chính: cấu trúc của các thông tin trao đổi, trình tự trao đổi thông tin, các hành động cần thực hiện khi gửi/nhận thông tin. Cụ thể hơn, một giao thường xác định:

    • Các loại thông điệp cần trao đổi: ví dụ, hai loại thông điệp thường gặp là truy vấn (request) và phản hồi (response).
    • Cú pháp của các loại thông điệp: ví dụ, danh sách các trường trong từng loại thông điệp và cách thức tạo ra các trường đó.
    • Ý nghĩa của các trường: giá vị và vai trò của thông tin trong các trường.
    • Các quy tắc xác định thời điểm và cách thức một thành phần gửi thông điệp và phản hồi cho thông điệp.

    Trong một hệ thống mạng đồng thời có rất nhiều giao thức hoạt động để đảm bảo cho việc truyền thông tin giữa các thành phần. 

    Vai trò của giao thức

    Giao thức truyền thông đóng vai trò một ngôn ngữ chung gắn kết và phối hợp hoạt động của các thiết bị về mặt logic (để phân biệt với môi trường truyền gắn kết thiết bị về mặt vật lý). Do có nhiều thành phần khác nhau trong mạng, mỗi thành phần có vai trò riêng, giao thức là bắt buộc để các thành phần có được “tiếng nói chung” nhằm cùng thực hiện nhiệm vụ. Như vậy, giao thức truyền thông đóng vai trò là một ngôn ngữ chung để các thiết bị có thể “nói chuyện” và hợp tác với nhau trong một hệ thống mạng.

    Ứng với mỗi loại nhiệm vụ truyền thông sẽ phải có một/một số giao thức truyền thông tương ứng. Ví dụ, giao thức dùng để truyền thông tin trực tiếp giữa các ứng dụng, giao thức truyền thông tin giữa các thiết bị đầu cuối (và có thể được sử dụng bởi phần mềm ứng dụng), giao thức dùng để trao đổi thông tin giữa các thiết bị mạng, v.v..

    Giao thức là thành phần bắt buộc đối với cả phần cứng và phần mềm mạng. 

    Đối với phần cứng, ví dụ, các router sử dụng các giao thức định tuyến để tìm ra đường đi phù hợp cho các gói tin xuyên qua các mạng khác nhau. Các switch cũng phải sử dụng giao thức riêng để học địa MAC của các thiết bị kết nối vào các cổng của nó. Một thiết bị thu phát wifi (Access Point) sử dụng giao thức riêng để truyền tín hiệu với máy tính xách tay sử dụng mạng không dây.

    Đối với phần mềm, các giao thức được sử dụng cũng rất đa dạng. Mỗi phần mềm đều phải sử dụng một hoặc một số giao thức riêng. Ví dụ, trong hệ thống phần mềm web, trình duyệt sử dụng giao thức HTTP để nói chuyện với chương trình máy chủ. Chương trình email client sử dụng các giao thức SMTP, POP3, IMAP để nói chuyện với chương trình máy chủ email.

    Đặc tả và thực thi giao thức

    Theo định nghĩa ở trên, giao thức có thể hiểu là một bản mô tả các quy tắc chi phối quá trình truyền thông tin trong mạng, bao gồm: định dạng của các thông tin được trao đổi giữa các thành phần trong mạng, các hoạt động phải thực hiện khi gửi/nhận thông tin, thứ tự thực hiện gửi / nhận thông tin. Giao thức, theo ý nghĩa này, chỉ, đơn thuần là một bản mô tả các quy tắc và được viết thành văn bản, gọi là đặc tả của giao thức.

    Các nhà phát triển thiết bị, hệ thống và ứng dụng sử dụng bản đặc tả này cùng với công cụ lập trình để chuyển đặc tả giao thức thành chương trình và cài đặt lên các thiết bị. Loại chương trình như vậy được gọi là thực thi của giao thức. Chỉ khi được thực thi và cài đặt, giao thức mới có thể thực sự hoạt động trong hệ thống mạng.

    Như vậy, đặc tả của giao thức có thể xem như một dạng bản thiết kế, còn thực thi của giao thức chính là một chương trình được làm ra từ bản thiết kế.

    Bình thường khi nói về mạng chúng ta không cần phân biệt rạch ròi giữa đặc tả và thực thi của giao thức. Tuy nhiên, tùy tình huống cụ thể chúng ta sẽ phải hiểu và phân biệt hai khái niệm trên.

    Với sự phân biệt như vậy chúng ta có thể hình dung, thực thi của một giao thức thực chất là một chương trình. Trên thiết bị đầu cuối, chương trình thực thi của giao thức có thể được tích hợp trong phần mềm ứng dụng, cài đặt trên hệ điều hành, hoặc cài đặt trực tiếp trên phần cứng (như card mạng). Trên thiết bị mạng, chương trình thực thi của giao thức được cài đặt và vận hành trực tiếp trên phần cứng hoặc hệ điều hành riêng của thiết bị.

    Giao thức mở và giao thức độc quyền

    Khi phát triển một ứng dụng hoặc thiết bị mạng, nhà phát triển có thể quyết định sử dụng một giao thức mở hoặc tự mình xây dựng một giao thức độc quyền riêng. 

    Một số giao thức được mô tả trong RFC (Request for Comments, có địa chỉ https://www.rfc-editor.org/) và có thể truy cập tự do. Loại giao thức như vậy được gọi là giao thức mở

    Ví dụ, giao thức của ứng dụng web HTTP được mô tả trong RFC 2616. Nếu một nhà phát triển trình duyệt tuân thủ các quy tắc trong RFC của HTTP, trình duyệt đó có thể truy xuất trang web từ bất kỳ chương trình máy chủ web nào (với điều kiện chương trình máy chủ cũng phải tuân thủ RFC của HTTP).

    Một số giao thức tầng ứng dụng khác không được mô tả trong RFC mà đi kèm với ứng dụng hoặc thiết bị cụ thể. Ngoại trừ nhà phát triển phần mềm đó, những người khác không biết gì về giao thức này, và do đó, không (hoặc khó) thực hiện được giao thức đó cho ứng dụng của mình. Các loại giao thức như vậy gọi là giao thức độc quyền. Ví dụ, Skype sử dụng một số giao thức độc quyền.

    + Nếu bạn thấy site hữu ích, trước khi rời đi hãy giúp đỡ site bằng một hành động nhỏ để site có thể phát triển và phục vụ bạn tốt hơn.
    + Nếu bạn thấy bài viết hữu ích, hãy giúp chia sẻ tới mọi người.
    + Nếu có thắc mắc hoặc cần trao đổi thêm, mời bạn viết trong phần thảo luận cuối trang.
    Cảm ơn bạn!

    Kết luận

    Trong bài học này chúng ta đã xem xét khái niệm giao thức mạng và một số vấn đề liên quan đến vai trò của giao thức, phân biệt được giữa đặc tả và thực thi của giao thức, phân biệt giữa giao thức mở và giao thức độc quyền.

    Các nội dung trong bài học này vẫn ở mức độ trừu tượng. Chi tiết các vấn đề này sẽ lần lượt được xem xét trong các bài học tiếp theo.

    Trong bài học sau chúng ta sẽ tìm hiểu về các dịch vụ truyền thông mà giao thức cung cấp cho ứng dụng.

    Theo dõi
    Thông báo của
    guest

    1 Thảo luận
    Cũ nhất
    Mới nhất
    Phản hồi nội tuyến
    Xem tất cả bình luận
    kudo

    vẫn chưa hiểu .. huhu