Giao thức và dịch vụ truyền thông

    0

    Quan hệ giữa giao thức và ứng dụng

    Như ở trên đã nói, giao thức có thể cài đặt dưới dạng chương trình trên thiết bị đầu cuối và trên thiết bị mạng. Ở chương này, chúng ta sẽ tập trung vào giới thiệu hoạt động của giao thức trên thiết bị đầu cuối, đặc biệt là những giao thức có khả năng được sử dụng bởi phần mềm mạng. Hoạt động của giao thức trên thiết bị mạng sẽ được xem xét chi tiết ở chương Công nghệ mạng.

    Chương trình ứng dụng hoạt động trên các thiết bị đầu cuối. Nói cách khác, thiết bị đầu cuối đóng vai trò là môi trường hoạt động cho ứng dụng. Các ứng dụng sử dụng dịch vụ truyền thông của hệ điều hành trên thiết bị đầu cuối để truyền thông tin giữa các thành phần.

    Các dịch vụ truyền thông mạng gắn với các giao thức. Các giao thức truyền thông này được thực thi ở dạng phần mềm, cụ thể hơn là ở dạng các chương trình hệ thống, mà ứng dụng có thể gọi để sử dụng. Việc truy cập này thường thực hiện thông qua gọi các hàm của hệ thống.

    Mỗi giao thức cung cấp một/một số dịch vụ truyền thông nhất định cho ứng dụng.

    Có hai loại dịch vụ truyền thông cơ bản mà các giao thức cung cấp cho ứng dụng: truyền thông end-to-endtruyền thông host-to-host. Khi lập trình ứng dụng mạng cũng chỉ có thể khai thác hai loại dịch vụ truyền thông end-to-end và host-to-host.

    Truyền thông end-to-end

    Các dịch vụ truyền thông mà ứng dụng sử dụng để truyền dữ liệu của mình tới một ứng dụng chạy trên một thiết bị đầu cuối khác gọi là dịch vụ truyền thông end-to-end. Nói đơn giản, đây là loại truyền thông giữa các ứng dụng chạy trên các thiết bị đầu cuối khác nhau.

    Đây là loại dịch vụ truyền thông phổ biến nhất mà phần mềm mạng sử dụng. Gần như tất cả các loại ứng dụng mạng đều phải sử dụng đến loại truyền thông này.

    Loại dịch vụ truyền thông này thường do hệ điều hành cung cấp dưới dạng các hàm hệ thống. Chương trình ứng dụng gọi tới các hàm này để yêu cầu mang dữ liệu của mình tới chương trình đối tác.

    Do ứng dụng mạng có nhiều thành phần, để các thành phần này có thể “nói chuyện” với nhau, chúng phải đưa ra các thỏa thuận về cấu trúc dữ liệu, trình tự gửi nhận dữ liệu, và các thao tác phải thực hiện khi gửi/nhận dữ liệu. Nói cách khác, tự bản thân chương trình ứng dụng phải đưa ra giao thức của riêng mình và sử dụng dịch vụ truyền thông end-to-end để thực hiện giao thức đó.

    Truyền thông host-to-host

    Việc truyền dữ liệu từ thiết bị đầu cuối này tới thiết bị đầu cuối khác được gọi là truyền thông host-to-host. Truyền thông host-to-host không phân phối dữ liệu đến cho ứng dụng cụ thể nào, cũng không phục vụ cho ứng dụng cụ thể nào. Loại truyền thông này chỉ giúp dữ liệu (của nhiều ứng dụng khác nhau) đi từ host này tới host kia.

    Dịch vụ truyền thông end-to-end phải sử dụng tới dịch vụ truyền host-to-host. Nói cách khác, dịch vụ truyền host-to-host là nền tảng hoạt động cho dịch vụ truyền end-to-end. Ví dụ, khi gửi thư đến một căn hộ trong một tòa chung cư lớn, dịch vụ bưu chính chỉ chịu trách nhiệm đưa thư đến tòa chung cư (host-to-host); bản thân chung cư sẽ có dịch vụ phân phối thư đến từng căn hộ (end-to-end).

    Để thực hiện nhiệm vụ truyền host-to-host, trên cả thiết bị đầu cuối và router đều phải cài đặt chung một giao thức (giao thức IP trong mạng TCP/IP mà chúng ta sẽ gặp ở bài sau). Giao thức này được thực thi ở dạng phần mềm hệ thống trên thiết bị đầu cuối (mà chúng ta có thể sử dụng), và là một phần mềm chạy trên hệ điều hành chuyên dụng của router.Cả truyền thông end-to-end và host-to-host đều là truyền thông ảo (virtual communication) với ý nghĩa: các host hoặc các ứng dụng “cảm giác” như đang được “nói chuyện” trực tiếp với nhau, mặc dù giữa chúng là rất nhiều loại môi trường truyền và các thiết bị mạng trung gian.

    Truyền thông tin cậy và truyền thông không tin cậy

    Một số giao thức cung cấp dịch vụ truyền thông tin cậy. Truyền thông tin cậy là loại dịch vụ truyền thông trong đó giao thức đảm bảo rằng dữ liệu sẽ được truyền đi tới đích nguyên vẹn, không mất mát, không sai lệch, đúng thứ tự.

    Ngược lại, truyền thông không tin cậy là loại dịch vụ truyền thông trong đó giao thức không đảm bảo rằng dữ liệu sẽ được truyền tới đích nguyên vẹn. Nghĩa là có thể xảy ra mất dữ liệu, sai dữ liệu, hoặc dữ liệu tới không đúng thứ tự.

    Có thể đặt câu hỏi, tại sao phải có dịch vụ truyền thông “không tin cậy”, vì rõ ràng dịch vụ truyền tin cậy có vẻ rất tốt.

    Vấn đề nằm ở chỗ, để đảm bảo cho truyền thông tin cậy, giao thức cần thực hiện rất nhiều công việc khác nhau. Thông thường nhất là mỗi khi gửi đi một phần dữ liệu, máy nguồn phải chờ phản hồi từ máy đích. Các công việc này dẫn đến một kết quả là tốc độ truyền dữ liệu theo dịch vụ truyền tin cậy sẽ thấp.

    Truyền thông hướng liên kết và truyền thông phi liên kết

    Dịch vụ truyền thông hướng liên kết là loại dịch vụ truyền thông trong đó hai bên tham gia vào quá trình truyền phải trao đổi trước các thông tin để chuẩn bị cho quá trình truyền dữ liệu chính thức. Việc trao đổi thông tin trước khi truyền thường được gọi là quá trình thiết lập liên kết.

    Sau khi thiết lập liên kết, hai bên tham gia truyền thông lưu lại thông tin về nhau và có thể bắt đầu quá trình trao đổi dữ liệu. Dữ liệu trao đổi qua liên kết thường không bị giới hạn về kích thước. Nếu kích thước dữ liệu quá lớn, nó có thể được cắt thành từng phần nhỏ và liên tục chuyển đi, tương tự như một băng chuyền trong nhà máy.

    Sau khi quá trình trao đổi dữ liệu hoàn tất, liên kết có thể bị hủy bỏ. Khi hủy bỏ liên kết, tất cả thông tin về phiên làm việc vừa xong sẽ bị xóa bỏ. Hai bên không còn liên hệ gì. Nếu muốn trao đổi dữ liệu, liên kết cần thiết lập lại từ đầu.

    Trong dịch vụ truyền thông phi liên kết, hai bên tham gia truyền thông không cần trao đổi thông tin trước khi truyền. 

    Khi sử dụng dịch vụ này, bên nguồn có thể gửi dữ liệu đi ngay lập tức mà không cần thực hiện bất kỳ thủ tục nào, còn bên đích không biết gì về bên nguồn cho đến khi nó nhận được dữ liệu.

    Dữ liệu truyền theo dịch vụ này thường được đóng thành từng gói độc lập, có kích thước giới hạn, và được truyền riêng rẽ, tương tự như việc gửi bưu phẩm.

    Do hai bên không lưu trữ thông tin về nhau, các bên có thể kết thúc quá trình truyền dữ liệu bất kỳ lúc nào mà không cần thực hiện thủ tục gì khác.

    + 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!

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

    0 Thảo luận
    Phản hồi nội tuyến
    Xem tất cả bình luận