TỔNG QUAN VỀ MẠNG MÁY TÍNH
Các yếu tố của mạng máy tính
1.1.1.Đường truyền vật lý Đường truyền vật lý là thành phần để chuyển các tín hiệu điện tử giữa các máy tính Các tín hiệu điện tử đó biểu thị các dữ liệu dưới dạng xung nhị phân Tất cả các tín hiệu truyền giữa các máy tính đều ở dạng sóng điện từ và có tần số trải từ cực ngắn cho tới tần số của tia hồng ngoại.Tuỳ theo tần số của sóng điện từ mà có thể dùng các đường truyền vật lý khác nhau để truyền.
+ Các tần số Radio có thể truyền bằng cáp điện hoặc bằng các phương tiện quảng bá (broadcast)
+Sóng cực ngắn được dùng để truyền các trạm mặt đất và vệ tinh. Hoặc là dùng để truyền từ một trạm phát tới các trạm thu.
+Tia hồng ngoại là lý tưởng đối với truyền thông mạng Nó có thể truyền từ điểm tới điểm hoặc quảng bá từ một điểm tới các máy thu Tia hồng ngoại hoặc các loại tia sáng tần số cao hơn có thể truyền được qua cáp sợi quang.
Những đặc trưng cơ bản của đường truyền vật lý là: giải thông, thông lượng, độ suy hao, độ nhiễu điện từ.
Dải thông của đường truyền là độ đo phạm vi tần số mà đường truyền có thể đáp ứng được Giải thông phụ thuộc vào độ dài cáp, đường kính sợi cáp, vật liệu dùng chế tạo cáp
Thông lượng của một đường truyền (throughput) chính là tốc độ truyền dữ liệu trên đường truyền đó trong một đơn vị thời gian.Thông lượng của đường truyền phản ánh hiệu quả sử dụng đường truyền đó. Độ suy hao là giá trị phản ánh mức độ suy yếu của tín hiệu đường truyền sau khi truyền qua một đơn vị độ dài cáp. Độ nhiễu điện từ là khả năng làm nhiễu tín hiệu trên đường truyền khi cáp đi qua vùng có sóng điện từ Có hai loại đường truyền: hữu tuyến, vô tuyến được sử dụng trong việc kết nối mạng máy tính Đường truyền hữu tuyến gồm cáp đồng trục, cáp xoắn đôi, cáp sợi quang; đường truyềnvô tuyến gồm sóng radio, sóng cực ngắn, tia hồng ngoại
Tuy nhiên khi thiết kế dây cho một mạng máy tính người ta còn phải chú ý tới nhiều tham số khác như: giá thành, khả năng chịu nhiệt, khả năng chống chịu ẩm, khả năng uốn cong.
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
Dạng vòng Dạng bus Satellite hoặc radio 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.
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
Hình sao Chu trình Dạng cây
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.
1.1.3.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 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
Người ta phân loại mạng máy tính khác nhau tuỳ theo các yếu tố chính được chọn như: Khoảng cách địa lý, kỹ thuật chuyển mạch, kiến trúc mạng, cơ chế hoạt động của mạng
1.2.1.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.
1.2.2.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 lưu 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ể lưu 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 lưu 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 nhưng 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ế nhưng 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 1.2.3.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ụ:
Kiến trúc phân tầng - chuẩn hoá mạng - mô hình ISO
1.3.1.Kiến trúc phân tầng Để giảm độ phức tạp trong thiết kế và cài đặt mạng, các mạng máy tính được tổ chức thiết kế theo kiểu phân tầng (layering) Trong hệ thống thành phần của mạng được tổ chức thành một cấu trúc đa tầng, mỗi tầng được xây dựng trên tầng trước đó; mỗi tầng sẽ cung cấp một số dịch vụ cho tầng cao hơn Số lượng các tầng cũng như chức năng của mỗi tầng là tuỳ thuộc vào nhà thiết kế Ví dụ cấu trúc phân tầng mạng SNA của IBM, mạng DECnet của Digital, mạng ARPANET là có sự khác nhau
Nguyên tắc cấu trúc của mạng phân tầng là: mỗi hệ thống trong một mạng đều có cấu trúc phân tầng (Số lượng tầng, chức năng của mỗi tầng là như nhau).
Tầng i của hệ thống A sẽ hội thoại với tầng i của hệ thống B, các quy tắc và quy ước dùng trong hội thoại gọi là giao thức mức i.
Giữa hai tầng kề nhau tồn tại một giao diện (interface) xác định các thao tác nguyên thuỷ của tầng dưới cung cấp lên tầng trên
Trong thực tế dữ liệu không truyền trực tiếp từ tầng i của hệ thống này sang tầng i của hệ thống khác (trừ tầng thấp nhất trực tiếp sử dụng đường truyền vật lý để truyền các xâu bít (0.1) từ hệ thống này sang hệ thống khác).
Dữ liệu được truyền từ hệ thống gửi (sender) sang hệ thống nhận (receiver) bằng đường truyền vật lý và cứ như vậy dữ liệu lại đi ngược lên các tầng trên.Như vậy khi hai hệ thống liên kết với nhau, chỉ tầng thấp nhất mới có liên kết vật lý còn ở tầng cao hơn chỉ có liên kết logic (liên kết ảo) được đưa vào để hình thức hoá các hoạt động của mạng thuận tiện cho việc thiết kế và cài đặt các phần mềm truyền thông Như vậy để viết chương trình cho tầng N, phải biết tầng N+1 cần gì và tầng N+1 có thể làm được gì
Hình 1-4 Minh họa kiến trúc phân tầng tổng quát
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 bưu 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 nhưng 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).…
Application Presentation Session Transport Network Data Link Physical
Application Presentation Session Transport Network Data Link Physical
78098022 Hinh 1-5 Các chuẩn cho kiến trúc phân tầng của CCITT và ISO
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
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 nhưng 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.
2 Liên kết dữ liệu 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.
4 Tầng giao vậ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 tán.
Hình 1-7 Chức năng các tầng trong mô hình OSI 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
Kết nối các mạng máy tính
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
16 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
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.
GIAO THỨC TCP/IP
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 Nhưng 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, nhưng 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, lưu 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
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ươ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 Transport yêu cầu.
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 lưu 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
Mô hình phân lớp Đối tượng được chuyển giữa các lớp
Message or Streams Transport Protocol Packets
IP Datagrams Network-Specific Frames
Hình 2-1 Mô hình phân lớp của TCP/IP
Network Interface Physcal net 1 Physcal net 2
(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, nhưng 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 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ớpTransport, 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 đó là: giao thức TCP, UDP cho lớpTransport và giao thức IP, ICMP cho lớp Internet.
Các giao thức lớp Internet (Internet Protocol - IP)
Internet protocol (IP), là tên gọi giao thức lớp Internet định nghĩa các phương tiện giao phát unreliable, connectionless, và thường được biết với cái tên tắt là IP Trước nhất, giao thức IP định nghĩa những đơn vị của việc truyền dữ liệu được dùng qua một mạng TCP/IP internet Vì vậy, nó xác định chính xác khuôn dạng của tất cả dữ liệu khi nó được chuyển qua một mạng TCP/IP internet Thứ hai, phần mềm IP thực hiện chức năng chọn đường để chọn ra con đường để gửi dữ liệu qua Thứ ba, để thêm vào tính chính xác các đặc tả kĩ thuật của khuôn dạng dữ liệu và chọn đường thông thường, IP gồm có cả một tập các luật biểu hiện cho ý tưởng của hệ thống giao phát gói tin unreliable Các luật chỉ rõ việc làm thế nào để các hosts và các Routers xử lý các gói tin, làm thế nào và khi nào các thông báo lỗi sẽ được phát đi, và các điều kiện cho việc huỷ gói tin IP là phần chủ yếu của thiết kế nên một mạng TCP/IP internet đôi khi còn được gọi là một mạng dựa trên kĩ thuật IP (IP-based technology) Chúng ta sẽ lần lượt xem xét các vấn đế được đề cập trong IP.
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
Hình 2-2 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
22 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ụ nhưng 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ể.
Datagram Header Datagram Data Area
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 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.Nhưng 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ó.
Net 3 MTU00 Để 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
Các giao thức tầng giao vận
Trong bộ giao thức TCP/IP có hai giao thức thông dụng nhất cho tầng Transport là UDP và TCP
2.4.1.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ụ bưu 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ơn TCP do nó chỉDATA 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 (Transmission Control Protocol ).
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
34 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:
Sequence Number Acknowledgement Number OffsetData Reserveed U
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
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 bit URG đượ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
SYS SEQ 50 ACK 51,SYS 200 ACK 201
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, 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à 201 Đó là
"ACK 201" trong bó dữ liệu Sau khi kết nối được mở và báo nhận, máy A máy B sẽ gửi các thông điệp kết nối mở (connection open) qua ULP tới ứng dụng yêu cầu.
Truyền dữ liệu (Data Transfer)
SEQ 475, ACK 101 FIN SEQ 475, ACK 101 ACK 476
Các ứng dụng cơ bản trên Internet
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
Hệ đăng nhập từ xa của máy Client
Hệ đăng nhập từ xa của máy Server
TCP/IP Port 23 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 lưa 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
Chdir directory bản.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 Mail.
Dir [directory] Chuyển một danh sách thư mục
Is [directory] dài.Chuyển một danh sách thư mục ngắn.
Quit Kết thúc phiên làm việc (chỉ gồm tên).
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 để
TTY network 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 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).
2.5.3.Truyền tệp - FTP (File Transfer Protocol)
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 Đây là dịch vụ cho phép người sử dụng đăng nhập vào máy ở xa nhưng 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 nhưng 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 Nhưng 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 nhưng 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 nhưng đ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.
2.5.4.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.
GOR EDU COM MIL ORG CON
NR Request Bảng tham chiếu
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.
TỔNG QUAN KĨ THUẬT CHỌN ĐƯỜNG
Chọn đường truyền gói
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 nhưng 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.
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ễ Điều khiển luồng Tạo tuyến cho gói
Chọn tuyến tồi 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 trưng bao giờ cũng xác lập sự cân bằng giưa 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 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
Tải đưa tới Khả thông
Trễ Tải bị từ chốiHình 3.1: Tương hoạt giữa chọn tuyến và điều khiển luồng
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
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.
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, nhưng 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
3.2.1.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
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, 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ể nhưng 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 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ì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)
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 đưoừ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.
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)
Phần lớn các mạng chuyển mạch gói sử dụng các thuật toán khác nhau của phương pháp chọn tuyến đường ngắn nhất do lớp mạng thực hiện.Một số mạng chọn tuyến theo theo cách thức tập trung, thiết lập đường dẫn giữa nút nguồn và nút đích ở trung tâm điều hành mạng NMC (Network Management Center) hay trung tâm điều khiển chọn tuyến RCC (Routing Control Center) rồi sau đó phân phối các thông tin chọn tuyến tới tất cả các nút chuyển mạch trong mạng Các mạng khác sử dụng cách thức phi tập trung hay còn gọi là cách thức phân bố, từng nút trao đổi thông tin chọn tuyến và giá thành với các nút khác trong mạng trên cơ sở tương tác cho đến khi các bảng chọn tuyến đáp ứng được yêu cầu chọn tuyến ngắn nhất
Trong phần này chúng ta mô tả hai thuật toán chọn đường ngắn nhất.Trong một số mạng, người ta chọn ra một loạt các đường dẫn, được xếp thứ
5 tự `theo giá thành, khi trên một đường dẫn xảy ra sự cố, ta có thể thay bằng đường khác theo danh mục đã có.
3.3.1.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 đủ lưu trong các cơ sở dữ liệu trung tâm (Central Database) Trong thí dụ 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:
Hình 3.6: Thuật toán được áp dụng cho mạng hình 3-5 với nút 1 là nút nguồn
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
{ 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;
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ỏ nhất}end; 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
3.3.2.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
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:
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ố.
3.3.3.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), nhưng 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
58 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
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
Backbone Network 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 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ồ, nhưng 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, nhưng 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 )
để 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ụng EGP để báo tin cho các mạng trong hệ thống tự trị của chúng 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ộtRouter 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:
Kiểu Message (EGP Message Type) Mô tả (Description)
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
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
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
Trường CODE định danh các Message đặc biệt sau:
Acquisition Request Acquisition Confirm Acquisition Request Cease Request Cease Confirm
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 lưu 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
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
R5 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 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ụ lưu 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ừ InteriorGateway 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 Interior Routers.
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), nhưng 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ủa Berkeley đó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ó.
THIẾT KẾ MẠNG CHO CÔNG TY TIN HOC
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 trưng 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 nhưng 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ó
Frame Header cung cấp việc gán địa chỉ IP Đặc trưng 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 8 bits
Flag Address Control Information FCS Flag
Flag : là mã đóng khung cho frame, mã này được chọn là 01111110 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 Identifier CE: 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 cho Module, 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 lưu 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 chưa mở rộng, bản thân CISCO 2621 đã có sẵn 2 cổng 10/100Mbps 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ênRouter 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 2 này xử lý bằng việc bọc chúng trong các khung dữ liệu lớp 2 và truyền đi Tại đầu kia của kết nối quá trình xử lý ngược lại được thực hiện để tạo lại các gói tin ở lớp 3 Tại lớp 2 dữ liệu có thể cũng được nén để tiết kiệm băng thông.
Trên các cổng LAN của router hỗ trợ các cổng tốc độ cao 10/100Mbps loại autosensing sử dụng các giao thức 802.3u(100Mbps) hay 802.3 (10Mbps).