25/05/2018, 00:04

Các giao thức mạng truyền thông

Sau khi cung cấp một kiến trúc mạng, cần đưa ra các quy tắc và chuẩn để quản lý việc truyền thông. Giao thức truyền thông là tập các quy tắc quy định việc trao đổi TĐ nhằm cung cấp dòng thông tin đáng tin cậy và đúng trật tự trong quá trình truyền thông. ...

Sau khi cung cấp một kiến trúc mạng, cần đưa ra các quy tắc và chuẩn để quản lý việc truyền thông. Giao thức truyền thông là tập các quy tắc quy định việc trao đổi TĐ nhằm cung cấp dòng thông tin đáng tin cậy và đúng trật tự trong quá trình truyền thông. Để truyền thông tới điểm xa trong đời thường, con người dùng điện thoại và thư. Tương tự, trong hệ thống truyền thông máy tính cũng có hai chiến lược dịch vụ truyền thông là định hướng kết nối (như điện thoại) và không kết nối (như thư).

Giao thức định hướng kết nối đòi hỏi khởi động rõ ràng một kết nối trước khi bắt đầu truyền thông thực sự. Thông điệp được phân phát tin cậy và theo dòng tuần tự. Thao tác giao thức không kết nối làm việc tương tự chuyển thư của ngành bưu chính: không cần thiết thiết lập cuộc kết nối. TĐ được phân phát dựa trên sự cố gắng nhất về thời gian và đường đi và có thể xuất hiện theo thứ tự tùy ý. Như vậy, việc chuyển phát TĐ không kết nối là không bắt buộc điểm gửi và điểm nhận duy trì một kết nối trong suốt quá trình phân phát TĐ và vì vậy, thời gian thực hiện gửi và nhận của mỗi đối tượng tương ứng là nhanh chóng.

Chọn lựa giao thức nào là tuỳ thuộc vào ứng dụng. Nếu truyền File thì hợp lý hơn dùng định hướng kết nối, còn nếu quảng bá trạng thái hệ thống cục bộ thì dùng không kết nối.

Tại mức mạng, hai dịch vụ kiểu này thường được chỉ dẫn như là vòng ảogói dữ liệu ảo. Tại mức truyền thông phần cứng, gọi chúng là chuyển mạch vòng (không kết nối) và chuyển mạch gói (hướng kết nối). Kết nối trong chuyển mạch vòng là kết nối vật lý cố định. Vòng ảo là kết nối lôgic. Một đường vật lý đơn có thể chuyển một số vòng ảo đa hợp. Có thể mở rộng tính trừu tượng này tới truyền thống hướng kết nối. Truyền thông hướng kết nối được thi hành nhờ một số dịch vụ gói. Dữ liệu thực sự được mang chuyển trong mạng chuyển mạch gói suốt thời gian hệ thống cung cấp việc phân phát các TĐ một cách tin cậy - đúng thứ tự và cho người dùng cảm giác về một kết nối.

Trong hệ thống, truyền thông xẩy ra tại nhiều mức khác nhau. Người dùng CTĐ lẫn nhau. Các máy truyền thông lần nhau. Các mạng cũng đòi hỏi cộng tác thông qua truyền thông. Đây là truyền thông điểm-điểm: truyền thông giữa hai thực thể đồng mức. Thiết kế phần mềm và phần cứng truyền thông trong hệ thống máy tính là một nhiệm vụ rộng lớn hơn. Chúng được cấu trúc thành các tầng.

Việc phân tầng truyền thông cần đảm bảo một số nguyên tắc sau:

(1) Một tầng truyền thông tương ứng với một mức trừu tượng,

(2) Mỗi tầng cần thực hiện chức năng hoàn toàn xác định. Việc xác định chức năng của mỗi tầng truyền thông cần phù hợp quy tắc chuẩn hoá quốc tế,

(3) Thông tin đi qua mỗi tầng là ít nhất,

(4) Số tầng phải đủ lớn để các chức năng tách biệt không nằm trong cùng một tầng và đủ nhỏ để mô hình không quá phức tạp,

(5) Một tầng có thể được phân thành các tầng con nếu cần thiết và các tầng con có thể bị loại bỏ,

(6) Hai hệ thống khác nhau có thể truyền thông với nhau nếu chúng bảo đảm những nguyên tắc chung (cài đặt cùng một giao thức truyền thông),

(7) Các chức năng được tổ chức thành một tập các tầng đồng mức cung cấp chức năng như nhau. Các tầng đồng mức phải sử dụng một giao thức chung.

Như vậy, mỗi tầng cần được mô tả chính xác về chức năng (hay dịch vụ). Hai tầng kề nhau có giao diện và giao thức truyền thông rõ ràng giữa chúng. Tầng thấp hơn cung cấp các dịch vụ cho tầng ngay trên nó. Giao thức giữa các tầng là đơn giản hơn và có cấu trúc thuần nhất hơn so với giao thức điểm-điểm vì thực hiện việc trao đổi giữa hai tầng. Cho phép mở rộng đặc điểm chức năng là phân tích được và kiến trúc giao diện đơn giản xác định hoàn toàn để khởi tạo một đặc tả mạng tường minh cho nhiều nhà cung cấp thi hành. Đặc tả mạng được chuẩn hóa được gọi là kiến trúc hệ thống mạng. Các mức trong mạng chuẩn hóa cùng các giao thức tương ứng được gọi là bộ giao thức mạng.

Dưới đây là hai bộ giao thức mạng điển hình nhất: Open Systems Interconnection (OSI) của Tổ chức chuẩn hóa quốc tế (ISO) và Transmission Control Protocol/Internet Protocol (TCP/IP) của Bộ quốc phòng Mỹ.

OSI là bộ giao thức bẩy tầng. Một QT truyền thông tới một QT khác ở xa bằng cách chuyển dữ liệu qua bảy tầng, rồi đến tầng vật lý, và cuối cùng đi qua các tầng ở xa theo thứ tự ngược lại. Chi tiết của CTĐ là bị che từ QT truyền thông và các QT này chỉ quan sát được giao thức điểm-điểm. Trong suốt dữ liệu giữa các tầng là đạt được (Hình 2.4).

Tại nút gửi, mỗi tầng nhận một đơn vị dữ liệu giao thức (PDU: Protocol Data Unit) từ tầng ngay trên và gói PDU này với thông tin điều khiển header cho tầng ngang hàng với nó ở điểm nhận. TĐ kết hợp này (TĐ và header) được coi là PDU cho tầng dưới. Trong nhiều trường hợp, PDU cần được phân đoạn do giới hạn kích thước PDU của tầng dưới. Việc phân đoạn và ghép nối lại cần trong suốt ở tầng trên.

Tại nút nhận, thông tin header được tháo ra tương ứng theo từng tầng. Cổng vào ra hoặc nút trung gian chỉ thực hiện việc lưu tạm thời và chuyển tiếp tại ba tầng phụ thuộc mạng thấp nhất. Dưới đây trình bày nội dung các tầng theo thứ tự "từ thấp lên cao".

Tầng vật lý đặc tả đặc trưng điện tử và cơ học của đường truyền thông vật lý giữa cặp hai nút. Chức năng chính là cung cấp một ống dẫn bit (bit pipe) lôgic tin cậy đối với kênh truyền thông. Tín hiệu điện tử hoặc quang cần được biến đổi thành bit và ngược lại. ánh xạ tín hiệu thành bit cần đồng bộ bit: phát hiện bắt đầu của bit hoặc dãy bit. Dãy bit hoặc được đồng bộ bit hoặc dị bộ ký tự. Dãy đồng bộ bit là một khối lớn các bit được truyền theo tốc độ thông thường. Phương pháp này cho tốc độ truyền dữ liệu cao hơn và tận dụng đường truyền thông tốt hơn. Dữ liệu dị bộ kí tự là một dãy bít có kích thước nhỏ cố định được truyền dị bộ theo ống dẫn bit. Trạm cuối hướng kí tự tốc độ thấp thường dùng phương pháp này để chuyển dữ liệu. Việc phát và nhận bit lôgic đòi hỏi chuẩn hóa các thuộc tính điện tử và cơ học chẳng hạn như phương pháp mã, kỹ thuật mã hóa gồm ghi và đặc tả vật kết nối. Hai chuẩn kết nối điểm-điểm điển hình là RS232C và X.21. Hơn nữa, modem (MOdunlator/DEModunlator) có thể dùng giữa một cặp cổng RS232C và như vậy trở thành cổng của tuyến vật lý. Modem (đồng bộ hoặc dị bộ) bắt buộc phải chuẩn hóa. Cũng vậy, chia xẻ tuyến dùng chung, chẳng hạn dây đồng trục Ethernet, cũng được chuẩn hóa làm tầng kết nối dữ liệu.

Tầng điều khiển kết nối dữ liệu (DLC) đảm bảo truyền tin cậy nhóm bit (được gọi là khuôn - frame). Giao thức kết nối dữ liệu quản lý khởi tạo cấu hình, điều khiển lỗi, tính kế tiếp, điều khiển dòng các khuôn. Cấu hình trình diễn cách thiết lập và kết thúc kết nối và xác định kết nối hai chiều hay một chiều, đồng bộ hay dị bộ. Lỗi gồm có lỗi đường truyền hoặc thiếu/lặp khuôn. Lỗi được phát hiện nhờ cơ chế tổng kiểm tra (checksum) hoặc cơ chế quá hạn (time-out) và được điều chỉnh lại nhờ cơ chế truyền lại hoặc truyền bản đúng của các bản lỗi. Điều khiển dãy dùng số hiệu dãy để duy trì việc truyền có thứ tự các khuôn. Số hiệu còn được dùng để phát hiện việc sót/lặp khuôn và giúp cho việc điều chỉnh dòng truyền khuôn. Dòng khuôn dữ liệu cần phải được điều chỉnh nếu như nơi nhận không thể theo kịp nơi gửi, có thể do dung lượng quá hạn chế của bộ đệm. Việc phát một khuôn được phép chỉ khi nó rơi vào cửa sổ bộ đệm của người gửi và người nhận. Tất cả chức năng điều khiển này làm tăng chi phí tính theo bit được bổ sung vào khuôn dữ liệu tạo thành đầu và đuôi của khuôn. Kết quả là mỗi giao thức DLC có dạng khuôn xác định để thông dịch đúng đắn các bit trong các trường điều khiển.

Để cấu hình đa điểm, chẳng hạn như tuyến chung, tầng điều khiển kết nối dữ liệu được thi hành với tầng con điều khiển truy nhập trung gian MAC (Medium Access Control) đặt giữa tầng con DLC và tầng vật lý. MAC giải quyết bài toán truy nhập kênh đa tầng.

Tầng mạng: Do hai tầng thấp nhất (tầng vật lý và tầng kết nối dữ liệu) chỉ liên quan đến một tuyến kết nối. Tầng mạng giải quyết vấn đề gửi các gói (packet) dọc theo mạng thông qua một số đoạn tuyến kết nối. Gói là đơn vị cơ sở truyền dữ liệu trong tầng mạng. Kích thước của gói khác với khuôn của tầng kết nối dữ liệu (kích thước khuôn phụ thuộc vào tính chất của đường truyền dữ liệu vật lý). Gói được gửi chuyển tiếp qua mỗi nút trên mạng theo hình thức chuyển tiếp gói từ những nút khác hoặc bắt đầu từ chính nút đó. Một câu hỏi được đặt ra là: Đường kết nối nào sẽ được chọn để chuyển tiếp gói dựa theo địa chỉ đích của gói? Đây là chức năng dẫn đường của tầng mạng. Các chức năng khác như điều khiển lỗi và dòng cũng được thi hành ở tầng mạng, nhưng ở mức độ cao hơn giữa các nút và thông qua các nút trung gian. Hiện tượng nút nào đó luôn được ưu tiên chọn theo quyết định dẫn đường có khả năng xảy ra và nút như vậy sẽ trở thành cổ chai trong mạng. Điều khiển dòng nhằm giảm nhẹ vấn đề này được gọi là điều khiển tắc nghẽn. Quyết định dẫn đường có thể được tạo tại thời điểm khi kết nối được yêu cầu và được thiết lập. Quyết định dẫn đường có thể tạo ra trên cơ sở gói – tiếp - gói. Hình thức hóa bằng các giả thiết của kết nối. Chẳng hạn như đường truyền thông được coi như một chu trình ảo và có tính chất phân phát theo thứ tự các gói. Các gói được phát theo phương pháp sau được gọi chuyển mạch gói (datagram) và đòi hỏi thiết kế lại các gói theo dãy đúng đắn. Quyết định dẫn đường có thể tĩnh hoặc có thể được điều chỉnh theo trạng thái mạng. Tính toán quyết định dẫn đường có thể là tập trung hoặc phân tán trên một số nút cộng tác. Bài toán dẫn đường mạng được nghiên cứu rộng rãi.

Giữa mọi cặp nút (gửi và nhận), tồn tại một số đường để dẫn đường gói. Với một số ứng dụng phân tán, trông chờ vào cách thức dẫn đường phức. Nếu đường đi được chọn theo thuyết không quyết định đối với mỗi gói được chuyển tiếp, việc tải hệ thống được làm cân bằng hơn để ngăn ngừa hiện tượng thắt cổ chai. Lúc đố, các gói xuất hiện có thể không tuân theo dãy. Mặt khác, việc sao bội các gói sẽ được gửi có thể đưa đến yêu cầu tăng hiệu năng hệ thống. Nếu chỉ tiếp nhận gói được gửi thành công đầu tiên, có thể nhận thấy độ trễ liên nút ngắn hơn và xác suất thiếu gói giảm đi. Điều này lại đòi hỏi bổ sung cơ chế thiết kế lại gói và loại bỏ gói lặp lại. Các ứng dụng đòi hỏi hiệu năng cao và tin cậy cần có thể nâng cao tổng phí.

Hơn nữa, không phải tất cả các gói là gói dữ liệu. Sử dụng một số gói điều khiển cho giải pháp địa chỉ mạng và quảng bá trạng thái. Các giao thức này thường dùng dịch vụ chuyển mạch gói do các gói của chúng là nhỏ và ngắn hạn.

Tầng giao vận: Theo quan điểm của HĐH, đây là tầng quan trọng nhất trong bộ giao thức bảy tầng vì nó ở vị trí trung gian giữa các mạng con truyền thông (phụ thuộc mạng: tầng vật lý, tầng kết nối dữ liệu và tầng mạng) với các tầng cao hơn - độc lập mạng (tầng phiên, tầng trình diễn và tầng ứng dụng). Trách nhiệm cơ bản của tầng giao vận là cung cấp việc truyền thông hai mút tin cậy giữa các QT ngang hàng. Lỗi-vấn đề phụ thuộc mạng sẽ được che chắn khỏi các QT truyền thông. Các phiên truyền thông QT được đảm bảo bởi kết nối giao vận. Tầng giao vận tại nút gửi tách thông điệp thành các gói và chuyển chúng xuống tầng mạng để chuyển trên mạng. Tầng giao vận tại nút nhận thiết kế lại các gói thành thông điệp. Một số phiên nhỏ hơn có thể được kết hợp lại thành kết nối giao vận đơn nhằm đạt được sự tận dụng hiệu quả hơn kết nối, nếu chúng cùng đi tới một nút. Tương tự, tầng giao vận có thể chấp nhận một phiên chiếm giữ kết nối giao vận phức để làm tăng thông lượng phiên. Việc kết hợp và tập trung trong dịch vụ giao vận cần trong suốt đối với phiên. Phiên được phân lớp theo yêu cầu về kiểm soát lỗi và năng lực kết hợp. OSI định nghĩa 5 lớp (từ TP0 tới TP4) dịch vụ giao vận hỗ trợ phiên. Việc chọn lớp dịch vụ phụ thuộc vào yêu cầu của ứng dụng và chất lượng của mạng truyền thông hạ tầng. Dịch vụ truyền thông phổ dung nhất TP4 cho phép kết hợp các phiên, phát hiện lỗi và truyền lại. Nó là dịch vụ giao vận hướng kết nối tin cậy đối với mạng không tin cậy.

Tầng phiên, trình diễn và ứng dụng: Các tầng trên tầng giao vận là không bản chất về mặt hệ thống và mạng truyền thông. Chúng là các dịch vụ bổ sung tới hệ thống.

Tầng phiên bổ sung dịch vụ hội thoại và đồng bộ cho tầng giao vận. Hội thoại làm thuận tiện việc thiết lập phiên còn đồng bộ cho phép các QT chèn thêm các điểm kiểm tra để khôi phục hiệu quả từ hiện tượng sụp đổ hệ thống.

Tầng trình diễn cung cấp mã hoá dữ liệu, nén và biến đổi mã đối với TĐ bằng các sơ đồ mã hóa khác nhau.

Chuẩn hóa tầng ứng dụng dành cho người thiết kế ứng dụng, chẳng hạn dịch vụ thư điện tử và truyền file.

Đặc tả OSI cung cấp một diện mạo bề ngoài của truyền thông mạng. Khi đã cho một mạng vật lý hạ tầng, tồn tại hai kiểu tương tác hệ thống: truyền thông liên QT và truyền thông liên nút. Đặt ra hai câu hỏi đối với người thiết kế hệ thống: Làm thế nào để duy trì được truyền thông giữa cặp hai QT và việc dẫn đường TĐ theo các nút của mạng như thế nào ? Nói khác đi, tầng giao vận và tầng mạng là cốt yếu trong thiết kế hệ thống. TCP/IP là bộ giao thức tập trung vào hai vấn đề này trong môi trường liên mạng. TCP là giao thức tầng giao vận tương đương với TP4 trong bộ OSI. Đích cơ bản của bộ TCP/IP là mạng liên kết nối trong khi OSI là máy tính liên kết nối.

Hình 2.5 mô tả bộ giao thức TCP/IP cho hai mạng được kết nối qua một số cổng, còn hình 2.6 thể hiện các giao thức tương ứng với các tầng. Giao thức thực sự trong hình chỉ có hai tầng; các tầng khác được chỉ ra chỉ mang tính toàn vẹn. Tầng ứng dụng là không cần định rõ, thậm chí ngay cả tương tác giữa TCP và ứng dụng là không xác định để linh hoạt. Tầng kết nối dữ liệu và vật lý được chú ý như là một giao diện mạng mà hiện có rất nhiều chuẩn cho nó.

Mức giao vận có thể chọn hướng kết nối hoặc không kết nối. Dịch vụ này có thể được thực hiện bởi một chu trình ảo hoặc một gói tin tại tầng mạng. Như vậy, tổ hợp thành bốn cơ chế truyền thông QT. Truyền thông hướng kết nối, theo định nghĩa, có yêu cầu nghiêm ngặt đối với việc phân phát chính xác và đúng trình tự TĐ hơn so với truyền thông không kết nối. Nó là dịch vụ đúng đắn cho hầu hết ứng dụng. Hơn nữa, một gói tin (đơn vị truyền thông không kết nối) là dễ dàng và hiệu quả hơn khi thi hành trong tầng mạng, đặc biệt khi mạng hạ tầng là không tin cậy. Kết hợp tầng giao vận hướng kết nối và tầng mạng gói tin làm thích nghi một lớp rộng lớn các ứng dụng mạng. Đây là triết lý của TCP/IP (TCP hướng kết nối và IP mạch chuyển gói tin).

Trách nhiệm duy trì truyền thông tin cậy từ mức mạng được chuyển tới mức HĐH, nơi cho phép điều khiển nhiều hơn so với tại mạng. Dữ liệu khác và TĐ điều khiển chỉ đòi hỏi dịch vụ không tin cậy, và điều đó được đáp ứng nhờ dịch vụ gói tin người dùng tại mức giao vận.

Một QT có thể truyền thông trực tiếp tới QT ngang hàng nhờ sử dụng số hiệu QT (Pid) như địa chỉ nguồn và đích. Tuy nhiên, thuận tiện hơn dùng khái niệm cổng đối với nút truyền thông liên QT. Ví dụ một QT có thể dùng nhiều đường truyền thông tới một QT khác nhờ việc sử dụng cổng phức và các QT khác có thể chia xẻ cổng đích chung nhằm thực hiện kết nối đa điểm. Cổng được HĐH cục bộ khởi tạo và gán một số hiệu (id) tương ứng. Số hiệu cổng là duy nhất nội tại trong máy cục bộ. Nút mạng diện rộng tường minh đạt được nhờ việc ghép nối số hiệu cổng với máy chủ và địa chỉ mạng. Hình 2.7 cho một cấu trúc địa chỉ IP và một kết nối TCP giữa hai nút. Nút kết nối được định danh bởi cặp địa chỉ máy chủ Internet và cổng giao vận.

Địa chỉ Internet đầy đủ chứa địa chỉ mạng và địa chỉ máy chủ nội tại trong mạng. Nếu mạng chứa mạng con, địa chỉ mạng (cũng được gọi là miền) được chia làm hai phần: địa chỉ mạng và địa chỉ mạng con. Một địa chỉ IP dài 32 bit. Các dạng địa chỉ IP được mô tả chi tiết ở phần sau.

Mức giao vận trong TCP/IP hoặc UDP/IP cung cấp các cổng đối với các dịch vụ hướng kết nối hoặc không kết nối. Giao diện chuyển mạch gói (socket) trong UNIX BSD IV được phát triển tại trường ĐHTH Berkeley là một ví dụ đối với cơ chế giao diện mà những ứng dụng chẳng hạn ống dẫn dòng UNIX cần được xây dựng. Socket là trừu tượng hóa vào-ra mạng cho phép thực hiện các thao tác đọc và ghi chuẩn. Lời gọi hệ thống socket tạo ra một socket, cho một đặc tả socket được dùng để đọc và ghi socket, tương tự như đặc tả file của một file được mở. Tham số trong lời gọi hệ thống socket mô tả họ giao thức và kiểu dịch vụ truyền thông sẽ được thiết đặt đối với socket. Với kết nối TCP, socket bắt buộc hướng tới cổng giao vận đích trước khi toán tử đọc hoặc ghi được giải thích. Lời gọi connect thực hiện việc làm phù hợp socket với cổng giao vận đích xa. HĐH tại đích xa cho số hiệu cổng tương ứng. Nếu số hiệu cổng cần thiết là đã biết thì nó có thể được QT đích gán nhờ lời gọi bind với chức năng ràng buộc socket tới một cổng cục bộ. Đối với truyền dữ liệu không kết nối, các lời gọi hệ thống sendiorevfrom được dùng. Yêu cầu về số hiệu socket và địa chỉ đích được mô tả như những tham số trong lời gọi. Không cần kết nối từ trước.

Do TCP/IP xác định trực tiếp hai tầng chủ yếu nhất để thiết kế hệ thống phân tán và mạng truyền thông, nó thường được dùng như là một mô hình để trình bày. Socket trong truyền thông không kết nối được sử dụng rộng rãi trong hệ phân tán và lập trình mạng.

Chức năng các giao thức trong bộ giao thức TCP/IP

Một số giao thức điển hình trong bộ giao thức TCP/IPđược liệt kê như dưới đây.

-FTP (File transfer Protocol): Giao thức truyền File lấy (gửi) File từ (tới) máy khác.

-Telnet: Chương trình mô phỏng thiết bị đầu cuối cho phép login vào máy chủ.

-SMTP (Simple Mail Transfer Protocol): Một giao thức thư tín điện tử.

-DNS (Domain Name phục vụ): Dịch vụ tên miền cho phép nhận ra máy tính từ một tên miền thay cho chuỗi địa chỉ Internet khó nhớ.

-SNMP (Simple Network Management Protocol): Giao thức cung cấp công cụ quản trị mạng.

-RIP (Routing Internet Protocol): Giao thức dẫn đường động.

-ICMP (Internet Control Message Protocol): Nghi thức thông báo lỗi.

-UDP (User Datagram Protocol): Giao thức truyền không kết nối cung cấp dịch vụ truyền không tin cậy nhưng tiết kiệm chi phí truyền.

-TCP (Transmission Control Protocol): Giao thức hướng kết nối cung cấp dịch vụ truyền thông tin cậy.

-IP (Internet Protocol): Giao thức Internet chuyển giao các gói tin qua các máy tính đến đích.

-ARP (Address Resolution Protocol): Cơ chế chuyển địa chỉ TCP/IP thành địa chỉ vật lý của các thiết bị mạng.

0