142 Ch-ơng 7: Lớp mạng
7.2.3 Chuyển mạch gói.
Chuyển mạch gói cố gắng tổ hợp các -u điểm của chuyển mạch kênh và chuyển mạch tin, khi tối thiểu các nh-ợc điểm của cả hai. Điều này có thể đáp ứng đ-ợc khi phân nhỏ tổng l-ợng thông tin trên một số trạm.
Kỹ thuật chuyển mạch
Chuyển mạch gói rất giống chuyển mạch tin. Điểm khác biệt bề ngồi có tính ngun lý là: độ dài các khối dữ liệu trên mạng bị hạn chế trong mạng chuyển mạch gói. Độ dài cực đại thông th-ờng là 1000 đến vài nghìn bit. Hệ thống chuyển mạch tin th-ờng ứng với các thông điệp lớn hơn nhiều. Từ quan điểm của trạm, thơng điệp có độ dài lớn hơn độ dài cực đại phải chia thành nhiều khối nhỏ hơn và gửi từng khối theo thời gian. Để phân biệt hai kỹ thuật, trong chuyển mạch gói khối dữ liệu đ-ợc gọi là gói. Điểm khác biệt nữa là các gói thơng th-ờng khơng đ-ợc chứa lại. Bản copy một gói chỉ có thể l-u giữ tạm thời với mục đích hồi phục lỗi, song đó là tất cả.
Ta lại dùng hình 7.5 nh- một ví dụ. Ban đầu ta giả thiết là cần chuyển chỉ một gói đơn. Gói sẽ gồm dữ liệu cộng thêm với địa chỉ đích. Trạm A phát gói tới 4, tại đây sẽ ghi giữ nội dung sau đó chuyển tới 5, chuyển tới 6 và sau đó tới E.
Nhìn bề ngồi, chuyển mạch gói rất giống và khơng có -u điểm gì lớn so với chuyển mạch tin. Song biện pháp "hạn chế kích th-ớc cực đại của gói xuống một độ dài khá nhỏ" tuy đơn giản, đã mang lại một hiệu suất đặc biệt to lớn. Tr-ớc khi mô tả điều này, chúng ta định nghĩa 2 giao thức chung để đ-a các thơng điệp vào mạng chuyển mạch gói.
154 Ch-ơng 7: Lớp mạng
Khi trạm A có một thơng điệp với độ dài lớn hơn kích th-ớc cực đại một gói. Nó sẽ chia thơng điệp thành nhiều gói và gửi chúng tới node của nó. Mạng sẽ truyền luồng các gói này nh- thế nào? Có hai cách giải quyết: theo l-u đồ và mạch ảo.
Theo cách l-u đồ, mỗi gói đ-ợc xem nh- độc lập. nh- mỗi thơng điệp là độc lập trong mạng chuyển mạch tin. Giả sử A có thơng điệp gồm 3 gói cần gửi tới E. Nó đ-a lần l-ợt các gói 1 - 2 - 3 tới node 4. Với mỗi gói, node 4 chọn một tuyến. Khi gói 1 tới, node 4 thấy hàng chờ tới node 5 ngắn hơn hàng chờ tới node 7, vì vậy nó xếp gói 1 vào hàng chờ tới node 5. Với gói 2 ví dụ cũng t-ơng tự. Song khi gói 3 tới, node 4 có thể thấy hàng chờ tới node 7 là ngắn hơn, nó quyết định xếp gói 3 vào hàng chờ tới node này. Bởi vậy, các gói với cùng một địa chỉ đích nh-ng lại khơng đi theo tuyến giống nhau. Hồn tồn có thể gói 3 sẽ tới node 6 tr-ớc gói 2. Tóm lại các gói có thể gửi tới E theo trình tự khác với trình tự mà nó d-ợc gửi đi. Phải làm sao để trạm E có thể sắp xếp lại chúng. Trong kỹ thuật này, mỗi gói đ-ợc hình dung một cách độc lập, và đ-ợc xem nh- một l-u đồ dữ liệu (datagram).
Theo cách mạch ảo, một đ-ờng nối logíc đ-ợc thiết lập tr-ớc khi các gói đ-ợc gửi đi. Ví dụ A có một thơng điệp nhiều gói cần gửi tới E. Đầu tiên nó gửi một gói yêu cầu nối đ-a tới node 4 để yêu cầu nối với trạm E. Node 4 sẽ chọn và quyết định rằng: u cầu này và tồn bộ các gói dữ liệu sau đó sẽ đ-ợc chuyển tới node 5. Đến l-ợt mình, sau khi nhận đ-ợc yêu cầu nối từ node 4 chuyển tới, Node 5 sẽ chọn và quyết định ví dụ: u cầu nối và tồn bộ các gói dữ liệu sau đó sẽ đ-ợc chuyển tới node 6. Node 6 cuối cùng đ-a yêu cầu nối tới trạm E. Nếu E đã sẵn sàng tiếp nhận cuộc nối, nó sẽ gửi thơng báo tiếp nhận cuộc gọi tới node 6, qua node 5 và node 4 tới A. Trạm A và E bấy giờ có thể trao đổi dữ liệu trên đ-ờng nối logic hay mạch ảo đã xác định. Mỗi gói bây giờ gồm dữ liệu kèm theo với thông tin nhận dạng mạch ảo. Mỗi node trên cơ sở tuyến đã định tr-ớc biết cần phải gửi gói tới đâu, khơng cần phải quyết định chọn đ-ờng. Mỗi gói từ A gửi
Ch-ơng 7: Lớp mạng 155 tới E sẽ đi theo đ-ờng qua node 4, node 5 và node 6. Ng-ợc lại, gói gửi từ E tới A đều di theo đ-ờng qua node 6, node 5 tới node 4. Cuối cùng, một trạm sẽ gửi gói yêu cầu kết thúc cuộc gọi Clear Request. Tại một thời điểm bất kỳ, mỗi trạm có thể có nhiều hơn một mạch ảo tới một trạm bất kỳ khác và có thể có các mạch ảo tới nhiều hơn một trạm.
Đặc tính chủ yếu của kỹ thuật mạch ảo là tuyến đã đ-ợc định tr-ớc khi chuyển giao dữ liệu. L-u ý rằng, điều này khơng có nghĩa là có một đ-ờng dành riêng nh- trong chuyển mạch kênh. Gói vẫn đ-ợc l-u vào các bộ đệm tại mỗi node, xếp hàng chờ đ-a ra đ-ờng truyền. Điểm khác biệt so với cách thức l-u đồ là node không cần thực hiện chức năng chọn đ-ờng cho mỗi gói, mà chỉ cần làm điều này tr-ớc mỗi cuộc nối.
Nếu hai trạm muốn trao đổi dữ liệu trong một thời gian dài, ph-ơng thức mạch ảo có nhiều -u điểm hơn. Nó giải phóng các trạm khỏi các chức năng xử lý thơng tin khơng cần thiết. Ph-ơng thức mạch ảo cịn có thể cung cấp một số dịch vụ nh- trình tự, điều khiển lỗi và điều khiển luồng. Chúng ta dùng chữ ”có thể” vì khơng phải mọi mạch ảo đều cung cấp toàn bộ các dịch vụ trên một cách tin cậy. Dịch vụ trình tự đ-ợc đảm bảo do tồn bộ các gói đều đi theo cùng một đ-ờng, nên chúng tới đích theo đúng trình tự sẵn có. Điều khiển lỗi là dịch vụ đảm bảo tồn bộ các gói gửi đến đích đều chính xác, khơng bị lỗi. Ví dụ nếu một gói trong dẫy sai tới node 6, hoặc tới với sai lỗi, node 6 sẽ yêu cầu gửi lại gói đó từ node 4. Điều khiển luồng là kỹ thuật đảm bảo đầu phát không gây cho đầu thu bị tràn dữ liệu. Ví dụ, nếu trạm E trong khi ghi đệm các dữ liệu thu đ-ợc từ A thấy bộ đệm có nguy cơ bị đầy, nó có thể thơng qua mạch ảo đã định để yêu cầu A ngừng phát cho đến khi có thơng báo sau.
Một -u điểm của ph-ơng thức l-u đồ là không cần giai đoạn thiết lập. Bởi vậy nếu một trạm muốn gửi chỉ một vài gói, ph-ơng thức l-u đồ tỏ ra nhanh hơn. Một -u điểm khác nữa là ph-ơng thức l-u đồ có nhiều nguyên hàm hơn, nên mềm dẻo hơn. Ví dụ, nếu có một tắc nghẽn phát triển trong mạng, các l-u đồ dữ
156 Ch-ơng 7: Lớp mạng
liệu tới sẽ chọn đ-ờng khác tránh tắc nghẽn, trong khi ở ph-ơng thức mạch ảo do đã định đ-ờng sẵn nên khó thích nghi hơn với tắc nghẽn này. Ưu điểm th- ba là ph-ơng thức l-u đồ tin cậy hơn trong việc phân phát dữ liệu. Trong mạch ảo, nếu một node bị hỏng sẽ gây hỏng toàn bộ các đ-ờng đã định qua nó. Cịn với l-u đồ, các gói sẽ tìm đ-ờng đi khác.
Kích th-ớc gói.
Một vấn đề quan trọng là kích th-ớc của gói dùng trong mạng chuyển mạch. Có một quan hệ rõ rệt giữa kích th-ớc gói và thời gian truyền thông điệp nh- minh hoạ trên hình 7.6. Ví dụ trên hình này mơ tả việc truyền một bản thông điệp dài 30 octet theo ph-ơng thức mạch ảo từ trạm X qua node A, node B tới trạm Y. Mỗi gói phải kèm theo 3 octet thơng tin điều khiển, gọi là tiếp đầu (header).
Trong tr-ờng hợp tồn bộ thơng điệp chỉ coi là một gói, gói sẽ dài 33 octet (3 octet tiếp đầu +30 octet dữ liệu). Gói tr-ớc hết đ-ợc truyền từ X tới A. Sau khi A nhận đủ 33 octet, nó mới có thể truyền tiếp tới B. Quá trình t-ơng tự đối với node B. Tổng cộng thời gian truyền cần thiết thông điệp từ X tới Y bằng khoảng thời gian của 99 octet (3 x 33 = 99).
Bây giờ nếu ta chia thơng điệp làm 2 gói. mỗi gói sẽ dài 18 octet (gồm 15 octet dữ liệu và 3 octet tiếp đầu). Trong tr-ờng hợp này, khi node A thu hết 18 octet của gói đầu, nó đã có thể phát tiếp gói đầu sang node B không phụ thuộc vào việc thu gói thứ hai. Nhờ sự thu phát đồng thời này, thời gian truyền tổng cộng giảm xuống chỉ cịn bằng 72 octet (hình 7.6b). Nếu chia thơng điệp thành 5 gói, các node trung gian có thể gửi gói đi sớm hơn nữa, và thời gian truyền tổng cộng chỉ cịn 63 octet nh- mơ tả trên hình 7.6c.
Song nếu ta chia thành quá nhiều gói, hiệu quả có khi lại ng-ợc lại, độ giữ chậm lại tăng lên do mỗi gói nhỏ cũng cần một tiếp đầu 3 octet. Thời gian truyền q nhiều tiếp đầu khơng chứa dữ liệu có ích gây nên hiện t-ợng trên. Trong ví
Ch-ơng 7: Lớp mạng 157 dụ hình 7.6d khi chia thơng điệp thành 10 gói, thời gian truyền tổng cộng là 72 octet, lớn hơn giá trị 63 octet của tr-ờng hợp 7.6c