Giáo trình môn học Mạng máy tính
Bạn đang xem 20 trang mẫu của tài liệu "Giáo trình môn học Mạng máy tính", để tải tài liệu gốc về máy bạn click vào nút DOWNLOAD ở trên
Tài liệu đính kèm:
- giao_trinh_mon_hoc_mang_may_tinh.pdf
Nội dung text: Giáo trình môn học Mạng máy tính
- Giáo trình Mạng máy tính
- MỤC LỤC MỤC LỤC 1 CHƯƠNG 1. NHẬP MÔN MẠNG MÁY TÍNH 5 1.1. MỞ ĐẦU 5 1.2. CÁC KHÁI NIỆM CƠ BẢN 5 1.2.1. Lịch sử phát triển 5 1.2.2. Các yếu tố của mạng máy tính 7 1.2.2.1. Đường truyền vật lý 8 1.2.2.2. Kiến trúc mạng máy tính 9 1.2.3. Phân loại mạng máy tính 11 1.2.3.1. Theo khoảng cách địa lý 11 1.2.3.2. Dựa theo kỹ thuật chuyển mạch 11 1.2.3.3. Phân loại theo kiến trúc mạng 14 1.3. KIẾN TRÚC PHÂN TẦNG VÀ MÔ HÌNH OSI 14 1.3.1. Kiến trúc phân tầng 14 1.3.2. Một số khái niệm cơ bản 15 1.3.3. Mô hình OSI 16 1.3.3.1. Giới thiệu 16 1.3.3.2. Chức năng các tầng trong mô hình OSI 17 1.3.3.3. Các dịch vụ và hàm 19 1.3.4. Các mô hình chuẩn hoá khác 22 1.3.4.1. Mô hình TCP/IP 22 1.3.4.2. Mô hình SNA 23 1.4. HỆ ĐIỀU HÀNH MẠNG 25 1.4.1. Đặc điểm quy định chức năng của một hệ điều hành mạng. 25 1.4.2. Các tiếp cận thiết kế và cài đặt 26 1.4.3. Các kiểu hệ điều hàng mạng 27 1.4.3.1. Kiểu ngang hàng (peer-to-peer) 28 1.4.3.2. Kiểu hệ điều hành mạng có máy chủ (server based network) 28 1.4.3.3. Mô hình khách/chủ (client/server) 29 1.4.4. Các chức năng của một hệ điều hành mạng 31 1.5. KẾT NỐI LIÊN MẠNG 32 1.5.1. Các tiếp cận 32 1.5.2. Giao diện kết nối 33 1.6. CÂU HỎI VÀ BÀI TẬP 33 CHƯƠNG 2. KIẾN TRÚC PHÂN TẦNG OSI 34 2.1. TẦNG VẬT LÝ (PHYSICAL) 34 2.1.1. Vai trò và chức năng của tầng vật lý. 34 1
- 2.1.2. Các chuẩn cho giao diện vật lý 35 2.2. TẦNG LIÊN KẾT DỮ LIỆU (DATA LINK) 36 2.2.1. Vai trò và chức năng của tầng liên kết dữ liệu 36 2.2.2. Các giao thức của tầng liên kết dữ liệu 37 2.2.3. Các giao thức hướng ký tự 37 2.2.4. Các giao thức hướng bit 41 2.3. TẦNG MẠNG (NETWORK) 43 2.3.1. Vai trò và chức năng của tầng mạng 43 2.3.2. Các kỹ thuật chọn đường trong mạng máy tính 44 2.3.2.1. Tổng quan 44 2.3.2.2. Các giải thuật tìm đường tối ưu 45 2.3.3. Tắc nghẽn trong mạng 47 2.3.4. Giao thức X25 PLP 48 2.3.5. Công nghệ chuyển mạch nhanh 50 2.3.5.1. Mạng chuyển mạch khung – Frame Relay (FR) 50 2.3.5.2. Kỹ thuật ATM 51 2.3.6. Dịch vụ OSI cho tầng mạng 52 2.4. TẦNG GIAO VẬN (TRANSPORTATION) 52 2.4.1. Vai trò và chức năng của tầng Giao vận 52 2.4.2. Giao thức chuẩn cho tầng Giao vận 52 2.4.3. Dịch vụ OSI cho tầng Giao vận 53 2.5. TẦNG PHIÊN (SESSION) 53 2.5.1. Vai trò và chức năng của tầng Phiên 53 2.5.2. Dịch vụ OSI cho tầng Phiên 54 2.5.3. Giao thức chuẩn cho tầng Phiên 54 2.6. TẦNG TRÌNH DIỄN (PRESENTATION) 54 2.6.1. Vai trò và chức năng của tầng Trình diễn 54 2.6.2. Dịch vụ OSI cho tầng Trình diễn 54 2.6.3. Giao thức chuẩn cho tầng Trình diễn 54 2.7. TẦNG ỨNG DỤNG (APPLICATION) 55 2.7.1. Vai trò và chức năng của tầng Ứng dụng 55 2.7.2. Chuẩn hoá tầng ứng dụng 55 2.8. CÂU HỎI VÀ BÀI TẬP 55 CHƯƠNG 3. MẠNG CỤC BỘ – MẠNG LAN 56 3.1. ĐẶC TRƯNG MẠNG CỤC BỘ 56 3.2. KIẾN TRÚC MẠNG CỤC BỘ 56 3.2.1. Topology 56 3.2.1.1. Hình sao (star) 56 3.2.1.2. Hình vòng (ring) 57 2
- 3.2.1.3. Dạng đường thẳng (Bus) 57 3.3.2. Đường truyền vật lý 59 3.3. CÁC PHƯƠNG PHÁP TRUY NHẬP ĐƯỜNG TRUYỀN VẬT LÝ 60 3.3.1. Giới thiệu 60 3.3.2. Phương pháp CSMA/CD 61 3.3.3. Phương pháp Token Bus 62 3.3.4. Phương pháp Token Ring 63 3.3.5. So sánh các phương pháp 64 3.4. PHẦN CỨNG VÀ CÁC THIẾT BỊ MẠNG 65 3.4.1. Thiết bị cấu thành mạng máy tính 65 3.4.2. Các thiết bị ghép nối mạng 66 3.5. CÁC CHUẨN LAN 67 3.5.1. Chuẩn Ethernet 67 3.5.1.1. 10BASE-5 68 3.5.1.2. 10BASE-2 69 3.5.1.3. 10BASE-T 70 3.5.2. Token Ring 72 3.5.3. FDDI (Fiber Distributed Data Interface) 73 3.5. CÂU HỎI VÀ BÀI TẬP 73 CHƯƠNG 4. NHỮNG VẤN ĐỀ CƠ BẢN CỦA MẠNG MÁY TÍNH 74 4.1. KIỂM SOÁT LỖI 74 4.1.1. Phương pháp phát hiện lỗi với bít chẵn lẻ 74 4.1.2. Phương pháp mã sửa sai Hamming 74 4.1.3. Phương pháp mã dư vòng (CRC) 75 4.2. ĐIỀU KHIỂN LƯU LƯỢNG VÀ ĐIỀU KHIỂN TẮC NGHẼN 76 4.2.1. Các khái niệm 76 4.2.2. Điều khiển lưu lượng theo cơ chế cửa sổ trượt 77 4.2.3. Điều khiển tắc nghẽn 79 4.2.3.1. Hiện tượng tắc nghẽn 79 4.2.3.2. Các giải pháp điều khiển tắc nghẽn 80 4.3. AN TOÀN THÔNG TIN TRÊN MẠNG 81 4.3.1. Giới thiệu 81 4.3.2. Các lớp bảo mật trong mạng 82 4.3.3. Bảo vệ dữ liệu bằng mật mã 83 4.3.3.1. Quy trình mật mã 84 4.3.3.2. Phương pháp đổi chỗ 85 4.3.3.3. Phương pháp thay thế 86 4.3.3.4. Phương pháp sử dụng chuẩn mật mã (DES) 87 4.3.3.4. Phương pháp sử dụng khóa công khai (Public key) 89 3
- 4.3.3.5. So sánh các phương pháp mật mã 93 4.5. Đánh giá hiệu năng mạng 94 4.5.1. Khái niệm hiệu năng và các độ đo hiệu năng mạng 94 4.5.2. Tầm quan trọng của việc đánh giá hiệu năng mạng máy tính 95 4.5.3. Các phương pháp đánh giá hiệu năng mạng 95 4.6. CÂU HỎI VÀ BÀI TẬP 97 CHƯƠNG 5. TCP/IP VÀ INTERNET 98 5.1. GIỚI THIỆU CHUNG VỀ INTERNET 98 5.1.1. Lịch sử phát triển của mạng Internet và bộ giao thức TCP/IP 98 5.1.2. Sự tăng trưởng của Internet 99 5.2. KIẾN TRÚC MẠNG INTERNET 100 5.2.1. Mô hình TCP/IP 100 5.2.2. Họ giao thức TCP/IP 102 5.3. GIAO THỨC TCP 103 5.3.1. Giới thiệu 103 5.3.2. Cấu trúc gói số liệu TCP 103 5.3.3. Thiết lập và kết thúc kết nối TCP 105 5.3.3. Điều khiển lưu lượng trong TCP 105 5.3.3.1. Khởi động chậm 105 5.3.3.2. Tính thời gian khứ hồi một cách thông minh 107 5.3.3.3. Tránh tắc nghẽn 108 5.3.4. Giao thức UDP (User Datagram protocol) 111 5.4. GIAO THỨC LIÊN MẠNG IP 112 5.4.1. Giới thiệu 112 5.4.2. Cấu trúc gói số liệu IP 112 5.4.3. Các lớp địa chỉ IP 114 5.4.4. Các bước thực hiện của giao thức IP 115 5.5. PHÂN CHIA MẠNG CON 116 5.6. ĐỊA CHỈ IPV6 117 5.7. INTRANET VÀ INTERNET 117 5.8. MỘT SỐ ỨNG DỤNG TRÊN INTERNET 117 5.9. CÂU HỎI VÀ BÀI TẬP 117 DANH MỤC TÀI LIỆU THAM KHẢO 118 4
- CHƯƠNG 1. NHẬP MÔN MẠNG MÁY TÍNH 1.1. MỞ ĐẦU Mạng máy tính phát sinh từ nhu cầu muốn chia sẻ, dùng chung tài nguyên và cho phép giao tiếp trực tuyến (online) cũng như các ứng dụng đa phương tiện trên mạng. Tài nguyên gồm có tài nguyên phần mềm (dữ liệu, chương trình ứng dụng, ) và tài nguyên phần cứng (máy in, máy quét, CD ROM,.). Giao tiếp trực tuyến bao gồm gửi và nhận thông điệp, thư điện tử. Các ứng dụng đa phương tiện có thể là phát thanh, truyền hình, điện thoại qua mạng, hội thảo trực tuyến, nghe nhạc, xem phim trên mạng. Trước khi mạng máy tính được sử dụng, người ta thường phải tự trang bị máy in, máy vẽ và các thiết bị ngoại vi khác cho riêng mình. Để có thể dùng chung máy in thì mọi người phải thay phiên nhau ngồi trước máy tính được nối với máy in. Khi được nối mạng thì tất cả mọi người ngồi tại các vị trí khác nhau đều có quyền sử dụng máy in đó. Sự kết hợp của máy tính với các hệ thống truyền thông, đặc biệt là viễn thông, đã tạo ra cuộc cách mạng trong vấn đề tổ chức khai thác và sử dụng hệ thống máy tính. Mô hình tập trung dựa trên máy tính lớn được thay thế mô hình các máy tính đơn lẻ được kết nối lại để cùng thực hiện công việc, hình thành môi trường làm việc nhiều người sử dụng phân tán, cho phép nâng cao hiệu quả khai thác tài nguyên chung từ những vị trí địa lý khác nhau. Các hệ thống như thế được gọi là mạng máy tính. Mạng máy tính ngày nay đã trở thành một lĩnh vực nghiên cứu phát triển và ứng dụng cốt lõi của Công nghệ thông tin. Các lĩnh vực nghiên cứu phát triển và ứng dụng của mạng: kiến trúc mạng, nguyên lý thiết kế, cài đặt và các ứng dụng trên mạng. 1.2. CÁC KHÁI NIỆM CƠ BẢN 1.2.1. Lịch sử phát triển Cuối những năm 60 đã xuất hiện các mạng xử lý gồm các trạm cuối (terminal) thụ động được nối vào một máy xử lý trung tâm. Máy tính trung tâm hầu như đảm nhiệm tất cả mọi việc từ xử lý thông tin, quản lý các thủ tục truyền dữ liệu, quản lý sự đồng bộ của các trạm cuối, quản lý các hàng đợi, xử lý các ngắt từ các trạm cuối, Mô hình này bộc lộ các yếu điểm như: tốn quá nhiều vật liệu (đường truyền) để nối các trạm với trung tâm, máy tính trung tâm phải làm việc quá nhiều dẫn đến quá tải. Để giảm nhẹ nhiệm vụ của máy tính trung tâm người ta gom các trạm cuối vào bộ gọi là bộ tập trung (hoặc bộ dồn kênh) trước khi chuyển về trung tâm. Các bộ này có chức năng tập trung các tín hiệu do trạm cuối gửi đến vào trên cùng một đường truyền. Sự khác nhau giữa hai thiết bị này thể hiện ở chỗ: − Bộ dồn kênh (multiplexor): có khả năng truyền song song các thông tin do trạm cuối gửi về trung tâm. − Bộ tập trung (concentrator): không có khả năng này, phải dùng bộ đệm để lưu trữ tạm thời dữ liệu 5
- Trong hệ thống này, mọi sự liên lạc giữa các trạm cuối với nhau phải đi qua máy tính trung tâm, không được nối trực tiếp với nhau Æhệ thống trên không được gọi là mạng máy tính mà chỉ được gọi là mạng xử lý (hình 1.1). Máy tính trung tâm PC Bộ tiền xử lý Bộ tập trung/ bộ dồn kênh PC PC Bộ tập trung PC PC PC PC PC PC Hình 1.1. Mạng xử lý với các bộ tiền xử lý Từ cuối những năm 70, các máy tính được nối trực tiếp với nhau để tạo thành mạng máy tính nhằm phân tán tải của hệ thống và tăng độ tin cậy. PC Bộ tiềnxử PC Bộ tiền xử lý Bộ tiền xử lý PC PC PC PC PC PC Bộ tập trung PC PC PC Hình 1.2. Mạng máy tính- nốitrựctiếp các bộ tiền xử lý 6
- Cũng những năm 70 xuất hiện khái niệm mạng truyền thông (communication network), trong đó các thành phần chính của nó là các nút mạng (Node), được gọi là bộ chuyển mạch (switching unit) dùng để hướng thông tin tới đích. Các nút mạng được nối với nhau bằng đường truyền gọi là khung của mạng. Các máy tính xử lý thông tin của người sử dụng (host) hoặc các trạm cuối (terminal) được nối trực tiếp vào các nút mạng để khi cần thì trao đổi thông tin qua mạng. Bản thân các nút mạng thường cũng là máy tính nên có thể đồng thời đóng cả vai trò máy của người sử dụng. Vì vậy chúng ta không phân biệt khái niệm mạng máy tính và mạng truyền thông. (Xem hình 1.3). T T H Nút mạng Chú thích: T (Terminal): H thi ết bị đầu cuối H (Host): máy chủ, máy trạm T T H T Hình 1.3. Một mạng truyền thông Các máy tính được kết nối thành mạng nhằm đạt các mục đích sau: - Chia sẻ các tài nguyên có giá trị cao (thiết bị, chương trình, dữ liệu, ) không phụ thuộc vào khoảng cách địa lý của tài nguyên và người sử dụng. - Tăng độ tin cậy của hệ thống: do có khả năng thay thế khi xảy ra sự cố đối với một máy tính nào đó. 1.2.2. Các yếu tố của mạng máy tính Mạng máy tính có thể được định nghĩa: mạng máy tính là tập hợp các máy tính được nối với nhau bởi các đường truyền vật lý theo một kiến trúc nào đó. Như vậy có hai khái niệm mà chúng ta cần phải làm rõ, đó là đường truyền vật lý và kiến trúc của một mạng máy tính. 7
- 1.2.2.1. Đường truyền vật lý Đường truyền vật lý dùng để chuyển các tín hiệu giữa các máy tính. Các tín hiệu đó biểu thị các giá trị dữ liệu dưới dạng các xung nhị phân (on - off). Tất cả các tín hiệu đó đều thuộc dạng sóng điện từ (trải từ tần số sóng radio, sóng ngắn, tia hồng ngoại). Ứng với mỗi loại tần số của sóng điện tử có các đường truyền vật lý khác nhau để truyền tín hiệu. Hiện nay có hai loại đường truyền: + Đường truyền hữu tuyến: cáp đồng trục, cáp đôi dây xoắn (có bọc kim, không bọc kim), cáp sợi quang. + Đường truyền vô tuyến: radio, sóng cực ngắn, tia hồng ngoại. Cáp đồng trục dùng để truyền các tín hiệu số trong mạng cục bộ hoặc làm mạng điện thoại đường dài. Cấu tạo gồm có một sợi kim loại ở trung tâm được bọc bởi một lớp cách điện và một lưới kim loại chống nhiễu. Ở ngoài cùng là vỏ bọc cách điện. Sợi kim loại trung tâm và lưới kim loại làm thành hai sợi dẫn điện đồng trục Hình 1.4. Cáp đồng trục Có hai loại cáp đồng trục khác nhau với những chỉ định khác nhau về kỹ thuật và thiết bị ghép nối đi kèm: cáp đồng trục mỏng (giá thành rẻ, dùng phổ biến), cáp đồng trục béo (đắt hơn, có khả năng chống nhiễu tốt hơn, thường được dung liên kết mạng trong môi trường công nghiệp). Cáp đôi dây xoắn: được sử dụng rộng rãi trong các mạng điện thoại có thể kéo dài hàng cây số mà không cần bộ khuyếch đại. Cấu tạo gồm nhiều sợi kim loại cách điện với nhau. Các sợi này từng đôi một xoắn lại với nhau nhằm hạn chế nhiễu điện từ. Có hai loại cáp xoắn đôi được sử dụng hiện nay: cáp có bọc kim loại (STP), cáp không bọc kim loại (UTP). Cáp sợi quang: là cáp truyền dẫn sóng ánh sáng, có cấu trúc tương tự như cáp đồng trục với chất liệu là thuỷ tinh. Tức là gồm một dây dẫn trung tâm (một hoặc một bó sợi thuỷ tinh hoặc plastic có thể truyền dẫn tín hiệu quang) được bọc một lớp áo có tác dụng phản xạ các tín hiệu trở lại để giảm sự mất mát tín hiệu. Có hai loại cáp sợi quang là: single-mode (chỉ có một đường dẫn quang duy nhất), multi-mode (có nhiều đường dẫn quang). Cáp sợi quang có độ suy hao tín hiệu thấp, không bị ảnh hưởng của nhiễu điện từ và các hiệu ứng điện khác, không bị phát hiện và thu trộm, an toàn thông tin trên mạng được bảo đảm. Tuy nhiên cáp sợi quang khó lắp đặt, giá thành cao. Sóng cực ngắn thường được dùng để truyền giữa các trạm mặt đất và các vệ tinh. Chúng để truyền các tín hiệu quảng bá từ một trạm phát tới nhiều trạm thu. 8
- Sóng hồng ngoại: Môi trường truyền dẫn sóng hồng ngoại là một môi trường định hướng, trong diện hẹp vì vậy nó chỉ thích hợp cho một mạng diện hẹp bán kính từ 0.5m đến 20 m, với các thiết bị ít bị di chuyển. Tốc độ truyền dữ liệu xung quanh 10Mbps Sóng radio: môi trường truyền dẫn sóng radio là một môi trường định hướng trong mạng diện rộng với bán kính 30 km. Tốc độ truyền dữ liệu hàng chục Mbps. Liên quan đến đường truyền vật lý chúng ta có các khái niệm sau: - Băng thông (còn gọi là dải thông - bandwidth): Băng thông là một khái niệm cực kỳ quan trọng trong các hệ thống truyền thông. Hai phương pháp xem xét băng thông có tầm quan trọng trong nghiên cứu các mạng là băng thông tương tự (analog) và băng thông số (digital). Băng thông tương tự là độ đo phạm vi tần số mà đường truyền có thể đáp ứng được trong một hệ thống điện tử dùng kỹ thuật tương tự. Đơn vị đo lường cho băng thông tương tự là Hz, hay số chu kỳ trên giây. Ví dụ, băng thông của cáp điện thoại là 400-4000Hz, có nghĩa là nó có thể truyền các tín hiệu với các tần số nằm trong phạm vi từ 400 đến 4000Hz. Băng thông số đo lường lượng thông tin tối đa từ nơi này đến nơi khác trong một thời gian cho trước. Đơn vị cơ bản đo lường băng thông số là bít/giây (bps) và các bội của nó là Kilôbit/giây (kbps), Megabit/giây (Mbps), Gigabit/giây (Gbps), Terabit/giây (Tbps) Băng thông của cáp truyền phụ thuộc vào độ dài cáp. Cáp càng dài thì băng thông càng giảm. Do vậy khi thiết kế mạng phải chỉ rõ độ dài chạy cáp tối đa, bởi vì ngoài giới hạn dố thì chất lượng truyền tín hiệu không còn được bảo đảm. - Thông lượng (throughput): thông lượng là lượng thông tin thực sự được truyền qua trong một đơn vị thời gian. Cũng như băng thông, đơn vị của thông lượng là bps và các bội của nó: Kbps, Mbps, Gbps, Gbps, Tbps. Trong một mạng LAN băng thông có thể cho phếp 100Mbps, nhưng điều này không có nghĩa là mỗi người dùng trên mạng đều có thể di chuyển thực sự 100 Megabit dữ liệu trong một giây. Điều này chỉ đúng trong những điều kiện vô cùng lý tưởng. Do nhiều lý do, thông lượng thường nhỏ hơn rất nhiều so với băng thông số tối đa của môi trường mạng. - Hiệu suất sử dụng đường truyền (utilization): Đại lượng này đặc trưng cho hiệu suất phục vụ của đường truyền trong mạng. Nó được đo bằng tỷ lệ % giữa thông lượng và băng thông của đường truyền. - Độ trễ (delay): độ trễ là thời gian cần thiết để truyền một gói tin từ nguồn đến đích. Độ trễ thường được đo bằng miligiây (ms), giây (s). Độ trễ phụ thuộc vào băng thông của mạng. Băng thông càng lớn thì độ trễ càng nhỏ. - Độ suy hao là độ đo sự yếu đi của tín hiệu trên đường truyền. Nó cũng phụ thuộc vào độ dài cáp. Còn độ nhiễu từ gây ra bởi tiến ồn điện từ bên ngoài làm ảnh hưởng đến tín hiệu trên đường truyền. 1.2.2.2. Kiến trúc mạng máy tính Kiến trúc mạng máy tính (network architecture) thể hiện cách nối các máy tính với nhau ra sao và tập hợp các quy tắc, quy ước mà tất cả các thực thể tham gia truyền thông trên mạng phải tuân theo để đảm bảo cho mạng hoạt động tốt. 9
- Cách nối các máy tính được gọi là hình trạng (topolopy) của mạng hay nói cho gọn là topo mạng. Còn tập hợp các quy tắc, quy ước truyền thông được gọi là giao thức (protocol) của mạng. Topo và giao thức là hai khái niệm rất cơ bản của mạng máy tính, vì thế chúng sẽ được trình bày cụ thể hơn trong những phần sau: y Topo mạng Có hai kiểu kết nối mạng chủ yếu là điểm - điểm (point-to-point) và quảng bá (broadcast hay point-to-multipoint). Theo kiểu kết nối điểm - điểm, các đường truyền nối từng cặp nút với nhau và mỗi nút đều có trách nhiệm lưu trữ tạm thời sau đó chuyển tiếp dữ liệu đi tới đích. Do cách làm việc như thế nên mạng kiểu này còn được gọi là mạng lưu và chuyển tiếp (store and forward). Nói chung các mạng diện rộng đều sử dụng nguyên tắc này. Hình 2 cho một số dạng topo của mạng loại này. Theo kiểu quảng bá, tất cả các nút mạng dùng chung một đường truyền vật lý. Dữ liệu gửi đi từ một nút mạng có thể được tất cả các nút mạng còn lại tiếp nhận Æ chỉ cần chỉ ra địa chỉ đích của dữ liệu để mỗi nút kiểm tra xem có phải là gửi cho mình hay không. Hình 3 cho một số dạng topo của mạng loại này. Hình 1.5. Một số topo mạng điểm-điểm Hình 1.6. Một số topo mạng quảng bá Trong các topo dạng vòng hoặc dạng tuyến tính cần có một cơ chế “trọng tài” để giải quyết xung đột khi nhiều nút muốn truyền tin cùng một lúc. Việc cấp phát đường truyền có thể là “động” hoặc “tĩnh”. Cấp phát “tĩnh” thường dung cơ chế quay vòng để phân chia đường truyền theo các khoảng thời gian định trước. Cấp phát “động” là cấp phát theo yêu cầu để hạn chế thời gian “chết” vô ích của đường truyền. 10
- y Giao thức mạng Việc trao đổi thông tin cho dù là đơn giản nhất, cũng đều phải tuân theo những quy tắc nhất định. Hai người nói chuyện với nhau muốn cho cuộc nói chuyện có kết quả thì ít nhất cả hai cũng phải ngầm định tuân theo quy tắc: khi người này nói thì người kia phải nghe và ngược lại. Việc truyền tín hiệu trên mạng cũng vậy, cần phải có những quy tắc, quy ước về nhiều mặt: + Khuôn dạng của dữ liệu: cú pháp và ngữ nghĩa + Thủ tục gửi và nhận dữ liệu + Kiểm soát chất lượng truyền + Xử lý các lỗi, sự cố Tập hợp tất cả các quy tắc, quy ước trên gọi là giao thức mạng. Yêu cầu về xử lý và trao đổi thông tin của người sử dụng ngày càng cao thì giao thức mạng càng phức tạp. Các mạng có thể có giao thức khác nhau tuỳ thuộc vào sự lựa chọn của nhà thiết kế. 1.2.3. Phân loại mạng máy tính Có nhiều cách để phân loại mạng máy tính tuỳ thuộc vào yếu tố chính được chọn làm chỉ tiêu để phân loại: khoảng cách địa lý, kỹ thuật chuyển mạch, kiến trúc của mạng. 1.2.3.1. 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 thì mạng máy tính được phân thành 4 loại: 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 Networks - LAN): cài đặt trong phạm vi tương đối hẹp (ví dụ như trong một tòa nhà, một cơ quan, một trường học, ), khoảng cách lớn nhất giữa các máy tính nối mạng là vài chục km trở lại. - Mạng đô thị (Metropolitan Area Networks - MAN): cài đặt trong phạm vi một đô thị, một trung tâm kinh tế xã hội, có bán kính nhỏ hơn 100 km. - Mạng diện rộng (Wide Area Networks - WAN): phạm vi của mạng có thể vượt qua biên giới quốc gia và thậm chí cả lục địa. - Mạng toàn cầu (Global Area Networks - GAN): phạm vi rộng khắp toàn cầu. Mạng Internet là một ví dụ cho loại này. Chúng ta cũng cần lưu ý rằng: khoảng cách địa lý được dùng làm “mốc” chỉ mang tính tương đối. Cùng với sự phát triển của các công nghệ truyền dẫn và quản trị mạng thì những ranh giới đó ngày càng mờ nhạt đi. 1.2.3.2. Dựa theo kỹ thuật chuyển mạch Nếu lấy “kỹ thuật chuyển mạch” làm yếu tố chính để phân ploại thì ta có 3 loại: mạng chuyển mạch kênh, mạng chuyển mạch thông báo và mạng chuyển mạch gói. 11
- a. Mạng chuyển mạch kênh Khi có hai thực thể cần trao đổi thông tin với nhau thì giữa chúng sẽ thiết lập một “kênh” cố định và được duy trì cho đến khi một trong hai bên ngắt liên lạc. Các dữ liệu chỉ được truyền theo con đường cố định đó. Hình 1.7. Mạng chuyển mạch kênh Nhược điểm: + Tốn thời gian để thiết lập kênh cố định giữa hai thực thể + Hiệu suất sử dụng đường truyền thấp vì sẽ có lúc kênh bị bỏ không do cả hai bên đều hết thông tin cần truyền trong khi các thực thể khác không được phép sử dụng kênh truyền này. b. Mạng chuyển mạch thông báo Thông báo (message) là một đơn vị thông tin của người sử dụng có khuôn dạng được qui định trước. Mỗi thông báo đều có chứa vùng thông tin điều khiển trong đó chỉ định rõ đích đến của thông báo. Căn cứ vào thông tin này mà mỗi nút trung gian có thể chuyển thông báo tới nút kế tiếp theo đường dẫn tới đích của nó. Mỗi nút cần phải lưu trữ tạm thời để “đọc” thông tin điều khiển trên thông báo để sau đó chuyển tiếp thông báo đi. Tuỳ thuộc vào điều kiện của mạng, các thông báo khác nhau có thể truyền theo đường truyền khác nhau. Hình 1.8. Mạng chuyển mạch thông báo 12
- Ưu điểm so với mạng chuyển mạch kênh: - Hiệu suất sử dụng đường truyền cao vì không bị chiếm dụng độc quyền mà được phân chia giữa nhiều thực thể. - Mỗi nút mạng có thể lưu trữ thông báo cho tới khi kênh truyền rỗi mới gửi thông báo đi, vì vậy giảm được tình trạng tắc nghẽn mạch. - Có thể điều khiển việc truyền tin bằng cách sắp xếp độ ưu tiên cho các thông báo. - Có thể tăng hiệu suất sử dụng dải thông bằng cách gán địa chỉ quảng bá để gửi thông báo đồng thời tới nhiều đích. Nhược điểm: - Không hạn chế kích thước của các thông báo, dẫn đến phí tổn lưu trư tạm thời cao và ảnh hưởng tới thời gian đáp (respone time) và chất lượng truyền tin. - Thích hợp cho các dịch vụ thư tín điện tử hơn là các áp dụng có tính thời gian thực vì tồn tại độ trễ do lưu trữ và xử lý thông tin điều khiển tại mỗi nút. c. Mạng chuyển mạch gói Mỗi thông báo được chia làm nhiều phần nhỏ hơn được gọi là các gói tin có khuôn dạng quy định trước. Mỗi gói tin cũng chứa các thông tin điều khiển, trong đó có địa chỉ nguồn (người gửi) và đích (người nhận) của gói tin. Các gói tin của một thông báo có thể đi qua mạng tới đích bằng nhiều con đường khác nhau. Ở bên nhận, thứ tự nhận được có thể không đúng thứ tự được gửi đi. Hình 1.9. Mạng chuyển mạch gói So sánh mạng chuyển mạch thông báo và mạng chuyển mạch gói: ♦ Giống nhau: phương pháp giống nhau ♦ Khác nhau: Các gói tin được giới hạn kích thước tối đa sao cho các nút mạng có thể xử lý toàn bộ gói tin trong bộ nhớ mà không cần phải lưu trữ tạm thời trên đĩa. Vì thế mạng chuyển mạch gói truyền các gói tin qua mạng nhanh chóng và hiệu quả hơn so với mạng chuyển mạch thông báo. Nhưng vấn đề khó khăn của mạng loại này là việc tập hợp các gói tin để tạo lại thông báo ban đầu của người sử dụng, đặc biệt trong trường hợp các gói được truyền theo nhiều đường khác nhau. Cần phải cài đặt cơ chế “đánh dấu” gói tin và phục hồi gói tin bị thất lạc hoặc truyền bị lỗi cho các nút mạng. Do có ưu điểm mềm dẻo và hiệu suất cao hơn nên hiện nay mạng chuyển mạch gói được sử dụng phổ biến hơn các mạng chuyển mạch thông báo. Việc tích hợp cả hai 13
- kỹ thuật chuyển mạch (kênh và gói) trong một mạng thống nhất (được gọi là mạng dịch vụ tích hợp số- Intergrated Services Digital Networks, viết tắt là ISDN) đang là một xu hướng phát triển của mạng ngày nay. 1.2.3.3. Phân loại theo kiến trúc mạng Người ta còn phân loại mạng theo kiến trúc mạng (topo và giao thức sử dụng). Các mạng thường hay được nhắc đến như: mạng SNA của IBM, mạng ISO, mạng TCP/IP. 1.3. KIẾN TRÚC PHÂN TẦNG VÀ MÔ HÌNH OSI 1.3.1. Kiến trúc phân tầng Để giảm độ phức tạp của việc thiết kế và cài đặt mạng, hầu hết các máy tính đều được phân tích thiết kế theo quan điểm phân tầng. Mỗi hệ thống thành phần của mạng được xem như một cấu trúc đa tầng, trong đó mỗi tầng được xây dựng trên tầng trước nó. Số lượng các tầng cũng như tên và chức năng của mỗi tầng tuỳ thuộc vào nhà thiết kế. Trong hầu hết các mạng, mục đích của mỗi tầng là để cung cấp một số dịch vụ nhất định cho tầng cao hơn. Mỗi tầng khi sử dụng không cần quan tâm đến các thao tác chi tiết mà các dịch vụ đó phải thực hiện. Hệ thống A Hệ thống B Giao thức tầng N Tầng N Tầng N Giao thức tầng i + 1 Tầng i +1 Tầng i +1 Giao thức tầng i Tầng i Tầng i Tầng i -1 Tầng i -1 Giao thức tầng i -1 Giao thức tầng 1 Tầng 1 Tầng 1 Đường truyền vật lý Hình 1.10. Minh hoạ kiến trúc phân tầng tổng quát Nguyên tắc của kiến trúc mạng phân tầng: - Mỗi hệ thống trong một mạng đều có cấu trúc tầng như nhau (số lượng tầng, chức năng của mỗi tầng). 14
- - Dữ liệu không được truyền trực tiếp từ tầng i của hệ thống này sang tầng thứ i của hệ thống kia (ngoại trừ đối với tầng thấp nhất). Bên gửi dữ liệu cùng với các thông tin điều khiển chuyển đến tầng ngay dưới nó và cứ thế cho đến tầng thấp nhất. Bên dưới tầng này là đường truyền vật lý, ở đấy sự truyền tin mới thực sự diễn ra. Đối với bên nhận thì các thông tin được chuyển từ tầng dưới lên trên cho tới tầng i của hệ thống nhận. - Giữa hai hệ thống kết nối 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ỉ là liên kết logic hay liên kết ảo được đưa vào để hình thức hóa 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. Các vấn đề cần phải giải quyết khi thiết kế các tầng - Cơ chế nối, tách: mỗi một tầng cần có một cơ chế để thiết lập kết nối, và có một cơ chế để kết thúc kết nối khi mà sự kết nối là không cần thiết nữa. - Các quy tắc truyền dữ liệu: Trong các hệ thống khác nhau dữ liệu có thể truyền theo một số cách khác nhau: + Truyền một hướng (simplex) + Truyền hai hướng đồng thời (full-duplex) + Truyền theo cả hai hướng luân phiên (half-duplex) - Kiểm soát lỗi: Đường truyền vật lý nói chung là không hoàn hảo, cần phải thoả thuận dùng một loại mã để phát hiện, kiểm tra lỗi và sửa lỗi. Phía nhận phải có khả năng thông báo cho bên gửi biết các gói tin nào đã thu đúng, gói tin nào phát lại. - Độ dài bản tin: Không phải mọi quá trình đều chấp nhận độ dài gói tin là tuỳ ý, cần phải có cơ chế để chia bản tin thành các gói tin đủ nhỏ. - Thứ tự các gói tin: Các kênh truyền có thể giữ không đúng thứ tự các gói tin, do đó cần có cơ chế để bên thu ghép đúng thứ tự ban đầu. - Tốc độ phát và thu dữ liệu: Bên phát có tốc độ cao có thể làm “lụt” bên thu có tốc độ thấp. Cần phải có cơ chế để bên thu báo cho bên phát biết tình trạng đó để điều khiển lưu lượng hợp lý. 1.3.2. Một số khái niệm cơ bản Tầng (layer) - Mọi quá trình trao đổi thông tin giữa hai đối tượng đều thực hiện qua nhiều bước, các bước này độc lập tương đối với nhau. Thông tin được trao đổi giữa hai đối tượng A, B qua 3 bước: - Phát tin: Thông tin chuyển từ tầng cao Æ tầng thấp - Nhận tin: Thông tin chuyển từ tầng thấp Æ tầng cao - Quá trình trao đổi thông tin trực tiếp qua đường truyền vật lý (thực hiện ở tầng cuối cùng) 15
- Giao diện, dịch vụ, đơn vị dữ liệu - Mối quan hệ giữa hai tầng kề nhau gọi là giao diện - Mối quan hệ giữa hai tầng đồng mức của hai hệ thống khác nhau gọi là giao thức - Thực thể (entity): là thành phần tích cực trong mỗi tầng, nó có thể là một tiến trình trong hệ đa xử lý hay là một trình con các thực thể trong cùng 1 tầng ở các hệ thống khác nhau (gọi là thực thể ngang hàng hay thực thể đồng mức). Mỗi thực thể có thể truyền thông lên tầng trên hoặc tầng dưới nó thông qua một giao diện (interface). Giao diện gồm một hoặc nhiều điểm truy nhập dịch vụ (Service Access Point - SAP). Tại các điểm truy nhập dịch vụ tầng trên chỉ có thể sử dụng dịch vụ do tầng dưới cung cấp. Thực thể được chia làm hai loại: thực thể cung cấp dịch vụ và sử dụng dịch vụ: + Thực thể cung cấp dịch vụ (service provide): là các thực thể ở tầng N cung cấp dịch vụ cho tầng N +1. + Thực thể sử dụng dịch vụ (service user): đó là các thực thể ở tầng N sử dụng dịch vụ do tầng N - 1 cung cấp. - Đơn vị dữ liệu sử dụng giao thức (Protocol Data Unit - PDU) - Đơn vị dữ liệu dịch vụ (Service Data Unit - SDU) - Thông tin điều khiển (Protocol Control Information - PCI) Một đơn vị dữ liệu mà 1 thực thể ở tầng N của hệ thống A gửi sang thực thể ở tầng N ở một hệ thống B không bằng đường truyền trực tiếp mà phải truyền xuống dưới để truyền bằng tầng thấp nhất thông qua đường truyền vật lý. + Dữ liệu ở tầng N-1 nhận được do tầng N truyền xuống gọi là SDU. + Phần thông tin điều khiển của mỗi tầng gọi là PCI. + Ở tầng N-1 phần thông tin điều khiển PCI thêm vào đầu của SDU tạo thành PDU. Nếu SDU quá dài thì cắt nhỏ thành nhiều đoạn, mỗi đoạn bổ sung phần PCI, tạo thành nhiều PDU. Bên hệ thống nhận trình tự diễn ra theo chiều ngược lại. Qua mỗi tầng PCI tương ứng sẽ được phân tích và cắt bỏ khỏi PDU trước khi gửi lên tầng trên. 1.3.3. Mô hình OSI 1.3.3.1. Giới thiệu Khi thiết kế 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: phương pháp truy nhập đường truyền khác nhau, sử dụng họ giao thức khác nhau, Sự không tương thích đó làm cho người sử dụng các mạng khác nhau không thể trao đổi thông tin với nhau được. Sự thúc bách của khách hàng khiến cho các nhà sản xuất và những nhà nghiên cứu, thông qua tổ chức chuẩn hoá quốc tế và quốc gia để tìm ra một giải pháp chung dẫn đến sự hội tụ của các sản phẩm mạng. Trên cơ sở đó những nhà thiết kế và các nghiên cứu lấy đó làm khung chuẩn cho sản phẩm của mình. 16
- Vì lý do đó, năm 1977, Tổ chức tiêu chuẩn hoá quốc tế (International Organization for Standardization - ISO) đã lập ra một tiểu ban nhằm đưa ra một khung chuẩn như thế. Kết quả là vào năm 1984 ISO đã xây dựng mô hình 7 tầng gọi là mô hình tham chiếu cho việc nối kết các hệ thống mở (Reference Model for Open Systems Interconnection - OSI Reference Model) gọi tắt là mô hình OSI. Mô hình này được dùng làm cơ sở để nối kết các hệ thống mở phục vụ cho các ứng dụng phân tán Æ Mọi hệ thống tuân theo mô hình tham chiếu OSI đều có thể truyền thông tin với nhau. Hệ thống A Hệ thống B Giao thức tầng 7 7 APPLICATION ỨNG DỤNG 7 Giao thức tầng 6 6 PRESENTATION TRÌNH DIỄN 6 Giao thức tầng 5 5 SESSION PHIÊN 5 Giao thức tầng 4 4 TRANSPORT GIAO VẬN 4 Giao thức tầng 3 3 NETWORK MẠNG 3 Giao thức tầng 2 2 DATA LINK LIÊN KẾT DỮ LIỆU 2 Giao thức tầng 1 1 PHYSICAL VẬT LÝ 1 Đường truyền vật lý Hình 1.11. Mô hình OSI 7 tầng 1.3.3.2. Chức năng các tầng trong mô hình OSI a. Tầng vật lý (Physical) - Tầng vật lý liên quan đến truyền dòng các bit giữa các máy với nhau bằng đường truyền vật lý. Tầng này liên kết các giao diện hàm cơ, quang và điện với cáp. Ngoài ra nó cũng chuyển tải những tín hiệu truyền dữ liệu do các tầng ở trên tạo ra. - Việc thiết kế phải bảo đảm nếu bên phát gửi bít 1 thì bên thu cũng phải nhận bít 1 chứ không phải bít 0 - Tầng này phải quy định rõ mức điện áp biểu diễn dữ liệu 1 và 0 là bao nhiêu von trong vòng bao nhiêu giây - Chiều truyền tin là 1 hay 2 chiều, cách thức kết nối và huỷ bỏ kết nối - Định nghĩa cách kết nối cáp với card mạng: bộ nối có bao nhiêu chân, chức năng của mỗi chân Tóm lại: Thiết kế tầng vật lý phải giải quyết các vấn đề ghép nối cơ, điện, tạo ra các hàm, thủ tục để truy nhập đường truyền, đường truyền các bít. 17
- Lê Đình Danh - Giáo trình Mạng máy tính b. Tầng liên kết dữ liệu (data link) - Cung cấp phương tiện để truyền thông tin qua liên kết vật lý đảm bảo tin cậy: gửi các khối dữ liệu với cơ chế đồng bộ hoá, kiểm soát lỗi và kiểm soát luồng dữ liệu cần thiết - Các bước tầng liên kết dữ liệu thực hiện: + Chia nhỏ thành các khối dữ liệu frame (vài trăm bytes), ghi thêm vào đầu và cuối của các frame những nhóm bít đặc biệt để làm ranh giới giữa các frame + Trên các đường truyền vật lý luôn có lỗi nên tầng này phải giải quyết vấn đề sửa lỗi (do bản tin bị hỏng, mất và truyền lại) + Giữ cho sự đồng bộ tốc độ giữa bên phát và bên thu Tóm lại: tầng liên kết dữ liệu chịu trách nhiệm chuyển khung dữ liệu không lỗi từ máy tính này sang máy tính khác thông qua tầng vật lý. Tầng này cho phép tầng mạng truyền dữ liệu gần như không phạm lỗi qua liên kết mạng c. Tầng mạng (Network) - Lập địa chỉ các thông điệp, diễn dịch địa chỉ và tên logic thành địa chỉ vật lý - Kiểm soát và điều khiển đường truyền: Định rõ các bó tin được truyền đi theo con đường nào từ nguồn tới đích. Các con đường đó có thể là cố định đối với những mạng ít thay đổi, cũng có thể là động nghĩa là các con đường chỉ được xác định trước khi bắt đầu cuộc nói chuyện. Các con đường đó có thể thay đổi tuỳ theo trạng thái tải tức thời. - Quản lý lưu lượng trên mạng: chuyển đổi gói, định tuyến, kiểm soát sự tắc nghẽn dữ liệu (nếu có nhiều gói tin cùng được gửi đi trên đường truyền thì có thể xảy ra tắc nghẽn ) - Kiểm soát luồng dữ liệu và cắt hợp dữ liệu (nếu cần) d. Tầng giao vận (Transport) - Thực hiện việc truyền dữ liệu giữa hai đầu nút (end - to - end). - Thực hiện kiểm soát lỗi, kiểm soát luồng dữ liệu từ máy Æ máy. Đảm bảo gói tin truyền không phạm lỗi, theo đúng trình từ, không bị mất mát hay sao chép. - Thực hiện việc ghép kênh, phân kênh cắt hợp dữ liệu (nếu cần). Đóng gói thông điệp, chia thông điệp dài thành nhiều gói tin và gộp các gói nhỏ thành một bộ. - Tầng này tạo ra một kết nối cho mỗi yêu cầu của tầng trên nó. Khi có nhiều yêu cầu từ tầng trên với thông lượng cao thì nó có thể tạo ra nhiều kết nối và cùng một lúc có thể gửi đi nhiều bó tin trên đường truyền. e. Tầng phiên (Session) - Cung cấp phương tiện truyền thông giữa các ứng dụng: cho phép người sử dụng trên các máy khác nhau có thể thiết lập, duy trì, huỷ bỏ và đồng bộ hoá các phiên truyền thông giữa họ với nhau. - Nhiệm vụ chính: 18
- Lê Đình Danh - Giáo trình Mạng máy tính + Quản lý thẻ bài đối với những nghi thức: hai bên kết nối để truyền thông tin không đồng thời thực hiện một số thao tác. Để giải quyết vấn đề này tầng phiên cung cấp 1 thẻ bài, thẻ bài có thể được trao đổi và chỉ bên nào giữ thẻ bài mới có thể thực hiện một số thao tác quan trọng + Vấn đề đồng bộ: khi cần truyền đi những tập tin dài tầng này chèn thêm các điểm kiểm tra (check point) vào luồng dữ liệu. Nếu phát hiện thấy lỗi thì chỉ có dữ liệu sau điểm kiểm tra cuối cùng mới phải truyền lại f. Tầng trình diễn (Presentation) - Quyết định dạng thức trao đổi dữ liệu giữa các máy tính mạng. Người ta có thể gọi đây là bộ dịch mạng. Ở bên gửi, tầng này chuyển đổi cú pháp dữ liệu từ dạng thức do tầng ứng dụng gửi xuống sang dạng thức trung gian mà ứng dụng nào cũng có thể nhận biết. Ở bên nhận, tầng này chuyển các dạng thức trung gian thành dạng thức thích hợp cho tầng ứng dụng của máy nhận. - Tầng trình diễn chịu trách nhiệm chuyển đổi giao thức, biên dịch dữ liệu, mã hoá dữ liệu, thay đổi hay chuyển đổi ký tự và mở rộng lệnh đồ hoạ. - Nén dữ liệu nhằm làm giảm bớt số bít cần truyền - Ở tầng này có bộ đổi hướng hoạt đông để đổi hướng các hoạt động nhập/xuất để gửi đến các tài nguyên trên mấy phục vụ g. Tầng ứng dụng (Application) - Cung cấp các phương tiện để người sử dụng có thể truy nhập được vào môi trường OSI, đồng thời cung cấp các dịch vụ thông tin phân tán. - Tầng này đóng vai trò như cửa sổ dành cho hoạt động xử lý các trình ứng dụng nhằm truy nhập các dịch vụ mạng. Nó biểu diễn những dịch vụ hỗ trợ trực tiếp các ứng dụng người dùng, chẳng hạn như phần mềm chuyển tin, truy nhập cơ sở dữ liệu và email. - Xử lý truy nhập mạng chung, kiểm soát lỗi và phục hồi lỗi. 1.3.3.3. Các dịch vụ và hàm Dịch vụ là một dãy, một tập các thao tác sơ cấp hay là các hàm nguyên thủy mà một tầng cung cấp cho tầng trên nó. Dịch vụ liên quan đến 2 tầng kề nhau a. Dịch vụ định hướng liên kết và dịch vụ không liên kết Ở mỗi tầng trong mô hình OSI có hai loại dịch vụ: dịch vụ định hướng liên kết (connection - oriented service) và dịch vụ không định hướng liên kết (connectionless service) - Dịch vụ định hướng liên kết: là dịch vụ theo mô hình điện thoại, trước khi truyền dữ liệu cần thiết lập một liên kết logic giữa các thực thể đồng mức - Dịch vụ không liên kết: không cần phải thiết lập liên kết logic và một đơn vị dữ liệu được truyền là độc lập với các đơn vị dữ liệu trước hoặc sau nó. Loại dịch vụ này theo mô hình bưu điện: mỗi bản tin hay mỗi bức thư cần có một địa chỉ cụ thể bên nhận 19
- Lê Đình Danh - Giáo trình Mạng máy tính Trong phương pháp liên kết quá trình truyền thông gồm có 3 giai đoạn: - Thiết lập liên kết (logic): hai thực thể đồng mức ở hai hệ thống sẽ thương lượng với nhau về tập các tham số sẽ sử dụng trong giai đoạn truyền sau (thể hiện bằng hàm CONNECT). - Truyền dữ liệu: dữ liệu được truyền với các cơ chế kiểm soát và quản lý kèm theo (kiểm soát lỗi, kiểm soát luồng dữ liệu, cắt/hợp dữ liệu, ) để tăng độ tin cậy và hiệu quả của việc truyền dữ liệu (hàm DATA). - Huỷ bỏ liên kết (logic): giải phóng các tài nguyên hệ thống đã được cấp phát cho liên kết để dùng cho các liên kết khác (hàm DISCONNECT). Trong mỗi loại dịch vụ được đặc trưng bằng chất lượng dịch vụ. Có dịch vụ đòi hỏi bên nhận tin gửi thông báo xác nhận khi đó độ tin cậy được bảo đảm. Có những ứng dụng không chấp nhận sự chậm trễ do phải xác nhận sự truyền tin (VD hệ thống truyền tin). Nhưng có nhiều ứng dụng như thư tín điện tử người gửi chỉ cần có một dịch vụ với độ tin cậy cao, chấp nhận sự chậm trễ. b. Các hàm nguyên thuỷ của dịch vụ Một dịch vụ gồm 1 số thao tác sơ cấp hay các hàm nguyên thuỷ. Một thực thể cung cấp dịch vụ cho một thực thể ở tầng trên nó thông qua việc gọi các hàm nguyên thuỷ. Các hàm nguyên thuỷ chỉ rõ chức năng cần phải thực hiện và dùng để chuyển dữ liệu vào thông tin điều khiển. Có 4 hàm nguyên thuỷ được dùng để xác định tương tác giữa các tầng kề nhau (hình 1.12). - Request (yêu cầu): người sử dụng dịch vụ dùng để gọi chức năng hoặc yêu cầu thực thể khác thực hiện một công việc nào đó. - Indication (chỉ báo): người cung cấp dịch vụ dung để gọi một chức năng nào đó, chỉ báo một chức năng đã được gọi ở một điểm truy nhập dịch vụ. - Response (trả lời): người sử dụng dịch vụ dùng để hoàn tất một chức năng đã được gọi từ trước bởi một hàm nguyên thuỷ Indication ở điểm truy nhập dịch vụ đó. - Confirm (xác nhận): người cung cấp dịch vụ dùng để hoàn tất một chức năng đã được gọi từ trước bởi một hàm nguyên thuỷ Response tại điểm truy nhập dịch vụ. Quy trình thực hiện một giao tác giữa hai hệ thống A và B : - Tầng N+1 của A gửi xuống tầng N kề dưới nó một hàm Request - Tầng N của A cấu tạo một đơn vị dữ liệu để gửi yêu cầu đó sang tầng N của B theo giao thức tầng N đã xác định - Nhận được yêu cầu, tầng N của B chỉ báo lên tầng N+1 kề trên nó bằng hàm Indication - Tầng N của B trả lời bằng hàm Response gửi xuống tầng N kề dưới nó - Tầng N của B cấu tạo một đơn vị dữ liệu để gửi trả lời đó về tầng N của A theo giao thức tầng N đã xác định - Nhận được trả lời, tầng N của A xác nhận với tầng N+1 kề trên nó bằng hàm Confirm, kết thúc một giao tác giữa hai hệ thống. 20
- Lê Đình Danh - Giáo trình Mạng máy tính System A System B (N+1) Layer (N+1) Layer Sevice user Confirm Reponse Indication Request t Interface SAP SAP (N) Layer (N) Layer (N) Protocol Hình 1.12. Sơ đồ hoạt động của các hàm nguyên thuỷ Các thao tác sơ cấp nói chung là có tham số (VD Connect.Request). Các tham số gồm: - Địa chỉ máy gọi - Địa chỉ máy nhận - Loại dịch vụ - Kích thước cực đại của bản tin Nếu thực thể bị gọi không chấp nhận kích thước cực đại mà bản tin đưa ra nó có thể yêu cầu kích thước mới trong thao tác của hàm Response. Các chi tiết của quá trình thoả thuận là một phần của nghi thức. Các dịch vụ có thể xác nhận hoặc không xác nhân. - Các dịch vụ xác nhận có thể có các hàm nguyên thuỷ: Request, Indication, Response, Confirm - Dịch vụ không xác nhận có hai hàm nguyên thuỷ: Resquest, Indication Trong thực tế loại dịch vụ connect luôn luôn là có xác nhận, còn các loại dịch vụ DATA là không xác nhận hoặc có xác nhận. STT Hàm nguyên thuỷ Ý nghĩa 1. CONNECT.Request Yêu cầu thiết lập liên kết 2. CONNECT.Indication Báo cho thực thể bị gọi 3. CONNECT.Response Đồng ý hay không đồng ý 4. CONNECT.Confirm Xác nhận với bên gọi việc kết nối có được chấp nhận hay không 5. DATA.Request Bên gọi yêu cầu truyền dữ liệu 6. DATA.Indication Báo cho bên nhận biết là dữ liệu đã đến 7. DISCONNECT.Request Yêu cầu huỷ bỏ liên kết 8. DISCONNECT.Indication Báo cho bên nhận 21
- Lê Đình Danh - Giáo trình Mạng máy tính Ví dụ: 1. CONNECT.Request Bạn quay số điện thoại của cô Lan 2. CONNECT.Indication Chuông reo 3. CONNECT.Response Cô Lan nhấc máy 4. CONNECT.Confirm Chuông ngừng reo 5. DATA.Request Bạn nói chuyện với cô Lan 6. DATA.Indication Cô Lan nghe thấy bạn nói 7. DATA.Response Cô trả lời bạn 8. DATA.Confirm Bạn nghe thấy câu trả lời 9. DISCONNECT.Request Bạn cúp máy 10. DISCONNECT.Indication Cô Lan nghe thấy bạn cúp máy. 1.3.4. Các mô hình chuẩn hoá khác 1.3.4.1. Mô hình TCP/IP Mặc dù mô hình tham chiếu OSI được chấp nhận rộng rãi khắp nơi, nhưng chuẩn mở về kỹ thuật mang tính lịch sử của Internet lại là TCP/IP (Transmission Control Protocol/Internet Protocol). Mô hình tham chiếu TCP/IP và chồng giao thức TCP/IP tạo khả năng truyền dữ liệu giữa hai máy tính từ bất kỳ nơi nào trên thế giới, với tốc độ gần bằng tốc độ ánh sáng. Mô hình TCP/IP có tầm quan trọng trong lịch sử, gần giống như các chuẩn đã cho phép điện thoại, năng lượng điện, đường sắt, truyền hình và công nghệ băng hình phát triển cực thịnh. Hình 1.13 trình bày hai mô hình tham chiếu TCP/IP và OSI để tiện so sánh. Hình 1.13. Tương ứng các tầng các kiến trúc TCP/IP và OSI Các tầng của mô hình tham chiếu TCP/IP Bộ quốc phòng Mỹ gọi tắt là DoD (Department of Defense) đã tạo ra mô hình tham chiếu TCP/IP vì muốn một mạng có thể tồn tại trong bất cứ điều kiện nào, ngay cả khi có chiến tranh hạt nhân. DoD muốn các gói dữ liệu xuyên suốt mạng vào mọi lúc, dưới bất cứ điều kiện nào, từ bất cứ một điểm đến một điểm khác. Đây là một bài toán thiết kế cực kỳ khó khăn mà từ đó làm nảy sinh ra mô hình TCP/IP, vì vậy đã trở thành chuẩn Internet để phát triển. 22
- Lê Đình Danh - Giáo trình Mạng máy tính Tầng ứng dụng (Application) Các nhà thiết kế TCP/IP cảm thấy rằng các giao thức mức cao nên bao gồm các tầng trình bày và tầng phiên. Để đơn giản, họ tạo ra một tầng ứng dụng kiểm soát các giao thức mức cao, các vấn đề của tầng trình bày, mã hoá và điều khiển hội thoại. TCP/IP tập hợp tất cả các vấn đề liên quan đến ứng dụng vào trong một tầng, và đảm bảo dữ liệu được đóng gói một cách thích hợp cho tầng kế tiếp. Tầng vận chuyển (Transportation) Tầng vận chuyển đề cập đến các vấn đề chất lượng dịch vụ như độ tin cậy, điều khiển luồng và sửa lỗi. Một trong các giao thức của nó la TCP, TCP cung cấp các phương thức linh hoạt và hiệu quả để thực hiện các hoạt động truyền dữ liệu tin cậy, hiệu xuất cao và ít lỗi. TCP là giao thức có tạo cầu nối (connection-oriented). Nó tiến hành hội thoại giữa nguồn và đích trong khi bọc thông tin tầng ứng dụng thành các đơn vị gọi là segment.Tạo cầu nối không có nghĩa là tồn tại một mạch thực sự giữa hai máy tính, thay vì vậy nó có nghĩa là các segment của tầng 4 di chuyển tới và lui giữa hai host để công nhận kết nối tồn tại một cách luận lý trong một khoảng thời gian nào đó. Điều này coi như chuyển mạch gói (packet switching). Tầng Internet Mục tiêu của tầng Internet là truyền các gói tin bắt nguồn từ bất kỳ mạng nào trên liên mạng và đến được đích trong điều kiện độc lập với đường dẫn và các mạng mà chúng đã trải qua. Giao thức đặc trưng khống chế tầng này được gọi là IP. Công việc xác định đường dẫn tốt nhất và hoạt động chuyển mạch gói diễn ra tại tầng này. Tầng truy xuất mạng (Host to network) Tên của tầng này có nghĩa khá rộng và có phần hơi rối rắm. Nó cũng được gọi là tầng host-to-network. Nó là tầng liên quan đến tất cả các vấn đề mà một gói IP yêu cầu để tạo một liên kết vật lý thực sự, và sau đó tạo một liên kết vật lý khác. Nó bao gồm các chi tiết kỹ thuật LAN và WAN, và tất cả các chi tiết trong tầng liên kết dữ liệu cũng như tầng vật lý của mô hình OSI. Mô hình TCP/IP hướng đến tối đa độ linh hoạt tại tầng ứng dụng cho người phát triển phần mềm. Tầng vận chuyển liên quan đến hai giao thức TCP và UDP (User Datagram Protocol). Tầng cuối cùng, tầng truy xuất mạng liên kết đến các kỹ thuật LAN hay WAN đang được dùng. Trong mô hình TCP/IP không cần quan tâm đến ứng dụng nào yêu cầu các dịch vụ mạng, và không cần quan tâm đến giao thức vận chuyển nào đang được dùng, chỉ có một giao thức mạng IP. Đây là một quyết định thiết kế có cân nhắc kỹ. IP phục vụ như một giao thức đa năng cho phép bất kỳ máy tính nào, ở bất cứ đâu, truyền dữ liệu vào bất cứ thời điểm nào. 1.3.4.2. Mô hình SNA Tháng 9/1973, Hãng IBM giới thiệu một kiến trúc mạng máy tính SNA (System Network Architecture). Đến năm 1977 đã có 300 trạm SNA được cài đặt. Cuối năm 1978, số lượng đã tăng lên đến 1250, rồi cứ theo đà đó cho đến nay đã có 20.000 trạm SNA đang được hoạt động. Qua con số này chúng ta có thể hình dung được mức độ quan trọng và tầm ảnh hưởng của SNA trên toàn thế giới. 23
- Lê Đình Danh - Giáo trình Mạng máy tính Cần lưu ý rằng SNA không là một chuẩn quốc tế chính thức như OSI nhưng do vai trò to lớn của hãng IBM trên thị trường CNTT nên SNA trở thành một loại chuẩn thực tế và khá phổ biến. SNA là một đặc tả gồm rất nhiều tài liệu mô tả kiến trúc của mạng xử lý dữ liệu phân tán. Nó định nghĩa các quy tắc và các giao thức cho sự tương tác giữa các thành phần (máy tính, trạm cuối, phần mềm) trong mạng. SNA được tổ chức xung quanh khái niệm miền (domain). Một SNA domain là một điểm điều khiển các dịch vụ hệ thống (Systems Services control point - SSCP) và nó sẽ điều khiển tất cả các tài nguyên đó. Các tài nguyên ở đây có thể là các đơn vị vật lý, các đơn vị logic, các liên kết dữ liệu và các thiết bị. Có thể ví SSCP như là "trái tim và khối óc" của SNA. Nó điều khiển SNA domain bằng cách gói các lệnh tới một đơn vị vật lý, đơn vị vật lý này sau khi nhận được lệnh sẽ quản lý tất cả các tài nguyên trực tiếp với nó. đơn vị vật lý thực sự là một "đối tác" của SSCP và chứa một tập con các khả năng của SSCP. Các Đơn vị vật lý đảm nhiệm việc quản lý của mỗi nút SNA. SNA phân biệt giữa các nút miền con (Subarea node) và các nút ngoại vi (peripheral node). − Một nút miền con có thể dẫn đường cho dữ liệu của người sử dụng qua toàn bộ mạng. Nó dùng địa chỉ mạng và một số hiệu đường (router suember) để xác định đường truyền đi tới nút kế tiếp trong mạng. − Một nút ngoại vi có tính cục bộ hơn. Nó không dẫn đường giữa các nút miền con. Các nút được nối và điều khiển theo giao thức SDLC (Synchronous Data Link Control). Mỗi nút ngoại vi chỉ liên lạc được với nút miền con mà nó nối vào. Mạng SNA dựa trên cơ chế phân tầng, trước đây thì 2 hệ thống ngang hàng không được trao đổi trực tiếp. Sau này phát triển thành SNA mở rộng: Lúc này hai tầng ngang hàng nhau có thể trao đổi trực tiếp. Với 6 tầng có tên gọi và chức năng tất như sau: Hình 1.14. Tương ứng các tầng các kiến trúc SNAvà OSI − Tầng quản trị chức năng SNA (SNA Function Manegement): Tầng này thật ra có thể chia tầng này làm hai tầng như sau: 24
- Lê Đình Danh - Giáo trình Mạng máy tính − Tầng dịch vụ giao tác (Transaction): cung cấp các dịch vụ ứng dụng đến người dùng một mạng SNA. Những dịch vụ đó như : DIA cung cấp các tài liệu phân bố giũa các hệ thống văn phòng, SNA DS (văn phòng dịch vụ phân phối) cho việc truyền thông bất đồng bộ giữa các ứng dụng phân tán và hệ thống văn phòng. Tầng dịch vụ giao tác cũng cung cấp các dịch vụ và cấu hình, các dịch vụ quản lý để điều khiển các hoạt động mạng. − Tầng dịch vụ trình diễn (Presentation Services): tầng này thì liên quan với sự hiển thị các ứng dụng, người sử dụng đầu cuối và các dữ liệu hệ thống. Tầng này cũng định nghĩa các giao thức cho việc truyền thông giữa các chương trình và điều khiển truyền thông ở mức hội thoại. − Tầng kiểm soát luồng dữ liệu (Data flow control) tầng này cung cấp các dịch vụ điều khiểnluồng lưu thông cho các phiên từ logic này đến đơn vị logic khác (LU - LU). Nó thực hiện điều này bằng cách gán các số trình tự, các yêu cầu và đáp ứng, thực hiện các giao thức yêu cầu về đáp ứng phiên và hợp tác giữa các phiên gởi và nhận. Nói chung nó yểm trợ phương thức khai thác hai chiều đồng thời (Full duplex). − Tầng kiểm soát truyền (Transmission control): Tầng này cung cấp các điều khiển cơ bản của các phần tài nguyên truyền trong mạng, bằng cách xác định số trình tự nhận được, và quản lý việc theo dõi mức phiên. Tầng này cũng hỗ trợ cho việc mã hóa dữ liệu và cung cấp hệ thống hỗ trợ cho các nút ngoại vi. − Tầng kiểm soát đường dẫn (Path control): Tầng này cung cấp các giao thức để tìm đường cho một gói tin qua mạng SNA và để kết nối với các mạng SNA khác, đồng thời nó cũng kiểm soát các đường truyền này. − Tầng kiểm soát liên kết dữ liệu (Data Link Control): Tầng này cung cấp các giao thức cho việc truyền các gói tin thông qua đường truyền vật lý giữa hai node và cũng cung cấp các điều khiển lưu thông và phục hồi lỗi, các hỗ trợ cho tầng này là các giao thức SDLC, System/370, X25, IEEE 802.2 và 802.5. − Tầng kiểm soát vật lý (Physical control): Tầng này cung cấp một giao diện vật lý cho bất cứ môi trường truyền thông nào mà gắn với nó. Tầng nào định nghĩa các đặc trưng của tín hiệu cần để thiết lập, duy trì và kết thúc các đường nối vật lý cho việc hỗ trợ kết nối. 1.4. HỆ ĐIỀU HÀNH MẠNG 1.4.1. Đặc điểm quy định chức năng của một hệ điều hành mạng. Môi trường mạng có những đặc điểm riêng, khác với môi trường chỉ dùng máy tính cá nhân (PC), thể hiện ở các đặc trưng sau: − Trước hết đó là môi trường nhiều người dùng. Đặc điểm này dẫn đến các nhu cầu liên lạc giữa những người sử dụng, nhu cầu bảo vệ dữ liệu và nói chung là bảo vệ tính riêng tư của người sử dụng. − Mạng còn là môi trường đa nhiệm, có nhiều công việc thực hiện trên mạng. Đặc điểm này sẽ phát sinh các nhu nhu cầu chia sẻ tài nguyên, nhu cầu liên lạc giữa các tiến trình như trao đổi dữ liệu, đồng bộ hoá. 25
- Lê Đình Danh - Giáo trình Mạng máy tính − Là môi trường phân tán, tài nguyên (thông tin, thiết bị) nằm ở các vị trí khác nhau, chỉ kết nối thông qua các đường truyền vật lý. Điều này phát sinh các nhu cầu chia sẻ tài nguyên trên toàn mạng nhưng sự phân tán cần được trong suốt đối để nó không gây khó khăn cho người sử dụng. − Có nhiều quan niệm cũng như các giải pháp mạng khác nhau. Điều đó nảy sinh nhu cầu giao tiếp giữa các mạng khác nhau. − Làm việc trên môi trường mạng chắc chắn sẽ phức tạp hơn môi trường máy đơn lẻ. Vì thế rất cần có các tiện ích giúp cho việc sử dụng và quản trị mạng dễ dàng và hiệu quả. Tất cả các nhu cầu trên phải được tính tới trong hệ điều hành mạng. 1.4.2. Các tiếp cận thiết kế và cài đặt Để thiết kế và cài đặt một hệ điều hành mạng có hai cách tiếp cận khác nhau: (1) Tôn trọng tính độc lập của các hệ điều hành cục bộ đã có trên các máy tính của mạng. Khi đó hệ điều hành mạng được cài đặt như một tập các chương trình tiện ích chạy trên các máy khác nhau của mạng. Giải pháp này tuy không được “đẹp” nhưng dễ cài đặt và không vô hiệu hóa được các phần mềm đã có. (2) Bỏ qua các hệ điều hành đã có trên các máy và cài đặt mới hoàn toàn một hệ điều hành thuần nhất trên toàn mạng, gọi là hệ điều hành phân tán. Giải pháp này đẹp hơn về phương diện hệ thống so với giải pháp trên, nhưng bù lại độ phức tạp trong công việc thì lớn hơn rất nhiều. Mặt khác, việc tôn trọng tính độc lập và chấp nhận sự tồn tại của các sản phẩm hệ thống đã có là một điểm hấp dẫn của các tiếp cận thứ nhất. Bởi vậy tùy theo điều kiện cụ thể mà ta áp dụng giải pháp nào cho phù hợp. Sau đây ta xem xét cụ thể hơn về từng giải pháp nói trên Hệ điều hành theo giải pháp (1) Tư tưởng chủ đạo của giải pháp này là cung cấp cho mỗi người tư tưởng chủ đạo của giải pháp này là cung cấp cho mỗi người sử dụng mọi tiến trình đồng nhất mà ta gọi là Agent làm nhiệm vụ cung cấp một giao diện đồng nhất và tất cả các hệ thống cục bộ đã có Agent quản lý một cơ sở dữ liệu chứa các thông tin về các hệ thống cục bộ và chương trình dữ liệu của người sử dụng trong trường hợp đơn giản nhất Agent chỉ hoạt động như một bộ xử lý lệnh, dịch các lệnh của người sử dụng thành ngôn ngữ lệnh của hệ thống cục bộ rồi gửi chúng để thực hiện trước khi mỗi chương trình thực hiện, Agent phải đảm bảo rằng tất cả các tệp cần thiết đề sử dụng. Việc cài đặt mạng như vậy sẽ chống lại hai công việc chính: thiết kế ngôn ngữ lệnh của mạng và cài đặt Agent. Cách tiếp nhận này đơn giản và không gây ảnh hưởng đến hệ thống cục bộ đã có sẵn. Thậm chí các hệ thống cục bộ không cần thiết đến sự tồn tại của mạng. Nhưng giải pháp này chỉ có thể khả thi khi mà tất cả các tệp tin cần thiết đều biết trước để Agent có thể gửi chúng tới một hệ thống cục bộ trước khi chương trình bắt đầu hoạt động. Ngoài ra rất khó thực hiện các tương tác vào ra mà chương trình lại không biết tới sự tồn tại của mạng. Một giải pháp tổng quát hơn nhằm bỏ tiến trình đang chạy lại bằng cách tóm tắt tất cả các lời gọi hệ thống System Call của nó để chúng có thể thực hiện trong bối cảnh của hệ thống quản lý tệp của mạng (NetWork file System). Hệ điều hành theo giải pháp (2) 26
- Lê Đình Danh - Giáo trình Mạng máy tính Trong trường hợp này người ta gọi là hệ điều hành phân tán và có thể được thiết kế một trong hai mô hình: Mô hình tiến trình hoặc mô hình đối tượng. Trong mô hình tiến trình mỗi tài nguyên (tệp, đĩa, thiết bị ngoại vi, ) được quản lý theo một tiến trình nào đó và hệ điều hành mạng điều khiển sự tương tác giữa các tiến trình đó. Các dịch vụ của hệ điều hành mạng tập trung truyền thông như quản lý tệp, lên lịch cho bộ xử lý, điều khiển terminal, được quản lý bởi các Server đặc biệt có khả năng tiếp nhận các yêu cầu thực hiện dịch vụ tương ứng trong nhiều trường hợp các Server có thể chạy như tiến trình của người sử dụng thông thường. Trong mô hình đối tượng, thế giới bao gồm các đối tượng khác nhau, mỗi đối tượng có một kiểu (type), một biểu diễn, và một tập các thao tác có thể thực hiện trên nó. Để thực hiện một thao tác trên một đối tượng, chẳng hạn đọc một tệp tin trên một tiến trình người sử dụng phải có “giấy phép” đối với đối tượng. Nhiệm vụ cơ bản của hệ điều hành đây là quản lý các giấy phép và cấp phát các “giấy phép” đó cho các tiến trình để thực hiện cho các thao tác cần thiết. Trong một hệ tập trung, bản thân hệ điều hành nằm giữ các “giấy phép” bên trong để ngăn ngừa những người sử dụng cố ý giả mạo chúng. Trong một hệ phân tán các “giấy phép” được luân chuyển theo một cách nào đó để mỗi tiến trình đều có cơ hội nhận được “giấy phép” và sao cho người sử dụng không thể tự tạo ra được chúng. Việc thiết kế hệ điều hành phân tán theo môi hình đối tượng là một hướng đi rất triển vọng và tồn tại nhiều vấn đề cần giải quyết trọn vẹn hơn. Còn đối với tiến trình thì chúng ta có thể thấy rõ nhiệm vụ then chốt chính là xây dựng cơ chế liên lạc giữa các tiến trình (Interprocess Communication - IPC). Để làm điều đó người ta sử dụng một trong hai cách: dùng lời gọi hàm (Function/procedure Calls) hoặc chuyển thông báo (message passing). Khi các lời gọi hàm hoặc thủ tục được dùng làm cơ chế IPC, hệ thống đầy đủ bao gồm tệp và các hàm (hoặc thủ tục) được viết tắt theo ngôn ngữ nào đó. Mã của các hàm nào được phân tán cho các bộ vi xử lý. Để thực hiện việc truyền thông giữa các máy, một hàm trên máy này có thể gọi một hàm trên máy khác. Ngữ nghĩa của các lời gọi hàm đây cũng giống như đối với các lời gọi hàm thông thường: hàm gọi bị treo cho đến khi hàm gọi được kết thúc, tham số được truyền từ hàm gọi cho đến hàm được gọi, còn kết quả được chuyển theo chiều ngược lại. Cách tiếp cận này dẫn đến một hệ điều hành được viết như một chương trình lớn, ưu điểm là chặt chẽ và nhất quán, tuy nhiên thiếu mềm dẻo. Nếu dùng phương pháp chuyển thông báo của cơ chế IPC thì các tiến trình sẽ liên tục với nhau bằng cách chuyển thông báo. Mã của các tiến trình được tách biệt và có thể viết bằng các ngôn ngữ khác. Cách tiếp cận này đòi hỏi nhiều vấn đề hơn cách tiếp cận gọi hàm, chẳng hạn vấn đề địa chỉ hóa thiết lập các liên kết ảo, cắt, hợp thông báo, kiểm soát luồng dữ liệu truyền thông báo (broad casting). 1.4.3. Các kiểu hệ điều hàng mạng Trên mạng cục bộ có hai kiểu hệ điều hành mạng: kiểu ngang hàng và kiểu dựa trên amý chủ: 27
- Lê Đình Danh - Giáo trình Mạng máy tính 1.4.3.1. Kiểu ngang hàng (peer-to-peer) Mọi trạm đều có quyền bình đẳng như nhau và đều có thể cung cấp tài nguyên cho các trạm khác. Các tài nguyên cung cấp được có thể là tệp (tương ứng với thiết bị là đĩa), máy in. Nói chung trong các mạng ngang hàng không có việc biến một máy tính thành một trạm làm việc của một máy tính khác. Trong mạng ngang hàng, thông thường các máy sử dụng chung một hệ điều hành. Win 3.1, Win 95, NT Workstation, AppleShare, Lanstic và Novell Lite là các hệ điều hành mạng ngang hàng . Các đặc điểm của mạng ngang hàng: - Thích hợp với các mạng cục bộ quy mô nhỏ, đơn lẻ, các giao thức riêng lẻ, mức độ thấp và giá thành rẻ. - Các mạng ngang hàng được thiết kế chủ yếu cho các mạng nội bộ vừa và nhỏ và sẽ hỗ trợ tốt các mạng dùng một nền và một giao thức. Các mạng trên nhiều nền, nhiều giao thức sẽ thích hợp hơn với hệ điều hành có máy chủ dịch vụ. - Yêu cầu chia sẻ file và máy in một cách hạn chế cần đến giải pháp ngang hàng. - Người dùng được phép chia sẻ file và tài nguyên nằm trên máy của họ và truy nhập đến các tài nguyên được chia sẻ trên máy người khác, nhưng không có nguồn quản lý tập trung. - Vì mạng ngang hàng không cần máy cụ thể làm máy chủ. Chúng thường là một phần của hệ điều hành nền hay là phần bổ sung cho hệ điều hành và thường rẻ hơn so với các hệ điều hành dựa trên máy chủ. - Trong một mạng ngang hàng, tất cả các máy tính được coi là bình đẳng, bởi vì chúng có cùng khả năng sử dụng các tài nguyên có sẵn trên mạng. Những thuận lợi: - Chi phí ban đầu ít - không cần máy chủ chuyên dụng. - Cài đặt - Một hệ điều hành có sẵn (ví dụ Win 95) có thể chỉ cần cấu hình lại để hoạt động ngang hàng. Những bất lợi: - Không quản lý tập trung được - Bảo mật kém - Có thể tốn rất nhiều thời gian để bảo trì 1.4.3.2. Kiểu hệ điều hành mạng có máy chủ (server based network) Trong hệ điều hành kiểu này, có một số máy có vai trò cung cấp dịch vụ cho máy khác gọi là máy chủ (đúng hơn phải gọi là máy cung cấp dịch vụ – mà khi đó thì phải xem là máy “tớ”). 28
- Lê Đình Danh - Giáo trình Mạng máy tính Các dịch vụ có nhiều loại, từ dịch vụ tệp (cho phép sử dụng tệp trên máy chủ) , dịch vụ in (do một máy chủ điều khiển những máy in chung của mạng) tới các dịch vụ như thư tín, WEB, DNS Trong mạng có máy chủ, hệ điều hành trên máy chủ và máy trạm có thể khác nhau. Ngay trong trường hợp máy chủ và máy trạm sử dụng cùng một hệ điều hành thì chức năng của bản trên máy chủ cũng có thể khác với chức năng cài đặt trên máy trạm. Sau đây là một số hệ điều hành có dùng máy chủ: Novell Netware 4.1 Microsoft NT V4.0, Server, OS/2 LAN Server và Banyan Vines V6.0. Đặc điểm của các hệ điều hành có máy chủ: - Hệ điều hành cho các mạng an toàn, hiệu suất cao, chạy trên nhiều nền khác nhau (kể cả phần cứng, hệ điều hành và giao thức mạng) - Một máy chủ là một máy tính trong mạng được chia sẻ bởi nhiều người dùng, như các máy dịch vụ file, máy dịch vụ in, máy dịch vụ truyền tin. Nói cách khác, nó được thiết kế để cung cấp một dịch vụ cụ thể - khác với các hệ máy tính nhiều người dùng, tập trung và đa mục đích - mặc dù máy dịch vụ file kết hợp với các hệ thống như hệ điều hành mạng Novell's NetWare 3.xx hay 4.xx thường hoạt động theo cách đó. - Kiểm soát quyền sử dụng trên tòan mạng tại máy chủ. - Cung cấp các dịch vụ thư mục trên tòan mạng. - Các giải pháp dựa trên máy chủ được coi là sự quản trị mạng tập trung và thường là máy quản lý mạng nội bộ chuyên dụng. - Bản thân máy chủ có thể chỉ là máy chủ chuyên dụng như Novell Netware 4.1, máy này không thể hoạt động như một máy trạm. Cũng có những hệ điều hành mà máy chủ NT cũng có thể được sử dụng như một máy trạm. 1.4.3.3. Mô hình khách/chủ (client/server) Đầu thập niên 60, việc sử dụng máy tính thực hiện theo mô hình tập trung. Các trạm thực sự chỉ làm việc giao tiếp còn việc xử lý thực sự tiến hành ở một máy tính nào đó. Như vậy với mô hình này hoàn toàn không có xử lý cộng tác. Một phát triển tiếp theo là mô hình xử lý chủ tớ (master/slaver) với việc một máy xử lý và chuyển giao một số công việc cho các máy cấp thấp hơn, hoàn toàn không có việc máy cấp thấp hơn liên lạc hoặc giao việc theo chiều ngược lại. Như vậy quá trình cộng tác chỉ là một chiều. Một bước đột phá trong mô hình tính toán cộng tác là mô hình chia sẻ thiết bị (shared device) theo đó một máy có thể cho máy khác sử dụng thiết bị của mình (chủ yếu là đĩa và máy in). Hệ điều hành mạng theo kiểu ngang hàng hay có sử dụng máy chủ dịch vụ đều có thể dùng cho mô hình này. Tuy nhiên chỉ ở mức này thôi thì chính CPU chưa bị chia sẻ nghĩa là chưa có sự phân tán trong xử lý mà chủ yếu là phân tán thông tin. Ngay cả việc sử dụng máy in từ xa cũng không mang ý nghĩa của xử lý phân tán vì thực chất chỉ là gửi nội dung in tới hàng đợi của một máy in do một máy tính nào đó quản lý mà thôi. Máy chủ cung cấp dịch vụ in không tạo ra giá trị mới cho công việc của máy uỷ thác dịch vụ in. 29
- Lê Đình Danh - Giáo trình Mạng máy tính Trong những năm gần đây đã xuất hiện mô hình khách chủ trong đó một số máy chủ đóng vai trò cung úng dịch vụ theo yêu cầu của các máy trạm. Máy trạm trong mô hình này gọi là máy khách (client) là nơi gửi các yêu cầu xử lý về máy chủ. Máy chủ (server) xử lý và gửi kết quả về máy khách. Máy khách có thể tiếp tục xử lý các kết quả này phục vụ cho cộng việc. Như vậy máy khách chịu trách nhiệm chủ yếu về giao diện và chỉ đảm nhận một phần xử lý. Trong mô hình khách/chủ xử lý thực sự phân tán. Ta nói đến mô hình khách chủ chứ không nói đến hệ điều hành khách chủ vì trên thực tế mô hình khách chủ yêu cầu phải có một hệ điều hành dựa trên máy chủ dù máy chủ này ở trong mạng cục bộ hay máy chủ cung cấp dịch vụ từ một mạng khác. Hầu hết các ứng dụng trên Internet là ứng dụng khách chủ sử dụng từ xa. Lưu ý rằng các tiến trình khách và chủ đôi khi có thể thực hiện trên cùng một máy tính - Client process và server process có thể hoạt động trên cùng một bộ xử lý, trên các bộ sử lý khác nhau ở cùng một máy (các bộ xử lý song song), hoặc trên các bộ xử lý khác nhau trên các máy khác nhau (xử lý phân tán). - Một điều quan trọng cần nhận thấy là cả hệ điều hành ngang hàng và hệ điều hành dựa trên máy chủ đều có thể thỏa mãn mô hình khách/chủ. Trên thực tế, hầu hết các hệ điều hành hiện đại đều cung cấp ít nhất một vài chức năng khách-chủ. Hệ điều hành khách/chủ Các hệ điều hành cho cấu trúc khách/chủ bao gồm: Sun Solaris NFS, UnixWare NFS, Novell Netware và Windows NT Server. - Hệ điều hành khách/chủ cho phép mạng tập trung các chức năng và các ứng dụng tại một hay nhiều máy dịch vụ file chuyên dụng. Theo cách này, chúng có thể hoạt động như trường hợp đặc biệt của hệ điều hành dựa trên máy chủ. - Các máy dịch vụ file trở thành trung tâm củ hệ thống, cung cấp sự truy cập tới các tài nguyên và cung cấp sự bảo mật. Các máy trạm riêng lẻ (máy khách) được truy nhập tới các tài nguyên có sẵn trên máy dịch vụ file. - OS cung cấp cơ chế tích hợp tất cả các bộ phận của mạng và cho phép nhiều người dùng đồng thời chia sẻ cùng một tài nguyên bất kể vị trí vật lý - Các hệ điều hành ngang hàng cũng có thể hoạt động như hệ điều hành khách/chủ như với Unix/NFS và Windows 95. Các điểm thuận lợi của một mạng khách/chủ: - Cho phép cả điều khiển tập trung và không tập trung: Các tài nguyên và bảo mật dữ liệu có thể được điều khiển qua một máy chủ chuyên dụng hay rải rác trên tòan mạng. - Chống quá tải mạng - Cho phép sử dụng các máy, các mạng chạy trên các nền khác nhau - Đảm bảo toàn vẹn dữ liệu - Giảm chi phí phát triển hệ thống 30
- Lê Đình Danh - Giáo trình Mạng máy tính 1.4.4. Các chức năng của một hệ điều hành mạng Sau đây là các chức năng cụ thể mà một hệ điều hành mạng. − Cung cấp phương tiện liên lạc giữa các tiến trình, giữa những người sử dụng và giữa các tài nguyên nói chung của toàn mạng. Có thể kể dến các khía cạnh sau: + Chuyển dữ liệu giữa các tiến trình + Đồng bộ hoá các tiến trình + Cung cấp phương tiện liên lạc giữa người sử dụng. Ở mức thấp có thể là tạo, lưu chuyển và hiển thị các thông báo nóng trực tuyến, ở mức độ cao có thể là nhắn tin (paging) hoặc thư tín điện tử (Email) − Hỗ trợ cho các hệ điều hành của máy trạm - cho phép truy nhập tới máy chủ từ các máy trạm. Các hệ điều hành mạng hiện đại đều cung cấp các hỗ trợ cho các hệ điều hành khác nhau chạy trên các máy trạm khách. Sau đây là một số ví dụ minh hoạ vấn đề này: Các hệ điều hành UNIX cung cấp các chương trình chạy trên DOS có tên là NFS (Network File System) khởi động trên DOS để các máy PC có thể sử dụng hệ thống tệp của các máy chủ UNIX. Một số hệ điều hành như Windows NT và Windows 95 cung cấp hỗ trợ cho các dịch vụ thư mục Novell (NDS) cho phép chúng truy nhập trực tiếp tới tài nguyên trên máy chủ Novell Netware. − Dịch vụ định tuyến và cổng nối - cho phép truyền thông giữa các giao thức mạng khác nhau. Ví dụ một máy chạy trên Novell NetWare với giao thức IPX/SPX không thể chạy trực tiếp các ứng dụng trên TCP/IP như một số các ứng dụng Internet. Tuy vậy nếu có các modun chuyển đổi giao thức biến các gói tin IPX/SPX thành gói tin TCP/IP khi cần gửi từ mạng Netware ra ngoài và ngược lại thì một máy chạy Netware có thể giao tiếp được với Internet. Kiến trúc của Netware có ODI (Open Datalink Interface ) là phần để chuyển đổi và chồng (bao gói) các giao thức khác nhau. − Dịch vụ danh mục và tên. (Name /Directory Services) + Để có thể khai thác tốt tài nguyên trên mạng, NSD cần “nhìn thấy” một cách dễ dàng các tên tài nguyên (thiết bị, tệp) của toàn mạng một cách tổng thể. Vì thế một dịch vụ cung cấp danh mục tài nguyên là vô cùng quan trọng. + Đương nhiên việc NSD nhìn thấy các tài nguyên nào còn phụ thuộc vào thẩm quyền của người đó. Mỗi khi vào mạng, khi NSD đã được mạng nhận diện, họ có thể nhìn thấy những tài nguyên được phép sử dụng. + Trong NOVELL dịch vụ đó chính là NDS (Netware Directory Services). Trong Windows NT hay Windows95 đó chính là chức năng browser mà ta thấy được cài đặt trong explorer. Trong UNIX với lệnh mount ta có thể kết nối tên tài nguyên của một hệ thống con vào hệ thống tài nguyên chung. − Bảo mật – Chức năng này đảm bảo việc kiểm soát các quyền truy cập mạng, quyền sử dụng tài nguyên của mạng. Các phương pháp được áp dụng bao gồm : Dùng các dịch vụ đĩa để điều khiển bảo mật: 31
- Lê Đình Danh - Giáo trình Mạng máy tính + Chia ổ đĩa cứng của máy chủ thành các phần được gọi là volume hay partition sau đó gán volume được phép cho người dùng + Định các thẩm quyền trên tệp và thư mục. Có nhiều loại thẩm quyền. It nhất thì các thẩm quyền được đọc, được ghi và được thực hiện được áp dụng cho đa số các hệ điều hành mạng. Một số hệ điều hành quy định thẩm quyền khá chi tiết như quyền được xoá, quyền được sao chép, quyền xem thư mục, quyền tạo thư mục. Các quyền này lại được xem xét cho đến từng nhóm đối tượng như cá nhân, nhóm là việc hay tất cả mọi nguời. + Thẩm quyền vào mạng hay thực hiện một số dịch vụ được nhận diện qua tên nguời sử dụng và mật khẩu. + Mã hoá các gói tin trên mạng. + Một số hệ điều hành còn cho phép mã hoá phần cứng để kiểm soát việc sử dụng thiết bị. − Cung cấp phương tiện chia sẻ tài nguyên. Những tài nguyên trên mạng có thể cho phép nhiều người đuợc sử dụng. Đáng kể nhất là đĩa (thực chất là tệp và thư mục) và máy in (thực chất là máy tính quản lý hàng đợi của máy in). hệ điều hành M phải có các công cụ cho phép tạo ra các tài nguyên có thể chia sẻ đuợc. Các tài nguyên chia sẻ được phải là các tài nguyên độc lập với mọi ứng dụng. Chính vì vậy nó phải được cung cấp các trình điều khiển (driver) phù hợp với mạng. Máy in, modem là các tài nguyên như vậy. Trên mạng cũng cần có các công cụ can thiệp vào hoạt động của các tài nguyên mạng ví dụ: đình chỉ một tiến trình truy nhập mạng từ xa, thay đổi thứ tự hàng đơị trên máy in mạng − Tạo tính trong suốt để người sử dụng không nhìn thấy khó khăn trong khi sử dụng các tài nguyên mạng cũng như tài nguyên tại chỗ. Chính dịch vụ thư mục và tên nói trên là một ví dụ về chức năng này. Trong Windows 95/NT người ta có thể duyệt thư mục trên toàn mạng không có gì khác với việc duyệt thư mục trong đĩa cục bộ − Sao lưu dự phòng - Đối với bất kỳ hệ thống nào, chạy trên môi trường nào, vấn đề sao lưu dự phòng cũng quan trọng để có thể hồi phục thông tin của hệ thống sau một sự cố gây mất dữ liệu. Tuy nhiên trong môi trường mạng thì việc sao lưu có thể thực hiện được việc sao lưu một cách tự động qua mạng. Chính vì thế các các hệ điều hành mạng đều cung cấp công cụ sao lưu như một chức năng cơ bản. Có nhiều phương pháp sao lưu. Trên Novell cho phép soi gương (mirroring) các ổ đĩa mà ta có thể đặt trong khi cài đặt hệ thống. Novell có cả một dịch vụ tên là SMS (Storage Management Services) cung cấp các công cụ sao chép, hồi phục không chỉ dữ liệu của NSD mà cả dữ liệu của hệ thống ví dụ NDS. NT có chức năng replicate không những đối với đĩa mà còn ở mức thư mục và định kỳ. Điều đó rất cần thiết không chỉ trên mạng cục bộ mà ngay cả trên mạng rộng. 1.5. KẾT NỐI LIÊN MẠNG 1.5.1. Các tiếp cận Liên mạng (Internetwork) là một tập hợp của nhiều mạng riêng lẻ được nối kết lại bởi các thiết bị nối mạng trung gian và chúng vận hành như chỉ là một mạng lớn. Để kết 32
- Lê Đình Danh - Giáo trình Mạng máy tính nối các mạng đang tồn tại lại với nhau, người ta thường 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ư là một hệ thống mở 2) Xem mỗi mạng con như là một hệ thống mở. Quan điểm 1 cho phép mỗi nút của mạng con có truyền thông trực tiếp với một nút của một mạng con bất kỳ khác. Như vậy toàn bộ các mạng con cũng sẽ là nút một mạng lớn hơn và tuân thủ một kiến trúc chung. Trong khi đó với quan điểm 2, hai nút thuộc hai mạng con khác nhau không thể “bắt tay” trực tiếp với nhau được mà phải thông qua một phần tử trung gia, gọi là giao diện kết nối đặt giữa hai mạng con đó. Có nghĩa là cũng hình thành một mạng mạng lớn hơn gồm các giao diện kết nối và các máy tính (host) được nối với nhau bởi các mạng con đó. Tương ứng với hai quan điểm đó có hai chiến lược kết nối mạng khác nhau. Một chiến lược (tương ứng với quan điểm 1) tìm cách xây dựng các chuẩn chung cho các mạng (các chuẩn của ISO, CCITT theo quan điểm này). Một chiến lược khác (tươngứn với quan điểm 2) cố gắng xây dựng các giao diện kết nối để tôn trọng tính độc lập của các các mạng hiện có. Rõ ràng sự hội tụ về một chuẩn chung là một điều lý tưởng, nhưng rõ ràng là không thể ngay tức khắc loại bỏ hàng vạn mạng đang tồn tại trên thế giới được, mà phải tìm cách tận dụng chúng. Trên thị trường hiện nay có rất nhiều các sản phẩm giao diện cho phép chuyển đổi giữa các mạng khác nhau, đó là một minh chứng sống động cho sức sống của quan điểm 2. 1.5.2. Giao diện kết nối Kết nối liên mạng có thể được thực hiện ở những tầng khác nhau, tùy thuộc vào mục đích mà ta dùng các thiết bị kết nối khác nhau. Bảng dưới đây liệt kê một số thiết bị kết nối tương ứng với các tầng khác nhau: 1.6. CÂU HỎI VÀ BÀI TẬP (đang tiếp tục bổ sung) 33
- Lê Đình Danh - Giáo trình Mạng máy tính CHƯƠNG 2. KIẾN TRÚC PHÂN TẦNG OSI 2.1. TẦNG VẬT LÝ (PHYSICAL) 2.1.1. Vai trò và chức năng của tầng vật lý. Theo định nghĩa của ISO, tầng vật lý cung cấp các phương tiện điện, cơ, chức năng, thủ tục để kích hoạt, duy trì và đình chỉ các liên kết vật lý giữa các hệ thống. Trong đó, thuộc tính điện liên quan đến sự biểu diễn các bít (các mức tín hiệu) và tốc độ truyền các bit, thuộc tính cơ liên quan đến các tính chất vật lý của giao diện vật lý với một đường truyền (kích thước, cấu hình). Thuộc tính chức năng chỉ ra các chức năng được thực hiện bởi các phần tử của giao diện vật lý giã một hệ thống và đường truyền vật lý, và thuộc tính thủ tục liên quan đến các giao thức điều khiển việc truyền các xâu boit qua đường truyền vật lý. Khác với các tầng khác, tầng vật lý là không có gói tin riêng và do vậy không có phần đầu (header) chứa thông tin điều khiển, dữ liệu được truyền đi theo dòng bit. Cáp đồng trụcCáp quang Hệ thống A C D E F Hệ thống B a) Môi trường thực SAP cho tầng vật lý SAP cho tầng vật lý Thực thể Giao thức tầng vật lý Thực thể Giao thức tầng vật lý tầng vật tầng vật Thực thể lý lý tầng vật lý Đường truyền vật lý Đường truyền vật lý b) Môi trường logic Hình 2.1 Quan hệ củatầng vậtlý vớimôi trường thực Trong hình 2.1 a), A và B là hai hệ thống mở được nối với nhau bằng một đoạn cáp đồng trục và một đoạn cáp quang. Modem C để chuyển đổi tín hiệu từ tín hiệu số sang tín hiệu tương tự để truyền trên cáp đồng, và modem D lại chuyển đổi tín hiệu từ tín hiệu tương tự sang tín hiệu số. Transducer E chuyển đổi từ xung điện thành xung ánh sáng để truyền qua các quang. Cuối cùng Transducer F chuyển đổi thành xung điện để đi vào B. Hình 2.1 b) là môi trường logic của tầng vật lý. Ở đây, một thực thể vật lý là một cấu trúc logic giao diện với đường truyền vật lý. Các thực thể đó có mặt trong các hệ 34
- Lê Đình Danh - Giáo trình Mạng máy tính thống A, B và cũng có thể có thực thể vạtt lý ở giao diện giữa D và E. Thực thể trung gian này là một bộ chuyển tiếp hoạt đọng ở tầng vật lý giao diện với các đường truyền vậy lý khác nhau. Một giao thức tầng vật lý giữa các thực thể vật lý để quy định pgương thức truyền (đồng bộ, dị bộ) và tốc độ truyền, Điều mong muốn là giao thức đó pải độc lập tối đa với đường truyền vật lý để cho một hệ thống có thể giao diện với nhiều đường truyền khác nhau. Do vậy, các chuẩn vật lý sẽ phải bao gồm không chỉ các thực thể mà còn cả đặc tả của giao diệ với đườn truyền. Dưới đây ta sẽ xem sét các chuẩn đó. 2.1.2. Các chuẩn cho giao diện vật lý Trước khi vào phần này chúng ta hãy làm quen với hai thuật ngữ mới, đó là thiết bị cuối dữ liệu (Data Terminal Equipment – DTE) và thiết bị cuối kênh dữ liệu (Data Circuit Terminal Equipment – DCE). DTE là một thuật ngữ chung để chỉ các máy của người sử dụng cuối (end-user), có thể là máy tính hoặc một trạm cuối (terrminal). Tất cả các ứng dụng của người dùng đều nằm ở DTE. Mục đích của việc nối mạng chính là để nối các DTE lại với nhau để chia sẻ tài nguyên, lưu trữ thông tin chung và trao đổi dữ liệu. DCE là thuật ngữ chung chỉ các thiết bị làm nhiệm vụ kết nối các DTE với đường truyền. Nó có thể là một Modem, Transducer, Multiplexing. DCE có thể được cài đặt ngay bên trong DTE hoặc đứng riêng như một thiết bị độc lập. Chức năng chủ yếu của nó là chuyển đổi tín hiệu biểu diễn dữ liệu của người dùng thành tín hiệu chấp nhận được bởi đường truyền và ngược lại. Trong hình 2.1 ở trên, các hệ thống mở A, B chính là các DTE, còn các Modem C, D và Tranducer E, F đóng vai trò là các DCE. Đa số các trường hợp kết nối mạng máy tính sử dụng cùng một kiểu giao diện vật lý để thuận tiện cho việc truyền thông trực tiếp giữa các sản phẩm khác loại, khỏi phải thực hiện việc chuyển đổi rắc rối. Các đặc tả về hoạt động của các DTE và DCE được đưa ra bởi nhiều tổ chức chuẩn hóa như CCITT, EIA và IEEE. ISO cũng đã công bố các đặc tả về các đầu nối cơ học kết nối giữa các DCE và DTE. Việc truyền dữ liệu chủ yếu được thực hiện thông qua mạng điện thoại, bởi thế các tổ chức trên đã đưa ra nhiều khuyến nghị về vấn đề này. Các khuyến nghị loại V và loại X của CCITT là một ví dụ điển hình. Chúng là các đặc tả ở tầng vật lý được sử dụng phổ biến nhất trên thế giới, đặc biệt là ở Tây Âu. Bên cạnh đó các chuản thuộc họ RS- (nay đã đổi thành EIA-) của EIA cũng đã được sử dụng rất phổ biến, đặc biệt là ở Bắc Mỹ. Dưới đây ta sẽ xem xét một số chuẩn thông dụng nhất. • V24/RS-232-C: Là hai họ chuẩn tương ứng của CCITT và EIA nhằm định nghĩa giao diện vật lý giữa DTE và DCE (giữa máy tính và Modem chẳng hạn). Về phương diện cơ, các sản phẩm này sử dụng các đầu nối 25 chân (25- pin connector). Về điện, các chuẩn này quy định các tín hiệu số nhị phân 0 và 1 tương ứng với các thế hiệu nhỏ hơn -3V và lớn hơn +3V. Tốc độ tín hiệu không vượt quá 20 Kbps với khoảng cách tối đa là 15m. Trong trường hợp đặc biệt, khi khoảng cách giữa các thiết bị quá gần đến mức cho phép hai DTE có thể truyền trực tiếp tín hiệu với nhau, lúc đó các mạch RS-232-C vãn có thể được dùng nhưng không cần có mặt DCE nữa. 35
- Lê Đình Danh - Giáo trình Mạng máy tính Từ năm 1987, RS-232-C đã được sửa đổ và dặt tên lại là EIA-232-D. • RS-449/422-A/423-A: Nhược điểm chính của V24/RS-232-C là sự hạn chế về tốc đội và khoảng cách. Để cải thiện yếu điểm đó, EIA đã đưa ra mootj tập các chuẩn mới để thay thế, đó là RS-449, RS-422-A và RS-423-A. Mặc dù chuẩn RS-232-C vẫn được sử dụng nhiều nhât cho giao diện DET/DCE, nhưng các chuẩn mới nói trên cũng đang ngày càng được sử dụng nhiều hơn. RS-449 định nghĩa các dặc trưng cơ, chức năng, còn RS-422-A và RS-4232-A định nghĩa các đặc trưng về điện của chuẩn mới. RS-449 tương tự như RS-232-C và có thể liên tác với chuẩn cũ,. Về phương diện chức năng, RS-449 giữ lại toàn bộ các mạch của RS-232-C (trừ mạch AA), và thêm vào 10 mạch mới, trong đó có các mạch quan trọng là: IS, NS, SF, LL, RL, TM. Về phương diện cơ, RS-449 dùng đầu nối 37-chân cho giao diện cơ bản và dùng một đầu nối 9 chân riêng biệt cho kênh phụ. Song trong nhiều trường hợp, chỉ có một số chân được sử dụng. Về phương diện thủ tục, RS-449 tương tự như RS-232-C. Mỗi mạch có chức năng riêng và việc truyền tin dựa trên các cặp “tác động-phản ứng”. Ví dụ DTE thực hiện Request to Send thì sau đó nó sẽ đợik DCE trả lời với Clear to Send. Cải tiến chủ yếu của RS-449 so với RS-232-C là ở các dặc trưng về điện, và các chuẩn RS-422-A, RS-423-A định nghĩa các đặc trưng đó. Trog khi RS-232-C được thiết kế ở thời đại của các linh kiện điện tử rời rạc thì các chuẩn mơi đã được tiếp nhận các ưu việt của công nghệ mạc tổ hợp (IC). RS-423-A sử dụng phương thức truyền thông không cân bằng, đạt tốc độ 3Kbps ở khoảng cách 1000m và 300 Kbps ở khoảng cách 10m. Ttrong khi đó, RS-422-A sử dụng phương thức truyền thông cân bằng, đạt tốc độ 100Kbps ở khoảng cách 1200m và tới 10 Mbps ở khoảng cách 12m. Ngoài các chuẩn trên EIA còn hpát triển các chuẩn khác như EIA-530 để thay thế cho EIA-232 trong trường hợp các giao đòi hỏi tốc độ cao hơn 20Kbps, hau EIA-366 định nghĩa giao diện cho các thiết bị tự động, một modem và một DTE. 2.2. TẦNG LIÊN KẾT DỮ LIỆU (DATA LINK) 2.2.1. Vai trò và chức năng của tầng liên kết dữ liệu Tầng liên kết dữ liệu cung cấp các phương tiện để truyền thông tin qua liên kết vật lý đảm bảo tin cậy thông qua các cơ chế đồng bộ hóa, kiểm sóat lỗi và kiểm soát luồng dữ liệu. Tầng liên kết dữ liệu (data link layer) là tầng mà ở đó ý nghĩa được gán cho các bít được truyền trên mạng. Tầng liên kết dữ liệu phải quy định được các dạng thức, kích thước, địa chỉ máy gửi và nhận của mỗi gói tin được gửi đi. Nó phải xác định cơ chế truy nhập thông tin trên mạng và phương tiện gửi mỗi gói tin sao cho nó được đưa đến cho người nhận đã định. Tầng liên kết dữ liệu cũng cung cấp cách phát hiện và sửa lỗi cơ bản để đảm bảo cho dữ liệu nhận được giống hoàn toàn với dữ liệu gửi đi. Nếu một gói tin có lỗi không sửa được, tầng liên kết dữ liệu phải chỉ ra được cách thông báo cho nơi gửi biết gói tin đó có lỗi để nó gửi lại. 36
- Lê Đình Danh - Giáo trình Mạng máy tính 2.2.2. Các giao thức của tầng liên kết dữ liệu Cũng giống như tầng Vật lý, có rất nhiều giao thức được xây dựng cho tầng này, gọi chung là các giao thức liên kết dữ liệu (Data Link Protcol- DLP). Cá DLP được phân chia thành hai loại: đồng bộ và dị bộ. Trong đó, loại đồng bộ lại được chia thành 2 nhóm là hướng ký tự và hướng bit (xem sơ đồ hình 2.2). • DLP dị bộ: Các DLP dị bộ sử dụng phương thức truyền dị bộ, tức là không cần có sự đồng bộ liên tục giữa người gửi và người nhận, Nó cho phép một đơn vị dữ liệu được truyền đi bất kỳ lúc nào mà không cần quan tâm đến các tín hiệu đồng bộ trước đó. Ở giao thức loại này, các bít đặc biệt START và STOP được dùng để tách các xâu bit biểu diễn các ký tự trong dòng dữ liệu được truyền đi. Các giao thức loại này thường được dùng trong các máy điện báo hoặc các máy tính trạm cuối tốc độ thấp. Phần lớn các máy PC sử dụng phương thức truyền dị bộ vì tónh đơn giản của nó. • DLP đồng bộ: Phương thức truyền thông đồng bộ sử dụng các ký tự đặc biệt SYN, EOT hay đơn giản là các cờ (flag) giữa ác kdữ liệu củangười dùng để báo cho người nhận biết rằng dữ liệu “đang đến” hay “đã đến”. Giao thức liên kết dữ liệu Giao thức đồng bộ Giao thức dị bộ Giao thức hướng ký tự Giao thức hướng bit Hình 2.2. Phân loại các giao thức liên kết dữ liệu Các giao thức tầng liên kết dữ liệu đồng bộ gồm các giao thức hướng ký tự và các giao thức hướng bit. Các giao thức hướng ký tự được xây dựng dựa trên các ký tự đặc biệt của một bộ mã chuẩn nào đó (như ASCII hay EBCDIC), trong khi đó các giao thức hướng bit lại dùng các cấu trúc nhị phân (xâu bit) để xây dựng các phần tử của giao thức (đơn vị dữ liệu, các thủ tục) và khi nhận, dữ liệu sẽ được tiếp nhận lần lượt từng bit một. Dưới đây chúng ta sẽ xem xét kỹ hơn hai loại giao thức này. 2.2.3. Các giao thức hướng ký tự Các giao thức loại này xuất hiện từ những năm 60 và đến nay nó vẫn được sử dụng. Chúng được dùng cho cả hai phương thức truyền dựa trên cách kết nối các máy tính, đó là phương thức "một điểm - một điểm" và phương thức "một điểm - nhiều điểm". Với phương thức "một điểm - một điểm" các đường truyền riêng biệt được thiết lâp để nối các cặp máy tính lại với nhau. Phương thức "một điểm - nhiều điểm " tất cả các máy phân chia chung một đường truyền vật lý. 37
- Lê Đình Danh - Giáo trình Mạng máy tính Hình 2.3. Các đường truyền kết nối ki ểu "một điểm - một điểm" và "một điểm - nhiều điểm". Các giao thức loại này có thể đáp ứng cho các phương thức khai thác đường truyền khác nhau: một chiều (simplex), hai chiều luân phiên (half-duplex) và hai chiều đồng thời (full-duplex). Đối với phương thức một chiều, giao thức hướng ký tự được dùng rộng rãi nhất là giao thức truyền tệp Kermit do Đại học Columbia (Mỹ) chế tác. Kermit có nhiều phiên bản cho phép truyền tệp giữa 2 máy PC, hoặc một PC và một máy chủ (file server) hoặc một máy tính lớn (maiframe). Đối với phương thức hai chiều luân phiên, giao thức hướng ký tự nổi tiếng nhất là giao thức BSC (Binary Synchronous Control) hay còn gội là Bisync- một sản phẩm của IBM. Giao thức này đã được lấy Iso lấy làm cơ sở để xây dợng giao thức hướng ký tự chuẩn quốc tể với tên gọi là Basic Mode. Bởi vậy ta sẽ trình bày chi tiết về giao thức này. Có rất ít giao thức hướng ký tự cho phương thức hai chiều đồng thời. Ví dụ cho loại này là giao thức giữa các nút chuyển mạch (IMP – Interface Message Protcol) trong mạng ARPANET của bộ quốc phòng Mỹ. Giao thức BSC/Basic mode Họ giao thức này áp dụng cho trường hợp điểm-điểm, hoặc điểm-nhiều điểm và hai chiều luân phiên; sử dụng các ký tự đặc biệt của bộ mã EBCDIC (đối với BSC) và ASCII (đối với Basic Mode). Các ký tự đặc biệt đó gồm: SOH (Start Of Header): chỉ bắt đầu của phần header STX (Start Of Text): chỉ phẩn bắt đầu của phần dữ liệu (văn bản) ETX (End Of Text): chỉ phẩn kết thúc của phần dữ liệu EOT (End Of Transmission): chỉ sự kết thúc của một hoặc nhiều đơn vị dữ liệu và giải phóng liên kết). ETB (End Of Transmission Block): chỉ sự kết thúc của một khối dữ liệu trong trường hợp dữ liệu được chia thành nhiều khối. ENQ (Enquiry): để yêu cầu phúc đáp từ một trạm ở xa. DLE (Data Link Escape): để thay đổi ý nghĩa của các ký tự điều khiển khác ACK (Acknowledge): để báo cho người gửi biết đã nhận tốt dữ liệu NAK (Negative Acknowledge): để báo cho người gửi biết đã nhận không tốt dữ liệu SYN (Synchronous Idle): ký tự đồng bộ, dùng để duy trì sự đồng bộ giữa người gửi và người nhận. 38
- Lê Đình Danh - Giáo trình Mạng máy tính Đơn vị dữ liệu (frame) của nó có khuôn dạng như sau: SOH Header STX Text ETX BCC Trong đó BCC(block Check Character): là 8 bit kiểm tra lỗi theo kiểu bit chẵn lẻ theo khối cho các ký tự thuộc vùng Text (trong trường hợp Basic Mode), hoặc 16 bit kiểm tra lỗi theo phương pháp CRC-16 cho vùng Text (trong trường hợp BSC). Các phương pháp kiểm tra lỗi sẽ được đề cập trong chương 4. Kích thước vùng Text được giới hạn để đảm bảo được kiểm soát lỗi khi truyền. Trong trường hợp dữ liệu lớn thì có thể chia thành nhiều khối nhỏ (block). Giả sử Text được chia làm 3 khối, khi đó khuôn dạng các khối dữ liệu như sau: Khối 1: SOH Id Header STX Text1 ETB BCC Khối 2: SOH Id STX Text2 ETB BCC Khối 3: SOH Id STX Text3 ETB BCC Các thủ tục chính của BSC/Basic Mode: • Mời truyền tin: Giả sử trạm A muốn mời trạm B truyền tin, A sẽ gửi lệnh sau tới B: EOT B ENQ Trong đó: B là địa chỉ của trạm được mời truyền tin, EOT để chuyển liên kết sang trạng thái điều khiển. Khi B nhận được lệnh này, có thể xảy ra hai trường hợp,: - Nếu có tin để truyền thì trạm B sẽ cấu tạo một đơn vị dữ liệu và gửi cho A. - Nếu không có tin để gửi, B sẽ gửi EOT để trả lời. Ở phía A, sau khi gửi lệnh đi quá một thời gian xác định trước mà không nhận được trả lời của B, hoặc là nhận được trả lời sai thì A sẽ chuyển sang trạng thái “phục hồi”. Trạng thai này sẽ được nói đến ngay sau đây. • Mời nhận tin: Giả sử trạm A muốn mời trạm B nhận tin, A sẽ gửi lệnh tương tự như trên tới B: EOT B ENQ Ở đây EOT có thể vắng mặt. Khi B nhận được lệnh này, nếu B sẵn sàng nhận tin thì trạm B sẽ gửi ACK về A, ngược lại nó sẽ gửi NAK. Ở phía A, sau khi gửi lệnh đi quá một thời gian xác định trước mà không nhận được trả lời của B, hoặc là nhận được trả lời sai thì A sẽ chuyển sang trạng thái “phục hồi”. • Yêu cầu trả lời: Khi một trạm cận trạm khác trả lời một yêu cầu nào đó đã gửi đi trước, nó chỉ cần gửi lệnh ENQ cho trạm kia. 39
- Lê Đình Danh - Giáo trình Mạng máy tính • Ngừng truyền tin (tạm thời): gửi lệnh EOT • Giải phóng liên kết: gửi lệnh DLE EOT • Triạng thái phục hồi: Khi một trạm nào đó đi vào trạm thái phục hồ nó sẽ thực iện một trong các hành đọng sau: − Lặp lại lệnh đã gửi n lần (n là một soos nguyên chọn trước) − Gửi “yêu cầu trả lời” n lần − Kết thúc truyền bằng cách gửi lệnh EOT Để thấy rõ hơn phương thức trao đổi thông tin của giao thức BSC/Basic Mode ta dùng sơ đồ minh họa ở hình dưới đây, trong đó có hai trường hợp: thông thường và hội thoại. Trạm A Trạm B Trạm A Trạm B ENQ ENQ ACK ACK STX ETX BCC STX ETX BCC STX ETX BCC ACK STX ETX BCC STX ETX BCC ACK ACK EOT EOT ENQ ACK STX ETX BCC ACK EOT (dạng thông thường) (dạng hội thoại) Hình 2.4. Sơ đồ minh họa hoạt động của giao thức BSC/Basic Mode 40
- Lê Đình Danh - Giáo trình Mạng máy tính 2.2.4. Các giao thức hướng bit Giao thức HDLC HDLC hỗ trợ 3 chế độ trao đổi số liệu − NRM (Normal Response Mode) = chế độ trả lời bình thường: được sử dụng ở cấu hình không cân đối, S chỉ phát khi có yêu cầu của P. − ARM (Asynchronous Response Mode) = chế độ trả lời không đồng bộ: được sử dụng ở cấu hình không cân đối, cho phép S phát không cần nhận được yêu cầu của P. − ABM (Asynchronous Balanced Mode) = chế độ trả lời không đồng bộ ở cấu hình cân đối; hầu như chỉ được sử dụng trong mạng kết nối point-to-point + full-duplex. Hai thiết bị trao đổi với nhau là bình đẳng về chức năng (P và S) Khuôn dạng gói số liệu (HDLC Frame Format) • Flag - trường đồng bộ = 7EH = 0111.1110 • Address - trường địa chỉ, chứa đ/c thiết bị đích + Group address + Broadcast address 41
- Lê Đình Danh - Giáo trình Mạng máy tính • Control - trường điều khiển: kết nối, truyền và kết thúc kết nối Gói số liệu I-Frame: • N(S), N(R) được sử dụng để điều khiển lưu lượng thu/phát. Ngoài ra N(S), N(R) còn xác định độ lớn của cửa sổ được sử dụng để trao đổi số liệu bằng HDLC. • P/F= Poll/Final – P/F = 1 = P: yêu cầu S phải thực hiện lệnh và trả lời kết quả thực hiện; S báo cáo đã thực hiện lệnh – P/F = 0 = F: Hết thông tin cần gửi Gói điều khiển S-Frame: • bit P/F giống như trên • S = 00: RR (Receive Ready) - sẵn sàng nhận, đã nhận tới gói tin thứ N(R)-1 • S = 01: REJ (Reject) - yêu cầu phát lại từ N(R) • S = 10: RNR(Receive Not Ready) - chưa sẵn sàng, đã nhận tới N(R)-1 • S = 11: SREJ (Selative REJ) - yêu cầu phát lại có chọn lọc, chỉ riêng N(R) Gói điều khiển U-Frame: Báo nối/tách hệ thống − SARM (1 1 1 1 P 0 0 0): yêu cầu nối có phân biệt Master/Slave, tuy vậy Slave có thể hỏi. − SNRM (1 1 0 0 P 0 0 1): yêu cầu nối ở mode bình thường, có Master/Slave, Slave không được hỏi, chỉ được phép trả lời. − SABM (1 1 1 1 P 1 0 0): không phân biệt máy chính, máy phụ, cả hai máy coi như nhau; nếu P=1 thì yêu cầu trả lời. − DISC (1 1 0 0 P 0 1 0): yêu cầu tách hệ thống, nếu trả lời UA tức là đồng ý. UA (1 1 0 0 F 1 1 0): thông báo trả lời. (Control frame cũng có thể bị mất, giống như các frame số liệu, vì thế cũng cần biên nhận (ACK). Frame đặc biệt dành cho mục đích này là UA). Nguyên tắc hoạt động của HDLC Quản trị thiết lập và giải phóng kết nối (V(x) = seq. #): a) NRM – multidrop link, truyền 1 hướng – A: SNRM(B,P=1) (Polling B station) – B: UA(B,F=1) – A: DISC(B,P=1) – B: UA(B,F=1) b) ABM – point-to-point link, truyền 2 hướng – A: SABM(B,P=1) – B: UA(B,F=1) 42
- Lê Đình Danh - Giáo trình Mạng máy tính – B: DISC(A,P=1) – A: UA(A,F=1) Hình 2.5. Lưu đồ thời gian thực hiện giao thức HDLC 2.3. TẦNG MẠNG (NETWORK) 2.3.1. Vai trò và chức năng của tầng mạng Tầng mạng (network layer) nhắm đến việc kết nối các mạng với nhau bằng cách tìm đường (routing) cho các gói tin từ một mạng này đến một mạng khác. Nó xác định việc chuyển hướng, vạch đường các gói tin trong mạng, các gói này có thể phải đi qua nhiều chặng trước khi đến được đích cuối cùng. Nó luôn tìm các tuyến truyền thông không tắc nghẽn để đưa các gói tin đến đích. 43
- Lê Đình Danh - Giáo trình Mạng máy tính Tầng mạng cung cấp các phương tiện để truyền các gói tin qua mạng, thậm chí qua một mạng của mạng (network of network). Bởi vậy nó cần phải đáp ứng với nhiều kiểu mạng và nhiều kiểu dịch vụ cung cấp bởi các mạng khác nhau. Hai chức năng chủ yếu của tầng mạng là chọn đường (routing) và chuyển tiếp (relaying). Tầng mạng là quan trọng nhất khi liên kết hai loại mạng khác nhau như mạng Ethernet với mạng Token Ring khi đó phải dùng một bộ tìm đường (quy định bởi tầng mạng) để chuyển các gói tin từ mạng này sang mạng khác và ngược lại. Đối với một mạng chuyển mạch gói (packet - switched network) - gồm tập hợp các nút chuyển mạch gói nối với nhau bởi các liên kết dữ liệu. Các gói dữ liệu được truyền từ một hệ thống mở tới một hệ thống mở khác trên mạng phải được chuyển qua một chuỗi các nút. Mỗi nút nhận gói dữ liệu từ một đường vào (incoming link) rồi chuyển tiếp nó tới một đường ra (outgoing link) hướng đến đích của dữ liệu. Như vậy ở mỗi nút trung gian nó phải thực hiện các chức năng chọn đường và chuyển tiếp. Ngoài 2 chức năng quan trọng nói trên, tầng mạng cũng thực hiện một số chức năng khác, đó là: thiết lập, duy trì và giải phóng các liên kết logic (cho tầng mạng), kiểm soát lỗi, kiểm soát luồng dữ liệu, dồn/tách kênh, cắt/hợp dữ liệu, 2.3.2. Các kỹ thuật chọn đường trong mạng máy tính 2.3.2.1. Tổng quan Việc chọn đường là sự lựa chọn một con đường để truyền một đơn vị dữ liệu (một gói tin chẳng hạn) từ trạm nguồn tới trạm đích của nó. Một kỹ thuật chọn đường phải thực hiện hai chức năng chính sau đây: − Quyết định chọn đường tối ưu dựa trên các thông tin đã có về mạng tại thời điểm đó thông qua những tiêu chuẩn tối ưu nhất định. − Cập nhật các thông tin về mạng, tức là thông tin dùng cho việc chọn đường, trên mạng luôn có sự thay đổi thường xuyên nên việc cập nhật là việc cần thiết. Hình 2.6. Mô hình chuyển vận các gói tin trong mạng chuyển mạch 44
- Lê Đình Danh - Giáo trình Mạng máy tính Người ta có hai phương thức đáp ứng cho việc chọn đường là phương thức xử lý tập trung và xử lý tại chỗ. − Phương thức chọn đường xử lý tập trung được đặc trưng bởi sự tồn tại của một (hoặc vài) trung tâm điều khiển mạng, chúng thực hiện việc lập ra các bảng đường đi tại từng thời điểm cho các nút và sau đó gửi các bảng chọn đường tới từng nút dọc theo con đường đã được chọn đó. Thông tin tổng thể của mạng cần dùng cho việc chọn đường chỉ cần cập nhập và được cất giữ tại trung tâm điều khiển mạng. − Phương thức chọn đường xử lý phân tán được đặc trưng bởi việc chọn đường được thực hiện tại mỗi nút của mạng. Trong từng thời điểm, mỗi nút phải duy trì các thông tin của mạng và tự xây dựng bảng chọn đường cho mình. Như vậy các thông tin tổng thể của mạng cần dùng cho việc chọn đường cần cập nhập và được cất giữ tại mỗi nút. Thông thường các thông tin được đo lường và sử dụng cho việc chọn đường bao gồm: − Trạng thái của đường truyền. − Thời gian trễ khi truyền trên mỗi đường dẫn. − Mức độ lưu thông trên mỗi đường. − Các tài nguyên khả dụng của mạng. Khi có sự thay đổi trên mạng (ví dụ thay đổi về cấu trúc của mạng do sự cố tại một vài nút, phục hồi của một nút mạng, nối thêm một nút mới hoặc thay đổi về mức độ lưu thông) các thông tin trên cần được cập nhật vào các cơ sở dữ liệu về trạng thái của mạng. Hiện nay khi nhu cầu truyền thông đa phương tiện (tích hợp dữ liệu văn bản, đồ hoạ, hình ảnh, âm thanh) ngày càng phát triển đòi hỏi các công nghệ truyền dẫn tốc độ cao nên việc phát triển các hệ thống chọn đường tốc độ cao đang rất được quan tâm. 2.3.2.2. Các giải thuật tìm đường tối ưu y Giải thuật Dijkstra cho kỹ thuật chọn đường tập trung. Bài toán đặt ra là: tìm đường đi có “độ dài” (một đại lượng được dùng để làm thước đo, ví dụ độ trễ, cước phí truyền tin) cực tiểu, từ một nút (nguồn) cho trước đến mỗi nuút còn lại của mạng (đích). Ở đây ta coi mạng như là một đồ thị có hướng G(V,E), V là tập đỉnh với n đỉnh tương ứng với n nút mạng, E là tập cung của đồ thị. Ma trận trọng số là a[u,v], u,v ∈ V. Thuật toán được xây dựng dựa trên cơ sở gán cho các đỉnh các nhãn tạm thời. Nhãn của mỗi đỉnh cho biết cận của độ dài đường đi ngắn nhất từ s đến nó. Các nhãn này sẽ được biến đổi theo một thủ tục lặp, mà ở mỗi bước lặp có một nhãn tạm thời trở thành nhãn cố định. Nếu nhãn của một đỉnh nào đó trở thành một nhãn cố định thì nó sẽ cho ta không phải là cận trên mà là độ dài của đường đi ngắn nhất từ đỉnh s đến nó. Thuật toán được mô tả cụ thể như sau. 45
- Lê Đình Danh - Giáo trình Mạng máy tính Procedure Dijstra; (* Đầu vào: Đồ thị có hướng G=(V,E) với n đỉnh, s ∈ V là đỉnh xuất phát, a[u,v], u,v ∈ V là ma trận trọng số; Giả thiết: a[u,v]≥0, u,v ∈ V. Đầu ra: Khoảng cách từ đỉnh s đến tất cả các đỉnh còn lại d[v], v ∈ V. Truoc[v], v ∈ V, ghi nhận đỉnh đi trước v trong đường đi ngắn nhất từ s đến v *) Begin (* Khởi tạo *) for v ∈ V do begin d[v]:=a[s,v]; Truoc[v]:=s; end; d[s]:=0; T:=V\ {s} ; (* T là tập các đỉnh cá nhãn tạm thời *) (* Bước lặp *) while T d[u]+a[u,v] then Begin d[v]:=d[u]+a[u,v]; Truoc[v]:=u; End; end; End; Hình 2.7. Minh họa thuật toán Dijkstra Thí dụ. Tìm đường đi ngắn nhất từ C đến các đỉnh còn lại của đồ thị ở hình dưới đây. C B 1 4 D 6 5 3 1 A E 3 4 7 2 H F G 8 9 46
- Lê Đình Danh - Giáo trình Mạng máy tính Từ đó ta thiết kế được “cây chọn đường” và bảng chọn đường như các hình vẽ sau: Đích Nút kế tiếp B(1) 1 C(0) 4 D(4) A A B B 5 3 D D A(5) E(3) E E 2 F E 3 G E 7 H A H(8) G(5) F(10) 2.3.3. Tắc nghẽn trong mạng Các khái niệm • Hiện tượng tắc nghẽn (congestion): lưu lượng đến mạng tăng lên, thông lượng vận chuyển của mạng lại giảm đi. • Deadlock: tình trạng tắc nghẽn trầm trọng đến mức mạng bị nghẹt hoàn toàn, thông lượng vận chuyển của mạng tụt xuống bằng không. Hình 2.8. Lược đồ tắc nghẽn trong mạng • Nguyên nhân dẫn đến tắc nghẽn: − Lưu lượng đi đến trên nhiều lối vào đều cần cùng một đường đi ra. − Tốc độ xử lý tại các router chậm − Các đường truyền có bandwidth thấp, dẫn đến hiện tượng thắt cổ chai. • Biểu hiện của tắc nghẽn: Thời gian khứ hồi (RTT) tăng cao bất thường • Các biện pháp khắc phục – Cung cấp đủ bộ đệm ở đầu vào và ra của các đường truyền 47
- Lê Đình Danh - Giáo trình Mạng máy tính – Quản lý bộ đệm hợp lý, có thể loại bỏ sớm (RED) – Hạn chế lưu lượng đến ngay ở đầu vào của toàn bộ hệ thống – Điều khiển lưu lượng (thí dụ dùng Sliding Window) Vấn đề này sẽ được nghiên sâu hơn trong chương 4 và chương 5. 2.3.4. Giao thức X25 PLP Được CCITT công bố lần đầu tiên vào 1970 lúc lĩnh vực viễn thông lần đầu tiên tham gia vào thế giới truyền dữ liệu với các đặc tính: − X25 cung cấp quy trình kiểm soát luồng giữa các đầu cuối đem lại chất lương đường truyền cao cho dù chất lương đương dây truyền không cao. − X25 được thiết kế cho cả truyền thông chuyển mạch lẫn truyền thông kiểu điễm nối điểm. − Được quan tâm và tham gia nhanh chóng trên toàn cầu. Trong X25 có chức năng dồn kênh (multiplexing) đối với liên kết logic (virtual circuits) chỉ làm nhiệm vụ kiểm soát lỗi cho các frame đi qua. Đ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ý mỗi gói tin tăng lên. X25 kiểm tra lỗi tại mỗi nút trước khi truyền tiếp, điều này làm cho đường truyền có chất lượng rất cao gần như phi lỗi. Tuy nhiên do vậy khối lượng tích toán tại mỗi nút khá lớn, đối với những đường truyền của những năm 1970 thì điều đó là cần thiết nhưng hiện nay khi kỹ thuật truyền dẫn đã đạt được những tiến bộ rất cao thì việc đó trở nên lãng phí. • Đặc điểm: − Là mạng truyền dữ liệu công cộng đầu tiên. − Vận chuyển dữ liệu hướng kết nối − Để sử dụng X.25, máy tính đầu tiên phải thiết lập kết nối tới một máy tính ở xa, nghĩa là phải thiết lập một cuộc gọi (telephone call) − Kết nối này được gán 1 connection number để sử dụng cho các gói (packet) số liệu vận chuyển: + Nhiều kết nối có thể được sử dụng đồng thời giữa 2 máy tính. + Kết nối trong X.25 là kết nối ảo (Virtual Circuit) • Nguyên tắc hoạt động − X.25 là một dịch vụ truyền thông máy tính công cộng, dựa trên hệ thống viễn thông diện rộng (PSTN). − X.25 được CCITT và sau này là ITU chuẩn hoá (1976). − X.25 chỉ đặc tả giao diện giữa DTE và DCE: + DTE (Data Terminal Equipment)- thiết bị đầu cuối dữ liệu 48
- Lê Đình Danh - Giáo trình Mạng máy tính + DCE (Data Circuit-terminating Equipment) - thiết bị mạch đầu cuối dữ liệu, hay là thiết bị kết nối mạng. − X.25 không quy định cụ thể kiến trúc và tổ chức hoạt động nội bộ của mạng. − Tổ chức và thực hiện hệ thống mạng để cung cấp dịch vụ X.25 tại giao diện với NSD là nhiệm vụ của nhà cung cấp dịch vụ X.25 - thường là nhà cung cấp dịch vụ viễn thông công cộng. y Các giao thức chuẩn: X.25 qui định sử dụng các giao thức chuẩn ở các mức như sau: • Mức vật lý: – X.21 cho truyền số liệu số (Digital) giữa DTE và DCE – X.21 bis cho truyền số liệu tương tự (Analog) giữa DTE và DCE • Mức liên kết: – LAPB (Link Access Protocol Balanced), là một phần của HDLC, để trao đổi số liệu tin cậy giữa DTE và DCE • Mức mạng: – PLP (Packet Level Protocol): giao thức chuyển mạch gói + hướng kết nối, các subscriber sử dụng để thiết lập VC và truyền thông với nhau. – là giao thức được đặc tả mới trong X.25 • Ba mức trên tương ứng với 3 mức thấp nhất của mô hình ISO/OSI Hình 2.9. Đặc tả giao diện mạng X25 Các đặc điểm quan trọng nhất của X.25: – Các gói tin điều khiển cuộc gọi, được dùng để thiết lập và huỷ bỏ các kênh ảo, được gửi trên cùng kênh và mạch ảo như các gói in dữ liệu. – Việc dồn kênh của các kênh ảo xảy ra ở tầng 3 – Cả tầng 2 và tầng 3 đều áp dụng cơ chế điều khiển lưu lượng và kiểm soát lỗi. – X.25 được sử dụng rộng rãi trong khoảng 10 năm. – Khoảng 1980s, X.25 được thay thế bởi một mạng mới – Frame Relay. 49