1. Trang chủ
  2. » Luận Văn - Báo Cáo

Chọn đường và ứng dụng trong thiết kế mạng

138 1 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 138
Dung lượng 202,78 KB

Cấu trúc

  • 1.1. Các yếu tố của mạng máy tính (3)
    • 1.1.2. Kiến trúc mạng (4)
    • 1.1.3. Giao thức mạng (network protocol) (5)
  • 1.2. Phân loại mạng máy tính (6)
    • 1.2.1. Phân loại theo khoảng cách địa lý (6)
    • 1.2.2. Phân loại theo kĩ thuật chuyển mạch (6)
    • 1.2.3. Phân loại mạng theo cơ chế hoạt động (8)
    • 1.2.4. Phân loại mạng theo kiến trúc (9)
  • 1.3. Kiến trúc phân tầng - chuẩn hoá mạng - mô hình ISO. .7 1.KiÕn tróc ph©n tÇng (9)
    • 1.3.2. Chuẩn hoá mạng (10)
    • 1.3.3. Mô hình OSI (12)
    • 1.3.4. Truyền dữ liệu trong mô hình OSI (17)
  • 1.4. Kết nối các mạng máy tính (18)
    • 1.4.1. Các tiếp cận (18)
    • 1.4.2. Giao diện kết nối (19)
  • 2.1. Sự thúc đẩy cho việc ra đời của TCP/IP (21)
  • 2.2. Cấu trúc phân lớp của TCP/IP (22)
  • 2.3. Các giao thức lớp Internet (Internet Protocol - IP) (25)
    • 2.3.1. Internet Datagram (25)
    • 2.3.2. Giao thức ICMP (Internet Control Message Protocol) (35)
    • 2.3.3. Chọn đờng IP (36)
    • 2.3.4. Các giao thức khác trong lớp Internet (38)
  • 2.4. Các giao thức tầng giao vận (40)
    • 2.4.1. Giao thức bó dữ liệu ngời dùng-UDP (User Datagram Protocol) (40)
  • 2.5. Các ứng dụng cơ bản trên Internet (46)
    • 2.5.1. Th điện tử (46)
    • 2.5.3. Truyền tệp - FTP (File Transfer Protocol) (50)
    • 2.5.4. Truyền tệp -TFTP(Trival FTP) (51)
    • 2.5.5. DNS(Domain Name System) (51)
    • 2.5.6. Tra cứu theo thực đơn - GOPHER (53)
    • 2.5.7. Máy chủ thông tin diện rộng - WAIS (Wide Area (53)
    • 2.5.8. Tìm kiếm tệp - ARCHIE (Archieve) (53)
    • 2.5.9. Nhãm tin - USENET (54)
    • 2.5.10. WWW(World Wide Web) (54)
  • 3.1. Chọn đờng truyền gói (56)
    • 3.1.1. Mở đầu (56)
    • 3.1.2. Chức năng (56)
    • 3.1.3. Phân loại (58)
  • 3.2. Thuật toán chọn tuyến phân nhánh (60)
    • 3.2.1. Thuật toán phân nhánh (Bifurcated Routing) (60)
    • 3.2.2. Thuật toán Flooding (63)
  • 3.3. Các thuật toán đờng dẫn ngắn nhất (Shortest-path Routing) (64)
    • 3.3.1. Thuật toán A (Thuật toán Dijkstra) (64)
    • 3.3.2. Thuật toán B (Thuật toán Bellman - Furkerson) (68)
    • 3.3.3. Thuật toán B phân bố (Bellman - Ford hay Vector - Distance) (70)
  • CHƯƠNG IV các giao thức chọn đờng đợc sử dụng (75)
    • 4.1. Một số khái niệm cơ bản (76)
      • 4.1.1. Hệ thống tự trị (Autonomous System - AS) (76)
      • 4.1.2. Exterior Router và Interior Router (78)
    • 4.2. Giao thức chọn đờng EGP ( Exterior Gateway Protocol ) (78)
      • 4.2.1. EGP Message Header (79)
      • 4.2.2. Thông báo dành láng giềng EGP (EGP Neighbor (81)
      • 4.2.3. Thông báo khả năng có thể tới đợc Router láng giềng (EGP Neighbor Reachability Messages) (81)
      • 4.2.4. Các thông báo EGP poll request (83)
      • 4.2.5. Thông báo cập nhật chọn đờng (EGP Routing Update Message) (84)
      • 4.2.6. Measuring From The Receivers Perspective (86)
      • 4.2.7. Hạn chế của EGP (The Key Restrection of EGP ) (87)
      • 4.2.8. Những vấn đề kĩ thuật (Technical Problems ) (89)
      • 4.2.9. Sự phân quyền của kiến trúc Internet (Decentralization of Internet Architecture) (89)
      • 4.2.10. PhÝa sau AS (Beyond Autonomous system ) (90)
    • 4.3. Các giao thức IGPs (RIP, HELLO, OSPF) (91)
      • 4.3.1. Giới thiệu (91)
      • 4.3.2. Lựa chọn giữa chọn đờng tĩnh và chọn đờng động (91)
      • 4.3.3. Giao thức RIP (Routing Information Protocol) (94)
        • 4.3.3.1. Giải quyết vấn đề hội tụ chậm (Solving The Slow (98)
        • 4.3.3.2. Khuôn dạng thông báo RIP (RIP Message Fromat) (100)
        • 4.3.3.3. Các quy ớc địa chỉ RIP (RIP Addressing Conventions) (101)
        • 4.3.3.4. Truyền phát các thông báo RIP (Transmitting RIP Message) (102)
      • 4.3.4. Giao thức Hello (The Hello Protocol) (103)
      • 4.3.5. Liên kết RIP, HELLO, EGP (Commbining RIP, HELLO (105)
      • 4.3.6. Giao thức OSPF (Open Shortest Path First) (107)
        • 4.3.6.1. Khuôn dạng thông báo OSPF (OSPF Message Format) (109)
        • 4.3.6.2. Khuôn dạng thông báo Hello (110)
        • 4.3.6.3. Khuôn dạng các thông báo mô tả cơ sở dữ liệu (OSPF Database Description message Format) (111)
        • 4.3.6.4. Khuôn dạng thông báo tình trạng liên kết (OSPF (112)
        • 4.3.6.5. Khuôn dạng các thông báo cập nhật tình trạng liên kÕt (OSPF Link Status Update message Format) (113)
    • 5.1. Các giao thức (115)
      • 5.1.1. Giao thức PPP (Point-to-Point Protocol) (115)
      • 5.1.2. Giao thức HDLC (116)
      • 5.1.3. Giao thức Frame Relay (117)
    • 5.2. Thiết kế mạng cho Công ty tin học Gold star (118)
      • 5.2.1. Lựa chọn sản phẩm (119)
      • 5.2.2. Lựa chọn WIC và module cho Router tại các điểm kết nèi (120)
      • 5.2.3. Sơ đồ cho mạng WAN (122)
      • 5.2.4. Mô tả kỹ thuật và khả năng hoạt động (123)
      • 5.2.5. Bảng cấu hình chi tiết cho các Router (125)

Nội dung

Các yếu tố của mạng máy tính

Kiến trúc mạng

Kiến trúc mạng máy tính bao gồm cách ghép nối vật lý các máy tính với nhau và các quy tắc, quy ớc mà tất cả các thực thể tham gia trong hệ thống mạng phải tuân theo để đảm bảo cho mạng hoạt động tốt.Cách các máy tính đợc gép nối với nhau đợc goi là topology của mạng còn các quy tắc quy ớc truyền thông đợc gọi là giao thức (protocol) Topology và protocol là hai khái niệm cơ bản nhất của mạng máy tính. a) Topology:

Ngời ta phân biệt hai kiểu nối mạng vật lý cơ bản là kiểu điểm- điểm và kiểu quảng bá (broadcasting hay point- to- multipoint)

+ Kiểu điểm - điểm: Đờng truyền nối từng cặp nút với nhau.Tín hiệu đi từ nút nguồn đến nút trung gian rồi chuyển tiếp tới đích.

Dạng vòng Dạng bus Satellite hoặc radio

Hình 1-1 Các topo mạng cơ bản

Hình 1-2 Dạng topo đầy đủ

Hình 1-3 Các topo mạng cơ bản

Với kiểu quảng bá tất cả các nút chung một đờng truyền vật lý Dữ liệu đợc gửi đi từ một nút đợc tiếp nhận bởi các nút còn lại, và trong gói tin phải có vùng địa chỉ đích cho phép mỗi nút kiểm tra có phải tin của minh không

Cấu trúc dạng bus hay dạng vòng cần cơ chế trọng tài để giải quyết đụng độ (collision) khi nhiều nút muốn truyền tin đồng thời Trong cấu trúc dạng vệ tinh hoặc radio mỗi nút cần có anten thu và phát.

Giao thức mạng (network protocol)

Việc trao đổi thông tin giữa các nút với nhau cần phải tuân theo một số quy tắc, quy ớc nhất định nào đó Chẳng hạn, khi hai ngời nói chuyện với nhau thì cũng phải tuân theo quy tắc: Khi một ngời nói thì ngời kia phải nghe và ngợc

H×nh sao Chu trình Dạng c©y lại Việc truyền thông tin trên mạng cũng phải tuân theo các quy tắc quy ớc nhiều mặt nh: khuôn dạng dữ liệu gửi đi, các thủ tục gửi và nhận, kiểm soát dữ liệu, xử lí lỗi và xử lý sự cố.

… Chẳng hạn mạng lới giao thông công cộng càng phát triển thì số quy tắc đề ra càng phải nhiều, càng phải chặt chẽ và càng phức tạp hơn Tập hợp các quy tắc , quy ớc để đảm bảo trao đổi và xử lý thông tin trên mạng gọi là giao thức.Các mạng đợc thiết kế khác nhau có thể tuân theo một số giao thức khác nhau, tuy nhiên ngời ta đa ra một số giao thức chuẩn đợc dùng trên nhiều mạng khác nhau.

Phân loại mạng máy tính

Phân loại theo khoảng cách địa lý

Nếu lấy khoảng cách địa lý làm yếu tố chính để phân loại mạng thì mạng đợc phân thành: mạng cục bộ, mạng đô thị, mạng diện rộng, mạng toàn cầu

+Mạng cục bộ (Local Area Network - LAN) là mạng đợc cài đặt trong một phạm vi tơng đối nhỏ (trong một toà nhà, trong một phòng ban hoặc trong một công ty ) với đờng kính giới hạn trong khoảng vài chục Km.

+Mạng đô thị (Metropolitan Area Network - MAN) là mạng đợc cài đặt trong phạm vi một thành phố, một trung tâm kinh tế Phạm vi cài đặt mạng là hàng trăm Km.

+ Mạng diện rộng (Wide Area Network - WAN) là mạng có phạm vi hoạt động có thể là cả một vùng, một khu vực và có thể vợt qua biên giới một quốc gia…

+Mạng toàn cầu (Global Area Network - GAN) phạm vi của mạng trải rộng khắp lục địa của trái đất.

Phân loại theo kĩ thuật chuyển mạch

Nếu lấy kĩ thuật chuyển mạch so sánh thì có thể phân chia mạnh thành: Mạng chuyển mạch kênh, mạng chuyển mạch gói, mạng chuyển mạch thông báo. a) Mạng chuyển mạch kênh (Circuit - switched - Network):đây là mạng mà khi 2 thực thể muốn liên lạc với nhau thì chúng phải tạo và duy trì một kênh liên tục cho đến khi kết thúc quá trình thông tin.Phơng pháp chuyển mạch có hai nhợc điểm chính:

+ Hiệu suất sử dụng đờng truyền không cao

+ Mất nhiều thời gian cho việc thiết lập kênh cố định khi thông tin giữa 2 thực thể b) Mạng chuyển mạch thông báo (Message - switched -Network)

Trong mạng chuyển mạch thông báo việc chọn đờng đi cho các thông báo tới đích đợc thực hiện tại các nút mạng Các nút căn cứ vào địa chỉ đích của thông báo để ra quyết định chọn nút đến kế tiếp cho thông báo trên đờng dẫn tới đích Nh vậy các nút cần lu trữ tạm thời các thông báo, đọc thông báovà quản lý việc chuyển tiếp các thông báo đi Ph- ơng pháp chuyển mạch thông báo có những u điểm sau:

+ Hiệu suất sử dụng đờng truyền cao vì không có các kênh thông tin cố định

+ Mỗi nút mạng có thể lu trữ thông báo cho tới khi đờng truyền khả dụng mới truyền đi nên giảm đuực tình trạng tắc nghẽn trên mạng.

+ Có thể điều khiển truyền tin bằng cách sắp xếp mức độ u tiên cho các thông báo

+ Trong mạng chuyển mạch thông báo chúng ta có thể làm tăng hiệu suất sử dụng dải thông của mạng bằng cách gán địa chỉ quảng bá cho các thông báo để cho nó đến nhiều đích khác nhau

Nhợc điểm chủ yếu của chuyển mạch thông báo là trong trờng hợp một thông báo dài bị lỗi, phải truyền lại thông báo này nên hiệu suất không cao Phơng pháp này thích hợp với các mạng truyền th tín điện tử (Electronic mail) c ) Mạng chuyển mạch gói (Packet - switched - Network)

Trong mạng chuyển mạch gói thì một thông báo có thể đợc chia ra nhiều gói nhỏ hơn (packet), độ dài khoảng 256 bytes, có khuôn dạng tuỳ theo chuẩn quy định Các gói tin có chứa thông tin điều khiển địa chỉ nguồn, địa chỉ đích cho gói tin,số thứ tự gói tin, thông tin kiểm tra lỗi Do vậy các gói tin của cùng một thông báo có thể đợc gửi đi theo nhiều đờng khác nhau, tới đích tại các thời điểm khác nhau, nơi nhận sẽ căn cứ vào thông tin trong các gói tin và sắp xếp lại chúng theo đúng thứ tự Ưu điểm của chuyển mạch gói:

+ Mạng chuyển mạch gói có hiệu suất và hiệu quả cao hơn mạng chuyển mạch thông báo vì kích thớc các gói tin nhỏ hơn nên các nút mạng có thể xử lý toàn bộ gói tin mà không cần phải lu trữ trong đĩa

+ Mỗi đờng truyền chiếm thời gian rất ngắn, vì chúng có thể dùng bất cứ đờng có thể đợc để tới đích

+ Khả năng đồng bộ bít là rất cao.

+ Vì thời gian truyền tin ngắn nên nếu thời gian chuyển mạch lớn thì tốc độ truyền không cao

+ Việc tập hợp lại các gói tin ban đầu về nguyên tắc là thực hiện đợc nhng rất khó khăn, đặc biệt là khi các gói tin truyền đi theo nhiều đờng khác nhau.

+ Đối với các ứng dụng phụ thuộc thời gian thực thì việc các gói tin tới đích không theo thứ tự là một nhợc điểm quan trọng cần phải khắc phục.

Tuy vẫn còn những hạn chế nhng do có u điểm về tính mềm dẻo, hiệu suất cao nên các mạng chuyển mạch gói đang đợc dùng phổ biến hiện nay.

Phân loại mạng theo cơ chế hoạt động

Trong môi trờng mạng máy tính có 2 cơ chế hoạt động chính là: peer-to-peer và client/ server Môi trờng peer - to - peer không có máy chuyên phục vụ cho một công việc nào, còn trong môi trờng client/server thì phải có những máy đợc dành riêng để phục vụ mục đích khác nhau.

 Mạng dựa trên máy phục vụ:

Trong mạng có những máy chuyên dụng phục vụ cho các mục đích khác nhau Máy phục vụ chuyên dụng hoạt động nh một ngời phục vụ và không kiêm vai trò của trạm làm việc hay máy khách.

Các maý phục vụ chuyên dụng đợc tối u hoá để phục vụ nhanh những yêu cầu của khách hàng trên mạng

Các loại máy phục vụ chuyên dụng thờng thấy nh:

+ Máy phục vụ tập tin / in ấn (file/print sever)

+ Máy phục vụ chơng trình ứng dụng (application server)

+ Máy phục vụ th tín (mail server)

+ Máy phục vụ fax (fax server)

+ Máy phục vụ truyền thông (communication server) Một trong những u điểm quan trọng của mạng dựa trên máy phục vụ là có tính an toàn và bảo mật cao hơn Hầu hết các mạng trong thực tế (nhất là mạng lớn ) đều dựa trên máy phôc vô.

Không tồn tại một cấu trúc phân cấp nào trong mạng.Mọi máy tính đều “bình đẳng” Thông thờng, mỗi máy tính kiêm luôn cả hai vai trò máy khách và máy phục vụ, vì vậy không máy nào đợc chỉ định chịu trách nhiệm quản lý mạng Ngời dùng ở từng máy tự quyết định phần dữ liệu nào trên máy của họ sẽ đợc dùng chung trên mạng Thông thờng mạng ngang hàng thích hợp cho các mạng có quy mô nhỏ(chẳng hạn nh nhóm làm việc) và không yêu cầu phải có tính bảo mật.

Phân loại mạng theo kiến trúc

Ngời ta có thể phân loại mạng theo kiến trúc (topology và protocol) nh các mạng SNA, mạng ISO, mạng TCP/IP

Kiến trúc phân tầng - chuẩn hoá mạng - mô hình ISO .7 1.KiÕn tróc ph©n tÇng

Chuẩn hoá mạng

Tình trạng không tơng thích giữa các mạng, đặc biệt là các mạng bán trên thị trờng gây trở ngại cho những ngời sử dụng, tác động đến mức tiêu thụ các sản phẩm về mạng Do đó cần xây dựng các mô hình chuẩn làm căn cứ cho các nhà nghiên cứu và thiết kế mạng tạo ra các sản phẩm có tính chất mở về mạng, đa tới dễ phổ cập, sản xuất và sử dụng i/ ISO (international Standard Organization) thành lập dới sự bảo trợ của liên hiệp quốc, các thành viên là các cơ quan tiêu chuẩn của các quốc gia ISO đã xây dựng hơn 5000 chuẩn ở tất cả các lĩnh vực ISO đợc chia thành các uỷ ban kỹ thuật (Technical Committee -TC) TC97 đảm bảo chuẩn hoá lĩnh vực xử lý tin Mỗi TC lại chia thành nhiều tiểu ban (Sub Committee -SC) và mỗi SC lại chia thành nhiều nhóm làm việc khác nhau (Working Group) đảm nhiệm các nhiệm vụ chuyên sâu khác nhau

Các chuẩn do hội đồng ISO ban hành nh là các chuẩn quốc tế chính thức (International Standard -IS) ii/ CCITT (Committee Consult tatif International pour Telegraphe et Telephone) Tổ chức t vấn quốc tế về điện tín và điện thoại hoạt động dới sự bảo trợ của liên hiệp quốc, các thành viên chủ yếu là các cơ quan bu chính - viễn thông của các quốc gia và t nhân Phơng thức làm việc của CCITT cũng giống nh ISO nhng sản phẩm của nó không đợc gọi là chuẩn mà đợc gọi là các khuyến nghị (recommentdation). CCITT đã đa ra các khuyến nghị loại V liên quan đến truyền dữ liệu, các khuyến nghị loại X liên quan đến mạng truyền dữ liệu công cộng và các khuyến nghị loại I dành cho các mạng ISDN.

Ngoài ISO, CCITT trên thế giới còn có các tổ chức khác tham gia việc chuẩn hoá nh ECMA (european Computer Manufacture), ANSI (American National Standard institute),IEEE (institute Electrical and Electronic Engineers).

Transport Network Data Link Physical

Transport Network Data Link Physical

Hình 1-6 Mô hình OSI 7 tầng

Hinh 1-5 Các chuẩn cho kiến trúc phân tầng của CCITT và ISO

Mô hình OSI

Do các nhà thiết kế tự do lựa chọn kiến trúc mạng riêng của mình Từ đó dẫn đến tình trạng không tơng thích giữa các mạng về: Phơng pháp truy nhập đờng truyền khác nhau, họ giao thức khác nhau sự không tơng thích đó làm trở ngại cho quá trình tơng tác giữa ngời dùng ở các mạng khác nhau Nhu cầu trao đổi thông tin càng lớn thì trở ngại đó càng không thể chấp nhận đợc với ngời sử dụng Với lý do đó tổ chức chuẩn hoá quốc tế ISO đã thành lập một tiểu ban nhằm xây dựng một khung chuẩn về kiến trúc mạng để làm căn cứ cho các nhà thiết kế và chế tạo các sản phẩm mạng Kết quả là năm 1984 ISO đã đa ra mô hình tham chiếu cho việc kết nối các hệ thống mở (Reference Model for Open System Inter - connection) hay gọn hơn là OSI Reference model Mô hình này đợc dùng làm cơ sở để kết nối các hệ thống mở

ISO sử dụng phơng pháp phân tích các hệ thống mở theo kiến trúc phân tầng và đã công bố mô hình OSI cho việc kết nối các hệ thống mở gồm 7 tầng.

Các nguyên lý đợc áp dụng cho 7 tầng nh sau:

(1) Mỗi lớp cần thiết phải tạo ở mức độ khác nhau của khái niệm trừu tợng

(2) Mỗi lớp phải thực hiện một chức năng xác định rõ ràng

(3) chức năng của mỗi lớp phải đợc chọn theo quan điểm hớng tới các giao thức chuẩn quốc tế đã đợc định nghĩa

(4) Ranh giới giữa các lớp phải đợc chọn để tối thiểu luồng thông tin đi qua các giao diện

(5) Số các lớp phải đủ lớn để phân biệt các chức năng cần thiết nhng không đa vào cùng một lớp quá nhiều chức năng, và phải đủ nhỏ để kiến trúc không rắc rèi a) Chức năng các tầng trong mô hình OSI

1 Vật lý Cung cấp phơng tiện truyền tin, thủ tục, khởi động duy trì, huỷ bỏ các liên kết vật lý, cho phép truyền dữ liệu ở dạng bit Truy nhập đờng truyền vật lý nhờ các phơng tiện: Cơ, điện, hàm, thủ tục

Thiết lập, duy trì, huỷ bỏ các liên kết dữ liệu, kiểm soát luồng dữ liệu, phát hiện sai sót và khắc phục các sai sót truyền tin.

3 TÇng mạng Thực hiện việc chọn đờng và chuyển tiếp thông tin với công nghệ chuyển mạch thích hợp Thực hiện việc kiểm soát luồng dữ liệu và cắt hợp dữ liệu nếu cần.

Thực hiện việc truyền dữ liệu giữa hai đầu nút (end- to- end), kiểm soát lỗi và kiểm tra việc truyền dữ liệu giữa hai đầu nút Có thể thực hiện việc ghép kênh (Multiplxing), cắt hợp dữ liệu nếu cần.

5 TÇng phiên Thiết lập, duy trì và đông bộ hoá và huỷ bỏ các phiên truyền thông.

6 Tr×nh diễn Biểu diễn thông tin theo cú pháp ngời sử dụng để đảm bảo truyền dữ liệu của các ứng dụng qua môi trờng OSI.

7 ứng dụng Là giao diện giữa ngời sử dụng và môi trờng OSI, đồng thời cung cấp các dịch vụ thông tin phân Hình 1-7 Chức năng các tầng trong mô hình OSItán. b) Các giao thức chuẩn của mô hình OSI

Vấn đề đặt ra ở đây là hai hệ thống máy tính khác nhau có thể giao tiếp đợc với nhau hay không? Ta thấy rằng mô hình OSI có thể tạo ra giải pháp để cho phép hai hệ thống dù khác nhau thế nào đi nữa đều có thể truyền thông đợc với nhau nếu chúng đảm bảo những điều kiện sau đây:+ Chúng cài đặt cùng một tập các chức năng truyền thông

+ Các chức năng đó đợc tổ chức thành một tầng Các tầng đồng mức phải cung cấp các chức năng nh nhau ( Ph- ơng thức cung cấp không nhất thiết giống nhau )

+ Các tầng đồng mức phải sử dụng cùng một giao thức Để đảm bảo những điều trên cần phải có các chuẩn. Các chuẩn phải xác định các chức năng và dịch vụ đợc cung cấp bởi một tầng Các chuẩn cũng phải xác định các giao thức giữa các tầng đồng mức Mô hình OSI 7 tầng chính là cơ sở để xây dựng các chuẩn đó

Thực thể hoạt động trong các tầng của OSI

Theo quan niệm của OSI, trong mỗi tầng của một hệ thống có một hoặc nhiều thực thể (entity) hoạt động Một thực thể có thể là thực thể mềm (software entity), ví dụ nh một tiến trình trong hệ thống đa xử lý, hoặc là một thực thể cứng (hardware entity) ví dụ nh chíp I/O thông minh. Thực thể tầng 7 đợc gọi là thực thể ứng dụng (Application entity); thực thể tầng 6 đợc gọi là thực thể trình diễn v v

Một thực thể tầng N cài đặt dịch vụ cung cấp cho tầng N+1 Khi đó tầng N gọi là ngời cung cấp dịch vụ, còn tầng N+1 gọi là ngời dùng dịch vụ Tầng N dùng dịch vụ của tầng N-1 để cung cấp dịch vụ của nó Tầng N có thể đa ra vài lớp dịch vụ, chẳng hạn nh truyền thông nhanh mà đắt và truyền thông chậm mà rẻ Các dịch vụ là có sẵn tại các nút truy cập dịch vụ (SAP) Các SAP của tầng N tại các chỗ mà tại đó tầng N+1 có thể truy nhập dịch vụ đợc đa ra Mỗi SAP có một địa chỉ và tên duy nhất Mỗi thực thể truyền thông với thực tế của tầng trên và tầng dới nó qua một giao diện (interface) Giao diện này gồm một hoặc nhiều điểm truy cập dịch vụ (Service Acess Poent – SAP) (N-1) Entity cung cấp dịch vụ cho một (N) entity thông qua việc gọi các hàm nguyên thuỷ (primitive) Hàm nguyên thuỷ chỉ rõ chức năng cần thực hiện và đợc dùng để chuyển dữ liệu, thông tin điều khiển Có 4 hàm nguyên thuỷ đợc dùng để định

(N)PDU TÇng N+1 nghĩa tơng tác giữa các tầng liền kề nhau, sơ hoạt động đ- ợc mô tả nh hình sau:

Hình 1-8: Nguyên lý hoạt động của các hàm nguyên thuû

Request (yêu cầu ): là hàm nguyên thuỷ mà ngời sử dụng dịch vụ (Service user) dùng để gọi các chức năng.

Indication (chỉ báo): là hàm nguyên thuỷ mà ngời cung cấp dịch vụ (Service Provider ) dùng để:

+ Gọi báo một chức năng nào đó hoặc

+ Chỉ báo một chức năng đã đợc gọi ở một điểm truy cập dịch vụ (SAP) response (trả lời ): là hàm nguyên thuỷ mà Service user dùng để hoàn tất một chức năng đã đợc gọi từ trớc bởi một hàm nguyên thuỷ Indication ở SAP đó confirm (xác nhận) là hàm nguyên thuỷ của Service

Provider, dùng để hoàn tất một chức năng đã đợc gọi từ trớc bởi hàm nguyên thuỷ Request tại SAP đó

Theo sơ đồ này quy trình thực hiện một thao tác giữa hai hệ thống A và B đợc thực hiện nh sau:

+ Tầng (N+1) của A gửi xuống tầng (N) kề nó một hàmRequest

Hình 1-9 Quan hệ đơn vị dữ liệu giữa các tầng kề + Tầng (N) của A cấu tạo một đơn vị dữ liệu để gửinhau yêu cầu đó qua tầng (N) của B theo giao thức tầng N.

+ Nhận đợc thông báo yêu cầu đó, tầng (N) của B gửi một lên tầng (N+1) trên nó một hàm Indication

+ Tầng (N+1) của B gửi xuống tầng (N) kề dới nó một hàm Reponse (N) của A theo giao thức tầng (N) đã xác định

+ Tầng (N) của A gửi lên tầng (N+1) kề trên nó một hàm xác nhận (Confirm) kết thúc một giao tác giữa hai hệ thống. Các hàm nguyên thuỷ đều đợc gọi đến ( hoặc gửi đi ) từ một điểm truy nhập dịch vụ (SAP) ở ranh giới 2 tầng (N+1) và (N) Đơn vị dữ liệu sử dụng trong giao thức tầng (N) ký hiệu là PDU Giữa các tầng kề nhau các đơn vị dữ liệu có mối quan hệ nh sau: một thực thể ở tầng N không thể truyền trực tiếp đến một thực thể tầng N+1 của hệ thống khác, mà phải đi xuống tầng thấp nhất (tầng vật lý ) trong kiến trúc phân tầng nào đó Khi xuống tầng đến (N) thì một đơn vị dữ liệu của tầng (N+1) đợc xem nh một đơn vị dữ liệu (SDU) của tầng (N) Phần thông tin của tầng (N), gọi là (N) SDU quá dài thì đợc cắt thành nhiều đoạn, mỗi đoạn kết hợp với (N) PCI vào đầu để tạo thành nhiều (N) PDU Quá trình nh vậy đợc chuyển xuống cho đến tầng vật lý, ở đó dữ liệu đợc truyền qua đờng vật lý ở hệ thống nhận, quá trình diễn ra ngợc lại Qua mỗi tầng các PCI của các đơn vị dữ liệu sẽ đợc phân tích và cắt bỏ các header của các PDU trớc khi gửi lên tầng trên c) Phơng thức hoạt động: có liên kết và không có liên kết ở mỗi tầng mô hình trong tầng ISO, có hai phơng thức hoạt động chính đợc áp dụng đó là: phơng thức hoạt động có liên kết (connection-oriented) và không có liên kết (connectionless).

Truyền dữ liệu trong mô hình OSI

Tiến trình gửi gồm vài dữ liệu muốn gửi qua tiến trình nhận Dữ liệu đa xuống tầng ứng dụng, dữ liệu đó gắn

Giao thức lớp ứng dụng

Transport Network Data Link Physical

PH Bits Giao thức trình diễn thêm phần AH-Application Header vào phía trớc dữ liệu và kết quả đa xuống cho tầng trình diễn Tầng trình diễn có thể biến đổi mục dữ liệu này theo nhiều cách khác nhau, thêm phần header vào đầu và đi xuống tầng phiên Quá trình này đợc lặp đi lặp lại cho đến khi dữ liệu đi xuống tầng vật lý, ở đó chúng thực sự đợc truyền sang máy nhận ở máy nhận các phần header khác nhau đợc loại bỏ từng cái một khi các thông báo truyền lên theo các lớp cho đến khi lên tới tiến trình nhận Nh vậy, việc truyền dữ liệu thực hiện theo chiều dọc Khi tầng giao vận ở máy gửi nhận một thông báo từ tầng phiên, gán một Transport Header và gửi nó qua tầng giao vËn nhËn

Hình 1-10 Ví dụ quá trình truyền dữ liệu trong mô hìnhHình 1-10 biểu diễn một mẫu sử dụng mô hình OSI cóOSI thể truyền dữ liệu nh thế nào.

Kết nối các mạng máy tính

Các tiếp cận

Trong quá trình phát triển mạng máy tính, nhiều công ty, nhiều vùng, nhiều quốc gia đã xây dựng các hệ thống mạng khác nhau về chủng loại, kiến trúc, khoảng cách Nhu cầu trao đổi thông tin của xã hội ngày càng cao nên việc kết nối các mạng với nhau là vấn đề bức thiết Làm cho những ngời sử dụng trên các mạng khác nhau có thể trao đổi thông tin với nhau một cách dễ dàng, hiệu quả và an toàn mà không phải xây dựng lại hệ thống mạng đã có để kết nối các mạng với nhau, ngời ta xuất phát từ một trong hai quan ®iÓm sau:

(1) Xem mỗi nút của mạng con nh một hệ thống mở, hoặc

(2) Xem mỗi mạng con nh một hệ thống mở theo quan điểm (1) thì mỗi nút của mạng con có thể truyền thông trực tiếp với một nút mạng con bất kỳ nào khác Nh vậy, toàn bộ các nút của một mạng con cũng chính là nút của mạng lớn và phải tuân thủ theo một cấu trúc chung Theo quan điểm (2) thì hai nút bất kỳ thuộc hai mạng con khác nhau không thể truyền thông trực tiếp với nhau đợc mà phải thông qua một phần tử trung gian gọi là giao diện kết nối (Interconnection Iterface) đặt giữa hai mạng con đó Điều đó cho phép tạo ra một mạng lớn gồm các giao diện kết nối và các máy chủ (host) đợc nối với nhau bởi các mạng con.

Tơng ứng với hai quan điểm này có hai chiến lợc kết nối các mạng với nhau Theo quan điểm (1) ngời ta tìm cách xây dựng các chuẩn chung cho các mạng (nh các chuẩn của ISO, CCITT ) Theo quan điểm (2) ngời ta xây dựng các giao diện kết nối để tôn trọng tính độc lập giữa các mạng hiện có Việc xây dựng các chuẩn chung cho tất cả các mạng là một điều rất khó thực hiện, bởi vì hiện nay có hàng ngàn mạng đang tồn tại không thể loại bỏ đi để xây dựng mới vì quá tốn kém Từ đó ngời ta đã tạo ra hàng loạt các thiết bị giao diện cho phép kết nối các mạng với nhau.

Giao diện kết nối

Ngời ta có thể kết nối các mạng con với nhau nhờ các giao diện kết nối.

Chức năng của một giao diện tuỳ thuộc vào sự khác biệt về kiến trúc của các mạng con Sự khác biệt càng lớn thì chức năng của các giao diện càng phức tạp Các giao diện có thể nối đôi, nối ba, nối nhiều hơn tuỳ thuộc vào ngời thiết kế mạng Dựa vào chức năng của giao diện mà chúng có những tên gọi khác nhau nh: bridge, Router, gateway.

Gateway là tên chung của giao diện kết nối, nó đợc sử dụng trong trờng hợp chức năng của giao diện là phức tạp. Bridge đợc dùng trong trờng hợp đơn giản nhất, chẳng hạn nh kết nối giữa các mạng LAN cùng loại Còn Router hoạt động ở mức cao hơn bridge vì nó đảm nhận chức năng chọn đ- ờng cho các gói dữ liệu để đi đến đích

Chơng ii Giao thức TCP/IP

Trong chơng này chúnh ta sẽ xem xét về chồng giao thức TCP/IP Đây là giao thức đợc sử dụng rộng rãi nhất hiện nay trong kĩ thuật kết nối mạng máy tính Chúng ta sẽ tìm hiểu về kiến trúc phân tầng của TCP/IP cùng với chức năng chính của chúng Sau đó chúng ta sẽ tập trung xem xét kĩ về các giao thức chính trong lớp 3 (Internet Layer) và trong lớp

4 (Transport Layer) của mô hình phân cấp này.

Sự thúc đẩy cho việc ra đời của TCP/IP

Giao tiếp thông tin đã trở thành nhu cầu không thể thiếu trong tất cả mọi lĩnh vực hoạt động Mạng máy tính tính ra đời phần nào đã đáp ứng đợc nhu cầu đó Phạm vi lúc đầu của các mạng bị hạn chế trong một nhóm làm việc, một cơ quan, công ty trong một khu vực Tuy nhiên thực tế của của những nhu cầu cần trao đổi thông tin trong nhiều lĩnh vực khác nhau, về nhiều chủ đề khác nhau, giữa các tổ chức, các cơ quan là không có giới hạn Vì vậy nhu cầu cần kết nối các mạng khác nhau của các tổ chức khác nhau để trao đổi thông tin là thực sự cần thiết Nhng thật không may là hầu hết các mạng của các công ty, các cơ quan đều là các thực thể độc lập, đợc thiết lập để phục vụ nhu cầu trao đổi thông tin của bản thân các tổ chức đó Các mạng này có thể đợc xây dựng từ những kĩ thuật phần cứng khác nhau để phù hợp với những vấn đề giao tiếp thông tin của riêng họ Điều này chính là một cản trở cho việc xây dựng một mạng chung, bởi vì sẽ không có một kĩ thuật phần cứng riêng nào đủ đáp ứng cho việc xây dựng một mạng chung thoả mãn nhu cầu ngời sử dụng Ngời sử dụng cần một mạng tốc độ cao để nối các máy, nhng những mạng nh vậy không thể đợc mở rộng trên những khoảng cách lớn Nhu cầu về một kỹ thuật mới mà có thể kết nối đợc nhiều mạng vật lý có cấu trúc khác hẳn nhau là thật sự cần thiết Nhận thức đợc điều đó, trong quá trình phát triển mạng ARPANET của mình, tổ chức ARPA ( Advanced Research Projects Agency) đã tập trung nghiên cứu nhằm đa ra một kỹ thuật thoả mãn những yêu cầu trên Kỹ thuật ARPA bao gồm một thiết lập của các chuẩn mạng xác định rõ những chi tiết của việc làm thế nào để các máy tính có thể truyền thông với nhau cũng nh một sự thiết lập các quy ớc cho kết nối mạng, lu thông và chọn đ- ờng Kỹ thuật đó đợc phát triển đầy đủ và đợc đa ra với tên gọi chính xác là TCP/IP Iternet Protocol Suit và thờng đợc gọi tắt là TCP/IP Dùng TCT/IP ngời ta có thể kết nối đợc tất cả các mạng bên trong công ty của họ hoặc có thể kết nối giữa các mạng của các công ty, các tổ chức khác nhau, với nhau.

TCP/IP có một số đặc tính quan trọng sau:

 Là bộ giao thức chuẩn mở và sẵn có, vì: nó không thuộc sở hữu của bất cứ một tổ chức nào; các đặc tả thì sẵn có và rộng rãi Vì vậy bất kì ai cũng có thể xây dựng phần mềm truyền thông qua mạng máy tính dựa trên nó.

 TCP/IP độc lập với phần cứng mạng vật lý, điều này cho phép TCP/IP có thể đợc dùng để kết nối nhiều loại mạng có kiến trúc vật lý khác nhau nh: Ethernet, Tokenring, FDDI, X25, ATM

 TCP/IP dùng địa chỉ IP để định danh các host trên mạng tạo ra một mạng ảo thống nhất khi kết nối mạng.

 Các giao thức lớp cao đợc chuẩn hoá thích hợp và sẵn có với ngời dùng.

Cấu trúc phân lớp của TCP/IP

Nh ta đã nói ở phần trớc, TCP/IP cũng là mô hình mở để kết nối mạng Nó cũng đợc thiết kế theo mô hình kiến trúc phân tầng tơng tự nh trong mô hình tham chiếu OSI ta đã trình bày ở chơng trớc Bộ giao thức TCP/IP đợc thiết kế gồm bốn lớp đợc mô tả nh hình sau đây:

 Lớp ứng dụng (Application): Đây là lớp cao nhất trong cấu trúc phân lớp của TCP/IP Lơp này bao gồm tất cả các chuơng trình ứng dụng sử dụng các dịch vụ sẵn có thông qua một TCP/IP internet.Các chơng trình ứng dụng t-

Mô hình phân lớp Đối tợng đợc chuyển giữa các líp Message or

IP Datagrams Network-Specific Frames

Hình 2-1 Mô hình phân lớp của

TCP/IP ơng tác với một trong các giao thức của lớp Transport để truyền hoặc nhận dữ liệu Mỗi chơng trình ứng dụng lựa chọn một kiểu giao thức thích hợp cho công việc của nó Ch- ơng trình ứng dụng chuyển dữ liệu theo mẫu mà lớp

 Lớp vận chuyển (Transport): Nhiệm vụ trớc tiên của lớp Transport là cung cấp sự giao tiếp thông tin giữa các ch- ơng trình ứng dụng Mỗi sự giao tiếp đợc gọi là end-to-end. Lớp Transport cũng có thể điều chỉnh lu lợng luồng thông tin.

Nó cũng cung cấp một sự vận chuyển tin cậy, đảm bảo rằng dữ liệu đến mà không bị lỗi Để làm nh vậy, phần mềm giao thức hỗ trợ để bên nhận có thể gửi lại các thông báo xác nhận về việc thu dữ liệu và bên gửi có thể truyền lại các gói tin bị mất hoặc bị lỗi Phần mềm giao thức chia dòng dữ liệu ra thành những đơn vị dữ liệu nhỏ hơn (thờng đợc gọi là các Packets) và chuyển mỗi packet cùng với địa chỉ đích tới lớp tiếp theo để tiếp tục quá trình truyền dẫn.

Mặc dù hình 2-1 dùng một khối để biểu diễn cho lớp ứng dụng, nhng nói chung máy tính có thể có nhiều chơng trình ứng dụng truy nhập vào internet tại cùng một thời điểm Lớp Transport phải chấp nhận dữ liệu từ một số chơng trình ứng dụng và gửi nó tới lớp tiếp theo thấp hơn Để làm nh vậy nó thêm vào thông tin bổ sung cho mỗi packet, gồm cả các mã định danh chơng trình ứng dụng đã gửi nó và ch- ơng trình ứng dụng sẽ nhận nó, cũng nh một tổng kiểm tra. Máy nhận sử dụng tổng kiểm tra để thẩm tra gói tin đã đến, và sử dụng mã đích để định danh chơng trình ứng dụng nó đợc chuyển phát đến.

 Internet layer: Nh chúng ta vừa thấy, lớp Internet xử lý giao tiếp thông tin từ một máy này tới một máy khác Nó chấp nhận một yêu cầu để gửi một gói từ từ lớp Transport cùng với một định danh của máy đích mà gói tin sẽ đợc gửi tới Nó sẽ bọc gói tin trong một IP Datagram, điền đầy vào trong phần header, sử dụng giải thuật chọn đờng để quyết định là giao phát gói tin trực tiếp hay là gửi nó tới một Router, và chuyển datagram tới giao diện phối ghép mạng thích hợp cho việc truyền dẫn Lớp Internet cũng xử lý các Datagram đến, kiểm tra tính hợp lệ của chúng, và sử dụng giải thuật chọn đờng đẻ quyết định là datagram sẽ đợc xử lý cục bộ hay là sẽ đợc chuyển đi tiếp Đối với các datagrams có địa chỉ đích cục bộ, thì phần mềm lớp internet sẽ xoá phần header của các datagram đó, và chọn trong số các

Network Interface Physcal net 1 Physcal net 2

Identical frame Identical frame giao thức lớp Transport một giao thức thích hợp để xử lý packet Trong lớp Internet còn gửi các ICMP (Information Control Message Protocol)và các messages điều khiển khi cần thiết và xử lý tất cả mọi ICMP Messages tới.

 Network Interface Layer: lớp thấp nhất của mô hình phân lớp TCP/IP, chịu trách nhiệm về việc chấp nhận các IP datagrams và việc truyền phát chúng trên một mạng xác định Một giao diện phối ghép mạng có thể gồm một bộ đièu khiển thiết bị (ví dụ nh khi mạng là mạng cục bộ mà máy đợc gắn nối trực tiếp tới) hoặc là một hệ thống con phức táp sử dụng giao thức Data Link của bản thân nó (ví dụ khi mạng bao gồm các chuyển mạch gói giao tiếp với các host bằng giao thức HDLC). Để hình dung sự hoạt động trong môi trờng phân lớp của TCP/IP ta hãy xét hình vẽ minh hoạ sau:

Nh hình 2-2 minh họa, việc giao phát message sử dụng hai mạng riêng biệt, một mạng cho việc truyền dẫn từ host A tới Router R, và mạng kia truyền dẫn từ Router R tới Host B.

Trong phần tiếp theo ta sẽ sâu tìm hiểu về lớp Internet và lớp Transport, là hai lớp quan trong nhất trong mô hình phân lớp TCP/IP, các giao thức đợc sử dụng trong hai lớp đó

Host A Host B là: giao thức TCP, UDP cho lớp Transport và giao thức IP, ICMP cho líp Internet.

Các giao thức lớp Internet (Internet Protocol - IP)

Internet Datagram

Có rất nhiều sự tơng tự giữa một mạng vật lý và một TCP/IP internet Trên một mạng vật lý, đơn vị truyền là frame cái chứa một header và dữ liệu, phần header mang nhiều thông tin nh địa chỉ nguồn, đích Internet gọi những đơn vị truyền cơ sở của nó là Internet datagram (IP datagram) hay đơn giản là datagram.

Nh một khung mạng vật lý, một datagram đợc chia thành vùng header và vùng dữ liệu Phần header cũng tơong tự frame, nó chứa địa chỉ nguồn, địa chỉ đích và một trờng type dùng định danh nội dung của dtagram Sự khác nhau là header của datagram chứa địa chỉ IP còn header của frame chứa địa chỉ vật lý Hình sau mô tả dạng tổng quát của một datagram.

Datagram Header Datagram Data a) Khuôn dạng Datagram:

VERS HLEN Kiểu dịch vụ Tổng độ dài

TIME TO LIVE PROTOCOL HEADER CHECKSUM

IP OPTION (IF ANY) PADDING DATA

Bởi vì qúa trình xử lý datagram là do phần mềm nên nội dung và khuôn dạng không bị phụ thuộc bởi phần cứng.

Ví dụ bốn bit trờng đầu tiên (VERS) chứa VERSION của giao thức IP đợc sử dụng để tạo datagram Trờng này đợc sử dụng để thẩm tra rằng bên gửi bên nhận và bất kỳ Router nào trong số giữa chúng đồng ý về khuôn dạng của datagram. Tất cả mọi phần mềm IP đợc yêu cầu để kiểm tra trờng VERSION trớc khi xử lý một datagram để đảm bảo nó phù hợp với khuôn dạng mà các phần mềm trông đợi Nếu chuẩn thay đổi, các máy sẽ loại bỏ các datagram cùng với các VERSION giao thức khác với phiên bản của chúng, ngăn cản chúng hiểu sai nội dung datagram theo các fomat quá cũ Trờng độ dài header (HLEN) cũng có bốn bits, đa ra gia strị độ dài header của datagram đợc biểu diễn bởi từ 32 bits Chúng ta se thấy tất cả các trờng trong header có một độ dài cố định trừ tr- ờng IP OPTION và cacs trờng PADDING tơng ứng Header thông thờng nhất không chứa các lựa chọn (option) và padding.

Trờng TOTAL LENGTH đa ra độ dài của IP datagram đ- ợc đo bởi octets, gồm cả các octets của phần header và dữ liệu Kích thớc của vùng dữ liệu có thể tính toán bằng việc trừ đi chiều dài của header (HLEN) từ giá trị của TOTAL LENGTH Bởi vì trờng TOTAL LENGTH là 16 bits nên giá trị tối đa của gói tin IP là IP là 2 16 hay 65535 octets Trong hầu hết các ứng dụng, điều này không phải là một hạn chế nghiêm trọng Nó có thể trở nên quan trọng hơn trong tơng lai nếu các mạng có tốc độ cao hơn có thể mang các gói dữ liệu lớn hơn so với 65535 octets b) Kiểu datagram của dịch vụ và quyền u tiên trớc datagram

Kiểu dịch vụ TOS (Type of service) đợc gọi một cách không chính thức là trờng service type 8bits xác định làm thế nào datagram sẽ đợc xử lý và đợc phân ra 5 trờng nhỏ hơn (subfield) nh hình sau:

Ba bits PRECEDENCE xác định quyền đi trớc của datagram với giá trị từ 0-7, cho phép ngời gửi chỉ rõ mức độ quan trọng của mỗi datagram Mặc dù hầu hết các hosts và phần mềm Router bỏ qua kiểu dịch vụ nhng nó là một khái niệm quan trọng bởi vì nó cung cấp một phơng tiện có thể cho phép thông tin điều khiển có quyền u tiên trên dữ liệu.

Ví dụ nếu tất cả các host và các Router tôn trọng quyền đi trớc thì nó có thể thi hành các giải thuật điều khiển tắc nghẽn Các bits D,T và R xác định kiểu vận chuyển datagram yêu cầu Khi thiết lập bit D yêu cầu độ trễ thấp, bit T yêu cầu độ thông cao, và bit R nyêu cầu độ tin cậy cao Dĩ nhiên nó có lẽ không thể cho một internet để đảm bảo kiểu vận chuyển đợc yêu cầu (chẳng hạn nó có thể là không có con đờng tới đích có quyền đợc yêu cầu Vì vậy chúng ta nghĩ về yêu cầu vận chuyển nh một gợi ý cho các giải thuật chọn đờng, không phải nh một nhu cầu Nếu một Router không biết nhiều hơn một khả dụng tới một đích cho trớc thì nó có thể sử dụng trờng type of transport để lựa chọn một kiểu với các đặc điểm gần vơí những mong muốn đó nhất Ví dụ, giảt sử một Router có thể chọn giữa một đờng leased line dung lợng thấp hoặc một kết nối vệ tinh băng thông cao (nh- ng trễ cao) Các datagram từ một ngời dùng tới một máy ở xa có bit D thiết lập đòi hỏi rằng chúng chúng phải đợc giao phát càng nhanh cành tốt, trong khi các datagrams mang một file khối lợng lớn hơn có thể thiết lập yêu cầu rằng chúng đi qua con đờng vệ tinh dung lợng cao

Nó cũng rất quan trọng để nhận ra rằng các giải thuật chọn đờng phải chọn từ giữa các kỹ thuật mạng vật lý bên dới, vì mỗi kỹ thuật có những đặc tính trễ, độ thông, và độ tin cậy riêng Thờng một kỹ thuật cho trớc bao giờ cũng có hai mặt (ví dụ: tốc độ thông cao thì trễ lớn) Vì vậy lý tởng để đa ra cho giải thuật chọn đờng là một gợi ý về những gì quan trọng nhất, nó hiếm khi có nghĩa xác định cả 3 kiểu dịch vụ

Chúng ta quan tâm đặc tả kiểu giao vận nh là một gợi ý cho giải thuật chọn đờng, cái giúp nó lựa chọn giữa nhiều con đờng khác nhau để tới một đích dựa trên hiểu biết sủa nó về kỹ thuật phần cứng, sẵn có trên con đờng đó Một internet không đảm bảo kiểu vận chuyển đã yêu cầu c) Đóng gói các datagram.

Trớc khi chúng ta có thể hiểu các trờng hợp tiếp theo trong một datagram, sẽ là rất quan trọng để quyết dịnh làm thế nào các datagram liên quan tới các khung mạng vật lý. Chúng ta bắt đầu với câu hỏi: “ Datagram có thể lớn hơn mức nào “ Không giống nh các frames mạng vật lý, cái có thể phải đợc nhận ra bởi phần cứng, các datagrams đợc xử lý bằng phần mềm Chúng có thể có bất kỳ chiều dài nào mà ngời thiết kế giao thức chọn Chúng ta đã thấy rằng khuôn dạng datagram hiện hiện chỉ phân 16bits cho trờng chiều dài tổng cộng nên giới hạn lớn nhất của chiều dài datagram là 65535octets Dù sao, giới hạn đó có thể đợc thay đổi ở version của giao thức sau này

Những giới hạn cơ bản hơn về kích thớc datagram nảy sinh từ thực tế Chúng ta biết rằng, khi các datagram chuyển từ máy này tới máy khác, chúng phải luôn đợc vận chuyển bằng mạng vật lý bên dới Để thực hiện việc vận chuyển trong internet một cách hiệu quả, chúng ta phải bảo đảm rằng mỗi datagram qua mạng trong một frame vật lý phân biệt Đó là chúng ta muốn cái nhìn trừu tợng về một packet mạng vật lý của chúng ta ánh xạ trực tiếp ra một packet thực nếu có thể.

FRAME Header FRAME DATA AREA Hình 2-2 Bọc gói tin trong IP một frame Mạng vật lý coi toàn bộ datagram gồm cả header nh là dữ liệu. ý tởng về việc mang một datagram trong một frame mạng đ- ợc gọi là “encapsulation” Đối với mạng bên dới, một datagram giống nh bất kỳ messages nào khác đợc gửi từ một máy tới

Net 3 MTU00 máy khác Phần cứng không nhận ra đợc khuôn dạng datagram, cũng không hiểu đợc địa chỉ IP đích Vì vậy, hình sau mô tả khi một máy gửi một IP datagram tới một máy khác, toàn bộ datagram đợc đặt vào phần dữ liệu của frame mạng. d) Kích thớc datagram, network MTU và sự phân mảnh.

Trong trờng hợp lý tởng, toàn bộ IP datagram vừa khít trong một khung vật lý, việc thực hiện truyền dẫn qua mạng vật lý là hiệu quả Để có đợc những hiệu quả nh vậy, những nhà thiết kế IP có thể đã lựa chọn một kích thớc datagram tối đa để một datagram sẽ luôn vừa trong một frame Nhng kích thớc nào của frame sẽ đợc lựa chọn? Cuối cùng, một datagram có thể đi qua nhiều kiểu mạng vật lý khi nó chuyển qua một internet tới đích cuối cùng của nó. Để hiểu đợc vấn đề, chúng ta cần yếu tố về phần cứng mạng: Mỗi kỹ thuật chuyển mạch gói đặt một giới hạn cố định trên một số lợng dữ liệu có thể đợc truyền trên một khung vật lý Ví dụ Ethernet giới hạn việc truyền tối đa là

1500 octets dữ liệu, trong khi FDDI cho phép tới gần 4470 octets dữ liệu / 1 frame Chúng ta gọi những giới hạn này làMTU của mạng (Maximum Transfer Unit) Kích cỡ MTU có thể hơi nhỏ: một số kỹ thuật phần cứng giới hạn truyền 128 octets hoặc ít hơn Việc giới hạn các datagram để làm vừa vặn MTU nhỏ nhất trong Internet làm cho việc truyền có hiêụ quả khi những datagram đó chuyển qua một mạng, cái có thể mang các frame cỡ lớn hơn Dù sao thì việc cho phép các datagram lớn hơn so với MTU mạng nhỏ nhất trong một internet có nghĩa là một datagram có thể không phải lúc nào cũng vừa vặn trong một frame mạng.

Hình 2-3 Router R1 phân mảnh các datagrams lớn đợc gửi từ A tới

B R2 phân mảnh các datagrams từ B tới A

Giao thức ICMP (Internet Control Message Protocol)

Trong hệ thống không liên kết chúng ta đã vừa mô tả tr- ớc Mỗi Router hoạt động một cách tự động, chọn đờng và giao phát các datagram mà không cần phối hợp với ngời gửi.

Hệ thống làm việc tốt nếu tất cả các máy làm việc tốt và phù hợp với các tuyến đờng Không may là không có hệ thống nào làm việc tốt tại mọi lúc Bên cạnh những hỏng hóc về đờng dây thông tin và các bộ xử lý thì IP còn bị h hỏng khi máy đích không kết nối tạm thời hoặc thờng xuyên tới mạng Khi TTL (time to live) hết thời hạn, hoặc khi các Router trung gian trở lên quá tắc nghẽn không thể xử lý đợc luồng thông tin đến Khác biệt quan trọng giữa việc có một mạng hoạt động với phần cứng riêng và một internet hoạt động với phần mềm là mạng có phần cứng riêng đó nhà thiết kế có thể bổ sung phần cứng đặc biệt để báo tin cho các host đợc gắn nối khi có vấn đề nảy sinh Trong một internet, không có những ph- ơng tiện phần cứng nh vậy, ngời gửi không thể nói là giao phát bị lỗi là do đâu Việc gỡ lỗi trở lên cực kỳ khó khăn Giao thức IP bản thân nó không chứa bất cứ thứ gì giúp ngời gửi kiểm tra khả năng kết nối hoặc là nhận biết các lỗi nh vậy. Để cho phép các Router trong một internet báo các lỗi hoặc cung cấp thông tin về tình huống không mong muốn ấy, các nhà thiết kế đã bổ sung một phơng tiện thông báo mục đích đặt biệt cho giao thức TCP/IP Phơng tiện đó là ICMP đợc xem là một phần của IP buộc phải có cho việc hoạt động.

Giống nh tất cả lu thông khác, các thông báo ICMP đi qua Internet trong phần dữ liệu của IP datagram Đích cuối cùng của một thông báo ICMP không phải là chơng trình ứng dụng hoặc ngời dùng trên máy đích mà là phần mềm IP trên máy đó Dĩ nhiên, nếu ICMP nhận thấy một giao thức hoặc chơng trình ứng dụng mức cao đã gây ra một lỗi thì nó sẽ báo tin cho Module thích hợp Nh vậy: ICMP cho phép các

Router gửi thông báo lỗi hoặc thông báo điều khiển tới các Router hoặc host khác; ICMP cung cấp thông tin giữa phần mềm IP trên 1 máy với một phần mềm IP trên một máy khác.

Ban đầu nó đợc thiết kế đề cho phép các Router báo cáo nguyên nhân của các lỗi giao phát tới các host ICMP không bị hạn chế với các Router Mặc dù về nguyên tắc là giới hạn sử dụng một số thông báo ICMP, nhng 1 máy tuỳ ý có thể gửi 1 ICMP tới bất kỳ một máy nào khác Vì vậy, 1 host có thể sử dụng ICMP tơng ứng cùng với một Router hoặc một host khác. Thuận lợi chính của việc cho phép các host sử dụng ICMP là cung cấp 1 phơng tiện đơn đợc dùng cho tất cả các message thông tin điều khiển.

Các gói ICMP yêu cầu 2 mức bọc nh hình vẽ sau:

Chọn đờng IP

Trong một hệ thống chuyển mạch gói, việc chọn đờng đợc xem nh là một quá trình chọn một con đờng để gửi gói tin, và Router đợc xem nh một máy tính thực hiên những lựa chọn nh vậy Việc chọn đờng xảy ra ở một số mức, ví dụ nh trong mạng WAN (mạng có nhiều kết nối vật lí giữa các chuyển mạch gói), bản thân mạng phải chịu trách nhiệm quyết định về việc chọn đờng cho các gói tin từ lúc nó đến cho tới lúc nó rời đi Những chọn đờng bên trong mạng nội bộ nh vậy hoàn toàn tự chứa bên trong mạng WAN Máy ở bên ngoài không thể tham gia vào những quyết định chọn đ- ờng, chúng đơn thuần chỉ xem mạng nh một thực thể cần giao phát các gói tin.

Phải nhớ rằng u điểm của IP là cung cấp một mạng ảo bao gồm nhiều địa chỉ mạng vật lí và đa ra một dịch vụ giao phát các khung dữ liệu dạng không kết nối Tơng tự việc chọn đờng trong mạng vật lý, chọn đờng IP là chọn một con đờng để gửi các gói tin qua con đờng đó Thuật toán chọn đờng IP là phải chọn sao cho có thể gửi Datagram qua các mạng vật lý.

Việc chọn đờng trong một mạng internet có thể rất khó đặc biệt là giữa các máy tính có nhiều kết nối vật lý tới nhiều mạng Một cách lí tởng, phần mềm chọn đờng sẽ xem xét việc đó nh tải mạng, chiều dài datagram hoặc kiểu dịch vụ đợc định rõ trong phần Header của các datagram khi lựa chọn con đờng tốt nhất Hầu hết các phần mềm chọn đờng internet thì không quá phức tạp. Để hiểu chọn đờng IP một cách hoàn toàn, chúng ta phải trở lại xem xét kiến trúc internet với TCP/IP Trớc tiên ta nhớ rằng mạng internet đợc tạo ra trên nhiều mạng vật lý đợc kết nối bởi các thiết bị gọi là Router Mỗi Router có kết nối trực tiếp tới hai hoặc nhiều hơn các mạng vật lí Trong khi đó một Host thờng kết nối trực tiếp tới một mạng vật lý Dĩ nhiên là có thể có một Host đợc kết nối trực tiếp với nhiều mạng, khi đó nó đợc gọi là multi- homed Host.

Cả Hosts và ROUTERs đều tham gia vào việc chọn đ- ờng cho một IP datagram tới đợc đích của nó Khi một chơng trình ứng dụng trên một Host cố gắng giao tiếp, các giao thức TCP/IP thậm chí phát một hoặc nhiều IP datagram Host phải thực hiện quyết định chọn đờng khi nó lựa chọn nơi gửi các datagrams.Dĩ nhiên các Router cũng thực hiện quyết định chọn đờng ( đó là mục đích trớc tiên của chúng, và là lý do để gọi chúng là ROUTER).

Thế còn các multi - hosted home? Bất kỳ computer nào với nhiều kết nối mạng có thể hoạt động nh một ROUTER, và nh chúng ta sẽ thấy multi -host chạy ICP/IP có một phần mềm cần cho chọn đờng Dù sao chuẩn TCP/IP cũng chỉ ra sự riêng biệt rõ ràng giữa chức năng của Host và ROUTER Bây giờ chúng ta sẽ phân biệt các Hosts với các ROUTERs và giả sử các

Hosts không làm các chức năng của Router chuyển gói từ mạng này tới mạng khác.

Trên đây là những vấn đề chung nhất về chọn đờng

IP, những vấn đề chi tiết hơn về chọn đờng trong mạng máy tính nói chung và mạng TCP/IP nói riêng sẽ đợc chúng ta dành hẳn một chơng để thảo luận sau.

Các giao thức khác trong lớp Internet

IP đề ra khái niệm địa chỉ mạng Logic độc lập với địa chỉ mạng cơ sở IP dùng một giao thức gọi là giao thức phân giải địa chỉ -ARP (Address Resolution Protocol) để thiết lập giữa các địa chỉ Logic (còn gọi là địa chỉ IP) với địa chỉ của các nút Gói dữ liệu IP có thể phân đoạn thành nhiều phần nhỏ để phù hợp với đơn vị truyền cực đại - MTU

(Maximum Transmission Unit) của mạng cơ sở Địa chỉ IP đợc biểu diến bằng số 32 bit, đợc tách thành bốn vùng có thể đợc biểu diễn dới dạng thập phân, bát phân, thập lục phân hoặc nhị phân có dấu chấm để tách các vùng Ngời ta chia địa chỉ IP thành 5 lớp dùng các bit đầu tiên để định danh lớp nh hình sau:

Sở dĩ phải dùng các kiếu địa chỉ khác nhau là để đánh địa chỉ cần thiết cho những mạng có kích thớc khác nhau Bảng sau sẽ trình bày số lợng mạng và số node ứng với mỗi lớp địa chỉ:

Lớp địa chỉ Số lợng mạng Số lợng nút

Trong nhiều trờng hợp, một mạng có thể đợc phân chia thành nhiều mạng con (subnet), lúc đó có thể đa thêm các vùng SubnetID để định danh thêm các mạng con Việc phân chia mạng con là một cách cho phép chia một mạng thành nhiều mạng nhỏ sử dụng cùng một số hiệu mạng mà phần còn lại của mạng đợc kết nối không biết những thay đổi bên trong mạng Mặt nạ mạng con chia vùng Hostid thành địa chỉ mạng con và địa chỉ máy chủ Mặt nạ mạng con là một số

32 bit, mà giá trị của nó tuân theo luật sau:

+ Giá trị 1 trong mặt nạ con tơng ứng với vị trí của Netid và số mạng con trong địa chỉ IP.

+ Giá trị 0 trong mặt nạ con tơng ứng với số máy chủ trong địa chỉ IP. b)Phân giải địa chỉ ARP(Address Resolution Protocol) Để truyền thông điệp tới một máy chủ trên mạng, nơi gửi phải biết địa chỉ phần cứng của máy chủ đích Địa chỉ phần cứng, còn gọi là địa chỉ MAC (Media Access Control). Địa chỉ IP không phải là đia chỉ vật lý, nó chỉ chứa địa chỉ nhận dạng máy chủ (Host) và mạng (Net) là địa chỉ 32 bit, trong khi đó địa chỉ MAC là 48 bit Vì thế có một cơ chế linh động để xác định địa chỉ MAC khi biết địa chỉ

IP của máy chủ, cơ chế này đợc thực hiện nh một giao thức riêng đợc gọi là ARP.

Phần lớn các trạm mạng TCP đều duy trì một bảng chuyển từ địa chỉ LAN vật lý sang địa chỉ IP Thực tế nó chỉ là một vùng RAM chứa tham chiếu (mapping) từ địa chỉ MAC sang địa chỉ IP mà nó học đợc trên mạng Quá trình học này nh sau:Một trạm (Host A) gửi một khung truyền dới dạng Broadcast gọi là khung yêu cầu ARP trên mạng, khung này chứa địa IP của Host B (nơi cần xác định địa chỉ) và địa chỉ MAC, địa chỉ IP của máy gửi (Host A) Tất cả các nút nhận đợc khung truyền này sẽ so sánh địa chỉ của nó với địa chỉ IP trong yêu cầu ARP Chỉ có máy chủ có cùng địa chỉ IP với địa chỉ trong khung yêu cầu ARP mới đáp lại Nếu Host B tồn tại trên mạng, nó sẽ phản ứng lại địa chỉ IP mã hoá trong một khung trả lời ARP Host B khởi động bảng chứa ARP và nhớ lại địa chỉ này, các giá trị chứa trong bảng này sẽ hết hiệu lực sau một khoảng thời gian nào đó (thời gian này có thể đợc cấu hình trong một số ứng dụng TCP/IP).

Mét sè chó ý vÒ ARP:

 ARP không phải là một phần của giao thức IP nên nó không chứa phần Header của IP

 Các yêu cầu và trả lời của ARP đều là các địa chỉ vật

 lý.Trong vùng Ethertypes ARP đợc gán 0806h

 ARP có khả năng xoá bỏ các địa chỉ đã lâu không dùng.

 Nếu một máy gửi yêu cầu cho chính nó, nó phải tự trả lêi. c)Thủ tục phân giải ngợc (RARP- Reverse Address Resolution)

Giao thức này đợc dùng trong trờng hợp khi một trạm trên mạng chỉ biết địa chỉ phần cứng (MAC) mà không biết địa chỉ IP và có thể đợc sử dụng trong các trạm làm việc không đĩa (ví dụ nh Sun Microsystem).

Tơng tự nh ARP, máy yêu cầu sẽ gửi một gói RARP yêu cầu tới máy chủ (Server) tại một vị trí nào đó mà dịch vụ RARP chạy trên đó Máy RARP server sẽ trả lời bằng địa chỉ

IP một trạm nào đó.

Các giao thức tầng giao vận

Giao thức bó dữ liệu ngời dùng-UDP (User Datagram Protocol)

UDP là một dịch vụ không kết nối không tin cậy, nghĩa là nó có thể truyền dữ liệu mà không đòi hỏi thiết lập một mạch dữ liệu, nó cũng không có cơ chế báo nhận, không sắp xếp thứ tự các gói gửi tới Do vậy nó có thể làm mất hoặc trùng lặp dữ liệu mà không báo lỗi nào cho bên gửi (tơng tự nh IP).

Mỗi đơn vị UDP đợc cung cấp địa chỉ IP nguồn và đích cùng với số cổng nhận dạng các tiến trình mức ứng dụng liên quan đến việc trao đổi dữ liệu (tơng tự dịch vụ bu chính) Phần header của UDP rất đơn giản và sẽ có dạng nh sau:

UDP có phần header nhỏ hơn TCP, độ tin cậy nhỏ hơnDATA

TCP do nó chỉ có một Checksum để kiểm tra dữ liệu, các chức năng cũng ít phức tạp hơn do đó nó hoạt động nhanh và linh hoạt hơn TCP Vì thế nó rất thích hợp cho các ứng dụng đợc truyền có tính chất quảng bá hay những ứng dụng trong các mạng có độ tin cậy cao nh mạng LAN.

UDP thờng đợc dùng cho các ứng dụng không đòi hỏi độ tin cậy cao nh NFS, DNS, SNMP, TFTP UDP cũng đợc sử dụng trong IP Tunneling dùng để truyền dữ liệu ứng dụng phi

TCP/IP trên một mạng TCP/IP Trong thực tế khi đi qua các mạng, 99% các bản tin UDP đợc giao nhận.

2.4.2.Giao thức điều khiển truyền dữ liệu - TCP

TCP là giao thức kết nối kiểu có liên kết và đáng tin cậy cho phép các máy chủ hoạt động song công Nghĩa là phải cung cấp một kết nối logic (tơng tự các mạch điện thoại) giữa hai thực thể trớc khi trao đổi dữ liệu với nhau, khi mạch ảo này đợc thiết lập thì dữ liệu có thể đợc truyền một cách đồng thời Kết nối đợc đợc duy trì trong thời gian truyền dữ liệu TCP dùng cơ chế báo nhận và các số tuần tự để duy trì phiên truyền dữ liệu Số tuần tự để xác định thứ tự của gói dữ liệu nhằm nhận ra gói bị thất lạc hay trùng lặp TCP là giao thức tuần tự hớng byte, nghĩa là TCP truyền gói dữ liệu

(nhiều byte) và gán cho mỗi gói một số tuần tự.

TCP cung cấp cơ chế gán và quản lý các số hiệu cổng

(port number) để định danh duy nhất cho các ứng dụng chạy trên một trạm của mạng Một cổng kết hợp với một địa chỉ IP tạo thành một Socket duy nhất trong liên mạng, các liên kết ảo chính là liên kết giữa các Socket. a.Header của TCP có dạng:

TCP data Các tham số có ý nghĩa nh sau:

 Source Port (16 bits): Số hiệu cổng trạm nguồn.

 Destination Port (16 bits): Số hiệu cổng trạm đích.

 Sequence Number (32 bits): Số hiệu byte đầu tiên của segment trừ khi bit SYN đợc thiết lập Nếu bit SYN đợc thiết lập thì Sequence Number là số hiệu tuần tự khởi đầu (ISN) và byte dữ liệu đầu tiên là ISN+1.

 Acknowledgement Number (32 bits): Số hiệu của segment tiếp theo mà trạm nguồn đang chờ để nhận và chỉ ra rằng đã nhận tốt các segment mà trạm nguồn đã gửi Mồi khi kết nối đợc thiết lập trờng này luôn luôn đợc đặt

 Data Offset (4 bits): Chỉ ra số lợng từ (32-bit/words) của phÇn TCP Header.

 Reserved (6 bits): Đợc để dành cho tơng lai.

 URG (Urgent Poiter): Vùng con trỏ khẩn có hiệu lực, phải xử lý số liệu trớc các số liệu khác.

 ACK (Acknowledgement): Nếu đợc đặt, gói tin sẽ chứa thông tin báo nhận.

 PSH (Push): Chức năng chuyển số liệu (push) mà không cÇn chê ®Çy.

 RST (Reset): Thiết lập lại kết nối khi cần (thờng do lỗi phần cứng hay phần mềm).

 SYN (Synchronous): Đồng bộ hoá các số hiệu tuần tự để thiết lập lại kết nối.

 FIN: Không còn dữ liệu từ trạm nguồn - kết thúc kết nối.

 Windows (16 bits): Là số lợng các byte (octets) dữ liệu bắt đầu từ byte đợc chỉ ra trong vùng ACK mà trạm nguồn đã sẵn sàng để nhận.

 CheckSum (16 bits): Mã kiểm soát lỗi (theo kiểu CRC) cho toàn bộ Segment (bao gồm cả header và data).

 Urgent Pointer (16 bits): Con trỏ này trỏ tới số hiệu tuần tự của byte đi sau dữ liệu khẩn, cho phép bên nhận biết đợc độ dài của dữ liệu khẩn Vùng này chỉ có hiệu lực khi bitURG đợc thiết lập.

 Options (độ dài thay đổi): Khai báo các tuỳ chọn của TCP, bao gồm:

 Kết thúc danh sách tuỳ chọn (End of option list).

 Không hoạt động (No operation).

 Độ dài tối đa của Segment.

 Padding (độ dài thay đổi): Phần chèn thêm vào Header để đảm bảo Header có độ dài là bội số của 32 bits Phần thêm này chứa toàn số 0.

 TCP Data: Chứa dữ liệu của tầng trên. b.Các dịch vụ đợc TCP cung cấp.

 Thiết lập, duy trì và kết thúc kết nối.

 Chuyển các gói dữ liệu một cách tin cậy qua tiến trình có báo nhận.

 Dùng các gói dữ liệu tuần tự

 Có cơ chế điều khiển lỗi.

 Có khả năng hỗ trợ nhiều kết nối đồng thời với các tiến trình khác nhau thông qua dùng Port.

 Trao đổi dữ liệu song công. c Quá trình nối - tách:

TCP có rất nhiều quy tắc để truyền thông Chúng điều khiển TCP để thiết lập kết nối, truyền dữ liệu và kết thúc kết nối Vì TCP là giao thức trạng thái điều khiển (state- driven protocol), nên các tác động của nó đều phụ thuộc vào các cờ trạng thái.

ThiÕt lËp kÕt nèi (Establishing a Connection)

Một kết nối có thể đợc thiết lập giữa hai máy chỉ khi thoả mãn các điều kiện sau:

 Kết nối giữa hai sockets là tồn tại.

 Cả hai máy đồng ý kết nối.

 Cả hai máy có các tài nguyên TCP thích hợp cho kết nối Nếu một trong chúng không thoả mãn thì kết nối không thể thực hiện đợc

Khi kết nối đợc thiết lập, nó đợc cấp phát quyền sở hữu vững chắc cho đến khi kết thúc Thờng thì có một giá trị quyền u tiên và giá trị an toàn Các giá trị thiết lập này đợc thoả thuận bởi hai ứng dụng khi tiến trình đang đợc thiết lËp

Khi cần thiết kết nối tới máy ở xa, ứng dụng sẽ yêu cầu TCP gọi lệnh mở - OPEN CALL Có hai loại hàm OPEN CALL là thụ động(passive) và chủ động (active) Trong phần lớn các trờng hợp,

SYS SEQ 50 ACK 51,SYS 200 ACK 201

SYS SEQ 100 kết nối đợc cả hai ứng dụng mong đợi, vì thế chúng sẽ phát ra các yêu cầu mở thụ động hoặc chủ động (active or passive open requests)

Thiết lập kết nối bằng thủ tục bắt tay ba lần (three-way handshake) Client gửi bản tin với SYN=1 (yêu cầu kết nối). Server nhận đợc, nó sẽ gửi bản tin với SYN=1 và ACK=1 Client đáp lại với bản tin có ACK=1

Theo hình vẽ trên tiến trình bắt đầu TCP của máy A nhận yêu cầu kết nối từ giao thức lớp trên (ULP-Upper Layer Protocol), nó trả lời bằng cách gửi thông điệp mở chủ động tới máy B Cờ SYN đợc đặt (giá trị 1) và đợc gán một giá trị tuần tự Khai báo "SYN SEQ 50," chỉ ra cờ SYN đợc đặt và giá trị tuần tự - số gửi tuần tự khởi đầu (ISS-Initial Send Sequence) là 50 (có thể là bất cứ giá trị nào khác) Ưng dụng ở máy B phát ra chỉ thị mở thụ động (passive open) tới TCP của nó Khi SYN SEQ 50 đợc nhận, TCP của máy B gửi thông điệp báo nhận về máy A với giá trị là 51 Máy B cũng đặt giá trị ISS của riêng nó Thông điệp "ACK 51, SYN 200," chỉ ra thông điệp đợc báo nhận bằng giá trị số tuần tự là 51, cờ SYN đợc thiết lập và có giá trị ISS là 200

Máy A gửi trả lại thông điệp báo nhận với số tuần tự là

Các ứng dụng cơ bản trên Internet

Th điện tử

Giao thức truyền th đơn giản – SMTP Đây là giao thức đợc sử dụng rộng rãi nhất để gửi thông điệp (Message) giữa hai ngời dùng Nó tơng đối đơn giản. Message sẽ đợc tạo, đánh địa chỉ và gửi từ ứng dụng cục bộ tới ứng dụng SMTP Server sẽ kiểm tra định kỳ xem có thông điệp nào đợc chuyển, nếu không có nó sẽ thử lại Server cố gắng gửi thông điệp trong ít phút, nếu không đợc nó sẽ huỷ thông điệp hoặc gửi trả về ngời gửi. Địa chỉ SMTP sẽ có dạng nh sau: local-Part@.do m ai n - n ame

VÝ dô: Nauglex@vax1.wellfleet.com.

 Com: Commercial Địa chỉ SMTP tuân theo chuẩn đợc định nghĩa trong RFC822.

Từ trạm làm việc đến SMTP server, ngời ta dùng giao thức Client/Server nh POP3 (Đợc định nghĩa trong RFC 1460). SMTP sử dụng cổng TCP 25.

Thờng dùng các chơng trình sendmail, mmdf (dùng cho cả Client và Server, chạy ở chế độ nền nh DAEMON) Dùng kiểu spool hoặc queue, khi message đến nó xếp vào hàng đợi và gắng phát Khi quá thời gian qui định, message se bị gửi trả lại hoặc bị xoá.

Khi kết nối đợc thiết lập, các SMTP trao đổi với nhau mã nhận xác thực (authentication code).

Một hệ thống gửi lệnh mail và các thông tin về message SMTP nhận gửi thông tin báo nhận (acknowledment) Sau đó, SMTP gửi sẽ đa lệnh RCPT, nếu có nhiều ngời nhận sẽ có nhiều RCPT, sau mỗi RCPT sẽ có một acknowledgment Cuối cùng SMTP gửi lệnh DATA để phát dữ liệu Kết thúc bằng lệnh QUIT.

Giao thức truyền tệp bằng th :

Trong các hệ thống ghép nối với mạng Internet, đây là việc sử dụng giao thức truyền tệp để tiếp xúc với các hệ máy tình khác ở xa mà không cần quyền thâm nhập, đi vào các th mục công cộng của nó, hoặc chuyển các tệp tin của nó vào vào vùng la trữ đĩa riêng của mình Để sử dụng FTP Mail ta gửi một thông điệp tới FTP Server Trong nội dung thông điệp, mọi yêu cầu đợc ghi lại trên một dòng lệnh Những yêu cầu này là những chỉ thị để điều khiển phiên làm việc của Anonymous FTP, FTP Mail Server nhận đợc thông điệp, thực hiện các yêu cầu Kết quả phiên làm việc sẽ đợc chuyển tự động tới ngời yêu cầu.

Những lệnh FTP Mail quan trọng:

Reply address’s Địa chỉ phúc đáp.

Connect host KÕt nèi tíi Anonymous FTP

ASCII file, binary file Tệp văn bản, tệp nhị ph©n.

Uuencode, btoa Đổi tệp nhị phân thành tệp văn bản.

Chdir directory Chuyển sang th mục đã đợc mô tả.

Get file Chuyển một tệp.

Help Mô tả cách sử dụng FTP

Dir [directory] Chuyển một danh sách th mục dài.

Is [directory] Chuyển một danh sách th mục ngắn.

Quit Kết thúc phiên làm việc

Hệ đăng nhập từ xa của máy Client

Hệ đăng nhập từ xa của máy Server

2.5.2.§¨ng nhËp tõ xa - Telnet(Terminal Network Emulation)

Tiền thân của Telnet là Terminal Login của ARPARNET

Lệnh của Telnet có dạng nh sau: Telnet host [port]

Giá trị mặc định của Port đợc chứa trong tệp: \

%SystemRoot%\system32\drive\etc\services.

Nếu không có giá trị nào thì mặc định là 32.

Telnet đợc sử dụng cho kết nối giả lập thiết bị đầu cuối đến một máy chủ [host] ở xa Giao thức này lợi dụng TCP nh là một giao thức vận chuyển để truyền thông tin từbàn phím ngời dùng tới máy chủ (host) ở xa và hiển thị thông tin từ máy chủ ở xa trên màn hình làm việc của trạm làm việc.

Telnet đối xử với 2 thiết bị đầu cuối chuẩn vào (bàn phím, tệp, ) và ra (màn hình, máy in, các tệp) nh là các thiết bị mạng đầu cuối ảo - NVT (Network Vitual Terminal) có các ch- ơng trình điều khiển việc dịch từ NVT thành các thiết bị vật lý thực, khái niệm NVT cho phép Telnet kết nối tới bất kỳ thiết bị vật lý nào miễn là có mã tơng ứng với thiết bị thực. Khi kết nối đợc thiết lập, sự thiếu các mã bị phát hiện (sự thiếu này là do các thiết bị vật lý không hỗ trợ mọi hoạt động vì thế các NVT không có mã tơng ứng) quá trình có thể bị bỏ qua Một đầu hỏi xem có hàm hỗ trợ không, đầu kia trả lời có hoặc không Nếu có các mã này sẽ đợc gửi và tạo các hàm một cách nhanh chóng.

Khi kết nối đợc thiết lập qua Telnet, một chơng trình hoạt động nh Telnet Server tên là Telnetd bắt đầu quá trình trên

Port 20: Khởi tạo việc thiết lập kết nối và điều khiển kết nối, nó chỉ chứa thông tin điều khiển Port 21: Dữ liệu

Server, tất cả các cú gõ phím trong một phiên Telnet đều qua các quá trình sau:

Pseudo_TTY driver: Hoạt động nh Terminal đối với các ứng dông.

Tuy nhiên trớc khi thiết lập kết nối, Telnet phải đồng bộ với các thiết bị ở xa (Ví dụ nh DOS sử dụng CR-LF để xuống dòng, trong khi đó UNIX lại sử dụng LF).

Truyền tệp - FTP (File Transfer Protocol)

Đây là dịch vụ cho phép ngời sử dụng đăng nhập vào máy ở xa nhng chỉ ở mức chuyển giao tệp Trên Internet có rất nhiều máy FTP Server, trên chúng đặt rất nhiều tệp, các phần mềm và đợc tổ chức thành các th viện tệp, FTP cho phép truyền tệp qua lại, điều khiển các th mục, truy nhập vào e-mail nhng không cho phép thực hiện chơng trình.

Khác với các ứng dụng khác chỉ sử dụng một cổng, FTP sử dụng hai kênh TCP cổng 20 dùng cho dữ liệu PI (Protocol

Interpreter), cổng 21 dùng cho điều khiển DTP (Data

Transfer Process) Thêm nữa FTP truyền tệp ở chế độ

Foreground thay vì Background, nó lại không dùng spooler hay queue, vì thế ngời sử dụng có thể xem quá trình truyền tệp trong thời gian thực.

Cũng nh Telnet, FTP cũng có chơng trình Server chạy liên tục và một chơng trình chạy riêng đợc chạy ở Client Nhng nó khác với Telnet ở chỗ, sau khi đăng nhập vào máy FTP ta không thực sự ở máy đó mà vẫn ở máy cục bộ vì thế mọi chỉ thị phải tơng ứng.

Nhiều FTP Server hỗ trợ Anonymous FTP với UserId là

“anonymous”, password là “guest” ta có thể đăng nhập vào FTP nhng với quyền hạn chế.

Trong các hệ thống mạng lớn, có các hệ thống nh YP (Yellow Page) và NIS (Network Information Service) cho phép ta thâm nhập vào phần lớn các máy Tuy nhiên FTP có nhợc điểm là quá trình truy cập vào th mục là chậm chạp Theo cách truyền thống là ngời quản trị mạng cung cấp danh sách đệ qui các th mục tệp nhng điều này phức tạp hoặc tạo ra các tệp README ở mỗi th muc, tuy nhiên tệp này luôn lạc hậu.

Truyền tệp -TFTP(Trival FTP)

FTP sử dụng TCP để đảm bảo tin cậy Nếu mạng vốn có tính tin cậy cao (nh mạng LAN) ta có thể dùng UDP, một ví dụ về giao thức truyền tệp tin bằng giao thức này là TFTP, ngoài sự khác biệt này với FTP, TFTP không đăng nhập vào máy từ xa nh FTP Các tệp đợc truyền chỉ cần tên tệp, không cần UserID và Password.

Vì không phải điều khiển quá trình truyền tệp, nên TFTP không cần các thuật toán phức tạp Nó đặc biệt thích hợp với các thiết bị đầu cuối và các trạm làm việc không đĩa để nạp các hệ điều hành hoặc các chơng trình lên các máy này.Gói đầu tiên đợc truyền từ Client tới Server là gói điều khiển, nó chỉ ra tên tệp để đọc hay ghi Các gói tiếp theo là các gói dữ liệu, đợc đánh số liên tiếp từ 1 Bên nhận sẽ dùng các số hiệu này để nhận biết thứ tự gói đến Bất kỳ gói nào bé hơn 512 byte đều đánh dấu kết thúc quá trình truyền.

Có thể thông báo lỗi thay vì truyền dữ liệu, khi đó quá tr×nh truyÒn kÕt thóc.

DNS(Domain Name System)

Địa chỉ IP là địa chỉ 32 bit rất khó nhớ, vì thế có một dịch vụ tên là DNS để chuyển địa chỉ IP thành tên tợng tr- ng DNS cung cấp 1 CSDL phân tán của tên và địa chỉ IP.

GOR EDU COM MIL ORG CON

NR Request Bảng tham chiếu

Hệ thống này cững lu trữ dự phòng những mô tả cho máy chủ và cung cấp phân giải tên cho những họ khác bên cạnh TCP/IP (nh Chaonets và XNS).

DNS là một cấu trúc phân cấp nh hình vẽ sau:

Tên có dạng: Local-part@ D omain-Name

Trong đó: Local-Part là tên của Host hoặc ngời dùng, sẽ có hai thực thể tham gia vào quá trình tham chiếu này, đó là

Name Resolver(NR) và Name Server(NS).

Khi ngời dùng tại trạm làm việc gõ TELNET HOST tại dòng lệnh thì trạm này phải cài đặt NR, NR sẽ gửi yêu cầu tới Name Server để phân giải thành địa chỉ IP Nếu tên của Host đợc tìm thấy, thì nó sẽ gửi địa chỉ IP lại cho trạm làm việc và trạm làm việc sẽ dùng địa chỉ này.

Hình dới đây chỉ ra DNS dùng hơn hai thực thể:

Cache đợc dùng để tìm các tên có tính địa phơng, nếu tên đợc tìm thấy ngay tại cache địa phơng thì nó sẽ tham chiếu ngay ra địa chỉ IP và không gửi yêu câù đến NS nữa Nếu nó gửi yêu cầu đến NS, NS này sẽ tìm trong bảng của nó, nếu không thấy nó sẽ nhờ NS khác là FNS tìm hộ. FNS này có thể tìm thấy hoặc không thì nó sẽ báo với User là không tìm thấy.

Tra cứu theo thực đơn - GOPHER

Đây là dịch vụ tra cứu theo chủ đề dựa trên hệ thống thực đơn mà không cần biết địa chỉ IP tơng ứng Gopher hoạt động theo mô hình Client/Server nghĩa là cần hai ch- ơng trình Client Gopher và Server Gopher Khi ngời sử dụng yêu cầu Gopher Server, nó sẽ tả về một danh sách các chủ đề thông tin dới dạng thực đơn (dùng giao thức Gopher) Một vài đề mục có thể kết nối với các Gopher khác và một số dịch vụ nh FTP,Telnet, Tuy nhiên Gopher chỉ có thể hiển thị dữ liệu dạng văn bản, do vậy gopher không đòi hỏi đờng truyền giải thông cao.

Máy chủ thông tin diện rộng - WAIS (Wide Area

Cho phép tìm kiếm và truy nhập thông tin mà không cần biết chúng đang ở đâu WAIS cũng hoạt động theo mô hình Client/Server Tuy nhiên ngoài WAIS Client và WAIS Sever, còn có WAIS Indexer thực hiện việc cập nhật dữ liệu và sắp chỉ mục WAIS Server nhận yêu cầu từ Client tìm kiếm trong CSDL (do Indexer tạo ra) các tệp phù hợp, đánh giá độ phù hợp (câu hỏi tìm kiếm theo chuẩn Z39.50 của ANSI). Các phần mềm đánh giá chỉ mục có thể xử lý đợc rất nhiều các dạng dữ liệu khác nhau nh các tệp văn bản, danh sách th điện tử, ảnh, và có thể dễ dàng thêm các kiểu dữ liệu mới. Để tìm tin, các công việc sau phải đợc thự hiện:

 Ta đa ra từ khoá.

 WAIS sẽ tìm các tài nguyên cho ta.

 Ta tìm kiếm thông tin trong các nguồn tài nguyên.

Tìm kiếm tệp - ARCHIE (Archieve)

Là dịch vụ Internet cho phép tìm kiếm theo chỉ số Có thể tìm tệp có chứa xâu bất kỳ, Archieve sẽ trả về tên tệp và tên của Server chứa các tệp đó Khi đó có thể dùng Annonymous FTP để lấy về. Để dùng Archieve ta phải chọn một Archieve Server nào đó, sau đó Telnet tới đó và tìm kiếm tệp Cũng có thể dùng E- mail (chứa các lệnh tìm kiếm) gửi tới địa chỉ

“Archieve@Server”, với Server chính là Archieve Server ta chọn và chờ th về kết quả tìm kiếmtừ Server chọn về Nếu một tệp quá lớn thì Server sẽ phân thành các mảnh nhỏ, giải mã tệp rồi mới lấy tệp cần thiết.

Cứ sau một khoảng thời gian nhất định, một chơng trình đặc biệt nối tới tất cả các Anonymous FTP Server (Host) sẽDownload danh sách các th mục, tệp dùng chung chứa vào cái gọi là “Internet Archieve Database” Khi ta cần tìm tệp, nó sẽ tìm trong CSDL này Có rất nhiều Archieve Server trênInternet giữ các thông tin này và thờng xuyên đợc cập nhật(khoảng một tuần một lần).

Nhãm tin - USENET

Đây là dịch vụ cho phép nhiều ngời sử dụng ở các nơi khác nhau có cùng một mối quan tâm tham gia vào “ một nhóm tin” và trao đổi các vấn đề quan tâm qua nhóm tin này Trên Internet cũng có nhiều News Server khác nhau, các Server này có thể tạo các nhóm cục bộ Cũng giống nh E-mail, mục tin cũng có hai phần là Header và Body.

Ngời sử dụng tơng tác với News Server qua một chơng trình có tên là News Reader, và chỉ biết duy nhất News Server này.

WWW(World Wide Web)

Nó dựa trên một kỹ thuật biểu diễn thông tin gọi là siêu văn bản (HyperText), khi đó văn bản có khả năng mở rộng bất kỳ Các thông tin này đợc viết bằng ngôn ngữ đánh dấu siêu văn bản- HTML (Hypertext Mark Language) Các Web Browser lấy tài liệu ở Web Server dịch và cho hiển thị Khi ấn vào một liên kết thì Browser có thể trở đến liên kết đích Đích có thể là một trang Web khác, một dịch vụ FTP, Gopher và hiển thị chúng (FTP,Gopher) nh các trình Client thông thờng.

Chính xác thì WWW là một hệ thống các tiện ích và siêu giao diện Để thực hiện việc truy nhập liên kết các tài nguyên

WWW dùng URL (Uniform Resource Location) là dạng tên định danh cho duy nhất một tài liệu hay một dịch vụ trong WEB.

Ta có công thức sau cho URL:

URL=Giao thức Internet + Server Domain Name + Tài liêu trên

Giao thức ở đây có thể là HTTP, Telnet, Gopher, FTP, WAIS,

Web cũng hoạt động theo mô hình Client/ Server Do các tài liệu HTML có khả năng hỗ trợ đa phơng tiện.

Chơng iii TổNG QUAN Kĩ THUậT Chọn đ- êng

Chọn đờng truyền gói

Mở đầu

Tạo tuyến truyền gói trong mạng chuyển mạch gói (packet switched network - PSN) là chức năng cơ bản của lớp mạng trong mô hình OSI, nó có nhiệm vụ dẫn gói tin đi qua mạng tới đích Các thuật toán chọn tuyến sẽ phụ thuộc vào hình thái dịch vụ của ngời sử dụng, tức là chọn tuyến cho dữ liệu đồ DG (Datagram) hay cho mạch ảo VC (Virtual Circuit) Trong mạng DG, hai gói liên tiếp của cùng một cặp ngời sử dụng có thể đi qua các tuyến khác nhau, và thuật toán chọn tuyến sẽ đợc áp dụng cho từng gói đơn lẻ Ngợc lại, trong mạng VC phơng án chon tuyến đợc thực hiện mỗi khi thiết lập kênh ảo Tất cả các gói của một cặp ngời sử dụng chỉ đợc lần lợt chuyển đi theo một con đờng dẫn duy nhất, do thuật toán này quyết định, trừ trờng hợp xảy ra tắc nghẽn trên đờng dẫn trong mạng hoặc phải chọn lại tuyến vì một lý do nào đó

Thuật toán chọn tuyến là phần mềm lớp mạng có nhiệm vụ quyết định xem gói gửi tới (incomming packet) sẽ đợc chuyển ra theo đờng dây ra (output line) nào.

Chọn tuyến trên mạng thờng bao gồm tổ hợp phức của nhiều thuật toán ít nhiều độc lập với với nhau nhng cũng hỗ trợ cho nhau bằng cách trao đổi dịch vụ hoặc thông tin cho nhau Sự phức hợp cũng do một số nguyên nhân: thứ nhất,việc chọn tuyến đòi hỏi định hớng giữa tất cả các trạm chuyển mạch trong mạng chứ không phải chỉ có quan hệ giữa một cặp modul nh trờng hợp của lớp liên kết dữ liệu(Data link) hay lớp vận tải (transport) Thứ hai, hệ thống chọn tuyến phải đối đầu với các sự cố của nút chuyển mạch và đ- ờng truyền dẫn, đôi khi đòi hỏi phải có sự chọn tuyến mới trong cùng một quá trình truyền tin và luôn phải thu thập thông tin mới nhất về các hoạt động của toàn mạng thông qua cơ sở dữ liệu Thứ ba, để có đợc hoạt tính cao, thuật toán chọn tuyến truyền phải có khi phải thay đổi tuyến đã xác lập nhằm tránh những vùng tắc nghẽn mới xuất hiện trong mạng.

Chức năng

Vấn đề chọn tuyến truyền, tóm lại có hai nhiệm vụ cơ bản: thứ nhất là phải chọn tuyến sao cho đạt đợc hoạt tính cao, có nghĩa là phải chọn đợc đờng dẫn có hiệu quả nhất, trong phần tiếp theo ta sẽ lần lợt xét một số thuật toán cho phép ta chọn tuyến truyền theo các yêu cầu nhất định; thứ hai là phải phổ cập thông tin liên quan đến chọn tuyến (bao gồm cả các sự cố của các nút mạng cũng nh các đờng truyền và tình hình khắc phục giữa chúng) tới tất cả các nút chuyển mạch trong mạng.

Trong việc chọn tuyến truyền gói, có hai thông số đánh giá định lợng dịch vụ cần phải quan tâm, đồng thời chúng cũng đợc dùng để đánh giá tính khả hoạt của các thuật toán chọn tuyến là tính khả thông (Throughput) và trễ trung bình (Average Packet Delay) Nh vậy thực ra việc chọn tuyến có quan hệ mật thiết với quá trình điều khiển luồng (xem hình 3.1), bởi vì hai thông số này cũng dùng để đánh giá hoạt động của việc điều khiển luồng.

Khi lợng tải tơng đối nhỏ, mạng sẽ chấp nhận toàn bộ, có nghĩa là:

Khả thông = Tải đa tới Khi lợng tải vợt quá giới hạn nào đó, một phần tải bị từ chối bởi thuật toán điều khiển luồng và

Khả thông = Tải đa tới - Tải bị từ chối Lợng tin truyền trong mạng sẽ chịu trễ trung bình của gói truyền trên tuyến do thuật toán chọn tuyến quyết định. Bên cạnh dó, khả thông phụ thuộc một cách gián tiếp vào thuật toán chọn tuyến vì mô hình điều khiển luồng đặc trng bao giờ cũng xác lập sự cân bằng gia trễ và khả thông, nói cách khác, mô hình điều khiển luồng bắt đầu hạn chế lợng tải đa vào khi trễ trung bình vợt quá giới hạn xác định.

Tải đa tới Khả thông

Hình 3.1: Tơng hoạt giữa chọn tuyến và điều chối khiển luồng

Nh vậy nếu phép chọn tuyến đảm bảo cho trễ gói càng nhỏ thì phép đièu khiển luồng càng cho nhiêù gói truy nhập vào mạng và làm tăng khả thông của mạng Mối tơng quan giữa chúng có sự hồi tiếp nh hình 3.1 đã chỉ ra Sự phụ thuộc của trễ truyền gói trung bình vào thuật toán chọn tuyến đợc mô tả bởi hình 3.2

Nh vậy bài toán chọn tuyến có thể phát biểu dới dạng nh sau: Đòi hỏi phải chọn đợc tuyến truyền trong phạm vi mạng sao cho nó đạt đợc khả thông cao nhất cùng với giá trị của trễ truyền gói trong trờng hợp mạng có tải áp đặt lớn, và giảm trễ truyền gói trung bình trong trờng hợp tải áp đặt nhỏ

Nói một cách ngắn gọn thì trong trờng hợp nào thuật toán chọn tuyến cũng đợc yêu cầu làm giảm trễ trung bình của gói.

Phân loại

Thông thờng phép chọn đờng truyền gói trong mạng chuyển mạch gói đa đến việc chọn tuyến truyền với giá thành tối thiểu (Least - cost Routing), trong đó giá thành là một thông số đánh giá của hệ thống, ví dụ nh trễ truyền, thời gian xếp hàng, độ dài đờng truyền,tỉ lệ lỗi trên tuyến truyền Tuy nhiên, ngoài giá thành, một số thông số khác cũng phải tính đến khi thiết lập đờng truyền:

 Dung lợng của đờng truyền

 Số lợng các gói đang chờ để đa vào đờng truyÒn.

 Phân bố tải trên mạng. ình 3.2 Đặc tuyến trễ - khả thông cho phép đánh giá thuật toán chọn tuyến

 Các yêu cầu bảo mật đối với đờng truyền.

 Kiểu truyền tải so với dạng của đờng truyền.

 Số lợng các đờng nối trung gian giữa trạm truyền và trạm nhận.

 Khả năng ghép nối với trạm trung gian và cả trạm nhận cuối cùng.

Dù cho thông số mạng có thay đổi theo tiêu chuẩn nào thì vẫn phải tính đến ba điều kiện:

+ TrÔ trung b×nh gãi (Delay)

Nh chúng ta đã nói trong phần chức năng, việc chọn tuyến truyền có hai nhiệm vụ cơ bản: thứ nhất là phải chọn tuyến sao cho đạt đợc hoạt tính cao, có nghĩa là phải chọn đợc đờng dẫn có hiệu quả nhất; thứ hai là phải phổ cập thông tin liên quan đến chọn tuyến bao gồm cả các sự cố của các nút mạng cũng nh các đờng truyền và tình hình khắc phục giữa chúng, tới tất cả các nút chuyển mạch trong mạng Tơng ứng với hai công việc này đòi hỏi phải có hai loại kỹ thuật thực hiện riêng cho từng loại Việc thực hiện nhiệm vụ thứ nhất chính là cách tính toán tìm đờng dẫn mà ta hay gọi là thuật toán tìm tuyến truyền Các lý thuyết giải thuật để tìm tuyến truyền thì có rất nhiều và rất đa dạng, nhng kỹ thuật chuyển mạch gói quan tâm tới hai thể loại chính: chọn tuyến truyền phân nhánh (Bifurcated Routing) và chọn tuyến truyền ngắn nhất (Shortest-Path Routing) Kĩ thuật thứ nhất còn có tên là chọn tuyến nhiều đờng dẫn gói (Multipath Routing), đợc thiết kế sao cho nó có thể tối thiểu hoá trễ trung bình của gói trên phạm vi toàn mạng Kĩ thuật thứ hai, chọn tuyến ngắn nhất, chủ yếu quan tâm tới trễ ng- ời sử dụng và nó chọn ra đờng dẫn có giá thành tối thiểu cho một cặp ngời sử dụng Việc thực hiện nhiệm vụ cơ bản thứ hai của việc chọn đờng do các thuật toán thu nhận và truyền thông tin chọn đờng thực hiện Mỗi giao thức chọn đờng có những phơng pháp khác nhau để lấy đợc thông tin chọn đ- ờng và truyền thông tin chọn đờng Nếu dựa vào việc các thông tin chọn đờng có thờng xuyên đợc cập nhật hay không thì ta có thể phân thành hai loại: Thuật toán chọn đờng thích nghi (Adaptive) và thuật toán chọn đờng không thích nghi (Nonadaptive) Các thuật toán không thích nghi thì không quyết định đờng truyền gói dựa trên cơ sở phép đo thông số truyền tải tức thời và topology của mạng Các đờng dẫn từ một nút i tới một nút j nào đó đợc tính toán trớc và nạp vào mạng khi mạng khởi hoạt (Network Booting).Vì thế loại hình này đôi khi còn đợc gọi là chọn tuyến tĩnh (Static Routing) Ngợc lại, các thuật toán chọn đờng thích nghi sẽ cho phép thay đổi tuyến truyền gói dựa vào các thay đổi thông số truyền tải và cấu hình của mạng Có ba nhóm thuật toán loại này:

 Chọn tuyến tập trung (Centralized Routing) gồm các thuật toán tổng thể sử dụng các thông tin thu thập đợc từ toàn bộ mạng để đa ra các kết quả tối u.

 Chọn tuyến cách ly (Isolated Routing) có các thuật toán vận hành trên từng trạm riêng biệt và dựa vào thông tin nó thu thập đợc tại trạm này, ví dụ nh độ dài của hàng,

 Chọn tuyến phân bố (Distributed Routing) là tổ hợp của cả hai hình thức trên.

Thực chất, các thuật toán hiện nay đang đợc sử dụng đều là các thuật toán thích nghi, chúng cũng chính là các thuật toán chọn tuyến truyền ngắn nhất đã trình bày ở trên Sự đa dạng chỉ là do cách gọi khác nhau tạo nên Trong phần sau, ta sẽ xét sơ lợc thuật toán phân nhánh (đa đờng dẫn ), vì nó ít đợc sử dụng, phần còn lại chủ yếu tập trung vào các thuật toán chọn tuyến ngắn nhất.

Thuật toán chọn tuyến phân nhánh

Thuật toán phân nhánh (Bifurcated Routing)

Muốn đảm bảo thông tin giữa một cặp ngời sử dụng, đôi khi mạng không phải chỉ chọn ra một đờng dẫn duy nhất để chuyển các gói từ nguốn tới đích mà phải sử dụng nhiều đờng để phân bớt lợng tải của từng đờng dây Thí dụ hình 3.3 mô tả chi tiết vấn đề này Tất cả các đờng dây ghép nối trong mạng hình 3.3 đều có dung lợng là 10 đơn vị (các đơn vị đo ở đây chỉ là các thông số đánh giá tơng đối và không đợc xác định chi tiết) Có một đích (nút số 6) và hai nút nguồn (nút số 1 và nút số 2), nút 1 có lợng tải đa đến là 5 đơn vị, nút 2 có lợng tải là L Ta sẽ xét hai trờng hợp cụ thể tơng ứng với hai giá trị của L: a ) Trờng hợp với L = 5

Với lợng tải của tất cả các nút nh trên,so với dung lợng đ- ờng dây nối giữa nguồn và đích thì có thể xem là nhỏ, do vậy có thể chọn các tuyến truyền gói theo đờng bên trái (1 -

3 - 6) và bên phải (2 - 5 - 6) ứng với các nút 1 và 2 Nếu ta chọn tuyến ở giữa, 1 - 4 - 6 cho nút 1 và 2 - 4 - 6 cho nút 2,

5 L thì luồng thông tin trên đờng nối (4,6) sẽ bằng với dung lợng của đờng nên trễ sẽ cao.

Khi tải áp đặt vào nút 2 tăng thêm 10 đơn vị nữa, tức là tải tổng thể là 15 đơn vị, nếu ta tiếp tục chọn theo một trong hai đờng dẫn đã xét ở trên cho nút 2 thì có thể dễ dàng nhận thấy là một phần thông tin ( 5 đơn vị ) đa tới nút này sẽ bị từ chối do dung lợng đờng truyền bị hạn chế. Mặt khác, nếu ta chọn tuyến cho nút 1 theo nhánh bên trái (1

 3  6), còn nút 2 theo nhánh (2  5  6) và (2  4  6) thì lợng tải tới không vợt quá 75% dung lợng của từng đờng, trễ truyền gói tổng thể đợc đảm bảo tơng đối nhỏ và điều quan trọng là không một phần tải nào bị từ chối. Để đảm bảo cho việc nâng cao hoạt tính của mạng, ph- ơng thức chuyển mạch phân nhánh đã đợc thiết lập, mặc dù nó không có ứng dụng cụ thể nhng ngời ta vẫn phải dùng đến nó trong việc thiết kế cấu hình mạng (Topological Design) Việc chọn ra đờng dẫn trong mạng nhằm mục đích tối thiểu hoá trễ trung bình trong toàn mạng thông qua việc đánh giá nguồn - đích Kỹ thuật này có thể sử dụng cho cả mạng dữ liệu DG và cả mạng ảo VC Với mạng DG, khi các gói đến trạm chuyển mạch, các trạm sẽ chọn tuyến cho từng gói riêng biệt, độc lập với các phép chọn cho các gói đến cùng một đích trớc đó Với mạng VC, bất cứ khi nào VC đợc thiết lập thì tuyến cũng đồng thời đợc chọn, song các VC khác nhau đợc chọn tuyến độc lập với nhau

Hình 3.3: Ví dụ về yêu cầu thiết lập thuật toán nhiều đ- êng. Đích Chọn 1 Chọn 2 Chọn 3

Phép chọn tuyến phân nhánh đợc thực hiện nh sau: mỗi trạm chuyển mạch có một bảng chọn tuyến ( Routing Table ) để tới tất cả các trạm khác, trên đó mỗi hàng chỉ ra khả năng dẫn gói tới tới một trạm khác theo thứ tự là tuyến tốt Hình 3.4 Ví dụ minh hoạ phơng thức chọn tuyến phân nhánh

(Bảng chọn tuyến cho nút J) nhất, tốt thứ hai, thứ ba theo đánh giá trọng số (Weight). Trớc khi chuyển gói đi, trạm tạo ra một số ngẫu nhiên và sử dụng nó để chọn tuyến dựa trên việc so sánh nó với trọng số của bảng chọn tuyến Các bảng này do các vận hành viên của mạng tự thiết lập, nạp vào cho các trạm trớc khi vận hành mạng và giữ không đổi từ đó trở đi Sau đây ta đa ra một ví dụ để miêu tả việc chọn tuyến phân nhánh Xét mạng hình 3.4: A, B, C, D, E, F, G, H, I, J, K, L là các nút chuyển mạch của mạng.Giả sử nút J nhận đợc gói cần phải chuyển cho nút A, nó sử dụng hàng đánh dấu A trong bảng chọn tuyến của mình, trên đó chỉ rõ tuyến JA là phép chọn thứ nhất, JI và JH là phép chọn thứ hai và thứ ba Để quyết định tuyến nào, trạm

J tạo ra một số ngẫu nhiên giữa khoảng 0.00 và 0.99 Nếu số đó nhỏ hơn 0.63 thì trạm dùng tuyến JA; nếu số đó giữa 0.63 và 0.83 thì trạm dùng tuyến JI; còn lại trạm sử dụng tuyến JH Các trọng số ở đây dợc coi nh các xác xuất sử dụng của A, I và H

Một u điểm của chọn tuyến phân nhánh là khả năng gưi các loại truyỊn tải khác nhau theo những đừng dẫn khác nhau Ví dụ, ghép nối giữa terminal và các máy tính ở xa chỉ có các gói tin nhỏ có thể dẫn theo tuyến mặt đất, trong khi đó việc truyền các tập tin dài (Long file Transfer) đòi hỏi dải băng rộng và có thể thực hiện đợc qua đờng truyền vệ tinh.

Thuật toán Flooding

Flooding là một thuật toán định đờng tĩnh, trong đó mọi gói đa vào một nút đợc gửi tới tất cả các đờng ra trừ đ- ờng nó đã tới Flooding đã tạo ra một số lợng lớn các bản sao.

Do đó cần có một công cụ để ngăn cản quá trình tăng này. Một giới hạn nh vậy là bộ đếm hop (hop counter), chứa trong header của mỗi gói, và nó đợc giảm mỗi khi đi qua một node. Khi bộ đếm hop có giá trị zero thì gói sẽ bị huỷ Bộ đếm hop phải đợc phải đợc khởi tạo ban đầu với giá trị hop bằng với khoảng cách từ nguồn tới đích Nếu không biết độ dài đ- ờng đi này thì nó đợc tính với trờng hợp xấu nhất, đó là tính theo giá trị đờng kính lớn nhất của mạng Nh vậy, trong Flooding tất cả các đờng đều đợc thử nên các bản sao đến đợc đích theo một đờng đi ngắn nhất.

Một kĩ thuật “làm đập” ngăn Flood là theo dõi những gói đã đợc Flooding, không gửi nó đi lần thứ hai Ngời ta cho phép Router nguồn đặt một số thứ tự trong mỗi gói mà nó nhận đợc từ nguồn của nó Mỗi node cần một danh sách ứng với mỗi node nguồn cho biết các số thứ tự của các gói hình thành tại nguồn đã đợc xem xét Nếu gói mới đến có trong danh sách thì nó không Flood, nếu là bản sao thì sẽ bị huỷ

Tóm lại, Flooding là một thuật toán định đờng tĩnh (vì nó không có sự cập nhật thông tin trong quá trình định đ- ờng) Tuy nhiên, khi trong mạng có một node bị hỏng thì Flooding vẫn làm việc tốt,mặc dù nó định đờng không tối u và thờng gây tắc nghẽn trong mạng.

Các thuật toán đờng dẫn ngắn nhất (Shortest-path Routing)

Thuật toán A (Thuật toán Dijkstra)

Xét mạng hình 3.5, trên mỗi đờng ghép nối có các trọng số tơng ứng với giá thành của từng đờng, để cho đơn giản ta coi các trọng số này theo cả hai chiều là nh nhau, dù rằng trên thực tế chúng có thể có giá trị khác nhau Để chọn đợc đờng dẫn ngắn nhất từ một nguồn tới tất cả các nút trong mạng, đòi hỏi phải có kiến thức về cấu hình tổng thể của mạng (danh sách các nút và các ghép nối giữa chúng) cũng nh giá thành của từng đờng nối Điều đó dẫn đến việc tính toán tập trung dựa trên thông tin đầy đủ lu trong các cơ sở dữ liệu trung tâm (Central Database) Trong thí dụ

5 này, chúng ta tìm đờng dẫn ngắn nhất từ nút 1 tới tất cả các nút trong mạng Thuật toán đợc thực hiện theo từng bớc, xây dựng mô hình cây đờng ngắn nhất (Shortest-path Tree) có gốc tại nút nguồn (nút 1) Các đờng dẫn ngắn nhất tới k nút khác đợc tính toán trong k bớc, chúng đợc tập hợp lại trong tập N.

Coi D(v) là khoảng cách (tổng của các trọng số đờng nối dọc theo đờng dẫn ) từ nút nguồn 1 tới nút v Coi l(i,j) là giá thành đã cho giữa hai nút i và j Thuật toán gồm hai bớc:

1 Bớc khởi đầu Đặt N = {1} (tập N ban đầu chỉ gồm duy nhất nút 1), với mỗi nút v không thuộc N đặt D(v) = l(1,v), với các nút không nối trực tiếp với nút 1 ta coi giá thành bằng .

Tìm nút w không thuộc N sao cho D(w) là tối thiểu và bổ sung w vào tập N Sau đó thay D(v) cho toàn bộ các nút không thuộc N còn lại bằng cách tính:

Bớc này dợc lặp lại cho đến khi tất cả các nút đèu có trong N.

Sau khi thực hiện, ta lần lợt có đợc các bớc mô tả bởi bảng thống kê sau:

Bảng 3-1 Bảng mô tả thuật toán

Mô hình cây đờng ngắn nhất nếu lấy nút 1 làm nút nguồn có thể mô tả nh hình vẽ sau:

Thuật toán chọn tuyến đờng ngắn nhất trên có thể đợc minh hoạ bằng chơng trình sau:

{ Tìm đờng dẫn ngắn nhất giữa nguồn và các nút còn lại trong mạng }

Const n = ; {số lợng các nút} infinity = ; {số lớn hơn mọi trọng số}

Type node = 0 n; nodelist = array [1 n] of node; matrix = array [1 n, 1 n] of integer;

Hình 3.6: Thuật toán đợc áp dụng cho mạng hình 3-5 với nút

Hình (a) Mô hình cây đờng ngắn nhất

Hình (b) Bảng chọn tuyến cho nút 1

Procedure ShortestPath (a: matrix; s, t: node; var path: nodelist);

{ Tìm đờng dẫn ngắn nhất từ nguồn s với ma trận a và trả kết quả về path }

Type lab = (perm, tent) ; {Nhãn cố định hay tạm thời}

NodeLabel = record predecessor: node; length: integer; labl: lab; end;

GraphState = array [1 n]of NodeLabel; var state: GraphState; i,k: node; min: integer; begin for i: = 1 to n do with state [i] do begin predecessor: =0; length:= infinity; labl:=tent end; state [t].length:=0;state [t].labl:=perm; k:=t; {k là nút làm việc khởi đầu} repeat {tìm xem có nút nào tốt hơn k không} for i:=1 to n do if (a[k,i] 0) and (state[i].labl = tent) then {i là nút kế cạnh và tạm thời} if (state[k].length + a[k,i] < state[i].length) then begin state[i].predecessor:=k; state[i].length:= state[i].length + a[k,i];

{tìm nút có nhãn tạm thời với nhãn nhỏ end; nhÊt} for i:=1 to n do if (state[i].length < min) and (state[i].labl

= tent) then begin min:= state[i].length; k:=i; until k = s;end; {lặp cho đến khi đạt đến nguồn}

{Ghi đờng dẫn vào mảng ra} k:=s; i:=0; repeat i:= i+1; path[i]:=k; k:= state[k].predecessor; until k=0;

End; {Kết thúc thủ tục tính đờng ngắn nhất}

Với thuật toán này ta có thể tính đợc các tuyến đờng có đờng dẫn ngắn nhất cho từng nút, cụ thể ta coi nút đó là nút nguồn rồi thực hiện các bớc kể trên Trong trờng hợp chọn tuyến theo phơng thức tập trung, NMC sẽ gửi các bảng chọn tuyến cho từng nút một sau khi đã thiết lập xong, còn nếu mạng sử dụng phơng thức phân bố thì từng nút phải tự tính lấy bảng chọn tuyến, cùng sử dụng các thông tin tổng thể nh trên (đợc cung cấp bởi các nút lân cận hoặc bởi NMC ) và chọn ra cây đờng dẫn cho riêng nó.

Trong phần tiếp theo chúng ta sẽ mô tả một thuật toán khác cũng là loại thuật toán chọn tuyến ngắn nhất.

Thuật toán B (Thuật toán Bellman - Furkerson)

Thuật toán này cũng gồm hai phần: bớc khởi đầu và bớc lặp cho tới khi tính xong các tuyến đờng dẫn Sự khác biệt với thuật toán đã trình bày là ở chỗ thay vì coi nút 1 là nút nguồn thì ta coi nó là nút đích, đồng thời từ tất cả các nút khác ta tìm đờng dẫn ngắn nhất tới đích 1 này Trong bảng chọn tuyến ta sẽ chỉ ra khoảng cách (nhớ rằng đây cũng chỉ là giá trị trọng số trừu tợng để mô tả giá thành của tuyến truyền) từ nút bất kỳ tới nút 1 và nút lân cận để truyền tới đích 1 theo tuyến ngắn nhất Việc tạo bảng chọn tuyến sử dụng thuật toán này đòi hỏi phải lặp đi lặp lại cho từng nút một, và cuối cùng cho ghi tất cả vào trong một tập các nhãn cho từng nút, mỗi nhãn có thông tin chọn tuyến (nút tiếp theo) và khoảng cách tới đích cuối cùng.

Mỗi nút v có nhãn (n, D(v)), với D(v) là giá trị hiện thời của khoảng cách ngắn nhất từ nút đó tới đích, còn n là số hiệu của nút tiếp theo trên đờng dẫn ngắn nhất tạm thời.

Coi nút 1 là nút đích, đặt D(v) = 0 và gán (, ) cho tất cả các nút khác.

2 Bớc lặp: dán nhãn khoảng cách cho các nút còn lại Với từng nút khác 1 ta thực hiện nh sau:

Thay D(v) bởi giá trị hiện thời D(w) với từng nút lân cận w để tính giá trị D(w) + l(w, v) và thực hiện phép toán

D(v)  min [D(w)] + l(w, v) (*) Sau đó, gán nhãn mới của v bằng cách thay n bởi nút lân cận tơng ứng với biểu thức (*) tính đợc và thay giá trị mới tìm đợc vào D(v).

Với mạng ví dụ nh hình 3-5, ta thiết lập bảng các vòng thực hiện sau:

Bảng 3-2 thuật toán thứ hai dùng cho mạng hình 3-5: Vòng Nút đích

Sau hai vòng lặp, các giá trị nhãn trở nên bất biến, có nghĩa rằng thuật toán đã đợc thực hiện xong Nh vậy, trong vòng 1 nhận thấy nút 2 là “gần nhất” đối với nút 1, giá thành mới của nó là D(v) = D(1) + l(1, 2) = 2, và nhãn của nó chuyển thành (1, 2) Chuyển tới nút 3, ta có D(2) + l(2, 3) =5 và D(4) + l(4, 3) = 4; ta chọn D(4) + l(4, 3) thì nhãn mới của nó là (4,

4) Tại vòng lặp thứ hai, ta có thể thay tại nút 3 nhãn mới vì giá trị tối thiểu mới là D(w) + l(w, 3) = D(5) + l(5,3) = 3, do vậy nhãn của nó là (5,3) Từ đó trở đi, các giá trị không thay đổi nên quá trình có thể coi là hoàn thành Nếu ta xây dựng sơ dồ cây trên cơ sở các kết quả nhận đợc thì ta có mô hình của hình 3-6a, với nút 1 là gốc.

Thuật toán này đã đợc áp dụng cho một số trờng hợp cụ thể,ví dụ nh trong TYMNET, theo phơng thức tập trung Nếu sử dụng thuật toán này theo phơng thức phân bố, ta đợc một biến dạng mới của nó, gọilà thuật toán B dạng phi tập trung(Decentralized Version of Algorithm B) hay thuật toán phân bè.

Thuật toán B phân bố (Bellman - Ford hay Vector - Distance)

Một vấn đề chúng ta cần phải đề cập là ảnh hởng của các thuật toán chọn tuyến tới việc truyền dữ liệu trong đờng truyền Nếu chúng ta áp dụng phơng thức phân bố cho mạng truyền dữ liệu thì có thể xảy ra hiện tợng trong khi các gói đang đợc truyền trong mạng, do nhận đợc thông tin về mạng mới đợc cung cấp, trạm có thể tự ý thay đổi tuyến truyền tin, nh vậy có nghĩa là các gói có thể tới đích không theo thứ tự định trớc Điều này không làm ảnh hởng đến mạng DG (Datagram), nhng lại có tác động lớn tới mạng VC (Virtual Circuit), vì vậy đôi khi xảy ra hiện tợng sau khi một trạm gửi gói đi, sau một khoảng thời gian lại hiện diện tại chính trạm đó Chúng ta sẽ trở lại vấn đề này sau.

Trong phơng thức phân bố, mỗi nút trong mạng phải có hai bảng, một bảng gọi là khoảng cách (Distance Table) ghi giá thành từng đích theo từng đờng nối ra (xem hình3-7b). Bảng thứ hai gọi là bảng chọn tuyến nh ở phần trớc đã xét. Trên hình 3-7 là ví dụ minh hoạ cho các bảng kể trên, trong đó hai bảng trên thuộc nút N, các nút X,Y, Z là các nút lân cận Mỗi nút trong trờng hợp này phải có khả năng thu thập các thông tin về giá thành của từng đờng nối (bao gồm cả việc các nút và đờng truyền có sự cố hay đợc phục hồi) Nếu có sự thay đổi, tất cả các nút nhận thông tin thay đổi này, tính lại bảng khoảng cách và tìm ra khoảng cách tối thiểu tới tất cả các nút còn lại Nếu nó phát hiện có sự thay đổi trong bảng khoảng cách thì nó có nhiệm vụ thông báo sự thay đổi khoảng cách tới tất cả các nút khác Các nút này dựa vào đó để tính lại các bảng của mình Nếu một nút mới đợc khôi phục, nó phải gửi thông báo tới tất cả các nút khác trong mạng đẻ chúng thiết lập lại bảng khoảng cách và bảng chọn tuyến của mình.Quá trình trao đổi thông tin này diễn ra liên tục cho đến khi nào hết các sự thay đổi Cụ thể thuật toán có 3 phần, tơng ứng với ba khả năng có thể xảy ra: nút hoặc đ- ờng nối đợc phục hồi, giá thành của đờng nối thay đổi và nhận đợc thông tin điều khiển.

Giả sử nút v là nút thực hiên thuật toán; D(v) là khoảng cách tối thiểu từ v tới đích d; w là nút lân cận của v và giá thành đờng nối từ v tới w là l(w, v) Thông số (d, w) trong bảng khoảng cách của nút v chứa giá thành Cd(v, w) từ v tới đích d qua nút w Tối thiểu hoá Cd(v, i) với i W, W là tập các nút lân cận của v cho ta Dd(v) Giả sử nút lân cận m cho ta khoảng cách tối thiểu này, khi đó dòng d trong bảng chọn tuyến của v sẽ có cặp số (m,Dd(v)).

Thuật toán đợc mô tả nh sau:

Phần 1 Phục hồi đờng nối (m, v) Khi nhận đợc thông tin này,nút v sẽ làm nh sau:

1 Đặt giá trị (m, m) trong bảng khoảng cách của mình là l(m,v).

2 Tính min Cm(v, w), wW Xác định nút p gần nhất.

3 Nếu min Cm(v,w) = Dm(v), có nghĩa là khoảng cách tối thiểu từ nút v tới nút m không đổi, thì đặt n = p trong bảng chọn tuyến ; nếu không, thì thay

Dm(v)  min Cm(v,w), wW, và dòng m trong bảng chọn tuyến thay bằng (p, Dm(v)) và nội dung mới [m, Dm(v)] đợc gửi tới tất cả các nút lân cận của v.

4 Ta đánh số cho tập đích (các hàng cho bảng chọn tuyến của nút v) là (a, b, c, , r) Sau đó, v gửi thông tin ®iÒu khiÓn [a, Dm(v)], [b, Dm(v)], , [r, Dm(v)] tíi nót m.

Thủ tục này cũng có thể đợc áp dụng khi một nút chuyển mạch m đợc phục hồi, chỉ cần thay thế các giá trị cũ và bổ sung thêm vào các bảng nút m này.

Phần 2 Thay đổi giá thành đờng m, v Cũng tơng tự nh phần 1, kho nhận thấy giá thành của đờng m, v thay đổi đi (m,v), nút v sẽ làm nh sau:

1 Cộng thêm (m,v) vào các giá trị cột m trong bảng khoảng cách của v (Nếu đờng m,v có sự cố thì thay chúng bằng giá trị vô cùng).

2 Với tất cả các nút đích d, tính min Cd(v, w), w  W, ví dụ nút p cho giá trị tối thiểu này.

3 Nếu min Cd(v, w) = Dd(v), gán n = q Ngợc lại,

Dd(v)  min Cd(v,w), w  W giá trị dòng d trong bảng chọn tuyến chuyển thành (p,

Dd(v)) và nội dung điều khiển [d, Dd(v)] đợc gửi tới tất cả các nút lân cận Chú ý rằng tin này không cần phải gửi tới các nút đích mà giá thành tới chúng không thay đổi.

(a) Nút làm việc N và nút l©n cËn cËn

Bảng khoảng cách Bảng chọn tuyến Đích Giá thành nút

Phần 3: Nút v nhận đợc thông tin điều khiển [d, Dd(w)] Nếu d = v thì chính v là đích nên bỏ qua Nếu d  v, nút v sẽ thực hiện các bớc sau:

1 Thực hiện chuyển Cd(v,w)  Dd(w) + l(w, v)

Nếu Dd(w) =  hoặc rất lớn thì Cd(w) đợc gán giá trị đó.

2 Tính min Cd(v, w), w  W Ví dụ tìm đợc nút p.

3 Nếu min Cd(v, w) = Dd(w) thì đặt n = p Ngợc lại cho

Dd(w)  min Cd(v, w), w W và thay dòng d trong bảng chọn tuyến của v bằng (p,

Dd(v)) và gửi thông tin điều khiển [d, Dd(w)] tới tất cả các nút bên cạnh.

Thuật toán này cho thấy việc tối thiểu hoá giá trị của dòng trong bảng khoảng cách sau khi đã thay thế các giá trị tơng ứng

D(v )  min [D(w) + l(w, v)] , w  W do thuật toán B thực hiện.

(b) (c) Để so sánh với hai thuật toán đã trình bày ở trên, ta xét việc áp dụng thuật toán này cho mạng ở hình 3- 5, trong đó nút 1 là nút nguồn vừa đợc phục hồi Bảng 3-3 chỉ ra dòng 1 của các bảng khoảng cách và chọn tuyến ở năm nút khác trong mạng sau mỗi vòng lặp của thuật toán Mỗi vòng lặp ứng với việc có ít nhất một nút nhận thông tin điều khiển. Khi bắt đầu thực hiện thuật toán, các nút 2, 4 lân cận nút 1 nhận ra rằng nút 1 đã đợc phục hồi nên liền tiến hành phần 1 của thuật toán, thay đổi các thông số ở cột 1 trong bảng kheoảng cách (“đờng qua nút 1”), từ giá trị vô cùng thành các gí trị xác định l(1, v), v = 2, 4 Sự thay đổi này kéo theo sự thay đổi trong bảng chọn tuyến và việc gửi các thông tin điều khiển tới các nút khác Trong ví dụ này các nút 2, 4 sẽ thay đổi giá trị khoảng cách của chúng tới nút 1 và gửi thông tin điều khiển tới tất cả các nút có liên quan Các nút nhận đ- ợc thông tin này sẽ thực hiện phần 3 của thuật toán có nghĩa là bổ sung giá thành đờng nối vào trong bảng khoảng cách, tính khoảng cách tối thiểu, đa vào bảng chọn tuyến nếu có sự thay đổi, và gửi lại tin đi tới tất cả các nút liên quan Trong bảng 3-3 đó là sự gán nhãn của vòng lặp 1 Mặc dù các thông số của bảng khoảng cách tại tất cả các nút đếu thay đổi theo kết quả của vòng lặp này, bảng chọn tuyến chỉ thay đổi tại nút 3, 5 và 6 thôi Ba nút này lại gửi các nội dung điều khiển về giá thành tới đích 1 cho tất cả các nút lân cận của chúng Sau vòng lặp 2 mô tả việc các nút nhận đợc nội dung trên và tiến hành phần 3 của thuật toán Sau vòng lặp này thì các thông số trong bảng chọn tuyến của nút 3 và nút 6 thay đổi Ta tiếp tục thực hiện vòng thứ ba Sau khi thấy không còn thay đổi gì nữa trong bảng chọn tuyến thì thuật toán dừng.

Bảng 3-3 áp dụng thuật toán B phân bố cho mạng ở h×nh 3-6

Bớc khởi đầu: Nút 1 đợc phục hồi, các nút 2, 4 thực hiện phần 1 của thuật toán

Khoản g cách Chọ n tuy Õn

Qua Qua Qua Qua Qua Qu Qua Qua Qua nQua

Bớc 1: Các nút nhận nội dung và tiến hành bớc thứ 3 của thuật toán chọn đờng.

Khoản g cách Chọ n tuy Õn

Không gửt Gửi [1, 4] tới các nút lân cËn

Không gửi Gửi [1, 2] tới các nút lân cËn

Bớc 2: Các nút nhận nội dung mới và tiến hành bớc 3 của thuật toán

Khoản g cách Chọ n tuy Õn

Không gửi Gửi [1, 3] tới các nút lân cËn

Không gửi Không gửi Gửi [1, 4] tới các nút lân cËn

Bớc 3: Các nút nhận nội dung mới và tiến hành bớc 3 của thuật toán

Khoản g cách Chọ n tuy Õn

2 8 4 5 4 Không phải gửi nội dung mới vì không có thay đổi

các giao thức chọn đờng đợc sử dụng

Một số khái niệm cơ bản

4.1.1 Hệ thống tự trị (Autonomous System - AS)

Kiến trúc mạng ban đầu đợc xây dựng xung quanh các hệ thống nhân (Core System) Ví dụ điển hình của kiến trúc mạng này là mạng ARPANET, tiền thân của mạng Internet Mạng bao gồm một bộ nhỏ các Router gọi là các Router nhân và một bộ lớn hơn các Router ở xa Các Router nhân chứa thông tin về mọi đích khả dụng, các Router ở xa chứa các thông tin bộ phận Bộ các Router nhân đợc điều hành bởi một trung tâm vận hành mạng (Internet Network Operation Center – INOC) trong khi các Router ở xa đợc điều khiển và quản lý bởi một tổ chức tại site đó Hệ thống mạng này chỉ đợc xây dựng trên một backbone duy nhất, chúng sử dụng giao thức GGP (Gateway-to-Gateway) để chọn đờng và nhìn chung là hoạt động tốt Vấn đề thực sự nảy sinh khi mạng tăng trởng Một số vấn đề về chọn đờng đã nảy sinh chẳng hạn nh việc các core Router sẽ có thể không chọn đợc tuyến đờng tối u khi tuyến đó phải đi qua backbone, hoặc khi các mạng trong một site có cấu trúc phân cấp phức tạp. Vì mục đích chọn đờng, một nhóm các mạng và các Router đợc điều khiển bởi một nhà chức trách quản lý đơn lẻ đợc gọi là hệ thống tự trị (Autonomous system) Các Router trong một hệ thống tự trị tự do chọn các phơng tiện cho nó để phát hiện, truyền bá, phê chuẩn và kiểm tra sự phù hợp của

Backbone Network các tuyến đờng Nhớ rằng dới sự định nghĩa này, core system bản thân nó hình thành một hệ thống tự trị ý tởng hệ thống tự trị là một sự khái quát hoá không phức tạp và tự nhiên của kiến trúc nhân, với các hệ thống tự trị thay thế cho các mạng cục bộ Hình sau mô tả ý tởng này:

Hình 4-1: Kiến trúc của một internet với các hệ thống tự trị tại các backbone sites Mỗi hệ thống tự trị bao gồm nhiều mạng và các Router bên dới một chính quyền quản lý.

Có vẻ nh là định nghĩa của chúng ta về hệ thống tự trị còn mơ hồ, nhng trong thực tế, những biên giới giữa các hệ thống tự trị phải chính xác để cho phép các giải thuật tự động thực hiện các quyết định chọn đờng Ví dụ, một hệ thống tự trị sở hữu bởi một công ty không thể chọn đờng cho các packets qua một hệ thống tự trị sở hữu bởi tổ chức khác dù rằng chúng kết nối trực tiếp Để làm cho giải thuật chọn đờng tự động có thể thực hiện để phân biệt giữa các hệ thống tự trị, mỗi hệ thống đợc gán một số hiệu hệ thống tự trị (autonomous system Number) bởi cùng nhà quản lý trung tâm (central authority), nơi đợc nạp cùng với tất cả địa chỉ mạng Internet Khi 2 Router trao đổi thông tin khả năng đạt tới mạng (network reachability information), các Messages mang các định danh hệ thống tự trị, cái mà các Router đại diện cho Để làm cho các mạng ẩn trong các hệ thống tự trị có thể đi tới đợc khắp Internet, mỗi hệ thống tự trị phải đồng ý báo trớc thông tin về khả năng đạt tới mạng, tới các hệ thống tự trị khác Thông thờng một Router trong một hệ thống tự trị có trách nhiệm báo trớc các tuyến đờng và tơng tác trực tiếp với một trong số các core Router Dù sao hoàn toàn có khả năng để có vài Router, mỗi cái báo tin trớc một mạng con của các mạng

Một mạng Internet TCP/IP lớn có cấu trúc bổ sung để làm phù hợp các biên giới quản lý: mỗi tập hợp của các mạng và các Router đợc quản lý bởi một chính quyền quản lý sẽ đợc xem xét để trở thành một hệ thống tự trị Một hệ thống tự trị tự do lựa chọn một kiến trúc chọn đờng bên trong, nhng phải tập hợp thông tin về tất cả các mạng của nó và chỉ định rõ một hoặc nhiều Router sẽ chuyển thông tin về khả năng có thể đạt tới các hệ thống tự trị khác Bởi vì Internet đợc kết nối dùng kiến trúc nhân, Nên mọi hệ thống tự trị phải chuyển thông tin về khả năng có thể tới cho các core Router.

Các phần sau trình bày chi tiết về giao thức các Router sử dụng để báo tin cho khả năng có thể tới mạng Các phần sau vừa trở lại các câu hỏi kiến trúc để thảo luận sự giới hạn các giao thức áp đặt trên việc chọn đờng Chúng cũng thể hiện việc làm thế nào mô hình Internet có thể đợc mở réng

4.1.2 Exterior Router và Interior Router

Hai Router trao đổi thông tin chọn đờng đợc nói là Exterior Neighbors nếu chúng thuộc về 2 hệ thống tự trị khác nhau, và là Interior Neighbor nếu chúng thuộc cùng một hệ thống tự trị Giao thức mà Exterior neighbor sử dụng để báo trớc thông tin về khả năng có thể tới cho các hệ thống tự trị khác đợc gọi là Extorior Gateway Protocol (EGP), và các Router sử dụng nó đợc gọi là Exterior Routers Trong Internet, EGP đặc biệt quan trọng bởi vì các hệ thống tự trị sử dụng nó để báo trớc thông tin về khả năng có thể tới đợc cho hệ thèng “nh©n”.

Giao thức chọn đờng EGP ( Exterior Gateway Protocol )

EGP là một giao thức chọn đờng đợc các Exterior Router sử dụng để báo tin về khả năng có thể đạt tới các mạng trong hệ thống tự trị của nó cho các hệ thống tự trị khác Hình 4-

2 minh hoạ khái niệm hai Exterior Routers R1 và R2 sử dụngEGP để báo tin cho các mạng trong hệ thống tự trị của chúng

AS1 R1 R2 AS2 sau khi thu lợm đợc thông tin Nh tên gọi của nó, Exterior Routers thờng ở gần rìa của một hệ thống tự trị

Hình vẽ minh hoạ hai Extorior neighbors sử dụng EGP. Router R1 tập trung các thông tin về các mạng trong hệ thống tự trị 1 và gửi báo cáo các thông tin đó tới Router R2 bằng việc dùng EGP, trong khi đó Router R2 sẽ gửi báo cáo thông tin từ hệ thống tự trị 2 cho R1 EGP có ba điểm chính Thứ nhất là nó hỗ trợ một công cụ dành lấy hàng xóm, công cụ cho phép một Router yêu cầu tới một Router

H×nh 4-2 khác để thoả thuận rằng cả hai Router sẽ giao tiếp thông tin về khả năng có thể tới đợc các mạng Khi đó chúng ta nói rằng một Router đã dành đợc một láng giềng EGP (EGP peer hay EGP neighbor) EGP peers là các láng giềng chỉ với nghĩa là chúng sẽ trao đổi thông tin chọn đờng, không có khái niệm gần về địa lý Một Router sẽ tiếp tục kiểm tra xem các EGP neighbors của chúng là đang tơng xứng hay không Các EGP neighbor trao đổi định kỳ các thông tin về khả năng có thể đến đợc mạng bằng việc chuyển các thông báo cập nhật chọn đờng

4.2.1 EGP Message Header Để làm phù hợp ba chức năng cơ bản, EGP định nghĩa 9 kiểu message ở bảng dới đây:

Request Router become a neighbor (peer)

Positive Response to acquisition request

Negative Reponse to acquisition Request

Request termination of neighbor relation ship

Cofirmation Response to cease Request

Request neighbor to Respond if alive Response to hello Message Requests Network Routing Update

Network reachability infor Responese to incorrect Message

Tất cả các Message EGP bắt đầu với một header cố định để định nghĩa kiểu Message Sau đây là khuôn dạng của header EGP

CHECKSUM AUTONOMOUS SYSTEM NUM SEQUENCE NUMBER

Hình 4-1 khuôn dạng của header EGP

Trờng header có nhãn là VERSION, chứa một số integer định danh Version của EGP đợc dùng để tạo khuôn dạng Message Bên nhận kiểm tra số hiệu version để xác minh là phần mềm đang dùng có giống phiên bản của giao thức hay không Trờng TYPE định danh kiểu của Message, với trờng CODE dùng để phân biệt giữa các kiểu nhỏ hơn Trờng STATUS chứa thông tin tình trạng phụ thuộc, EGP sử dụng một tổng kiểm tra để xác minh rõ là Message đến còn nguyên vẹn Nó cũng dùng giải thuật tổng kiểm tra (checksum) giống hệt IP.

Trờng AUTONOMOUS SYSTEM NUM đa ra con số đợc gán của hệ thống tự trị của Router gửi message và trờng SEQUENCE NUMBER chứa một số mà ngời gửi dùng để liên kết các phúc đáp với các Message Một Router thiết lập một giá trị thứ tự khởi đầu khi dành đợc một láng giềng và tăng số thứ tự mỗi lần nó gửi một Message Các láng giềng phúc đáp với số thứ tự cuối cùng nó nhận đợc, cho phép ngời gửi làm phù hợp các đáp ứng cho các truyền dẫn

4.2.2 Thông báo dành láng giềng EGP (EGP Neighbor Acquisition Message)

Một Router gửi các Message neighbor acquisition để thiết lập giao tiếp EGP với Router khác Nhớ rằng EGP không xác định rõ tại sao hoặc làm thế nào một Router chọn một Router khác làm láng giềng của nó Chúng ta giả sử là những lựa chọn nh thế đợc thực hiện bởi các tổ chức chịu trách nhiệm quản lý các Router và không phải bởi các phần mềm giao thức

Hơn nữa đối với các header chuẩn với một số thứ tự, các neighbor acquisition Message chứa các giá trị khởi đầu cho một khoảng thời gian (time interval) đợc sử dụng để kiểm tra là các neighbor còn sống hay là không (gọi là một hello interval), và một polling interval để điều khiển tần số tối đa của các cập nhật chọn đờng Bên gửi cung cấp một

“polling interval of n” để xác định rõ là bên nhận không nên poll lâu hơn n giây mỗi lần Ngời gửi khởi đầu có thể thay đổi khoảng thời gian poll Hơn nữa các khoảng thời gian poll các láng giềng sử dụng có thể không giống nhau, có thể một láng giềng poll thờng xuyên hơn những cái khác Hình bên biểu diễn khuôn dạng của các acquisition Message và các phúc đáp

VERSION TYPE(3) CODE(0 to 4) STATUS

CHECKSUM AUTONOMOUS SYSTEM NUM SEQUENCE NUMBER HELLO INTERVAL

Hình 4-2 Khuôn dạng của thông báo dành láng giềng EGP

Trờng CODE định danh các Message đặc biệt sau:

Acquisition Request Acquisition Confirm Acquisition Request Cease Request

4.2.3 Thông báo khả năng có thể tới đợc Router láng giềng (EGP Neighbor Reachability Messages).

EGP cho phép hai dạng kiểm tra là có một láng giềng còn sống hay không ở kiểu chủ động, các Router kiểm tra các láng giềng bằng việc gửi các thông báo loại Hello một cách định kỳ cùng với các poll Message và đợi trả lời ở dạng thụ động, một Router phụ thuộc vào láng giềng của nó để gửi các thông báo hello hoặc poll định kỳ Một Router hoạt động ở dạng thụ động sử dụng thông tin từ trờng STATUS của một reachability Message để suy ra là láng giềng thì còn sống hay không Thông thờng cả hai Router là một cặp hoạt động ở dạng chủ động

Việc tính toán khả năng có thể tới đợc láng giềng từ các trao đổi thông tin chọn đờng là rất quan trọng, bởi vì nó dẫn tới tổng chi phí (overhead) mạng thấp hơn Bởi vì thông tin chọn đờng mạng không thay đổi thờng xuyên nh tình trạng của các Router riêng biệt nên nó không cần trao đổi th- ờng xuyên Hơn nữa, các neighbor reachability message thì nhỏ và đòi hỏi việc tính toán ít, trong khi các thông báo trao đổi chọn đờng thì lớn và lại yêu cầu tính toán nhiều Và vì vậy, bằng việc phân chia ra 2 kiểu kiểm tra thì các láng giềng có thể đợc kiểm tra thờng xuyên với tổng chi phí tính toán và giao tiếp là ít nhất Hình sau cho ta thấy các yêu cầu khả năng có thể tới láng giềng chỉ gồm header message EGP.

Hình 4-3 Khuôn dạng thông báo về khả năng có thể tới đợc láng giềng EGP Mã 0 định nghĩa một Hello request mesage.Mã 1 xác định một đáp ứng “I heard you”.

Bởi vì có thể Hello message hoặc “I heard you response” bị mất khi truyền, nên EGP dùng một dạng của “K- out-of-n Rule” để xem xét kỹ là một láng giềng vừa thay đổi từ “up” thành “down” hay là không Cách tốt nhất để nghĩ về giải thuật là tởng tợng một Router gửi một số thứ tự liên tục của các Hello message và nhận I heard you response và nghĩ tới một cửa sổ spanning có k lần trao đổi gần đây nhất thất bại để Router tuyên bố là neighbor của nó “down”, và ít nhất j lần thành công để Router nói rằng neighbor của nó là “up”, một khi nó đã đợc công bố là “down” Chuẩn giao thức đề xuất những giá trị cho j và k, điều ngụ ý rằng 2 message thành công phải bị mất trớc khi EGP sẽ công bố là peer “down” (hoặc “up”)

Hiện tợng trễ đợc đa ra bởi j và k có một hiệu quả quan trọng trong toàn bộ sự thực thi của EGP Cũng nh với bất kỳ giải thuật chọn đờng nào, EGP không truyền bá những thay đổi không cần thiết Lý do thật đơn giản: những thay đổi không dừng lại sau khi một Router truyền bá chúng tới EGP láng giềng của nó Láng giềng có thể truyền bá chúng tới các Router khác cũng chẳng hại gì Việc giảm tối thiểu những thay đổi tuyến nhanh chóng là điều đặc biệt cốt yếu khi một EGP láng giềng sử dụng một giải thuật vector-distance để truyền bá các thay đổi bởi vì các thay đổi liên miên có thể khiến các giải thuật vector-distance không ổn định Vì vậy, nếu các exterior Routers báo cáo những thay đổi khả năng có thể đến mạng bất cứ khi nào một message bị mất, thì chúng có thể gây ra cho hệ thống chọn đờng còn lại trong sự quá độ liên miên

4.2.4 Các thông báo EGP poll request

“EGP poll request” và “EGP poll respone message” cho phép một Router dành đợc thông tin về khả năng có thể đạt tới mạng (network reachability information)

Trờng IP SOURCE NETWORK trong header của thông báo chỉ rõ một mạng chung đối với các hệ thống tự trị là nơi mà cả hai Router đợc gắn nối Phúc đáp sẽ chứa đựng các tuyến đờng có những khoảng cách đợc đo cùng với mối liên quan tới các Router trên mạng nguồn IP đã đợc chỉ ra

Có lẽ là rất khó hiểu tại sao EGP chọn để thực hiện một polling Request chỉ rõ một mạng nguồn Có hai lý do, lý do thứ nhất: chúng ta nhớ lại là một Router nối tới hai hoặc nhiều mạng vật lý Nếu một ứng dụng trên Router thi hành EGP, nó có thể không biết giao diện nào yêu cầu EGP đến Vì vậy, nó có thể không biết các yêu cầu chuyển đến mạng nào.Thứ hai, các Router chạy EGP thờng thu thập thông tin cho toàn bộ một hệ thống tự trị Khi báo trớc khả năng có thể đạt tới mạng, thì extorior Router gửi tới các láng giềng một bộ các cặp, trong đó mỗi cặp xác định một mạng đích trong hệ thống tự trị và Router sử dụng để đi tới đích đó Dĩ nhiên,Router sử dụng để đạt tới một đích phụ thuộc vào nơi lu thông đi vào hệ thống tự trị Mạng nguồn đã đợc đề cập trong polling Request xác định rõ điểm tại đó các packets sẽ đi vào hệ thống tự trị

4.2.5 Thông báo cập nhật chọn đờng (EGP Routing Update Message)

Các giao thức IGPs (RIP, HELLO, OSPF)

Phần trớc giới thiệu khái niệm hệ thống tự trị (Autonomous System - AS) và xem xét EGP, giao thức đợc các core Router sử dụng để báo cho các mạng bên trong hệ thống của nó cho các hệ thống tự trị khác Phần này hoàn thiện những hiểu biết của chúng ta về chọn đờng Internet bằng việc xem xét làm thế nào để một Router trong một hệ thống tự trị học đợc các mạng khác bên trong hệ thống tự trị của nó.

4.3.2.Lựa chọn giữa chọn đờng tĩnh và chọn đ- ờng động

Hai Router bên trong một hệ thống tự trị đợc nói là

“interior” đối với nhau Ví dụ: 2 core Routers của Internet là

“interior” đối với nhau bởi vì hệ thông nhân hình thành 1 hệ thống tự trị đơn lẻ Hai Router trên một khu đại học đợc xem là “interior” đối với nhau miễn là các máy trên khu này đợc tập hợp thành một hệ thống tự trị

Làm thế nào để các Routers trong một hệ thống tự trị có thể học đợc các mạng trong hệ thống tự trị ? Trong các mạng nhỏ, các internet thay đổi chậm, các message có thể thiết lập và sửa đổi các tuyến đờng bằng tay Nhà quản lý giữ một bảng các mạng và cập nhật chúng mỗi khi một mạng mới đợc thêm vào hoặc bị xoá đi khỏi hệ thống tự trị Ví dụ, xét một internet công ty nhỏ cho bởi hình sau:

Hình 4-6 Một ví dụ về một internet nhỏ gồm 5 Ethernet và 4 Router tại một site Chỉ có duy nhất một tuyến đờng tồn tại giữa bất kỳ hai host nào trong mạng.

Việc chọn đờng cho một internet nh vậy là bình thờng bởi vì chỉ có một con đờng tồn tại giữa bất kỳ 2 điểm nào. Các nhà quản lý có thể cấu hình bằng tay các tuyến đờng trong tất cả các host và các Routers Nếu internet thay đổi (chẳng hạn một mạng mới đợc thêm vào), thì nhà quản lý phải định lại cấu hình các tuyến đờng trong tất cả các máy.

Hình 4-7 Việc bổ sung R5 tạo ra một tuyến đờng thay thế giữa mạng2 và mạng3 Phần mềm chọn đờng có thể điều chỉnh nhanh chãng

Những bất lợi của một hệ thống thủ công là hiển nhiên: các hệ thống thủ công không thể phù hợp với sự tăng trởng hay sự thay đổi nhanh chóng đợc Trong các mạng lớn, các môi tr- ờng thay đổi một cách nhanh chóng, nh Internet, thì con ngời đơn giản không thể đáp ứng kịp thay đổi nhanh để xử lý các vấn đề vì vậy phơng pháp tự động phải đợc sử dụng Những phơng pháp tự động có thể cũng giúp cải tiến độ tin cậy và đáp ứng đối với những sai hỏng trong các internet nhỏ có các tuyến thay đổi Để thấy nh thế nào, xem xét kỹ những gì xảy ra nếu chúng ta thêm 1 Router vào Internet ở hình đã vẽ 4-7, tạo ra internet mới.

Trong các kiến trúc Internet có nhiều con đờng vật lý, các nhà quản lý thờng chọn một con đờng là chính (primary path) Nếu các Router dọc theo tuyến chính hỏng, các tuyến đờng phải đợc thay đổi để gửi l thông dọc theo 1 con đờng

AS1 thay thế Việc thay đổi các tuyến đờng bằng tay thì vừa tiêu phí thời gian vừa dễ gây lỗi Và vì vậy, thậm chí trong các internet nhỏ, một hệ thống tự động nên đợc sử dụng để thay đổi các tuyến đờng một cách nhanh chóng và đáng tin cËy Để thực hiện tự động nhiệm vụ lu giữ thông tin về khả năng đạt tới mạng chính xác, các Interior Routers thờng giao tiếp với một Router khác, trao đổi hoặc là dữ liệu về khả năng đạt tới mạng hoặc là thông tin chọn đờng mạng, từ đó có thể suy ra đợc khả năng đạt tới mạng Một khi thông tin khả năng đạt tới cho toàn bộ một hệ thống tự trị vừa đợc thu thập, thì một trong số các Router trong hệ thống có thể báo tin tới các hệ thống tự trị khác sử dụng EGP.

Không giống sự giao tiếp của Router loại Exterior, EGP cung cấp 1 chuẩn đợc chấp nhận rộng rãi, còn ở đây không có một giao thức chuẩn để sử dụng bên trong 1 hệ thống tự trị Một phần của lý do về việc có nhiều loại giao thức khác nhau là do sự đa dạng về topology và kỹ thuật đợc sử dụng trong các hệ thống tự trị Phần khác nữa là do bắt nguồn từ lựa chọn giữa tính đơn giản và các tính năng - các giao thức dễ dàng cài đặt và định cấu hình thì lại không cung cấp những tính năng cao Kết quả là, một nhóm các giao thức đã trở nên phổ biến, hầu hết các hệ thống tự trị sử dụng một trong số đó để truyền thông tin chọn đờng nội bộ

Bởi vì không có một chuẩn nên chúng ta sử dụng cụm từ Interior Gateway Protocol hay IGP nh là một đại diện cho bất kỳ giải thuật nào mà Interior Router sử dụng khi chúng trao đổi thông tin chọn đờng và thông tin khả năng đạt tới mạng.

Ví dụ, các Butterfly core Routers hình thành một hệ thống tự trị và đã sử dụng SPREAD nh là IGP của nó Vài hệ thống tự trị dùng EGP nh là IGP của chúng, mặc dù sự hoạ hoằn này tạo ra ý nghĩa đối với các hệ thống tự trị nhỏ mà phân nhánh các mạng cục bộ với khả năng có thể broadcast Hình sau minh hoạ một hệ thống tự trị sử dụng một IGP để truyền thông tin về khả năng có thể đạt tới mạng giữa các InteriorRouters.

Hình 4-8 Hai hệ thông tự trị sử dụng IGP bên trong và sử dụng EGP để giao tiếp giữa hai Exterrior Router R1 và R2.

Trong hình vẽ, IGP1 ám chỉ giao thức Interior Router đã sử dụng bên trong hệ thống tự trị 1 và IGP2 ám chỉ giao thức đã sử dụng bên trong hệ thống tự trị 2: “Một Router có thể sử dụng 2 giao thức chọn đờng khác nhau một cách đồng thời, một để giao tiếp với hệ thống tự trị bên ngoài và giao thức kia để giao tiếp bên trong hệ thống tự trị của nó “ Đặc biệt, các Router chạy EGP để báo tin khả năng tới mạng thờng cũng cần chạy một giao thức IGP để lấy thông tin từ bên trong hệ thống tự trị của chúng.

4.3.3.Giao thức RIP (Routing Information Protocol)

Một trong các giao thức IGP đã sử dụng nhiều nhất là RIP, cũng đợc biết bởi tên của một chơng trình thực hiện nó là

“Routed” Phần mềm “Routed” ban đầu đợc thiết kế tại tr- ờng đại học California để cung cấp chọn đờng tin cậy và thông tin khả năng có thể đạt tới mạng giữa các máy ở trên các mạng cục bộ của chúng Nó dựa vào quảng bá mạng vật lý để thực hiện những trao đổi chọn đờng một cách nhanh chóng Nó không đợc thiết kế để dùng trong các mạng lớn, các mạng diện rộng

Dựa trên những nghiên cứu nối mạng từ rất sớm tại trung tâm nghiên cứu Palo Alto của Xerox Corporation (PARC)

“Routed” thực thi một giao thức nhận đợc từ Xerox NS Routing information Protocol (RIP), nhng nãi chung nã bao trùm nhiều họ các mạng.

Bất chấp những cải tiến phụ trên những cái đi trớc của nó, sự phổ biến của RIP trong vai trò IGP không phải nảy sinh từ những giá trị kỹ thuật Thế vào đó, nó là kết quả củaBerkeley đóng góp phần mềm ‘Routed” theo cùng các hệ thống 4 BSD UNIX của họ Và vì vậy nhiều sites TCP/IP thông qua và cài đặt “Routed” và bắt đầu dùng RIP mà không xem xét tới các giá trị kỹ thuật hay những hạn chế của nó. Một khi đã đợc cài đặt và đang chạy, nó trở thành nền tảng cho chọn đờng cục bộ, và các nhóm nghiên cứu đã thông qua nó cho mạng đích.

Có thể hầu hết thực tế về RIP là nó đợc xây dựng và thông qua rộng rãi trớc khi chuẩn chính thức đợc đa ra Hầu hết những thi hành đợc nhận từ Berkeley code, với khả năng hợp tác hoạt động giữa chúng bị giới hạn bởi những sự hiểu biết chi tiết và kĩ năng của lập trình viên Khi các phiên bản RFC xuất hiện vào tháng 6 năm 1988 làm cho các nhà bán hàng có thể đảm bảo sự tơng hợp hoạt động với nó.

Các giao thức

5.1.1.Giao thức PPP (Point-to-Point Protocol)

PPP đúng nh tên gọi của nó là loại giao thức kết nối điểm- điểm (phân biệt với liên kết dạng mây nh Frame Relay, X.25) Cũng nh các giao thức nh HDLC, LAPD, LAPB và Frame Relay, giao thức PPP là giao thức lớp DataLink thờng hay đợc sử dụng cho các kế nối mạng diện rộng Đặc trng chính của PPP là:

 Là một giao thức lớp 2 cung cấp các đờng dữ liệu qua liên kết Serial loại Point-to-Point.

 Hỗ trợ cả các liên kết kiểu đồng bộ (Synchronous) và liên kết bất đồng bộ (Asynchronous).

 Có hỗ trợ chức năng dò lỗi (Error Correction).

Thông thờng khi PPP đợc sử dụng để nối giữa các Router với nhau thì nó phải hoạt động ở chế độ đồng bộ Chế độ hoạt động đồng bộ cho phép tốc độ dữ liệu cao hơn nhng giá thành thiết bị đồng bộ đắt hơn.

Một số giao thức con đợc sử dụng trong PPP để hỗ trợ cho việc đồng bộ và đóng khung dữ liệu Các giao thức con này đợc chia làm 2 nhóm khác nhau:

1) Loại không cần quan tâm tới các giao thức lớp 3 đã dùng để gửi dữ liệu qua liên kết.

2) Những cái dùng riêng cho mỗi loại giao thức khác nhau. PPP Link Control Protocol (LPC) là giao thức loại 1, nó cung cấp các chức năng cơ sở mà không cần quan tâm tới giao thức lớp 3 đã đợc sử dụng để gửi qua liên kết Còn IP Control Protocol (IPCP) là giao thức loại thứ 2, nó cung cấp việc gán địa chỉ IP Đặc trng này đợc sử dụng để mở rộng các kết nối quay số Internet ngày nay.

PPP LPC lại bao gồm: Link Quality Monitoring(LQM), Magic Number, PAP, CHAP, STAC, Multilink PPP

LQM thống kê các gói tin mất hoặc lỗi và huỷ kết nối PPP khi tỷ lệ lỗi vợt quá một giới hạn nào đó.

Magic Number dùng để phát hiện và loại bỏ các vòng lặp liên kết.

PAP và CHAP dùng để xác nhận tính hợp lệ của các thiết bị ở đầu kia của liên kết.

Multilink PPP thực hiên việc phân mảnh các gói tin để cân bằng tải qua liên kết Nó thờng đợc sử dụng khi có nhiều liên kết quay số.

Nhìn chung PPP là một giao thức rất hay đợc sử dụng để kết nối giữa các Router với nhau theo kiêủ Point-to-Point. Điều đặc biệt khi cấu hình cho các liên kết loại điểm-điểm nói chung và cho PPP nói riêng là phải đảm bảo 2 đầu của cùng một liên kết phải đợc cấu hình với cùng một giao thức.

5.1.2.Giao thức HDLC Đây là một giao thức cho tầng liên kết dữ liệu có vị trí quan trọng nhất , đợc phát triển bởi ISO để sử dụng trong cả hai trờng hợp: điểm-điểm và liên kết đa điểm Nó cho phép khai thác cả hai chiều một cách đồng thời (full-duplex). Một khung dữ liệu của HDLC có khuôn dạng tổng quát nh sau: 8 8/16 8/16 16/32

Flag Address Control Information FCS Flag

Flag : là mã đóng khung cho frame, mã này đợc chọn là

Address : là vùng ghi địa chỉ trạm đích của Frame

Control : là vùng định danh các loại Frame khác nhau dùng trong HDLC Có 3 loại khung là U, I, S.

Information : dữ liệu của lớp trên

FCS (Frame Check Sequense) : vùng ghi mã kiểm soát lỗi.

Trong các loại khung HDLC thì khung loại I là dùng để chứa thông tin, khung loại S để kiểm soát lỗi và kiểm soát luồng dữ liệu, khung loại U để định nghĩa phơng thức trao đổi dữ liệu.

Cũng nh PPP, giao thức HDLC đợc sử dụng rộng rãi trong các liên kết mạng diện rộng Đối với các sản phẩm mạng của Cisco thì giao thức đợc sử dụng trên các cổng Serial đợc thiết đặt mặc định chính là giao thức HDLC Nhìn chung thì giao thức HDLC và giao thức PPP có khá nhiều điểm t- ơng đồng.

Có rất nhiều giao thức dẫn xuất từ HDLC Tiêu biểu trong số các giao thức đó nh LAP(Link Access Procedure), LAP-

B(LAP-Balanced) ,LAP-D (LAP-D Channel), SDLC (Synchronous Data Link Control)

Trong X.25 chức năng dồn kênh đối với các liên kết logic (Virtual Circuit) chỉ đảm nhiệm việc kiểm soát lỗi cho các frame gửi qua giao diện DTE/DCE cục bộ Điều này làm tăng độ phức tạp trong việc phối hợp các thủ tục giữa hai tầng kề nhau, dẫn đến thông lợng bị hạn chế do tổng phí xử lý gói tin tăng lên.

Trái lại với Frame Relay, chức năng dồn kênh và chọn đ- ờng đợc thực hiện ở tầng 2 Hơn nữa việc chọn đờng cho các Frame lại rất đơn giản làm cho thông lợng cao hơn nhiều so với kỹ thuật chuyển mạch gói Khuôn dạng tổng quát của Frame Relay giống nh frame của HDLC, chỉ có sự khác biệt trong nội dung của vùng thông tin điều khiển (header).

Flag Header information FSC Flag

Trong vùng Header của frame có chứa các tham số:

DLCI : Data Link Connection IdentifierCE: Congestion Forward

DE : Discard Eligility DLCI dùng để định danh các liên kết dữ liệu đợc thiết lập Mỗi khi một liên kết dữ liệu đợc thiết lập thì nó gán một DLCI và giá trị này sẽ luôn đợc khai báo trong tất cả các frame dữ liệu và frame điều khiển liên quan đến liên kết đó DLCI thực ra là một tham số cục bộ và đợc dùng để chọn đờng ở mỗi nút, khi nhận đợc một frame dữ liệu, chơng trình xử lý sẽ đọc giá trị DLCI trong vùng header và kết hợp với của đờng truyền vào để xác định đờng truyền ra và giá trị DLCI t- ơng ứng Giá trị DLCI mới này sẽ đợc ghi vào header của frame và frame sẽ đợc đa vào hàng đợi để chờ gửi tiếp trên con đ- ờng đã chọn

Vì có thể có nhiều liên kết logic trên cùng một đờng truyền vật lý, các frame liên quan đến một liên kết dữ liệu nào đó lại có thể đợc tạo ra tại các thời điểm ngẫu nhiên, nên hiện tợng tắc nghẽn có thể xảy ra đối với một đờng truyền ra nào đó Các bít CF, CB và DE trong vùng Header của frame dùng để kiểm soát hiện tợng tắc nghẽn Mỗi khi frame header chuyển tiếp một frame vào hàng đợi ra, nó phải kiểm tra kích thớc của hàng đợi, nếu vợt quá một giới hạn cho trớc thì thông báo tình trạng đó cho ngời sử dụng ở hai đầu liên kết bằng cách đặt giá trị cho cho bít CF hoặc CB tuỳ theo chiều đi hay về của frame Khi bộ xử lý header trong máy ng- ời sử dụng cuối nhận đợc thông báo về tình trạng tắc nghẽn, nó sẽ tạm thời giảm tốc độ gửi frame cho tới khi không còn tín hiệu về tắc nghẽn nữa tuy nhiên trong trờng hợp quá tải nhiều thì phải thực hiện việc loại bớt các frame Bộ xử lý header trong hệ thống của ngời sử dụng cuối sẽ dùng bit DE để thực hiện việc loại bỏ bớt frame khi thấy hiện tợng vợt quá thông lợng đã thoả thuận.

Thiết kế mạng cho Công ty tin học Gold star

 Bài toán thiết kế mạng nh sau:

Công ty tin học Gold star hiện có ba chi nhánh đặt tại ba thành phố khác nhau, một đại diện ở miền Bắc tại Hà Nội, một đại diện ở miền Trung tại Đà Nẵng, và một đại diện ở miền Nam là tại thành phố Hồ Chí Minh Công ty đang phát triển nên kéo theo sự phát triển của các hệ thống mạng LAN tại mỗi nơi và điểm quan trọng hơn là nhu cầu trao đổi dữ liệu giữa các đại diện của công ty tại ba miền là rất lớn, nhằm phục vụ cho việc quản lý, trao đổi thông tin, hỗ trợ kỹ thuật lẫn nhau Tại mỗi chi nhánh đều hiện có một mạng LAN nối các máy tính giữa các phòng ban với nhau Công ty có nhu cầu muốn kết nối các mạng LAN của công ty và kết nối với máy của nhân viên tại nhà của họ để đáp ứng nhu cầu thực tế đặt ra, tạo ra một mạng Intranet thống nhất Các đờng kết nối chính công ty dự định sẽ sử dụng các đờng Leased Line thuê qua nhà cung cấp VDC Yêu cầu cho mạng là phải đáp ứng đầy đủ các yêu cầu hiện tại và phải có khả năng nâng cấp với các kỹ thuật mới cho tơng lai Cụ thể là nó phải hoạt động ổn định, có thể mở rộng theo sự lớn mạnh của công ty, có đờng truy nhập vào Internet, có thể nối với ngời dùng ở xa thông qua mạng điện thoại, có chức năng bảo mật, có khả năng quản lý, có hỗ trợ voice over IP cho ứng dụng tơng lai.

Với các yêu cầu thiết kế nh trên ta có thể đ - a ra thiÕt kÕ nh sau:

Với mạng diện rộng sản phẩm chủ yếu phải lựa chọn là các Router tại các điểm nút của mạng Mạng của ta có 3 nút nên cần 3 Router cho ba nút đó Sản phẩm lựa chọn ở đây ta chọn là các sản phẩm của hãng Cisco Về Router hãng Cisco bao gồm rất nhiều loại từ các loại nhỏ nh CISCO 800, CISCO

1000, CISCO 1600, CISCO 1700, CISCO 2500; các Router loại vừa nh CISCO 2600, CISCO 3600, CISCO 4000; các loại lớn nh CISCO 7000, CISCO 7200 và CISCO 7500, đáp ứng đa dạng các nhu cầu khác nhau: từ các văn phòng ở xa, các doanh nghiệp nhỏ, các doanh nghiệp trung bình cho tới các công ty và các hãng lớn Trong bài toán xây dựng mạng cho công ty Tin Học Gold Star thì dòng sản phẩm Router loại CISCO 2600 (3 Router CISCO 2621 cho 3 nút) là phơng án lựa chọn tối u cho bài toán này vì những lý do chính sau:

 Đáp ứng đầy đủ các yêu cầu kỹ thuật do bài toán thiết kế tạo ra.

 Đây là dòng sản phẩm mới của hãng Cisco và đã chứng minh đợc khả năng tơng thích, ổn định và độ tin cËy cao.

 Dòng sản phẩm 2600 đợc hỗ trợ một khe cắm choModule, hai khe cắm cho WIC (WAN Interface Card), đảm bảo đáp ứng nhu cầu hiện tại, có khả năng mở rộng cho tơng lai.

 Sử dụng bộ vi xử lý Motorola MPC860 (50 MHz với loại

2620 và 2621) và khả năng xử lý dữ liệu và bảng chọn đờng cao, tốc độ chuyển gói 25 000pps(Packet per second).

 Có tới 6 loại WIC cho sự lựa chọn kết nối WAN trên hai khe cắm; có rất nhiều Module để lựa chọn cho khe cắm module, phù hợp với nhiều nhu cầu ứng dụng khác nhau.

 Phần mềm IOS trên CISCO 2600 hỗ trợ nhiều loại giao thức khác nhau nh: NAT, OSPF, BGP, RADIUS (Remote Access Dial-In User Service), IP Multicast, RMON cho các giao tiếp LAN, WAN;hỗ trợ đầy đủ các phần mềm quản lý giúp cho việc cấu hình, giám sát, khắc phục lỗi; các hỗ trợ VLAN, mã hoá 3DES, các chức năng Firwall Hơn nữa với CISCO 2600 chúng ta có thể dễ dàng nâng cấp phần mềm để tạo ra các chức năng n©ng cao.

 Có khả năng hỗ trợ kỹ thuật mới nh Voice over IP, Voice over Frame Relay, ATM cho các kết nối LAN.

Lựa chọn phần mềm quản trị mạng:

Cisco Work Windows 5.0 là phần mềm cung cấp cho ng- ời sử dụng một phơng tiện hiệu quả để quản lý các thiết bị Cisco Router/Switch trên các mạng LAN/WAN Phần mềm Cisco Work sử dụng giao thức SNMP thu nhận các thông tin về trạng thái động, trạng thái tĩnh, các thông tin về cấu hình của Router, Switch Qua đó, ngời quản trị mạng có thể kiểm tra trạng thái hoạt động của mạng Các tính năng chính của phần mềm có thể đợc mô tả nh sau:

 Tự động phát hiện chủng loại thiết bị trong mạng.

 Kiểm soát lu lợng dữ liệu trong mạng.

 Quản lý thiết bị từ xa (Remote control, Remote configuration).

 Quản lý truy nhập đến từng cổng.

 Thiết đặt ngỡng cảnh báo (Threshold management).

 Giao diện với ngời sử dụng bằng đồ hoạ.

5.2.2.Lựa chọn WIC và module cho Router tại các ®iÓm kÕt nèi.

Khi cha mở rộng, bản thân CISCO 2621 đã có sẵn 2 cổng 10/100 Mbps autosensing, bởi vậy ta có sẵn 2 cổng để nối trực tiếp tới các LAN tại mỗi địa điểm Trong trờng hợp khi số lợng mạng LAN tại mỗi chi nhánh tăng lên thì có thể sử dụng một Switch nối vào cổng LAN của router, sau đó các mạng LAN nối tới các cổng trên Switch Nh vậy lựa chọn cho phần cứng tại mỗi nút WAN chỉ là lựa chọn WIC, Module để cắm vào các khe cắm mở rộng trên Router Nhìn chung quy mô tại 3 điểm WAN là tơng tự nhau nên đây sẽ là lựa chọn chung cho cả 3 nút. Để đảm bảo kết nối Router theo kiểu tam giác tại mỗi nút cần hai cổng Serial Giải pháp là chọn WIC-2T có sẵn hai cổng serial mà tốc độ tối đa trên mỗi cổng có thể đạt tới 4Mbps, hoặc là phải chọn 2 WIC loại WIC-1T chỉ có một cổng Serial trên nó Giải pháp chọn WIC-2T u việt hơn bởi vì nó chỉ cần một WIC nên ta vẫn còn d một khe cắm WIC cho ứng dụng khác Riêng tại nút Hà Nội do có thêm một đờng Leased Line kết nối tới Internet nên phải bổ sung thêm một WIC-1T để đảm bảo kết nối này.

 Để có các đờng kết nối dự phòng cho các đờng kết nối chính, các đờng kết nối tới máy của một số nhân viên tại nhà riêng của họ, ta sử dụng một Module NM- 8A/S có 8 cổng tốc độ tối đa 128Kbps và có thể chọn cấu hình để chạy ở chế độ SYN/ASYN Tạm thời chỉ cần một cổng nối qua mạng điện thoại PSTN để làm chức năng dự phòng, 7 cổng kia có thể là lựa chọn cho kết nối tới ngời dùng ở xa thông qua các Modem quay sè.

 Các thiết bị đầu cuối sử dụng ở đây cho các kết nối WAN là sản phẩm NTU (Network Terminal Unit) của hãng RAD Đây là sản phẩm đầu cuối đã khẳng định đợc uy tín ở thị trờng Việt Nam.

 Các đầu nối cho Router và NTU sử dụng chuẩn V.35

5.2.3.Sơ đồ cho mạng WAN

Sơ đồ kết nối tổng thể của mạng nh sau:

 Hệ thống đợc cấu trúc dựa trên 3 nút chính: hà nội, đà nẵng và tp hồ chí minh đợc nối với nhau qua 3 Router đặt tại mỗi nút tạo thành một mạng đồng nhất Các kết nối đợc mô tả chi tiết bởi hình vẽ sau:

 Tại 3 điểm các Router loại CISCO 2621 đợc nối với nhau bằng các cổng Serial thông qua các đờng Leased Line Tại mỗi điểm các LAN đợc nối trực tiếp tới cổng dành cho LAN trên các Router bằng cáp UTP hoặc RG-58 Riêng tại điểm Hà Nội có một đờng kết nối ra ngoài Internet thông qua đờng Leased Line nối thẳng từ cổng Serial của WIC-1T Chức năng Firewall đợc thiết lập trên Router hà nội dùng để bảo vệ mạng nội bộ khỏi những truy cập không đợc phép từ bên ngoài khi đi qua Router này Ngoài ra các Modem ở cổng A/S số 1, 2 trên các Router 2621 đợc sử dụng cho phơng án dự phòng thông qua mạng PSTN.

 Các Modem dùng cho truy cập từ xa đợc nối từ các cổng còn lại trên Module NM-8 A/S thông qua đờng điện thoại tới các ngời dùng ở xa Từ các điểm truy cập từ xa này(chẳng hạn nh từ nhà riêng) ngời dùng có thể truy xuất tới bất kỳ tài nguyên mạng nào của công ty cũng nh chia sẻ thông tin của mình với đồng nghiệp.

5.2.4.Mô tả kỹ thuật và khả năng hoạt động

Hệ thống mạng dựa trên giao thức chính là TCP/IP tại lớp Transport và Network cho các thiết bị nh trạm làm việc, máy chủ, các terminal kết nối vào hệ thống LAN/WAN của công ty. Tại bất kỳ điểm nào kết nối vào mạng ngời dùng có thể dùng những ứng dụng nh Telnet, FTP, WEB, Microsoft Windows để trao đổi dữ liệu trên mạng.

 Hoạt động của lớp Datalink:

Trong kết nối Leased line giữa các điểm theo mô hình tam giác, giao thức lớp datalink đợc sử dụng trên các cổng kết nối WAN là PPP/HDLC tạo ra một hệ thống với các kết nối điểm-điểm (point-to-point) Các gói tin đi từ Router là các gói tin lớp 3 hay còn gọi là các gói tin IP sẽ đợc các giao thức lớp

Ngày đăng: 03/07/2023, 18:25

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w