Khóa luận Xây dựng thử nghiệm linux pc hoạt động như một Adsl Router

Tài liệu Khóa luận Xây dựng thử nghiệm linux pc hoạt động như một Adsl Router: TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN KHOA CÔNG NGHỆ THÔNG TIN BỘ MÔN MẠNG MÁY TÍNH VÀ VIỄN THÔNG ĐỖ HẢI VƯƠNG LÂM HẢI THÔNG XÂY DỰNG THỬ NGHIỆM LINUX PC HOẠT ĐỘNG NHƯ MỘT ADSL ROUTER KHÓA LUẬN CỬ NHÂN TIN HỌC TP.HCM, 2005 TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN KHOA CÔNG NGHỆ THÔNG TIN BỘ MÔN MẠNG MÁY TÍNH VÀ VIỄN THÔNG ĐỖ HẢI VƯƠNG – 0112457 LÂM HẢI THÔNG – 0112466 XÂY DỰNG THỬ NGHIỆM LINUX PC HOẠT ĐỘNG NHƯ MỘT ADSL ROUTER KHÓA LUẬN CỬ NHÂN TIN HỌC GIÁO VIÊN HƯỚNG DẪN GVC CAO ĐĂNG TÂN NIÊN KHÓA 2001 - 2005 Xây dựng thử nghiệm PC Linux hoạt động như một ADSL Router Lời Cám Ơn Chúng tôi xin chân thành cảm ơn Khoa Công nghệ Thông tin, trường Đại học Khoa học Tự nhiên, Thành phố Hồ Chí Minh đã tạo điều kiện cho chúng tôi thực hiện đề tài tốt nghiệp này. Xin cảm ơn Thầy Cao Đăng Tân, người đã tận tình hướng dẫn, chỉ bảo chúng tôi trong suốt thời gian thực hiện đề tài. Trong thời gian làm việc với Thầy, chúng tôi không những học hỏi được nhiều ki...

pdf111 trang | Chia sẻ: hunglv | Lượt xem: 1034 | Lượt tải: 1download
Bạn đang xem trước 20 trang mẫu tài liệu Khóa luận Xây dựng thử nghiệm linux pc hoạt động như một Adsl Router, để tải tài liệu gốc về máy bạn click vào nút DOWNLOAD ở trên
TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN KHOA CÔNG NGHỆ THÔNG TIN BỘ MÔN MẠNG MÁY TÍNH VÀ VIỄN THÔNG ĐỖ HẢI VƯƠNG LÂM HẢI THÔNG XÂY DỰNG THỬ NGHIỆM LINUX PC HOẠT ĐỘNG NHƯ MỘT ADSL ROUTER KHÓA LUẬN CỬ NHÂN TIN HỌC TP.HCM, 2005 TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN KHOA CÔNG NGHỆ THÔNG TIN BỘ MÔN MẠNG MÁY TÍNH VÀ VIỄN THÔNG ĐỖ HẢI VƯƠNG – 0112457 LÂM HẢI THÔNG – 0112466 XÂY DỰNG THỬ NGHIỆM LINUX PC HOẠT ĐỘNG NHƯ MỘT ADSL ROUTER KHÓA LUẬN CỬ NHÂN TIN HỌC GIÁO VIÊN HƯỚNG DẪN GVC CAO ĐĂNG TÂN NIÊN KHÓA 2001 - 2005 Xây dựng thử nghiệm PC Linux hoạt động như một ADSL Router Lời Cám Ơn Chúng tôi xin chân thành cảm ơn Khoa Công nghệ Thông tin, trường Đại học Khoa học Tự nhiên, Thành phố Hồ Chí Minh đã tạo điều kiện cho chúng tôi thực hiện đề tài tốt nghiệp này. Xin cảm ơn Thầy Cao Đăng Tân, người đã tận tình hướng dẫn, chỉ bảo chúng tôi trong suốt thời gian thực hiện đề tài. Trong thời gian làm việc với Thầy, chúng tôi không những học hỏi được nhiều kiến thức bổ ích mà còn học được tinh thần làm việc, thái độ nghiên cứu khoa học nghiêm túc của Thầy. Xin gửi lời cảm ơn chân thành đến gia đình, ba mẹ và bè bạn vì đã luôn là nguồn động viên to lớn, giúp đỡ chúng tôi vượt qua những khó khăn trong suốt quá trình làm việc. Mặc dù đã cố gắng hoàn thiện luận văn với tất cả sự nỗ lực của bản thân, nhưng chắc chắn không thể tránh khỏi những thiếu sót. Kính mong quý Thầy Cô tận tình chỉ bảo. Một lần nữa, chúng tôi xin chân thành cảm ơn và luôn mong nhận được sự đóng góp quý báu của tất cả mọi người. Tp.Hồ Chí Minh, tháng 7/2005 Lâm Hải Thông Đỗ Hải Vương 1 Xây dựng thử nghiệm PC Linux hoạt động như một ADSL Router MỤC LỤC MỤC LỤC...........................................................................................................................2 Chương 1 .............................................................................................................................6 GIỚI THIỆU ĐỀ TÀI........................................................................................................6 1. Đặt vấn đề : ..................................................................................................................6 2. Mục tiêu ........................................................................................................................7 3. Đề xuất một số tính năng mở rộng.............................................................................8 3.1. Sử dụng dịch vụ Dynamic DNS ( cụ thể là sử dụng dịch vụ dynamic update client ).........................................................................................8 3.1.1. Đặt vấn đề................................................................................................8 3.1.2. Giải quyết vấn đề...................................................................................10 3.2. Fair Nat ...............................................................................................................11 3.2.1. Đặt vấn đề..............................................................................................11 3.2.2. Giải quyết vấn đề...................................................................................12 Chương 2 ...........................................................................................................................13 KHÁI NIỆM VÀ KỸ THUẬT TRUYỀN THÔNG ......................................................13 1. ADSL...........................................................................................................................13 1.1. Sơ lược về những phương thức kết nối Internet phổ biến hiện nay ...................13 1.1.1. Đường truyền điện thoại analog............................................................13 1.1.2. Leased Line ...........................................................................................13 1.1.3. Frame Relay và X.25.............................................................................14 1.1.4. ISDN......................................................................................................15 1.1.5. ATM ......................................................................................................17 1.1.6. ADSL.....................................................................................................17 1.2. Đánh giá các phương thức kết nối Internet phổ biến hiện nay:..........................18 1.3. Công nghệ ADSL ...............................................................................................19 1.3.1. Khái niệm ADSL...................................................................................19 1.3.2. Ứng dụng của ADSL.............................................................................20 1.3.3. Cơ chế hoạt động...................................................................................21 1.8.1. Ưu điểm của ADSL...............................................................................22 1.8.2. Các thành phần của ADSL....................................................................24 1.8.3. Các thành phần ADSL từ phía nhà cung cấp dịch vụ ...........................26 1.13.1. Kết nối mạng .........................................................................................28 1.15.1. Vai trò của PPP .....................................................................................30 1.15.2. Modem ADSL trên thực tế....................................................................30 1.15.3. Mối tương quan giữa thoại và ADSL....................................................31 1.23.1. Thiết bị Modem ADSL .........................................................................32 2. Router và Router ADSL ...........................................................................................33 2.1. Giới thiệu Router ................................................................................................33 2.1.1. Giới thiệu Router...................................................................................33 2 Xây dựng thử nghiệm PC Linux hoạt động như một ADSL Router 2.1.2. Cơ chế hoạt động...................................................................................33 2.2. Sơ lược về các Router ADSL hiện có trên thị trường và tính năng ...................33 3. Routing .......................................................................................................................34 3.1. Tổng quát về routing...........................................................................................34 3.9. Routing và Switching .........................................................................................35 Bảng 2.3 Bảng so sánh Routing và Switching ............................................................35 3.10. Routed và Routing ..............................................................................................35 3.11. Sự xác định đường đi..........................................................................................36 3.12. Routing table.......................................................................................................37 3.13. Các thuật toán Routing và các metric.................................................................38 3.13.1. Mục tiêu của các thuật toán routing ......................................................38 3.13.2. Các Metric .............................................................................................39 3.14. Routing Protocols ...............................................................................................40 3.14.1. Distance-vector......................................................................................40 3.14.2. Link state ...............................................................................................40 3.14.3. Hybrid ..................................................................................................41 3.15. Giới thiệu các giao thức định tuyến....................................................................41 3.15.1. RIP ..................................................................................................41 3.15.2. IGRP ..................................................................................................42 3.18.1. OSPF ..................................................................................................43 3.23. Giao thức sử dụng trong chương trình................................................................43 4. Các khái niệm cơ bản................................................................................................44 4.1. IP tĩnh ( Static IP) ...............................................................................................44 4.2. IP động ( Dynamic IP)........................................................................................44 4.3. DNS ...............................................................................................................45 4.4. Dynamic DNS.....................................................................................................45 4.5. NAT ( Network Address Translation )...............................................................46 4.5.1. Tại sao lại dùng NAT............................................................................46 4.5.2. Cách NAT được thực hiện ....................................................................46 4.5.3. Các thuật ngữ NAT ...............................................................................47 Chương 3 ...........................................................................................................................48 LINUX VÀ MẠNG TRONG LINUX................................................................................48 1. Hệ điều hành Linux ...................................................................................................48 1.1. Giới thiệu ............................................................................................................48 1.2. Kiến trúc của hệ điều hành Linux.......................................................................49 1.2.1. Hạt nhân (Kernel)..................................................................................49 1.2.2. Shell.......................................................................................................49 1.2.3. Các tiện ích............................................................................................50 1.2.4. Chương trình ứng dụng .........................................................................50 2. Mạng trong Linux......................................................................................................50 2.1. Giao thức mạng trong Linux ..............................................................................50 2.2. Network Interconnection ....................................................................................51 2.2.1. Router ....................................................................................................51 3 Xây dựng thử nghiệm PC Linux hoạt động như một ADSL Router 2.2.2. Bridge ....................................................................................................51 2.2.3. IP Masquerade.......................................................................................51 2.2.4. IP Accounting........................................................................................52 2.2.5. IP aliasing..............................................................................................53 2.2.6. Traffic Shaping......................................................................................53 2.2.7. Firewall..................................................................................................53 2.2.8. Port Forwarding.....................................................................................54 2.2.9. Loab Balancing .....................................................................................55 2.2.10. IP Transparent Proxy Server .................................................................55 2.2.11. EQL ( Multiple Line Traffic Equaliser ) ...............................................55 2.2.12. Tunneling ,mobile IP và virtual private networks.................................56 Chương 4 ...........................................................................................................................57 CÁC ỨNG DỤNG TÍCH HỢP VÀO HỆ THỐNG..........................................................57 1. Giới thiệu các ứng dụng ............................................................................................57 1.1. Zebra ...............................................................................................................57 1.2. Tính năng Dynamic DNS : noip-duc-linux.tar ...................................................57 1.2.1. Giới thiệu...............................................................................................57 1.3. FAIR NAT..........................................................................................................59 1.3.1 Giới thiệu...............................................................................................59 1.3.2 Kiến trúc Fair Nat..................................................................................59 Chương 5 ...........................................................................................................................77 THỰC HIỆN CÀI ĐẶT ....................................................................................................77 1. Cài đặt ,cấu hình Linux PC thành Router ADSL ..................................................77 1.1. Mô hình...............................................................................................................77 1.2. Yêu cầu ...............................................................................................................77 1.2.1. Phần cứng : ............................................................................................78 1.2.2. Phần mềm :............................................................................................78 1.3. Thực hiện cài đặt ................................................................................................79 1.3.1. Cài đặt linux-atm-2.4.0..........................................................................79 1.3.2. Cài đặt driver .........................................................................................79 1.3.3. Cài đặt bản patch của giao thức PPP.....................................................80 1.4. Cấu hình..............................................................................................................80 1.4.1. Cấu hình PPP để kết nối đến ADSL Provider.......................................80 2. Dynamic DNS.............................................................................................................82 2.1. Đăng kí dịch vụ Dynamic DNS tại trang web www.no-ip.com.........................82 2.2. Cài đặt gói Dynamic DNS Client .......................................................................82 3. FAIR NAT..................................................................................................................83 3.1. Yêu cầu ...............................................................................................................83 3.2. Các tham số và Cấu hình ....................................................................................83 3.2.1. Các tham số dòng lệnh ..........................................................................88 3.2.2. Chạy Script ............................................................................................88 4 Xây dựng thử nghiệm PC Linux hoạt động như một ADSL Router Chương 6 ...........................................................................................................................89 THỬ NGHIỆM, ĐÁNH GIÁ và HƯỚNG PHÁT TRIỂN ..............................................89 1. Thử nghiệm chức năng Linux PC làm router ADSL.............................................89 1.1. Kết nối vào internet và cho phép máy trong mạng LAN có thể ra ngoài ...............................................................................................................89 1.1.1. Kết nối, Nat và Routing cho các máy bên trong ra ngoài internet...................................................................................................89 1.1.2. So sánh giữa Linux PC và Router ADSL thật.......................................94 1.2.Chức năng filter .....................................................................................................95 1.2. Dynamic DNS.....................................................................................................98 2. Hướng phát triển .....................................................................................................103 PHỤ LỤC........................................................................................................................107 5 Xây dựng thử nghiệm PC Linux hoạt động như một ADSL Router Chương 1 GIỚI THIỆU ĐỀ TÀI 1. Đặt vấn đề : ƒ Sự phát triển mạnh mẽ của Internet và các dịch vụ qua Internet dẫn đến sự gia tăng một số lượng lớn người sử dụng Internet đã khiến cho nhu cầu về băng thông ,về tốc độ ngày càng bức thiết.mạng Dial-up không còn đáp ứng được nhu cầu về băng thông nữa ƒ Nhiều kĩ thuật về mạng WAN đã được nghiên cứu và áp dụng để đáp ứng nhu cầu của người dùng như ISDN, Frame Relay, xDSL…..Trong đó, hiện đang được sử dụng nhiều hơn cả là kỹ thuật xDSL mà ADSL là đại diện tiêu biểu. ƒ ADSL giúp cải tiến đáng kể tốc độ mạng với giá thành thấp. Vì nó có thể sử dụng đường dây điện thoại sẵn có để làm đường truyền nên ngày càng phổ biến hơn ở nước ta, được sử dụng ngày càng nhiều trong các doanh nghiệp. ƒ Mô hình Hiện Trạng sử dụng ADSL 6 Xây dựng thử nghiệm PC Linux hoạt động như một ADSL Router ƒ Công nghệ ADSL xuất hiện là một giải pháp hữu hiệu cho vấn đề băng thông và để sử dụng được công nghệ ADSL thì đòi hỏi phải có các thiết bị phù hợp đi kèm như modem ADSL hay modem ADSL có thêm tính năng mini Router ( hay còn gọi là Rotuer ADSL ).Hiện trên thị trường có nhiều loại Modem ADSL có kèm Router, hầu hết đều có chức năng NAT, Routing, một số có các tính năng tiên tiến như DMZ, Virtual Server, DDNS nhưng lại không phù hợp với đối tượng người dùng là các gia đình và các doanh nghiệp nhỏ do giá thành cao và các dịch vụ thường bị hạn chế. ƒ Những nhu cầu ngày càng cao của các gia đình và các doanh nghiệp nhỏ về tính năng lẫn giá thành đã phát sinh ra việc cần xây dựng một Router ADSL có thể thực hiện tốt các công việc của một router như NAT, Routing và có thể tích hợp các tính năng hữu dụng đáp ứng các nhu cầu cần thiết của mỗi doanh nghiệp và gia đình mà vẫn đảm bảo tiết kiệm chi phí. ƒ Có thể dùng Linux PC để xây dựng một ADSL Router mềm đáp ứng những nhu cầu nói trên. Đó là lý do mà luận văn ra đời. 2. Mục tiêu ƒ Nghiên cứu công nghệ ADSL, Router ADSL. Nghiên cứu kiến trúc và các gói phục vụ chức năng Routing và các tính năng bổ sung trên Linux nhằm đưa vào ứng dụng trong thực tiễn . ƒ Xây dựng mô hình và ứng dụng các gói phần mềm để giúp Linux 7 Xây dựng thử nghiệm PC Linux hoạt động như một ADSL Router PC hoạt động như 1 ADSL Router ƒ Cùng với tính năng của 1 Router, PC Linux giờ đây có thể tích hợp các tinh năng chuyên biệt theo đặc thù,nhu cầu của mỗi người dùng. ƒ Chúng tôi chọn Linux để tiến hành nghiên cứu và xây dựng thành ADSL Router vì : ƒ Linux là hệ điều hành mã nguồn mở, dễ phát triển và thêm các tính năng cần thiết.Bản thân các công ty sau này có thể tự dựa vào các đoạn mã kèm theo mà bổ sung vào những tính năng riêng mà họ muốn ƒ Chi phí thấp ƒ Ổn định ,nhờ đó có thể chạy tốt công việc của 1 router vốn đòi hỏi phải chạy liên tục trong môi trường mạng ƒ Mô hình sử dụng dịch vụ ADSL với PC Linux làm Router 3. Đề xuất một số tính năng mở rộng 3.1. Sử dụng dịch vụ Dynamic DNS ( cụ thể là sử dụng dịch vụ dynamic update client ) 3.1.1. Đặt vấn đề ƒ Việc một tổ chức,một công ty hay một cá nhân có một website 8 Xây dựng thử nghiệm PC Linux hoạt động như một ADSL Router ,một FTP … riêng là điều rất bình thường .Thông thường để đảm bảo cho website của mình hoạt động tốt họ thường phải có một đường kết nối mạng liên tục ( lúc trước thường là lease line ) sau đó đăng ký một địa chỉ IP tĩnh và tự duy trì web server của mình hoặc thuê dịch vụ hosting và cho dù theo cách nào thì chi phí cũng khá lớn ƒ ADSL ra đời,đặc thù kết nối liên tục ( giống như lease line ) với chi phí rẻ hơn tạo điều kiện cho các người dùng tự quản trị server của mình trên mạng và nhiều giải pháp mạng khác trở nên khả thi.Bây giờ họ có thể giảm một phần chi phí so với trước (vì không cần thuê đường lease line nữa ) nhưng làm thế nào để giảm chi phí phải trả cho IP tĩnh đây ? ƒ Việc sử dụng dịch vụ ADSL với địa chỉ IP động không thể giải quyết vấn đề này nếu không có một dịch vụ khác hỗ trợ. ƒ Ví dụ : sử dụng giải pháp VPN cho các doanh nghiệp có nhiều văn phòng chi nhánh 9 Xây dựng thử nghiệm PC Linux hoạt động như một ADSL Router Hình 1.3 Mô hình Dynamic DNS 3.1.2. Giải quyết vấn đề ƒ Chúng ta cần phải có một dịch vụ cung cấp khả năng tự động cập nhật địa chỉ IP một cách nhanh nhất có thể để đảm bảo rằng các dịch vụ của chúng ta chạy ổn định như khi dùng IP tĩnh 10 Xây dựng thử nghiệm PC Linux hoạt động như một ADSL Router ƒ Câu trả lời ở đây chính là DynDNS . Dịch vụ này cung cấp khả năng mà theo đó mỗi khi địa chỉ IP của chúng ienss đổi ,nó chỉ cần vài giây để cập nhật thông tin về địa chỉ IP mới cho phù hợp ƒ Hiện nay có một số nhà cung cấp các dịch vụ Dynamic DNS: , cho phép các khách hàng sử dụng IP động nếu có đăng kí dịch vụ vẫn có thể duy trì các máy chủ dịch vụ của mình trong môi trường Internet. ƒ Tích hợp cho Router tính năng Dynamic DNS Client từ các nhà cung cấp dịch vụ Dynamic DNS. 3.2. Fair Nat 3.2.1. Đặt vấn đề Trong 1 công ty hay một tổ chức có nhiều máy ,nhiều người dùng internet thì yêu cầu về băng thông của người dùng rất đa dạng Kỹ thuật NAT có hạn chế là không phân chia được băng thông cho từng người dùng khác nhau .Dẫn đến tình trạng là các người dùng cứ chiếm giữ được bao nhiêu băng thông thì sẽ dùng bấy nhiêu .Điều này nhiều khi rất phiền toái vì mọi người đều có nhu cầu sử dụng internet để làm việc hay giải trí nhưng lại có những người tốc độ internet rất chậm ảnh hưởng lớn đến công việc của họ Sẽ dể chấp nhận hơn nếu tốc độ internet của các người dùng trong cùng một công ty hay tổ chức có tốc độ như nhau.Như vậy tuy tốc độ không qua cao nhưng mọi người vẫn có thể làm việc bình thường chứ không 11 Xây dựng thử nghiệm PC Linux hoạt động như một ADSL Router còn bị tình trạng thắt cổ chai làm nghẽn mạng nữa 3.2.2. Giải quyết vấn đề Sử dụng Fair Nat để đảm bảo cho người dùng có cùng băng thông như nhau khi NAT ra bên ngoài 12 Xây dựng thử nghiệm PC Linux hoạt động như một ADSL Router Chương 2 KHÁI NIỆM VÀ KỸ THUẬT TRUYỀN THÔNG 1. ADSL 1.1. Sơ lược về những phương thức kết nối Internet phổ biến hiện nay 1.1.1. 1.1.2. Đường truyền điện thoại analog ƒ Còn gọi là Dial-up. Người dùng sử dụng đường dây điện thoại sẵn có kết nối đến một Modem có chức năng chuyển tín hiệu Analog sang tín hiệu số. ƒ Modem hoạt động trên đường dây điện thoại trong vòng mười năm đã phát triển tốc độ từ 2.4 Kbps đến 33.6 Kbps. Loại 56 Kbps hiện nay, về mặt lý thuyết, đã hoạt động ở tốc độ cao nhất trên đường truyền analog bình thường. ƒ Sẽ không có tốc độ truyền cao hơn, nếu các công ty điện thoại không thay đổi thiết bị ở tổng đài trung tâm. Leased Line ƒ Cách kết nối phổ biến nhất hiện nay giữa hai điểm có khoảng cách lớn vẫn là Leased Line (tạm gọi là đường thuê bao). Leased Line là các mạch số (digital circuit) kết nối ien tục, được các công ty viễn thông cho thuê, nên có tên là Leased Line. 13 Xây dựng thử nghiệm PC Linux hoạt động như một ADSL Router ƒ Leased Line được phân làm hai lớp chính là Tx (theo chuẩn của Mỹ và Canada) và Ex (theo chuẩn của châu Ấu, Nam Mỹ và Mehicô), x là mã số chỉ băng thông (bandwidth) của kết nối. Thông số kỹ thuật của các đường truyền Tx và Ex: Đường truyền Băng thông Tổ chức ( Aggregation) T0 56 Kbps 1 đường Voice T1 1,544 Mbps 24 đường T0 T2 6,312 Mbps 4 đường T1 T3 44,736 Mbps 28 đường T1 T4 274,176 Mbps 168 đường T1 Bảng 2.1 Thông số kỹ thuật của đường truyền Tx và Ex ƒ T0/E0 là tương đương với một kênh truyền thoại đơn lẻ, T0 hoạt động ở tốc độ 56 Kbps và E0 hoạt động ở tốc độ 64 Kbps. ƒ Bên cạnh việc phân chia trực tiếp các mức độ khác nhau của dịch vụ E/T, có nhiều đường truyền cung cấp dịch vụ phân chia nhỏ hơn, cho phép người dùng đặt thuê một số lượng bất kỳ các kênh (channel) T0 trong một đường truyền, hoặc đặt thuê các channel T1 trong một đường truyền T3 ƒ Các đường leased line được gắn vào cổng tuần tự (serial port) của máy tính hoặc router thông qua một CSU/DSU. 1.1.3. Frame Relay và X.25 ƒ X.25 là giao thức nguyên thủy cho việc Truyền Thông Tin Có Thể Định Hướng (Routable Data Transmission) qua leased line. X.25 sử dụng địa chỉ và thông tin sửa lỗi (error correction information) theo cách gần giống với mạng cục bộ (LAN). 14 Xây dựng thử nghiệm PC Linux hoạt động như một ADSL Router ƒ X.25 cho phép các khung dữ liệu số hóa (digital frame – frame và packet là các khái niệm chỉ khối thông tin được gửi qua đường truyền) được truyền (route) qua các khoảng cách lớn. Đường truyền Băng thông Tổ chức (Aggregation) E0 64 Kbps 1 đường Voice E1 2,084 Mbps 32 đường E0 E2 34 Mbps 16 đường E1 Bảng 2.2 Bảng so sánh các đường truyền ƒ Frame Relay là một thay thế cho X.25, giúp giảm chi phí của đường truyền bằng cách tạo một mạch truyền ảo cố định (permanent virtual circuit), thay vì truyền từng gói (packet-by packet routing). ƒ Các công ty viễn thông lập trình cho các công tắc của họ luôn truyền các frame từ một điểm cố định đến một điểm khác, tức là tạo mạch nối ảo giữa hai điểm. ƒ Công nghệ này xóa bỏ được việc đánh địa chỉ và truyền thông tin sửa lỗi của X.25, cho phép công ty viễn thông dự đoán trước lượng thông tin truyền tải trên mạng một cách chính xác hơn. 1.1.4. ISDN ƒ ISDN (Integrated Services Digital Network) một mạch nối kỹ thuật số quay số (dial-up digital circuit). Không như leased-line được kết nối cố định vào hai thiết bị đầu cuối xác, ISDN cho phép người dùng tạo ra và hủy bỏ ien kết giữa bất kỳ hai ISDN adapter nào. ƒ ISDN có thể dùng cho kết nối tốc độ cao trong sử dụng Internet 15 Xây dựng thử nghiệm PC Linux hoạt động như một ADSL Router của các cá nhân, gia đình một cách dễ dàng vì nó hoạt động trên cùng đường truyền vật lý như đường dây điện thoại. Do đó các công ty viễn thông có thể dễ dàng chuyển đổi đường truyền telephone analog thành đường truyền ISDN bằng cách đổi thiết bị đầu cuối (terminal equipment) ở tổng đài trung tâm. ƒ ISDN được chia làm hai loại kênh khác nhau: * Kênh dữ liệu (Data Channel), tên kỹ thuật là B channel, hoạt động ở tốc độ 64 Kbps. * Kênh kiểm soát (Control Channel), tên kỹ thuật là D Channel, hoạt động ở 16 Kbps (Basic rate) và 64 Kbps (Primary rate) ƒ Dữ liệu của người dùng sẽ được truyền trên các B channel, và dữ liệu tín hiệu (signaling data) được truyền qua D channel. Bất kể một kết nối ISDN có bao nhiêu B channel, nó chỉ có duy nhất một D channel. Đường ISDN truyền thống có hai tốc độ cơ bản là residential basic rate và commercial primary rate. ƒ Một vài công ty điện thoại không có đường truyền và thiết bị đầu cuối thích hợp cho dịch vụ tốc độ cơ bản nên họ cung cấp một tốc độ cơ bản cố định, có giá trị trong khoảng từ 64 Kbps đến 56 Kbps. Những biến thể này hoạt động như một B channel riêng biệt. ƒ Basic rate ISDN hoạt động với hai B channel 64 Kbps và một D channel 16 Kbps qua đường điện thoại thông thường, cung cấp băng thông dữ liệu là 128 Kbps ƒ Primary rate hoạt động với hai mươi ba B channel 64 Kbps và 16 Xây dựng thử nghiệm PC Linux hoạt động như một ADSL Router một D channel 64 Kbps qua một đường T1, cung cấp băng thông 1472 Kbps. Primary rate đưa ra đường truyền quay số tốc độ cao, cần thiết cho các tổ chức lớn. ƒ Đôi khi ISDN adaptor bị gọi là “ISDN modem” vì nó có chức năng quay số và trả lời cuộc gọi trên đường dây digital, như modem thực hiện trên đường dây analog. Tuy nhiên, ISDN adaptor không phải là modem vì không thực hiện chức năng modulation/demodulation và việc chuyển đổi tín hiệu giữa digital và analog (digital/analog conversion). 1.1.5. 1.1.6. ATM ƒ ATM (Asynchronous Transfer Mode) là công nghệ mới trong cài đặt đường truyền trên đường dây điện thoại chính giữa các thành phố và các công ty. ATM cho phép các công ty viễn thông tính tiền theo nhiều mức độ khác nhau của dịch vụ dữ liệu, dựa trên số tiền tính theo gói dữ liệu (packet). ƒ Ích lợi chính của ATM là nó hoạt động không phụ thuộc vào đường truyền vật lý. ATM được chia làm hai channel có chứa các ô (cell) hoạt động như tốc độ truyền bit cố định. Khi dữ liệu được truyền giữa các mạch (circuit) có kích thước khác nhau, công tắc (switch) dồn thông tin (multiplex) vào các mạch lớn hơn và nhỏ hơn, tùy theo nhu cầu. ƒ Chi phí để xây dựng hệ thống ATM khá cao. ADSL ƒ ADSL (Analog Digital Subscriber Line) một biến thể của đường 17 Xây dựng thử nghiệm PC Linux hoạt động như một ADSL Router điện thoại số chuẩn (standard digital telephone line), hoạt động thông qua kết nối đường điện thoại thông thường. ƒ ADSL được phát triển để cung cấp một dịch vụ thay thế cho truyền hình, nhưng nó hứa hẹn ien kết tốc độ cao và chi phí thấp cho người dùng Internet. ƒ Tốc độ ADSL với kênh down-link từ khoảng 1Mbps đến 6Mbps, phụ thuộc vào khoảng cách từ Internet site đến công ty viễn thông, và tốc độ kênh up-link là 16 Kbps ở đầu kết nối thấp (low end) đến 640 Kbps ở đầu kết nối cao (high end). Thông thường kênh up-link hoạt động ở tốc độ 64 Kbps . 1.2. Đánh giá các phương thức kết nối Internet phổ biến hiện nay: ƒ Với nhu cầu ngày càng tăng về các dịch vụ Internet, đòi hỏi về băng thông ngày càng cao, dịch vụ Dail-up không còn phù hợp cho nhu cầu sử dụng Internet, nhất là đối với đối tượng doanh nghiệp vừa và nhỏ. ƒ Đối với nhu cầu hiện nay của các doanh nghiệp hoạt động ngoài lĩnh vực tin học là chỉ kết nối Internet để cập nhật thông tin khách hàng, sản phẩm… thì việc sử dụng các dịch vụ mạng Leased Line, Frame Relay, … là lãng phí, không cần thiết. ƒ ADSL là công nghệ phù hợp hơn cả với các lý do: phù hợp với nhu cầu của đối tượng người dùng là doanh nghiệp nhỏ với tất cả các dạng dịch vụ thông tin tốc độ cao ( Ở đây là từ 1Mbps đến 2Mbps), chi phí thấp. 18 Xây dựng thử nghiệm PC Linux hoạt động như một ADSL Router 1.3. Công nghệ ADSL 1.3.1. Khái niệm ADSL ƒ Hiểu một cách đơn giản nhất, ADSL là sự thay thế với tốc độ cao cho thiết bị Modem hoặc ISDN giúp truy nhập Internet với tốc độ cao và nhanh hơn. Các biểu đồ sau chỉ ra các tốc độ cao nhất có thể đạt được giữa các dịch vụ cung cấp. Hình 2.1 Biểu đồ so sánh tốc độ các công nghệ mạng ƒ ADSL viết tắt của Asymmetric Digital Subscriber Line – đó là đường thuê bao số không đối xứng, kỹ thuật truyền được sử dụng trên đường dây từ Modem của thuê bao tới Nhà cung cấp dịch vụ. Hình 2.2 Mô hình ADSL ƒ Asymmetric: Tốc độ truyền không giống nhau ở hai chiều. Tốc độ của chiều xuống (từ mạng tới thuê bao) có thể nhanh gấp hơn 19 Xây dựng thử nghiệm PC Linux hoạt động như một ADSL Router 10 lần so với tốc độ của chiều lên (từ thuê bao tới mạng). Ðiều này phù hợp một cách tuyệt vời cho việc khai thác dịch vụ Internet khi mà chỉ cần nhấn chuột (tương ứng với lưu lượng nhỏ thông tin mà thuê bao gửi đi) là có thể nhận được một lưu lượng lớn dữ liệu tải về từ Internet. ƒ Digital: Các Modem ADSL hoạt động ở mức bít (0 & 1) và dùng để chuyển thông tin số hoá giữa các thiết bị số như các máy tính PC. Chính ở khía cạnh này thì ADSL không có gì khác với các Modem thông thường. ƒ Subscriber Line: ADSL tự nó chỉ hoạt động trên đường dây thuê bao bình thường nối tới tổng đài nội hạt. Ðường dây thuê bao này vẫn có thể được tiếp tục sử dụng cho các cuộc gọi đi hoặc nghe điện thoại cùng một thời điểm thông qua thiết bị gọi là “Splitters” có chức năng tách thoại và dữ liệu trên đường dây. Ứng dụng của ADSL 1.3.2. ƒ ADSL xác lập cách thức dữ liệu được truyền giữa thuê bao (nhà riêng hoặc công sở) và tổng đài thoại nội hạt trên chính đường dây điện thoại bình thường. Chúng ta vẫn thường gọi các đường dây này là local loop. Hình 2.3 ADSL – Local loop ƒ Thực chất của ứng dụng ADSL không phải ở việc truyền dữ liệu 20 Xây dựng thử nghiệm PC Linux hoạt động như một ADSL Router đi/đến tổng đài điện thoại nội hạt mà là tạo ra khả năng truy nhập Internet với tốc độ cao. Như vậy, vấn đề nằm ở việc xác lập kết nối dữ liệu tới Nhà cung cấp dịch vụ Internet. ƒ Mặc dù chúng ta cho rằng ADSL được sử dụng để truyền dữ liệu bằng các giao thức Internet, nhưng trên thực tế việc thực hiện điều đó như thế nào lại không phải là đặc trưng kỹ thuật của ADSL. ƒ Hiện nay, phần lớn người ta ứng dụng ADSL cho truy nhập Internet tốc độ cao và sử dụng các dịch vụ trên Internet một cách nhanh hơn. Cơ chế hoạt động 1.3.3. ƒ ADSL tìm cách khai thác phần băng thông tương tự còn chưa được sử dụng trên đường dây nối từ thuê bao tới tổng đài nội hạt. Ðường dây này được thiết kế để chuyển tải dải phổ tần số (frequency spectrum) chiếm bởi cuộc thoại bình thường. Tuy nhiên, nó cũng có thể chuyển tải các tần số cao hơn dải phổ tương đối hạn chế dành cho thoại. Ðó là dải phổ mà ADSL sử dụng. Hình 2.4 Dải phổ ADSL sử dụng Thoại cơ bản sử dụng dải tần số từ 300Hz tới 3,400Hz. ƒ Bây giờ chúng ta sẽ xem xét, thoại và dữ liệu ADSL chia xẻ 21 Xây dựng thử nghiệm PC Linux hoạt động như một ADSL Router cùng một đường dây thuê bao ra sao. Trên thực tế, các Splitter được sử dụng để đảm bảo dữ liệu và thoại không xâm phạm lẫn nhau trên đường truyền. ƒ Các tần số mà mạch vòng có thể chuyển tải, hay nói cách khác là khối lượng dữ liệu có thể chuyển tải sẽ phụ thuộc vào các nhân tố sau: 1.4. Khoảng cách từ tổng đài nội hạt. 1.5. Kiểu và độ dầy đường dây. 1.6. Kiểu và số lượng các mối nối trên đường dây. 1.7. Mật độ các đường dây chuyển tải ADSL, ISDN và các tín hiệu phi thoại khác 1.8. Mật độ các đường dây chuyển tải tín hiệu radio. Ưu điểm của ADSL ADSL: So sánh với PSTN & ISDN 1.8.1. ƒ PSTN và ISDN là các công nghệ quay số (Dial-up). ƒ ADSL là ‘liên tục/always-on” kết nối trực tiếp. ƒ PSTN và ISDN cho phép chúng ta sử dụng Fax, dữ liệu, thoại, dữ liệu tới Internet, dữ liệu tới các thiết bị khác. ƒ ADSL chỉ chuyển tải dữ liệu tới Internet. ƒ PSTN và ISDN cho phép chúng ta tuỳ chọn ISP nào mà ta muốn kết nối. 22 Xây dựng thử nghiệm PC Linux hoạt động như một ADSL Router ƒ ADSL kết nối chúng ta tới một ISP định trước. ƒ ISDN chạy ở tốc độ cơ sở 64kbps hoặc 128kbps. ƒ ADSL có thể tải dữ liệu về với tốc độ tới 8Mbps. ƒ PSTN ngắt truy nhập tới Internet khi chúng ta thực hiện cuộc gọi. ƒ ADSL cho phép vừa sử dụng Internet trong khi vẫn có thể thực hiện cuộc gọi đồng thời. ƒ Kết nối Internet qua đường PSTN và ISDN bằng phương thức quay số có tính cước nội hạt. ƒ ADSL không tính cước nội hạt. Ghi chú: ƒ Mặc dù Modem ADSL luôn ở chế độ kết nối thường trực, nhưng vẫn có thể cần phải thực hiện lệnh kết nối Internet trên máy PC. ƒ Các dịch vụ như Fax và thoại có thể được thực hiện cũng trên kết nối dữ liệu ADSL tới Internet. ƒ Trên thực tế, tốc độ Download tiêu biểu đối với dịch vụ ADSL gia đình thường đạt tới (up to) 400kbps ƒ Dùng bao nhiêu, trả bấy nhiêu. Cấu trúc cước theo lưu lượng sử dụng (Hoặc theo thời gian sử dụng). ƒ Không hạn chế số người sử dụng khi chia sẻ kết nối Internet trong mạng nội bộ. 23 Xây dựng thử nghiệm PC Linux hoạt động như một ADSL Router Các thành phần của ADSL 1.8.2. 1.8.2.1. Giới thiệu Hình 2.5 Mô hình ADSL Trong phần này chúng ta sẽ lần lượt mô tả chức năng của từng thành phần của ADSL, bắt đầu từ Modem ADSL tới Nhà cung cấp dịch vụ Internet Chúng ta cũng xem xét ở phía ISP để lọc ra những thành phần cơ bản mà họ sử dụng để cung cấp dịch vụ ADSL. 1.8.2.2. Modem ADSL ƒ Modem ADSL kết nối vào đường dây điện thoại (còn gọi là local loop) và đường dây này nối tới thiết bị tổng đài nội hạt. ƒ Modem ADSL sử dụng kết hợp một loạt các kỹ thuật xử lý tín hiệu tiên tiến nhằm đạt được tốc độ băng thông cần thiết trên đường dây điện thoại thông thường với khoảng cách tới vài km giữa thuê bao và tổng đài nội hạt. 1.8.2.3. Cơ chế hoạt động của Modem ADSL ƒ ADSL hoạt động bằng cách vận hành cùng lúc nhiều Modem, trong đó mỗi Modem sử dụng phần băng thông riêng có thể. 24 Xây dựng thử nghiệm PC Linux hoạt động như một ADSL Router Hình 2.6 Mô hình dải phổ ADSL sử dụng ƒ Sơ đồ trên đây chỉ mô phỏng một cách tương đối, nhưng qua đó ta có thể nhận thấy ADSL sử dụng rất nhiều Modem riêng lẻ hoạt động song song để khai thác băng thông tối đa và cung cấp một tốc độ rất cao. ƒ Mỗi đường kẻ sọc đen ở trên thể hiện một Modem và chúng hoạt động tại các tần số hoàn toàn khác nhau. Trên thực tế có thể tới 255 Modem hoạt động trên một đường ADSL. Ðiểm đặc biệt ở chỗ ADSL sử dụng dải tần số từ 26kHz tới 1.1MHz trong 10MHz của băng thông thoại. Tất cả 255 Modems này được vận hành chỉ trên một con ien đơn. ƒ Lượng dữ liệu mà mỗi Modem có thể truyền tải phụ thuộc vào các đặc điểm của đường dây tại tần số mà Modem đó chiếm. Một số Modem có thể không làm việc một chút nào vì sự gây nhiễu từ nguồn tín hiệu bên ngoài chẳng hạn như bởi một đường dây (local loop) khác hoặc nguồn phát vô tuyến nào đó. Các Modem ở tần số cao hơn thông thường lại truyền tải được ít dữ liệu hơn bởi lý ở tần số càng cao thì sự suy hao càng lớn, đặc biệt là trên một khoảng cách dài. 1.8.2.4. Mạch vòng / Local Loop ƒ ‘Local loop’ là thuật ngữ dùng để chỉ các đường dây điện thoại bình thường nối từ vị trí người sử dụng tới công ty điện thoại. ƒ Nguyên nhân xuất hiện thuật ngữ local loop – đó là người nghe (điện thoại) được kết nối vào hai đường dây mà nếu nhìn từ tổng đài điện thoại thì chúng tạo ra một mạch vòng local loop. 25 Xây dựng thử nghiệm PC Linux hoạt động như một ADSL Router Các thành phần ADSL từ phía nhà cung cấp dịch vụ 1.8.3. ƒ Bây giờ chúng ta sẽ tìm hiểu xem các ISP thực hiện cung cấp ADSL như thế nào. Hình 2.7 Mô hình đầu cuối ADSL ƒ Như chỉ ra trong khối vàng ở trên, phạm vi Nhà cung cấp dịch vụ gồm có ba thành phần quan trọng 1.9. DSLAM – DSL Access Multiplexer 1.10. BAS – Broadband Access Server. 1.11. ISP – Internet Service Provider. 1.11.1.1. DSLAM ƒ Một thiết bị DSLAM có thể tập hợp nhiều kết nối thuê bao ADSL – có thể nhiều tới hàng trăm thuê bao – và tụ lại trên một kết nối cáp quang. Sợi cáp quang này thường được nối tới thiết bị gọi là BAS – Broadband Access Server, nhưng nó cũng có thể không nối trực tiếp tới BAS vì BAS có thể được đặt tại bất cứ đâu. 26 Xây dựng thử nghiệm PC Linux hoạt động như một ADSL Router Hình 2.8 Thiết bị DSLAM ƒ DSLAM là thiết bị đặt ở phía tổng đài, là điểm cuối của kết nối ADSL. Nó chứa vô số các Modem ADSL bố trí về một phía hướng tới các mạch vòng và phía kia là kết nối cáp quang. 1.11.1.2. BAS Hình 2.9 Thiết bị BAS ƒ Broadband Access Server (BAS) là thiết bị đặt giữa DSLAM và POP của ISP. Một thiết bị BAS có thể phục vụ cho nhiều DSLAM. ƒ Các giao thức truyền thông được đóng gói để truyền dữ liệu thông qua kết nối ADSL, vì vậy mục đích của BAS là mở gói để hoàn trả lại các giao thức đó trước khi đi vào Internet. Nó cũng đảm bảo cho kết nối của bạn tới ISP được chính xác giống như khi bạn sử dụng Modem quay số hoặc ISDN. ƒ Như chú giải ở trên, ADSL không chỉ rõ các giao thức được sử dụng để tạo thành kết nối tới Internet. Phương pháp mà PC và Modem sử dụng bắt buộc phải giống như BAS sử dụng để cho 27 Xây dựng thử nghiệm PC Linux hoạt động như một ADSL Router kết nối thực hiện được. ƒ Thông thường ADSL sử dụng hai giao thức chính là : 1.12. PPPoE – PPP over Ethernet Protocol. 1.13. PPPoA – Point to Point Protocol over ATM. Kết nối mạng 1.13.1. 1.13.1.1. Cơ chế kết nối ƒ Dưới đây sẽ trình bày về những giao thức truyền thông được sử dụng trên kết nối ADSL. ƒ Khi kết nối vào Internet, bạn sử dụng các giao thức chạy ở tầng vận chuyển TCP/IP (chẳng hạn như HTTP – giao thức được sử dụng bởi các Web Browser). Quá trình này là giống nhau với các kiểu truy nhập quay số qua PSTN, ISDN và ADSL. 1.13.1.2. Các giao thức được sử dụng giữa Modem và BAS ƒ Khi quay số PSTN/ISDN để truy nhập vào Internet, chúng ta sử dụng giao thức gọi là PPP để vận chuyển dữ liệu TCP/IP và kiểm tra cũng như xác thực tên và mật khẩu người truy nhập. ƒ Trong ADSL, PPP cũng thường được sử dụng để kiểm tra tên và mật khẩu truy nhập, và ATM thì luôn được sử dụng ở mức thấp nhất. Kết nối điển hình như dưới đây : 28 Xây dựng thử nghiệm PC Linux hoạt động như một ADSL Router Hình 2.10 ADSL-PPP 1.13.1.3. Vai trò của ATM Hình 2.11 ATM ƒ ATM – Asynchronous Transfer Mode – được sử dụng như là công cụ chuyển tải cho ADSL ở mức thấp. Lý do vì đó là cách thuận tiện và mềm dẻo đối với các công ty thoại muốn kéo dài khoảng cách kết nối từ DSLAM tới BAS giúp họ có thể đặt BAS ở bất cứ đâu trên mạng. ƒ Các tham số thiết lập cấu hình ATM:Có hai tham số cần phải thiết lập cấu hình một cách chính xác trên Modem ADSL để đảm bảo kết nối thành công tại mức ATM với DSLAM: 1.14. VPI – the Virtual Path Identifier. 1.15. VCI – the Virtual Channel Identifier 29 Xây dựng thử nghiệm PC Linux hoạt động như một ADSL Router Vai trò của PPP 1.15.1. 1.15.2. ƒ PPP là giao thức dùng để vận chuyển lưu lượng Internet tới ISP dọc theo các kết nối Modem và ISDN. PPP kết hợp chặt chẽ các yếu tố xác thực – kiểm tra tên/mật khẩu – và đó là lý do chính mà người ta dùng PPP với ADSL. ƒ Mặc dù BAS thực thi giao thức PPP và tiến hành việc xác thực, nhưng thực ra việc đó được thực hiện bằng cách truy nhập vào các cơ sở dữ liệu khách hàng đặt tại ISP. Bằng cách đó, ISP biết được rằng các kết nối do BAS định tuyến tới – đã được xác thực thông qua giao dịch với cơ sở dữ liệu riêng của ISP. Modem ADSL trên thực tế 1.15.2.1. Các loại modem ADSL thông minh và thụ động ƒ Modem ADSL thông minh bản thân nó đã tích hợp sẵn các giao thức truyền thông cần thiết (Như thiết bị Modem ADSL Router hoặc Modem được sử dụng kết nối qua cổng Card Ethernet 10/100Mb) nên chỉ việc lựa chọn và khai báo VPI/VCI cho Modem. ƒ Còn Modem ADSL thụ động thì phải hoạt động dựa trên hệ điều hành của máy tính để cung cấp các giao thức cần thiết. Các loại Modem này bắt buộc phải cài đặt phần mềm điều khiển Modem và thiết lập các giao thức PPP, VPI/VCI. Việc cấu hình như vậy phức tạp và đòi hỏi thời gian nhiều hơn. ƒ Chỉ có Windows 98SE, Windows ME và Windows 2000/XP là có cài sẵn cơ chế thực thi ATM, vì thế người ta ít sử dụng các 30 Xây dựng thử nghiệm PC Linux hoạt động như một ADSL Router Modem thụ động trên thực tế. Mặc dù các Modem thông minh có hỗ trợ các giao thức cần thiết nhưng chúng vẫn có thể được dùng cho các hệ điều hành nói trên. Các Modem thụ động có thể nối với PC thông qua giao diện USB, hoặc có thể được sản xuất dưới dạng PCI Card để cắm thẳng trên bảng mạch chủ của PC. ƒ Lưu ý là việc khai thác giao thức ATM không có nghĩa là cần phải có Card mạng ATM cho PC – đó chỉ là cơ chế hỗ trợ bằng phần mềm trong hệ điều hành. Mối tương quan giữa thoại và ADSL. 1.15.3. 1.15.3.1. Thoại và ADSL ƒ ADSL cho phép cùng lúc vừa truy nhập Internet tốc độ cao lại vừa có thể thực hiện cuộc gọi cũng trên đường dây đó. ƒ Thiết bị chuyên dụng Splitters được sử dụng để tách riêng các tần số cao dùng cho ADSL và các tần số thấp dùng cho thoại. Như vậy, người ta thường đặt các Splitters tại mỗi đầu của đường dây – phía thuê bao và phía DSLAM. ƒ Tại phía thuê bao, các tần số thấp được chuyển đến máy điện thoại còn các tần số cao đi đến modem ADSL. Tại các tổng đài, các tần số thấp được chuyển sang mạng thoại PSTN còn các tần số cao đi đến ISP. 1.15.3.2. Tốc độ đa dạng ƒ Tốc độ của kết nối giữa modem ADSL và DSLAM phụ thuộc vào khoảng cách đường truyền và tốc độ tối đa được cấu hình 31 Xây dựng thử nghiệm PC Linux hoạt động như một ADSL Router sẵn trên cổng của DSLAM. ƒ Còn tốc độ kết nối vào Internet lại còn phụ thuộc vào nhiều yếu tố khác nữa như dưới đây : 1.16. Số người dùng kết nối vào cùng một DSLAM và thực tế có bao nhiều người dùng đang khai thác kết nối. 1.17. Tốc độ kết nối giữa DSLAM và BAS. 1.18. Bao nhiêu card DSLAM cùng nối vào một BAS và bao nhiêu người dùng đang khai thác thực tế kết nối. 1.19. Tốc độ kết nối giữa BAS và ISP. 1.20. Bao nhiêu BAS kết nối vào ISP và bao nhiêu người dùng thực tế đang khai thác. 1.21. Tốc độ của kết nối từ ISP tới mạng Internet toàn cầu. 1.22. Bao nhiêu thuê bao của ISP đang khai thác (qua các giao tiếp khác nhau như quay số PSTN/ ISDN và ADSL). 1.23. ISP tổ chức Caching và Proxy ra sao, liệu thông tin mà bạn cần khai thác đã được lưu trữ trên Cache chưa hay phải tải về từ Internet. 1.23.1. Thiết bị Modem ADSL ƒ Hiện trên thị trường có nhiều loại Modem ADSL với hai kiểu kết nối phổ biến: PCI, USB, phần lớn đều được tích hợp cả Router với các tính năng NAT, Routing… ƒ Modem ADSL thuần túy kết nối bằng USB có sản phẩm của 32 Xây dựng thử nghiệm PC Linux hoạt động như một ADSL Router Zoom Model 5510A . . ., hoặc kết nối qua cổng PCI có Compaq ADSL card internal. 2. Router và Router ADSL 2.1. Giới thiệu Router 2.1.1. 2.1.2. Giới thiệu Router ƒ Router là 1 thiết bị mạng dùng để forward các packet đến địa chỉ đích thông qua 1 quá trình xử lý .Đó là quá trình routing ƒ Router hoạt động ở tầng 3 trong mô hình OSI Cơ chế hoạt động ƒ Router sẽ tạo ra và duy trì 1 bảng gọi là routing table .Routing table sẽ lưu giữ các đường đi tốt nhất đến các mạng và các routing metric tương ứng với các mạng đó ƒ Router sẽ khảo sát các gói packet đến ,lựa chọn con đường tốt nhất thông qua mạng .Sau đó,router sẽ chuyển gói packet đó ra port tương ứng để đi đến mạng đích 2.2. Sơ lược về các Router ADSL hiện có trên thị trường và tính năng ƒ Hiện thị trường có nhiều nhà cung cấp các sản phẩm Router ADSL với nhiều tính năng khác nhau, một số nhãn hiệu Router ADSL phổ biến như: ZyXEL, Zoom, Planet, Draytek, Symmetricom, TRENDNET, SpeedCom, Ecom… ƒ Các tính năng phổ biến: IP routing, Static routing, DNS Proxy, Port Forwarding, DHCP server/client, NAT, NAPT. 33 Xây dựng thử nghiệm PC Linux hoạt động như một ADSL Router ƒ Các tính năng tiên tiến: Virtual Server( Cho phép người dùng bên ngoài Internet truy cập vào), DMZ ( Một PC trong mạng LAN có thể được cho phép truyền thông không hạn chế 2 chiều với thiết bị bên ngoài Internet), DDNS… ƒ Một số Router có các tính năng trên: Planet ADE-4100, Zoom Model 5554 X5… Hình 2.12 Modem Zoom 5554 X5 và Modem Planet ADE 4100 3. Routing 3.1. Tổng quát về routing ƒ Thuật ngữ routing được dùng để chỉ một packet đi ra khỏi một thiết bị ,được định hướng để băng qua mạng đến một thiết bị ở một mạng khác ƒ Router là thiết bị đảm nhận việc routing trong môi trường ien mạng.Để thực hiện routing ,router cần có những thông tin cơ bản sau: 3.2. Destination address ( địa chỉ mạng cần đến ) 3.3. Các router lân cận của nó 3.4. Tất cả các con đường có thể đi đến các mạng ở xa 3.5. Con đường tốt nhất đi đến mỗi mạng ở xa .Nghĩa 34 Xây dựng thử nghiệm PC Linux hoạt động như một ADSL Router là,đối với mỗi mạng ở xa thì phải tìm ra con đường nào là nhanh nhất hoặc hiệu quả nhất theo một tính toán có sẵn để đi đến mạng đó 3.6. Duy trì và khảo sát các thông tin định tuyến ƒ Router sẽ học về các mạng ở xa thông qua các router lân cận hoặc thông qua người quản trị mạng.Sau đó,nó sẽ xây dựng bảng gọi là bảng routing table miêu tả cách đi đến các mạng ở xa đó.Nếu 1 mạng được kết nối trực tiếp thì router sẽ tự biết đường mạng đó .Nếu không ,router sẽ phải học cách đi đến một đường mạng khác thông qua 2 cách :static và dynamic. 3.7. Static là cách mà nhà quản trị tự thêm vào đường đi đến một mạng khác vào bảng routing table 3.8. Dynamic là dùng các routing protocol như RIP ,IGRP ,OSPF,EIGRP…. 3.9. Routing và Switching Router Switch Tốc độ Chậm hơn Nhanh hơn OSI Layer 3-Network 2-Data link Địa chỉ Có cấu trúc Không cấu trúc Broadcasts Không có Có Bảo mật Chế độ bảo mật cao Kém Bảng 2.3 Bảng so sánh Routing và Switching 3.10. Routed và Routing Những giao thức hỗ trợ cho tầng mạng được gọi là các giao thức routed 35 Xây dựng thử nghiệm PC Linux hoạt động như một ADSL Router hay routable ƒ Routed protocol 3.10.1. 3.10.2. 3.10.3. Là các bộ giao thức mạng cung cấp đầy đủ các thông tin trong địa chỉ tầng mạng của nó Định nghĩa các định dạng và cách dùng các các trường trong 1 packet .Thông thường ,packet được chuyển từ hệ thống cuối này đến hệ thống cuối khác VD : IP.AppleTalk … Router sử dụng routing protocol để trao đổi routing table và chi sẽ các thông tin định tuyến.Nói cách khác,các giao thức routing định xác định cách mà các giao thức routed được gửi ƒ Routing protocol : ƒ Hỗ trợ 1 routed protocol bằng cách cung cấp các phương tiện để chia sẻ thông tin routing ƒ Cho phép các router trao đổi với các router khác để duy trì các bảng routing table ƒ VD OSPF, RIP, IGRP, EIGRP …. 3.11. Sự xác định đường đi ƒ Router sử dụng bảng routing table và các địa chỉ mạng để truyền dữ liệu thông qua mạng .Có 2 tác vụ cơ bản : 36 Xây dựng thử nghiệm PC Linux hoạt động như một ADSL Router ƒ Xác định các đường đi tối ưu ƒ Chuyển các gói packet qua môi trường ien mạng ƒ Quá trình xác định đường đi : ƒ Ước lượng ( đánh giá ) các con đường trên mạng ƒ Xác định con đường nào được dùng .Router sẽ chuyển packet mà nó nhận được ra port tương ứng với con đường tốt nhất đến địa chỉ đích có ghi trong packet 3.12. Routing table ƒ Nhằm hỗ trợ cho quá trình xác định đường đi của gói packet .Router khởi tạo và duy trì các bảng routing table ,chứa các thông tin định tuyến ƒ Các thông tin định tuyến thay đổi tùy thuộc vào giao thức định tuyến. ƒ Thông tin trong bảng routing table ƒ Destination/next-hop associations : ƒ Routing Metric ( độ đo ) :Các giao thức định tuyến khác nhau sử dụng các độ đo đường đi khác nhau.Routing metric được dùng để xác định sự “lôi cuốn” của một con đường. ƒ Routing update Message ƒ Router sẽ trao đổi với các router khác và duy trì các 37 Xây dựng thử nghiệm PC Linux hoạt động như một ADSL Router routing table của nó thông qua việc truyền các routing update message.Các Routing update message được trao đổi giữa các router. ƒ Tùy thuộc các giao thức routing được sử dụng mà các routing update message sẽ được trao đổi hoặc là theo một khoảng thời gian xác định hoặc chỉ được trao đổi mỗi khi kiến trúc mạng có sự thay đổi. ƒ Các thông tin trao đổi thiết yếu là các mạng đích mà router đó có thể đi đến cùng với metric tương ứng với từng đích đến.Bằng cách khảo sát các routing update .Các router có thể xây dựng và duy trì routing table cho chính nó 3.13. Các thuật toán Routing và các metric 3.13.1. Mục tiêu của các thuật toán routing ƒ Tối ưu hóa : Sự tối ưu hóa miêu tả khả năng lựa chọn con đường đi tốt nhất của các thuật toán routing, dựa vào các metric và các metric phụ thêm dùng trong tính toán . ƒ Sự đơn giản và giảm overhead : Một thuật toán routing gọi là lý tưởng nếu như nó giảm được sự tính toán của CPU và giảm tiêu hao quá nhiều bộ nhớ trong các router.Đây là tiêu chí quan trọng để mạng có thể mở rộng ƒ Mạnh mẽ và ổn định: Một thuật toán routing cần phải thực thi chính xác ngay cả khi gặp phải tình huống bất thường hoặc không dự kiến trước chẳng hạn như lỗi phần cứng ,các lỗi thực thi … 38 Xây dựng thử nghiệm PC Linux hoạt động như một ADSL Router ƒ Hội tụ nhanh :Độ hội tụ là tiến trình đồng thuận của tất cả các router trong các đường đi tối ưu .Khi một sự kiện phát sinh trên mạng làm thay đổi giá trị router ,tính toán lại là điều cần thiết dể tái thiết lập các kết nối mạng .Các thuật toán routing nào mà có độ hội tụ chậm thì có thể gây ra các trùng lập đường đi hoặc làm treo mạng ƒ Sự uyển chuyển :Một thuật toán routing cần phải nhanh chóng và chính xác thích nghi với một số lượng lớn các trừơng hợp phát sinh trên mạng . 3.13.2. Các Metric Là độ đo dùng để xác định con đường đi tốt nhất . Các metric thường dùng là : ƒ Bandwidth (băng thông) : dung lượng truyền dữ liệu của một kết nối ( thường là ,10/100Mbps trên đường Ethernet ) ƒ Delay ( độ trễ ) : Là thời gian để gửi một packet từ nguồn đến đích .Độ trễ phụ thuộc vào băng thông ,vào xung đột xảy ra trên mạng và vào khoảng cách vật lý ƒ Load : số lượng các hoạt động trên một tài nguyên mạng,chẳng hạn như Router hoặc một đường kết nối ƒ Reliability ( độ tin cậy ) : dùng để chỉ mức độ lỗi trong mỗi liên kết mạng ƒ Hop count : Số router mà packet phải đi qua trước khi đến đích ƒ Cost : Có giá trị bất kí, thường dựa trên băng thông, tiền, hoặc các thước đo giá trị khác-những thước đo được chỉ định bởi 39 Xây dựng thử nghiệm PC Linux hoạt động như một ADSL Router người quản trị mạng ƒ Routing Protocols 3.14. Routing Protocols Các giao thức routing thuộc về 3 loại khác nhau : Distance-Vector ,Link state, và Hybrid 3.14.1. 3.14.2. Distance-vector ƒ Dựa vào chiều và khoảng cách (hop count) đối với tất cả các ien kết trên mạng . ƒ Cứ sau 1 khoảng thời gian xác định (vd 30s) thì giao thức định tuyến dạng distance-vector lại gửi đi toàn bộ hoặc một phần của bảng routing table cho các láng giềng lân cận cho dù có hay không sự thay đổi trên mạng.Bằng cách nhận các routing table từ các router lân cân mà router có thể kiểm tra con đường đi đã biết và thay đổi nếu cần.Quá trình trao đổi thông tin như vậy gọi là “routing by rumor” ƒ Các loại Distance-vector như : RIP ,IGRP ƒ RIP dùng hop count làm metric và đây là giao thức routing IGP thông dụng nhất trên internet ƒ IGRP được phát triển bởi Cisco và được dùng cho các mạng lớn Link state Link state được thiết kế để khắc phục những hạn chế của distance- vector.Mỗi khi có thay đổi trên mạng ,ngay lập tức link state sẽ gửi các trigger update .Nó cũng gửi các update theo chu kỳ xác định .Tuy nhiên 40 Xây dựng thử nghiệm PC Linux hoạt động như một ADSL Router ,thời gian của chu kỳ này dài hơn hẳn so với distance-vector ,khoảng 30 phút mới gửi một lần VD OSPF 3.14.3. 3.15.1. Hybrid Kết hợp các đặc trưng của cả distance-vector và link state VD EIGRP 3.15. Giới thiệu các giao thức định tuyến RIP ƒ Dùng thuật toán distance-vector để xác định chiều và khoảng cách đến các mạng trong môi trường ien mạng ƒ Dùng hop count làm metric để lựa chọn đường đi .Hop count càng nhỏ càng tốt ƒ Mặc định cứ 30s lại gửi các routing update ƒ Hop count tối đa đến một mạng là 15.Nếu lớn hơn 15 thì đường đến mạng đó xem như không có và packet sẽ bị lọc nếu có đích đến là mạng đó ƒ Sử dụng rộng rãi do rất dễ cài đặt .Nhiều host (cả unix ) cũng có thể chạy RIP ƒ RIPv1 là 1 giao thức định tuyến classfull ƒ RIPv2 hỗ trợ classless routing 41 Xây dựng thử nghiệm PC Linux hoạt động như một ADSL Router 3.15.2. IGRP ƒ Là 1 giao thức dạng distance-vector ,được phát triển bởi Cisco.Nó được phát triển để giải quyết các vấn đề về đặt địa chỉ cùng với routing trong mạng lớn vượt khỏi khả năng định tuyến của RIP ƒ Trong khi RIP chọn đường đi với số hop là ít nhất thì IGRP có thể chọn con đường đi nhanh nhất dựa vào các thông số như là độ trễ,băng thông ,load và độ tin cậy .Người quản trị mạng có thể quyết định sự quan trọng của bất kì một trong những metric này,hoặc cho phép IGRP tự tính toán con đường đi khả dĩ ,tốt nhất .Theo mặc định,IGRP chỉ dùng thông số băng thông và độ trễ để xác định chi phí đường đi.IGRP cũng có thể có số hop count lớn hơn RIP .Nhờ vậy mà mạng sử dụng IGRP có thể mở rộng hay thu hẹp dể dàng hơn ƒ IGRP gửi các gói định tuyến update theo khoảng thời gian là 90s.Cứ 90s ,nó lại quảng bá các thông tin về mạng cho các autonomous system cụ thể.IGRP có một số đặc tính quan trọng sau: 3.16. Tính Linh Hoạt : thích ứng với các topology phức tạp 3.17. Tính Uyển Chuyển : Các segment khác nhau có thể có băng thông và độ trể khác nhau 3.18. Tính Mở Rộng : đây là tính năng hữu dụng để hoạt động trong các mạng có tiềm năng phát triển trong tương lai 42 Xây dựng thử nghiệm PC Linux hoạt động như một ADSL Router 3.18.1. OSPF ƒ OSPF là một giao thức routing thuộc dạng link-state,đối nghịch hoàn toàn với các giao thức routing dạng distance-vector như RIP.OSPF phân phối các thông tin định tuyến giữa các router trong cùng một autonomous system.OSPF được đưa ra để đáp ứng nhu cầu đánh địa chỉ trong mạng internetwork mà RIP không thể đáp ứng được.OSPF có một số đặc trưng sau : 3.19. Tốc độ hội tụ : Trong một mạng rộng ,khi hội tụ RIP có thể mất đến vài phút ,trong khi OSPF nhanh hơn nhiều 3.20. Hỗ trợ Variable-length subnet mask(VLSM):RIPv1 không hỗ trợ chia subnet và VLSM trong khi OSPF thì có 3.21. Khoảng cách mạng vươn tới được : RIP có giới hạn là 15 hop count trong khi OSPF thì không có giới hạn 3.22. Sử dụng băng thông : Sau 30s ,RIP lại gửi broadcast một bảng thông tin định tuyến .Rõ ien,điều này đã làm cho băng thông bị lãng phí do thông tin trong bảng định tuyến không phải lúc nào cũng thay đổi .Điều này làm mạng WAN bị chậm lại .Trong khi đó ,OSPF gửi multicast các thông tin cập nhật chỉ khi nào có sự thay đổi xảy ra trên mạng 3.23. Giao thức sử dụng trong chương trình RIP .Chúng ta sử dụng RIP vì : ƒ Giao thức RIP đơn giản vể nguyên tắc hoạt động ƒ Dễ cài đặt 43 Xây dựng thử nghiệm PC Linux hoạt động như một ADSL Router ƒ Phù hợp với tiêu chí của đại đa số các công ty nhỏ và vừa ,vì thường chỉ có 1 kết nối ra ngoài ƒ RIP là giao thức được sử dụng rộng rãi nhất trên môi trường UNIX 4. Các khái niệm cơ bản 4.1. IP tĩnh ( Static IP) Là địa chỉ IP do khách hàng tự đăng kí với một tổ chức có thẩm quyền cung cấp IP. Hàng năm khách hàng phải trả chi phí để duy trì địa chỉ IP đó, chi phí này khá cao. 4.2. IP động ( Dynamic IP) ƒ Thông thường, khi một thuê bao kết nối vào Internet, nhà cung cấp dịch vụ (ISP) mà thuê bao này đăng ký sử dụng dịch vụ Internet sẽ cấp cho kết nối này (thực tế là máy chủ làm nhiệm vụ phân bổ địa chỉ động ví dụ DHCP server trong dialup hay BRAS trong dịch vụ ADSL của nhà cung cấp dịch vụ) sẽ tự động gắn cho kết nối của thuê bao một địa chỉ chưa có ai sử dụng trong một khối địa chỉ dùng chung mà ISP dành cho các thuê bao kết nối gián tiếp (kết nối động) gọi là vùng pool ƒ Địa chỉ đã được cấp này chỉ được sử dụng trong khoảng thời gian thuê bao này kết nối Internet, khi thuê bao ngắt kết nối, địa chỉ này được giải phóng để cho thuê bao khác sử dụng và thuê bao sẽ được cấp một địa chỉ khác trong lần kết nối mới . 44 Xây dựng thử nghiệm PC Linux hoạt động như một ADSL Router 4.3. DNS ƒ Mọi máy tính, thiết bị mạng (host) trên mạng Internet ien hệ với nhau bằng địa chỉ IP. Để thuận tiện cho việc sử dụng thì người ta dùng tên (tên miền) để xác định host đó. ƒ Hệ thống máy chủ tên miền được sử dụng để ánh xạ tên miền thành địa chỉ IP, nhờ đó khi muốn ien hệ tới các host, người ta dùng sử dụng chuỗi ký tự dễ nhớ (tên miền), thay vì sử dụng địa chỉ IP là một dãy số dài khó nhớ. ƒ Khi người dùng có yêu cầu khai báo ánh xạ tên miền vào một địa chỉ IP thì có thể có 2 lựa chọn sau: - Yêu cầu người quản trị hệ thống máy chủ quản lý tên miền đó khai báo vào CSDL tên miền - Thông qua các giao diện cung cấp cho người dùng tự cập nhật 4.4. Dynamic DNS ƒ Dynamic DNS là phương thức ánh xạ tên miền tới địa chỉ IP có tần xuất thay đổi cao (do không phải mọi máy tính đều sử dụng địa chỉ IP tĩnh). ƒ Dịch vụ DNS động (Dynamic DNS) cung cấp một chương trình đặc biệt chạy trên máy tính của người sử dụng dịch vụ dynamic DNS gọi là Dynamic Dns Client. ƒ Chương trình này giám sát sự thay đổi địa chỉ IP tại host và ien hệ với hệ thống DNS mỗi khi địa chỉ IP của host (vốn được cung cấp bởi ISP bằng phương pháp động) thay đổi và sau đó update thông tin vào cơ sở dữ liệu DNS về sự thay đổi địa chỉ đó. 45 Xây dựng thử nghiệm PC Linux hoạt động như một ADSL Router ƒ Bằng cách này, cho dù máy chủ có thường xuyên bị thay đổi địa chỉ thì tên miền vẫn được hệ thống máy chủ DNS trỏ về đúng địa chỉ được cấp IP mới đó. 4.5. NAT ( Network Address Translation ) 4.5.1. 4.5.2. Tại sao lại dùng NAT NAT được sử dụng vì : ƒ Khi một mạng có quá nhiều host trong khi lại không có đủ các địa chỉ IP public cần thiết để kết nối vào mạng internet tức là làm cho một địa chỉ IP riêng ( private ) hay một địa chỉ không được đăng kí có thể truy cập ra mạng internet ƒ Để kết hợp 2 mạng intranet có các địa chỉ IP trùng nhau ƒ Để hỗ trợ load sharing sử dụng một địa chỉ IP ƒ Cung cấp khả năng tái sử dụng một địa chỉ IP đã được dùng Cách NAT được thực hiện 46 Xây dựng thử nghiệm PC Linux hoạt động như một ADSL Router Hình 2.13 Mô hình NAT ƒ Như trong hình vẽ trên, NAT được cấu hình tại Border Router ( tức là router gần với mạng bên ngoài nhất ),nằm giữa mạng bên trong và mạng bên ngoài. ƒ NAT sẽ chuyển đổi địa chỉ inside local thành địa chỉ inside global, làm cho dữ liệu có thể trao đổi ra mạng bên ngoài 4.5.3. Các thuật ngữ NAT ƒ Inside Network : Là mạng bao gồm các máy tính có địa chỉ private.Các PC nằm trong một Inside Network sử dụng những địa chỉ không được đăng ký hay những địa chỉ được dành riêng cho các mạng cục bộ nên địa chỉ của chúng không được “hiểu” bởi các mạng bên ngoài chẳng hạn như mạng internet hay mạng của ISP. ƒ Outside Network :Là các mạng khác không thuộc hoặc không cùng chủ sở hữu với Inside Network ,thường thì đây là mạng của ISP ƒ Inside Local Address: Địa chỉ mạng cục bộ bên trong ,không được hiểu đối với các mạng bên ngoài ƒ Inside global IP Address :Đây là địa chỉ IP của một host của mạng bên trong khi nó truy cập một mạng bên ngoài.Địa chỉ IP này còn được gọi là địa chỉ đã được chuyển đổi ƒ Outside local IP address: Là địa chỉ IP của một host bên ngoài khi nó truy cập vào mạng bên trong 47 Xây dựng thử nghiệm PC Linux hoạt động như một ADSL Router Chương 3 LINUX VÀ MẠNG TRONG LINUX 1. Hệ điều hành Linux 1.1. Giới thiệu ƒ Linux được Linus Torvalds, sinh viên của Đại học Tổng hợp Helsinki Phần Lan manh nha từ năm 1991 và đến 1994 phiên bản 1.0 chính thức được phát hành. ƒ Linux là một hệ điều hành dạng UNIX, nó hoạt động dựa trên nguyên tắc của hệ điều hành UNIX, tuy nhiên không dựa trên mã nguồn UNIX mà được viết lại từ đầu. ƒ Linux được phát miễn phí và được phát triển trên Internet. Linux đã được phổ biến và sử dụng rộng rãi trong thời gian ngắn. ƒ Linux là hệ điều hành đa nhiệm và đa người dùng, có khả năng tương thích với các hệ mở, có nhiều công cụ, ứng dụng được phân phối hầu như miễn phí. 48 Xây dựng thử nghiệm PC Linux hoạt động như một ADSL Router 1.2. Kiến trúc của hệ điều hành Linux Hình 3.1 Mô hình kiến trúc Linux 1.2.1. 1.2.2. Hạt nhân (Kernel) ƒ Là trung tâm điều khiển của hệ điều hành Linux, chứa các mã nguồn điều khiển toàn bộ hệ thống. ƒ Kernel được thiết kế theo dạng Modul do đó kích thước thật sự của nó rất nhỏ. Chúng chỉ tải những bộ phận cần thiết lên bộ nhớ, các bộ phận khác sẽ được tải lên khi cần do đó không lãng phí bộ nhớ. ƒ Kernel của Linux có thể truy xuất tới toàn bộ các tính năng phần cứng của máy tính. Shell ƒ Shell cung cấp tập lệnh cho người dùng thao tác với Kernel để thực hiện công việc. Shell đọc các lệnh từ người dùng và xử lý. ƒ Có nhiều loại Shell dùng trong Linux, bộ lệnh của mỗi Shell khác nhau: C Shell sử dụng các lệnh tương tự C, Bourne Shell sẻ dụng ngôn ngữ lệnh khác… ƒ Shell sử dụng chính trong Linux là GNU Bourne Again Shell 49 Xây dựng thử nghiệm PC Linux hoạt động như một ADSL Router (bash), phát triển từ Bourne Shell với các tính năng: điều khiển các tiến trình, các lệnh history, tên tập tin dài… 1.2.3. 1.2.4. Các tiện ích Dùng cho nhiều thứ như : thao tác tập tin, đĩa nén, sao lưu tập tin… Các tiện ích có thể là các lệnh thao tác hay các chương trình giao diện đồ họa. Chương trình ứng dụng Các chương trình lớn như Word, hệ quản trị cơ sở dữ liệu… là các chương trình có độ phức tạp lớn và thường là do nhà sản xuất viết ra. 2. Mạng trong Linux 2.1. Giao thức mạng trong Linux Linux hỗ trợ rất nhiều giao thức mạng khác nhau.Sau đây là một số các giao thức điển hình ƒ TCP/IP ƒ TCP/IP version 6 ƒ IPX/SPX ƒ Bộ giao thức AppleTalk ƒ Mạng WAN(Frame Relay,X.25…) ƒ ISDN ƒ PPP,SLIP,PLIP ƒ ATM 50 Xây dựng thử nghiệm PC Linux hoạt động như một ADSL Router 2.2. Network Interconnection Linux có rất nhiều tính năng .Linux có thể được cấu hình để hoạt động như là 1 router, bridge v.v… 2.2.1. 2.2.2. 2.2.3. Router Linux Kernel được xây dựng có các tính năng routing trong đó.Linux được sử dụng làm router sẽ tiết kiệm được nhiều chi phí so với việc sử dụng các router thương mại .Những kernel gần đây còn đưa vào các tùy chọn đặc biệt như : ƒ Multicasting : Cho phép máy tính hoạt động như một router mà các gói IP packet có nhiều địa chỉ đích ƒ IP policy routing : Thông thường, 1 router quyết định làm gì với một packet nhận được Bridge Linux kernel được xây dựng sẵn để hoạt động như một Ethernet Bridge.Ngoài ra, nếu muốn biến PC Linux thành một bridge có nhiều port (hay còn gọi là switch) thì bạn có thể tham khảo thêm chương trình softswitch IP Masquerade IP Masquerade được phát triển như là một chức năng mạng của Linux . Nếu một host Linux kết nối đến mạng internet và tính năng IP masquerade được bật lên thì sau đó những máy kết nối 51 Xây dựng thử nghiệm PC Linux hoạt động như một ADSL Router với nó ( trong cùng một mạng LAN hoặc kết nối với những modem) có thể ra internet tốt ,ngay cả khi chúng không có đăng ký địa chỉ IP address. Điều này có thể làm giảm chi phí bởi vì rõ ien là nhiều người có thể kết nối ra internet chỉ với mỗi một kết nối bằng modem đồng thời cũng giúp bảo mật hiệu quả hơn ( máy host Linux PC đó có thể hoạt động như một firewall ) Có thể tham khảo thêm về IP masquerade tại địa chỉ HOWTO.html 2.2.4. IP Accounting Networking options −−−> [*] IP: accounting Các chức năng IP accounting của Linux kernel cho phép bạn có thể tập hợp và khảo sát 1 vài dữ liệu mạng hữu dụng.Các dữ liệu được tập hợp bao gồm số lượng các packet và số byte tương ứng ienss cài đặt và cấu hình kernel,bạn cần phải dùng câu lệnh ipfwadm ( kernel 2.0 ) hoặc ipchains ( đối với kernel 2.2 )để cấu hình IP Accounting .Lẽ dĩ nhiên ,chúng ta cũng có nhiều cách để loại bỏ thông tin thống kê của IP Accounting 52 Xây dựng thử nghiệm PC Linux hoạt động như một ADSL Router 2.2.5. 2.2.6. IP aliasing IP aliasing được sử dụng nhằm mục đích cung cấp khả năng đánh nhiều địa chỉ IP trên cùng một thiết bị mạng ở cấp độ thấp ( ví dụ 2 địa chỉ IP trên cùng một Ethernet card ).Nó thường được dùng cho các dịch vụ hoạt động dựa trên địa chỉ ip khác nhau mà chúng lắng nghe ( ví dụ như “multihosting” hay “virtual domain” ) Xem thêm tại IP Aliasing HOWTO Traffic Shaping 1 Chương trình Traffic Shaper là 1 thiết bị mạng ảo ,cho phép chúng ta có thể giới hạn tốc độ của luồng dữ liệu ra bên ngoài trên một thiết bị mạng khác.Điều này thật sự hữu dụng trong trường hợp các ISP muốn chỉ định tốc độ cho mỗi user client.Xem chi tiết tại : 6#ss6.15 2.2.7. Firewall Networking options −−−> [*] Network firewalls .... [*] IP: forwarding/gatewaying .... [*] IP: firewalling 53 Xây dựng thử nghiệm PC Linux hoạt động như một ADSL Router [ ] IP: firewall packet logging 1 Firewall là 1 thiết bị bảo vệ cho mạng nội bộ.Nó được thiết kế để điều khiển luồng packet dựa trên thông tin về nguồn ,đích đến ,port và loại packet có trong mỗi packet Có nhiều công cụ firewall khác nhau được cài đặt sẵn trong hạt nhân kernel của Linux . Các loại firewall khác là TIS và SOCKS.Các firewall này kết hợp với các công cụ khác để chặn hoặc chuyển hướng của tất cả các loại traffic và protocol . Chúng ta cũng có thể thực thi nhiều chính sách bảo mật khác nhau thông qua file cấu hình hoặc giao diện đồ họa của chương trình Tham khảo TIS homepage SOCKS Firewall HOWTO 2.2.8. Port Forwarding Sự gia tăng số lượng các máy tính và người dùng trên mạng đã kéo theo sự gia tăng số lượng truy cập đến các tài nguyên trên mạng .Nhưng ,sự gia tăng này cũng làm gia tăng các vấn đề về bảo mật mạng.Một máy tính chứa cơ sở dữ liệu không nên nối trực tiếp đến mạng internet Port Forwarding có thể giải quyết được hầu hết vấn đề phát sinh 54 Xây dựng thử nghiệm PC Linux hoạt động như một ADSL Router từ sự truy cập này.Trong firewall, các IP packet đến từ một port xác định có thể được re-written và chuyển đến cho server cung cấp dịch vụ.Các packet được server trả về cũng sẽ được firewall re-written . 2.2.9. 2.2.10. 2.2.11. Loab Balancing Yêu cầu về load balancing thường nảy sinh khi truy cập đến những database/web server .Do có nhiều client truy cập đến và gửi các request đồng thời đến 1 server-> sự quá tải .Do đó ,nó đòi hỏi phải có nhiều server để có thể chuyển tiếp các request đến các server dự phòng nhằm thực hiện cân bằng tải IP Transparent Proxy Server Là 1 thành phần cho phép bạn chuyển hướng (redirect) các server hoặc các dịch vụ có đích đến trên một máy khác đến các dịch vụ trên bản thân máy proxy này .Tính năng này rất hữu ích khi bạn sử dụng Linux PC như một router và thêm chức năng proxy EQL ( Multiple Line Traffic Equaliser ) Thiết bị EQL được tích hợp vào trong hạt nhân Linux. Nếu có 2 đường kết nối serial và có các giao thức SLIP và PPP sử dụng trên đó thì hoàn toàn có thể kết hợp 2 đường serial đó lại hoạt động như một kết nối có tốc độ gấp đôi bằng cách sử dụng driver này (EQL) và rõ ien là chi phí sẽ giảm hơn nhiều. Để cấu hình EQL ,bạn cần phải có công cụ eql tại địa chỉ : ftp://metalab.unc.edu/pub/linux/system/Serial/eql-1.2.tar.gz 55 Xây dựng thử nghiệm PC Linux hoạt động như một ADSL Router Thông tin chi tiết hơn tại : 6.html#ss6.2 2.2.12. Tunneling ,mobile IP và virtual private networks Linux kernel cho phép sự đóng gói của các giao thức. Điều này có nghĩa là bạn có thể làm đường hầm IPX xuyên qua IP ,cho phép 1 kết nối của 2 mạng IPX đi xuyên qua 1 đường liên kết mà ở đó chỉ dùng mỗi giao thức IP .Nó cũng có thể thực thi đóng gói IP-IP ,thực sự cần thiết cho việc hỗ trợ mobile IP,multicast, và amateur radio 56 Xây dựng thử nghiệm PC Linux hoạt động như một ADSL Router Chương 4 CÁC ỨNG DỤNG TÍCH HỢP VÀO HỆ THỐNG 1. Giới thiệu các ứng dụng 1.1. Zebra ƒ Zebra là 1 routing daemon.Nó có thể hỗ trợ rất nhiều giao thức định tuyến chẳng hạn như RIPv1,RIPv2,OSPF,BGP… ƒ Zebra là chương trình hoàn toàn miễn phí và rất thông dụng trên môi trường Linux ƒ Cấu hình và sử dụng rất đơn giản ( gần giống router thật ) 1.2. Tính năng Dynamic DNS : noip-duc-linux.tar 1.2.1. Giới thiệu ƒ www.no-ip.com là trang web cung cấp nhiều giải pháp về IP và tên miền. No-ip FREE là một trong số các dịch vụ được cung cấp miễn phí cho phép người dùng không có IP cố định được nhận biết trên môi trường Internet. ƒ Dùng tính năng Dynamic DNS Update Client được cung cấp bởi dịch vụ DDNS Server từ trang web : www.no-ip.com ƒ Từ trang web www.no-ip.com, tạo một Account để sử dụng dịch vụ. Sau đó cài gói Dynamic DNS Update Client lên máy tính 57 Xây dựng thử nghiệm PC Linux hoạt động như một ADSL Router Linux dùng làm Router ADSL, khai báo tài khoản cho chương trình và sử dụng. ƒ Gói Dynamic DNS Update Client được download tại địa chỉ : www.no-ip.com/download ƒ Qui trình xử lý Hình 4.1 Quá trình xử lý của dịch vụ DynDNS ƒ Server B sử dụng dịch vụ ADSL và có đăng kí dịch vụ Dynamic 58 Xây dựng thử nghiệm PC Linux hoạt động như một ADSL Router DNS tại www.no-ip.com với tên miền là www.routerlinux.no- ip.com ƒ Tại thời điểm 1, Server B được dịch vụ cấp phát địa chỉ động của ISP cấp cho địa chỉ 203.162.57.111 và được ánh xạ đến tên miền đã đăng kí. ƒ Tại thời điểm 2, Server B được cấp phát địa chỉ khác: 203.162.57.112 và được chương trình dynamic dns client thực hiện cập nhật tới Server của no-ip. Lúc này tên miền của Server B sẽ được ánh xạ tới địa chỉ mới ƒ Client A sẽ truy vấn tên miền của Server B và được trả lại địa chỉ IP của Server B, từ đó kết nối tới Server B. 1.3. FAIR NAT 1.3.1 Giới thiệu Đây là chương trình dành cho Linux Router.Nó cho phép thực hiện những việc tương tự như chia sẻ bandwidth ngang bằng giữa các client trong mạng nội bộ. 1.3.2 Kiến trúc Fair Nat HTB class (for bandwidth sharing) | \-- PRIO (for prioritizing interactive traffic) | \--- Interactive: SFQ (to treat concurrent connections fairly) 59 Xây dựng thử nghiệm PC Linux hoạt động như một ADSL Router \--- Normal: SFQ \--- High-Traffic: SFQ [ \--- P2P: SFQ (if IPP2P support is enabled only) ] Để có thể hiểu rõ về FAIR NAT ,chúng ta cần nắm một số khái niệm sau : 1.3.1.1. Sơ lược về các loại hàng đợi không phân lớp ƒ FIFO,First-In First-Out(pfifo và bfifo) :Thuật toán của FIFO thể hiện nến tảng cho loại hàng đợi mặc định trong Linux (pfifo_fast) .FIFO không thực thi bất cứ sự điều chỉnh hay tái sắp xếp packet nào cả.Nó chỉ đơn giản truyền các packet ngay sau khi nhận và định hàng đợi cho packet. 60 Xây dựng thử nghiệm PC Linux hoạt động như một ADSL Router Hình 4.2 Chiến lược FIFO Một quy tắc hàng đợi FIFO có một kích thước hữu hạn ( kích cỡ vùng đệm ) để ngăn ngừa sự quá tải trong trường hợp nó không thể giải phóng các packet ra khỏi hàng đợi nhanh như là nó nhận vào .Linux thực thi 2 lại fifo ,một hoạt động dựa trên byte ( bfifo )và một còn lại dựa trên packet ( pfifo ) .Dù vậy,các loại hàng đợi FIFO đều định nghĩa kích cỡ thông qua tham số limit .Trong đó,đơn vị của bfifo là byte còn đơn vị của pfifo là packet. Example 6. Specifying a limit for a packet or byte FIFO [root@leander]# cat bfifo.tcc /* * make a FIFO on eth0 with 10kbyte queue size * */ dev eth0 { egress { fifo (limit 10kB); } } [root@leander]#tcc < bfifo.tcc # ====================Device eth0 =============== tc qdisc add dev eth0 handle 1:0 root dsmark indices 1 default_index 0 tc qdisc add dev eth0 handle 2:0 parent 1:0 bfifo limit 10240 61 Xây dựng thử nghiệm PC Linux hoạt động như một ADSL Router [root@leander]# cat pfifo.tcc /* * make a FIFO on eth0 with 30 packet queue size * */ dev eth0 { egress { fifo (limit 30p ); } } [root@leander]# tcc < pfifo.tcc # =====================Device eth0 ================== tc qdisc add dev eth0 handle 1:0 root dsmark indices 1 default_index 0 tc qdisc add dev eth0 handle 2:0 parent 1:0 pfifo limit 30 ƒ Pfifo_fast ,quy tắc hàng đợi mặc định của LINUX 62 Xây dựng thử nghiệm PC Linux hoạt động như một ADSL Router Hình 4.3 Qui tắc hàng đợi Linux ƒ Pfifo_fast là quy tắc hàng đợi mặc định cho tất cả các interfaces trong Linux .Dựa trên một quy ước của hàng đợi FIFO,quy tắc hàng đợi này đề xuất một vài sự ưu tiên .Nó cung cấp một vài dải băng tần khác nhau ( các FIFO riêng biệt ) để chia lưu lượng .Vì thế ,band 1 thì luôn được làm rỗng để chờ packet trước khi band 2 được giải phóng khỏi hàng đợi ƒ Stochastic Fair Queuing (SFQ) 63 Xây dựng thử nghiệm PC Linux hoạt động như một ADSL Router Hình 4.4 Chiến lược Round Robin Example 7. Creating an SFQ [root@leander]# cat sfq.tcc /* * make an SFQ on eth0 with a 10 second perturbation * */ dev eth0 { egress { 64 Xây dựng thử nghiệm PC Linux hoạt động như một ADSL Router sfq( perturb 10s ); } } [root@leander]# tcc < sfq.tcc # ================== Device eth0 =================== tc qdisc add dev eth0 handle 1:0 root dsmark indices 1 default_index 0 tc qdisc add dev eth0 handle 2:0 parent 1:0 sfq perturb 10 ƒ Là 1 trong các thuật toán fair queue .SFQ không chính xác bằng các thuật toán khác .Nhưng nó có ưu điểm là cần ít sự tính toán trong khi vẫn hoạt động tốt ƒ Cốt lõi của SFQ là việc chia các luồng TCP session hoặc UDP stream ra thành một số lớn các hàng đợi FIFO ( như chúng ta thấy trong hình trên ) ,1 cho mỗi luồng .Sau đó ,traffic được lưu thông theo cơ cấu round robin,tạo cơ hội cho mỗi session gửi dữ liệu mỗi khi đến lượt ƒ Điều này rõ ien là rất công bằng ,đảm bảo rằng không có luồng nào bị ngắt .Nó hoàn toàn không phân phát cho mỗi session 1 hàng đợi nào cả .Thay vào đó, nó dùng 1 thuật toán để chia traffic vào trong một số các hàng đợi hữu hạn bằng cách sử dụng thuật toán băm ƒ Tham số và cách dùng 65 Xây dựng thử nghiệm PC Linux hoạt động như một ADSL Router 1.4. Perturb Thời gian để tái cấu hình hashing.Nếu thông số này không được thiết lập thì bảng băm sẽ không được tái cấu hình.10s là giá trị tốt nhất 1.5. Quantum Số lượng byte của một luồng (stream) được cho phép giải phóng khỏi hàng đợi trước khi đến lượt một hàng đợi khác.Mặc định là 1 ( bằng giá trị MTU ).Không được thiết lập nhỏ hơn MTU ƒ Ví dụ cấu hình # tc qdisc add dev ppp0 root sfq perturb 10 # tc −s −d qdisc ls qdisc sfq 800c: dev ppp0 quantum 1514b limit 128p flows 128/1024 perturb 10sec Sent 4812 bytes 62 pkts (dropped 0, overlimits 0) 800c: là một số handle được đăng kí tự động,limit 128 ở đây nghĩa là 128 packet có thể đợi trong hàng đợi này. ƒ TBF,Token Bucket Filter 66 Xây dựng thử nghiệm PC Linux hoạt động như một ADSL Router Hình 4.5 Hàng đợi Token Bucket Filter Đây là loại hàng đợi được xây dựng dựa trên các thẻ bài (token) và thùng chứa ( bucket ).Đơn giản, nó chỉ điều tiết lưu lượng được chuyển trong 1 interface.TBF là giải pháp rất tốt để giới hạn tốc độ các packet được đưa ra khỏi hàng đợi tại một interface cụ thể .Nó đơn giản là làm giảm lưu lượng chuyển tại một tốc độ xác định Packet chỉ được chuyển đi nếu có đủ các thẻ bài có giá trị.Bằng không,nó sẽ bị hoãn lại.Sự làm trể packet theo cách này sẽ phát sinh một độ trễ giả vào trong vòng di chuyển của packet 67 Xây dựng thử nghiệm PC Linux hoạt động như một ADSL Router Example 9. Creating a 256kbit/s TBF [root@leander]# cat tbf.tcc /* * make a 256kbit/s TBF on eth0 * */ dev eth0 { egress { tbf( rate 256 kbps, burst 20 kB, limit 20 kB, mtu 1514 B ); } } [root@leander]# tcc < tbf.tcc # ==================== Device eth0 ================= tc qdisc add dev eth0 handle 1:0 root dsmark indices 1 default_index 0 tc qdisc add dev eth0 handle 2:0 parent 1:0 tbf burst 20480 limit 20480 mtu 1514 rate 32000bps 1.5.1.1. Hàng đợi phân lớp ƒ Linux HTB( Hierrachical Token Bucket) Đây là một cấu trúc hàng đợi mới trong linux .Ưu điểm của nó là có thể hạn chế được lưu lượng của các loại traffic .Thêm vào đó,nó còn có khả năng thiết lập các loại dữ liệu lưu thông bên dưới các loại khác tạo nên một loại lưu thông có cấu trúc 68 Xây dựng thử nghiệm PC Linux hoạt động như một ADSL Router HTB sử dụng khái niệm về thẻ bài (token) và thùng chứa (bucket ) 1 phần cơ bản trong HTB qdisc ( classful queuing discipline – quy tắc hàng đợi phân lớp ) là kỹ thuật vay mượn .Vay mượn ở đây có nghĩa là lớp con sẽ mượn các thẻ bài từ lớp cha của chúng khi chúng có tốc độ vượt quá mức cho phép .Lớp con sẽ luôn cố gắng thử mượn các thẻ bài cho đến khi chúng đạt đến giới hạn tối đa .Lúc đó,nó sẽ bắt đầu tạo hàng đợi packet để chuyển đi cho đến khi nhiều thẻ bài có giá trị.Bởi vì ở đây chỉ có 2 lớp có thể được tạo với HTB .Bảng và sơ đồ sau sẽ xác định các trạng thái có thể có và cách hoạt động của kỹ thuật vay mượn Lớp Trạng thái lớp Trạng thái bên trong của HTB Hành động phát sinh Leaf < rate HTB_CAN_SEND Các lớp lá sẽ giải phóng các byte nằm trong hàng đợi đến các thẻ bài có giá trị ( không nhiều hơn burst packet) Leaf >rate <ceil HTB_MAY_BORROW Lớp lá sẽ cố gắng mượn tokens/ctokens từ lớp cha .Nếu tokens tồn tại ,chúng sẽ được mượn lúc quantum tăng lên và lớp lá sẽ giải hàng đợi tùy theo số byte cburst Leaf >ceil HTB_CANT_SEND Không có packet nào được đưa ra khỏi hàng 69 Xây dựng thử nghiệm PC Linux hoạt động như một ADSL Router đợi .Điều này sẽ làm packet bị trễ và làm tăng độ trễ để đạt được tốc độ mong muốn Inner, root < rate HTB_CAN_SEND Lớp inner sẽ mượn token cho lớp con Inner, Root >rate <ceil HTB_MAY_BORROW Lớp inner sẽ cố gắng mượn tokens/ctokens từ lớp cha Inner, Root >ceil HTB_CANT_SEND Lớp inner không mượn token từ lớp cha và cũng chẳng trả token/ctoken cho lớp con Bảng 4.1 Các thông số của lớp HTB Sơ đồ miêu tả quá trình mượn các thẻ bài và cách mà theo đó các thẻ bài được trao đổi với lớp cha .Để mô hình vay mượn hoạt động ,mỗi lớp phải có một số lượng cụ thể các thẻ bài được dùng cho bản thân nó và các lớp con của nó . Bất kì lớp con nào muốn vay mượn thẻ bài sẽ gửi yêu cầu đến lớp cha của nó 70 Xây dựng thử nghiệm PC Linux hoạt động như một ADSL Router Hình 4.6 Lớp HTB Các tham số trong lớp HTB ƒ Default : Là tham số tùy chọn cho mỗi đối tượng HTB qdisc ( qdisc là những quy tắc hàng đơi ví dụ : FIFO là loại hàng đợi có quy tắc vào trước ,ra trước ).Mặc định của default là 0 ƒ Rate : Dùng để thiết lập tốc độ tối thiểu để giới hạn lưu lượng trao đổi .Điều này tương đương với một tốc độ thông tin đã xác định ( CIR-committed information rate ) hoặc để đảm bảo băng thông cho một lớp lá (leaf) cho 71 Xây dựng thử nghiệm PC Linux hoạt động như một ADSL Router trước.(tốc độ sàn ?) ƒ Ceil : Được dùng để thiết lập tốc độ tối đa mà mình mong muốn để giới hạn lưu lượng trao đổi .Mô hình vay mượn sẽ mô tả làm thế nào để sử dụng tham số này.Có thể xem cái này giống với băng thông tối đa ( tốc độ trần ?) ƒ Burst : Đây là kích cỡ của thùng chứa rate.HTB sẽ giải phóng một số lượng burst bytes trước khi chờ nhiều thẻ bài hơn đến ƒ Cburst:Đây là kích cỡ của thùng chứa ceil . HTB sẽ giải phóng một số lượng cburst bytes trước khi chờ nhiều thẻ bài hơn đến ƒ Quantum: đây là tham số chính được dùng bởi HTB để điều khiển sự vay mượn .Thường thì, quantum được tính toán bởi HTB ,chứ không phải được chỉ định bởi người dùng.Sự chỉnh sửa tham số này có thể sẽ dẫn đến những hậu quả ghê gớm làm mất cân bằng giữa sự vay mượn và sự điều chỉnh ƒ R2q : được tính bởi user .Đây là một nhân tố giúp HTB xác định quantum tối ưu cho từng lớp cụ thể ƒ Mtu ( maximum transfer unit ) : ƒ PRIO ,priority scheduler Thật sự PRIO không có thay đổi gì cả .Nó chỉ chia traffic dựa vào cấu hình filter của bạn .Có thể xem đây như là một Pfifo_fast mở rộng mà ở 72 Xây dựng thử nghiệm PC Linux hoạt động như một ADSL Router đây ,mỗi band là một lợp riêng biệt chứ không chỉ đơn thuần là một FIFO Khi một packet được đưa vào trong hàng đợi PRIO,một lớp được chọn dựa vào câu lệnh filter mà bạn đã áp.Theo mặc định ,3 lớp được tạo ra.Lúc này ,chúng chỉ là những hàng đợi hoàn toàn FIFO và không có cấu trúc bên trong ,nhưng bạn có thể thay thế chúng bằng bất kì loại hàng đợi nào mà bạn có thể sử dụng được Khi một packet cần được giải phóng khỏi hàng đợi, class:1 được ưu tiên trước.Các lớp cao hơn chỉ dùng nếu các band thấp hơn hoàn toàn không giải phóng packet Loại hàng đợi này rất hữu dụng nếu như bạn muốn định mức độ ưu tiên cho từng loại traffic xác định mà không chỉ dùng cờ TOS mà dùng tất cả sức mạnh của tc filter. ƒ Tham số và ý nghĩa các tham số 1.6. Bands Số lượng các band được tạo ra .Mỗi band thật sự là một lớp 1.7. Priomap Nếu bạn không cung cấp tc filter (không cấu hình ) để phân loại traffic thì PRIO sẽ dựa vào TC_PRIO priority để xác định làm thế nào để đưa traffic vào hàng đợi ƒ Ví dụ 73 Xây dựng thử nghiệm PC Linux hoạt động như một ADSL Router Chúng ta tạo một cây root 1: prio / | \ 1:1 1:2 1:3 10: 20: 30: sfq tbf sfq band 0 1 2 Phần lớn traffic sẽ đi đến 30: , các traffic tương tác đến 20: hoặc 10: Các câu lệnh dùng để cấu hình # tc qdisc add dev eth0 root handle 1: prio # This *instantly* creates classes 1:1, 1:2, 1:3 # tc qdisc add dev eth0 parent 1:1 handle 10: sfq # tc qdisc add dev eth0 parent 1:2 handle 20: tbf rate 20kbit buffer 1600 limit 3000 # tc qdisc add dev eth0 parent 1:3 handle 30: sfq Bây giờ ,kiểm tra xem các cấu hình của chúng ta vừa thiết lập ở trên bằng câu lệnh # tc −s qdisc ls dev eth0 Và dưới đây là kết quả qdisc sfq 30: quantum 1514b Sent 0 bytes 0 pkts (dropped 0, overlimits 0) qdisc tbf 20: rate 20Kbit burst 1599b lat 667.6ms Sent 0 bytes 0 pkts (dropped 0, overlimits 0) 74 Xây dựng thử nghiệm PC Linux hoạt động như một ADSL Router qdisc sfq 10: quantum 1514b Sent 132 bytes 2 pkts (dropped 0, overlimits 0) qdisc prio 1: bands 3 priomap 1 2 2 2 1 2 0 0 1 1 1 1 1 1 1 1 Sent 174 bytes 3 pkts (dropped 0, overlimits 0) Như chúng ta thấy ,band 0 có vài traffic và một packet đã được gửi Bây giờ chúng ta thực thi một số lượng lớn dữ liệu chuyển đi với 1 công cụ thiết lập đúng các cờ TOS # scp tc ahu@10.0.0.11:./ ahu@10.0.0.11's p’ssword: tc 100% |*****************************| 353 KB 00:00 # tc −s qdisc ls dev eth0 qdisc sfq 30: quantum 1514b Sent 384228 bytes 274 pkts (dropped 0, overlimits 0) qdisc tbf 20: rate 20Kbit burst 1599b lat 667.6ms Sent 2640 bytes 20 pkts (dropped 0, overlimits 0) qdisc sfq 10: quantum 1514b Sent 2230 bytes 31 pkts (dropped 0, overlimits 0) qdisc prio 1: bands 3 priomap 1 2 2 2 1 2 0 0 1 1 1 1 1 1 1 1 Sent 389140 bytes 326 pkts (dropped 0, overlimits 0) Như vậy ,tất cả các traffic đều đi đến handle 30:,cái có độ ưu tiên thấp nhất 75 Xây dựng thử nghiệm PC Linux hoạt động như một ADSL Router trong các band,đúng như dự định.Bây giờ ,để xác định các interactive traffic đi đến các band cao hơn, chúng ta tạo ra môt vài interactive traffic # tc −s qdisc ls dev eth0 qdisc sfq 30: quantum 1514b Sent 384228 bytes 274 pkts (dropped 0, overlimits 0) qdisc tbf 20: rate 20Kbit burst 1599b lat 667.6ms Sent 2640 bytes 20 pkts (dropped 0, overlimits 0) qdisc sfq 10: quantum 1514b Sent 14926 bytes 193 pkts (dropped 0, overlimits 0) qdisc prio 1: bands 3 priomap 1 2 2 2 1 2 0 0 1 1 1 1 1 1 1 1 Sent 401836 bytes 488 pkts (dropped 0, overlimits 0) 76 Xây dựng thử nghiệm PC Linux hoạt động như một ADSL Router Chương 5 THỰC HIỆN CÀI ĐẶT 1. Cài đặt ,cấu hình Linux PC thành Router ADSL 1.1. Mô hình ` PC Linux / ADSL Router ISP User 1 User 2 Local Area Network Hình 5.1 Linux Router Network Diagram 1.2. Yêu cầu Để cài đặt và cấu hình cho Linux PC hoạt động như 1 ADSL router ,cần phải có các thiết bị và phần mềm thiết yếu sau : 77 Xây dựng thử nghiệm PC Linux hoạt động như một ADSL Router 1.2.1. Phần cứng : ƒ 1 Modem ADSL (Ở đây chúng tôi dùng Modem PCI Conexant ADSL) ƒ Tối thiểu 1 Card mạng ƒ Khi gắn modem xong ,kiểm tra lại xem thiết bị có được nhận thấy hay chưa bằng lệnh /sbin/lspci Kết quả nếu bạn chưa cài đặt driver 00:0b.0 System peripheral: Unknown device 14f1:1610 (rev 01) 00:0b.1 ATM network controller: Unknown device 14f1:1611 (rev 01) Và nếu phiên bản linux của bạn có hỗ trợ phần cứng đó hoặc bạn đã cài đặt driver ,kết quả có thể tương tự như sau : 00:0b.0 System peripheral: Unknown device 14f1:1610 (rev 01) 00:0b.1 ATM network controller: Unknown device 14f1:1611 (rev 01) 1.2.2. Phần mềm : ƒ Driver cho modem ( đối với conexant là gói CnxADSL- 6.1.2.007-PIM-4 ) ƒ Gói phần mềm hỗ trợ chuẩn ATM sử dụng trong công nghệ ADSL trên Linux : linux-atm-2.4.0 78 Xây dựng thử nghiệm PC Linux hoạt động như một ADSL Router ƒ Bản bổ sung ( bản patch ) của giao thức PPP : ppp-2.4.0b2- patched ƒ Iptables để có thể thực hiện công việc NAT cho các máy bên trong mạng LAN có thể ra ngoài internet ƒ Chương trình Routing Daemon : Zebra 1.3. Thực hiện cài đặt 1.3.1. 1.3.2. Cài đặt linux-atm-2.4.0 Để cài đặt driver ,bạn cần phải cài đặt thư viện ATM trước ,bạn có thể kiểm tra xem bộ thư viện này đã có chưa bằng cách tìm file /usr/include/atm.h Nếu đã có rồi thì tốt hơn hết là bạn nên sử dụng thư viện atm tại website Cài đặt như các thư viện thông thường trên linux bzip2 -d linux-atm-2.4.0.tar.bz2 tar xvf linux-atm-2.4.0.tar cd linux-atm-2.4.0 ./configure --pr–ix=/usr make make install Cài đặt driver bzip2 -d C–xADSL-6.1.2.007-PIM-4.tar.bz2 tar xvf CnxADSL-6.1.2.007-PIM-4.tar 79 Xây dựng thử nghiệm PC Linux hoạt động như một ADSL Router cd CnxADSL-6.1.2.007-PIM-4 make make install 1.3.3. 1.4.1. Cài đặt bản patch của giao thức PPP bzip2 -d p–p-2.4.0b2-patched.tar.bz2 tar xf ppp-2.4.0b2-patched.tar cd ppp-2.4.0b2-patched ./configure --pr–ix=/usr make make install Sau khi cài đặt xong bản patch của giao thức ppp thì sẽ có module pppoatm.o xuất hiện. Để đảm bảo module này được load lên để sử dụng bạn cần phải dùng câu lệnh : /sbin/insmod pppoatm Hoặc modprobe pppoatm ( nếu dùng kernel 2.2) 1.4. Cấu hình Cấu hình PPP để kết nối đến ADSL Provider Chỉnh sửa file cấu hình /etc/ppp/options # Uncomment the following line if you have routed ADSL #[IP address of router]: # Uncomment the following line for debug information #debug 80 Xây dựng thử nghiệm PC Linux hoạt động như một ADSL Router passive defaultroute usepeerdns noauth name [Your user name] user [Your user name] plugin /usr/lib/pppd/plugins/pppoatm.so # The following line is the [VCI].[VPI] number of your provider 8.35 password “” 1.4.1.1. Cấu hình line ADSL ( với VPI=8 và VCI=35) Dùng câu lệnh : cnxadslconfig --vp–8 --vc–35 -q0 –w0 –m0 –p10–000 -c -–0 –e0 –-aenable -u10– -flog.txt -s10–00 1.4.1.2. Xem cấu hình của Line ADSL cnxadslconfig -q0 1.4.1.3. Các tác vụ cơ bản của driver ADSL Conexant Kiểm tra tình trạng của modem ADSL ( đã kết nối chưa-physical link connected ) cnxadslctl status Ngừng hoạt động của driver cnxadslctl stop Khởi động driver 81 Xây dựng thử nghiệm PC Linux hoạt động như một ADSL Router cnxadslctl start 2. Dynamic DNS 2.1. Đăng kí dịch vụ Dynamic DNS tại trang web www.no-ip.com 2.2. Cài đặt gói Dynamic DNS Client Đăng kí làm thành viên của trang web dynamic DNS ( ở đây là trang no-ip.com ). Gõ /usr/local/bin/noip2 để sử dụng dịch vụ Dynamic DNS Client. [root@localhost binaries]# ./noip2-Linux -h –USAGE: no ip2-Linux [ -C [ -F][ -Y][ -U #min] [ -u username][ -p password][ -x progname]] [ -c file][ -d][ -D pid][ -i addr][ -S][ -M][ -h] Version Linux-2.1.1 Options: -C create configuration data -F force NAT off -Y select all hosts/groups -U minutes set update interval -u username use supplied username -p password use supplied password -x executable use supplied executable -c config_file use alternate data path 82 Xây dựng thử nghiệm PC Linux hoạt động như một ADSL Router -d increase debug verbosity -i IPaddress use supplied address -I interface use supplied interface -S show configuration data -M permit multiple instances -K sed terminate instance PID -h help (this text) Noip2 sẽ lưu địa chỉ IP address cuối cùng mà nó đăng ký tại no-ip.com khi nó ngừng.Khi khởi động trở lại nó sẽ kiểm tra sư thiết lập này để tái sử dụng 3. FAIR NAT 3.1. Yêu cầu Để sử dụng script này ,bạn cần phải có iptables, tc và kernel hỗ trợ QoS và phải hỗ trợ HTB nữa .Bạn cũng có thể cần phải có các bản patch như : TTL patch ,giúp bạn thay đổi giá trị TTL của các packet.PSCHED_CPU thay cho PSCHED_JIFFIES cho hoạt động schedule,chỉ cần thay nó trong pkt_sched.h. 3.2. Các tham số và Cấu hình Chương trình này không có file cấu hình.Nó có một số cấu hình mặc định sẽ được load lên khi bạn chạy chương trình.Bạn có thể thay đổi cấu hình đó trong khi chạy.Sau đây là các tham số bạn cần biết để cấu hình chương trình này : 83 Xây dựng thử nghiệm PC Linux hoạt động như một ADSL Router LAN DEV_LAN : Thiết bị mạng cục bộ mà các client của bạn kết nối vào .Vd eth0,eth1 RATE_LAN Tốc độ của mạng LAN tính theo kbit/s.Tốc độ này thì lớn hơn tốc độ kết nối internet.Nên nhớ là phải dùng giá trị thật sự chứ không được sử dụng giá trị như 10/100 Mbps trên mạng 10/100Mbps .Bởi vì thường thì bạn không đạt được tốc độ tối ưu như vậy do overhead ,do đụng độ và tắc nghẽn INTERNET DEV_NET Thiết bị mạng của kết nối internet .Ở đây là ppp0 RATE_UP Tốc độ upload của kết nối internet tính bằng kbit/s. RATE_DOWN Tốc độ download của kết nối internet .Giống như RATE_UP RATE_SUB_PERCENT Nếu modem của bạn hoặc của ISP có các hàng đợi ,bạn nên làm RATE_LOCAL_PERCENT Băng thông của đường internet mà bạn nên đạt tới là bao nhiêu ?.Thường thì,các thiết bị yêu cầu một số băng thông cho các DNS request(nếu nó hoạt động như một DNS cacher),cho các truy cập SSH từ ngoài vào trong và 84 Xây dựng thử nghiệm PC Linux hoạt động như một ADSL Router ngược lại.Theo mặc định ,5% của bandwidth được dùng cho các trường hợp này . CLIENTS USERS Xác định user nào cần NAT ( những người cần dùng PC này như một gateway để ra ngoài internet ).Các user được xác định dựa trên địa chỉ IP và phải trên cùng một subnet với thiệt bị mạng LAN của bạn ( ở đây là cổng Ethernet ví dụ eth0 ).Do đó chỉ cần số cuối cùng trong dãy địa chỉ IP là được .Ví dụ địa chỉ IP của gateway là 192.168.1.1 và user là 192.168.1.186 thì chỉ cần đưa vào giá trị 186 khi cấu hình.Chương trình này cũng cho phép nhóm các IP (cho User có nhiều hơn một máy trong mạng ) bằng cách dùng “:” .VD “3 4 7:9:12 42 128” là đại diện của 5 người dùng .Trong đó có một người có 3 máy với các địa chỉ IP lần lượt là User1 :192.168.1.3 User2 :192.168.1.4 User3 :192.168.1.7,192.168.1.9,192.168.1.12 User4 :192.168.1.42 User5:192.168.1.128 Trong Fair NAT 0.79,bạn có thể chỉ định tốc độ trần download/upload của mỗi User.VD: 17@300 giới hạn địa chỉ IP 192.168.1.17 chỉ được download tối đa 300kbit/s. 17@300|50 giới hạn thêm tốc độ upload là 50 Kbit/s. 17@ | 50 chỉ giới hạn tốc đô upload. PORTS 85 Xây dựng thử nghiệm PC Linux hoạt động như một ADSL Router Chỉ định port nào sẽ được NAT với User nào ( DNAT ) .Cú pháp là : user port user port … Ở đây, user là số cuối cùng của địa chỉ IP tương ứng với user đó,còn port thì có thể là giá trị port (vd 3000 ) hoặc là một khoảng giá trị ( vd 3000:4000) Vd : “ 3 5000 9 6000:6100 9 6300:6400 42 7000” Từ ví dụ trên ,ta thấy là đối với cùng một địa chỉ IP thì có thể chỉ định nhiêu khoảng giá trị port khác nhau. Câu lệnh trên cũng cho thấy port 5000 sẽ được forward cùng với địa chỉ IP là 3(192.168.1.3:5000) và tương tự như vậy cho các địa chỉ IP kia. Nếu không muốn forward port cùng với địa chỉ IP ,bạn chỉ cần cho PORTS=”” CLASS_MODE Hãy sử dụng giá trị mặc định cho tham số này . BORROW Tham số này cho phép một User mượn bandwidth từ một User khác khi người đó không có nhu cầu sử dụng vào thời điểm đó.Theo cách này ,chúng ta có thể sử dụng bandwidth một cách tối ưu.Nếu không muốn thực hiện điều này ,bạn chỉ cần set giá trị cho biến BORROW này là 0.Như vậy ,mỗi User chỉ có thể sử dụng bandwidth đã được cấp cho riêng họ ,bất kể là đường line đang rất trống. USER_CEIL_UP Với biến này,bạn có thể thiết lập giá trị nhỏ hơn tốc độ upload tối đa cho toàn bộ User.Giá trị mặc định là $RATE_UP.Rất hữu dụng nếu bạn không muốn 86 Xây dựng thử nghiệm PC Linux hoạt động như một ADSL Router một User nào có nhiều hơn 300 Kbit/s trên một đường line có tốc đô 500 Kbit/s USER_CEIL_DOWN Tương tự như User_CEIL_UP .Nhưng ảnh hưởng đối với tốc độ download BINARIES BIN_TC Cần phải có file tc với HTB để thực thi chương trình này.Theo mặc định ,chương trình này sẽ tìm file tc-htb hoặc tc BIN_IPT Iptables BIN_IFC Ifconfig BIN_GREP Grep BIN_SED Sed BIN_ECHO Echo BIN_MODPROBE Modprobe 87 Xây dựng thử nghiệm PC Linux hoạt động như một ADSL Router 3.2.1. 3.2.2. Các tham số dòng lệnh help version Hiển thị phiên bản của chương trình này stop Xác lập lại Iptables và Traffic Shaping thành rỗng info Hiển thị thông tin cấu hình của bạn File cấu hình của chương trình.Tuy nhiên ,sử dụng rất phiền phức Chạy Script Để chạy script này ,bạn chỉ cần chuyển đến thư mục hiện hành và chạy như một shell bình thường VD root#./fairnat.sh 88 Xây dựng thử nghiệm PC Linux hoạt động như một ADSL Router Chương 6 THỬ NGHIỆM, ĐÁNH GIÁ và HƯỚNG PHÁT TRIỂN 1. Thử nghiệm chức năng Linux PC làm router ADSL 1.1. Kết nối vào internet và cho phép máy trong mạng LAN có thể ra ngoài 1.1.1. Kết nối, Nat và Routing cho các máy bên trong ra ngoài internet 89 Xây dựng thử nghiệm PC Linux hoạt động như một ADSL Router Hình 6.1 Telnet vào Zebra thông qua port 2601 để cấu hình Routing 90 Xây dựng thử nghiệm PC Linux hoạt động như một ADSL Router Hình 6.2 Màn hình khi dùng câu lệnh show running-config trong Zebra 91 Xây dựng thử nghiệm PC Linux hoạt động như một ADSL Router Hình 6.3 Kết nối đã thiết lập 92 Xây dựng thử nghiệm PC Linux hoạt động như một ADSL Router Hình 6.4 Cấu hình NAT 93 Xây dựng thử nghiệm PC Linux hoạt động như một ADSL Router Hình 6.5 Client có thể truy cập internet 1.1.2. So sánh giữa Linux PC và Router ADSL thật ƒ Cách thử nghiệm : Sử dụng Router thật để kết nối ra internet và sau đó upload 1 file (>5 MB) .Ghi nhận packet gửi ra và thời gian thực hiện Thực hiện tương tự với PC Linux làm Router Kết quả 94 Xây dựng thử nghiệm PC Linux hoạt động như một ADSL Router Router thật Linux PC Packet Thời gian Thời gian packet Lần 1 5827 4 : 35 5856 4:55 Lần 2 5797 4 : 49 5736 5:16 Lần 3 5771 4 : 37 5806 5:40 Trung bình 5798.33 4 : 4 5799.33 5 : 03 Bảng 6.1 So sánh kết quả thử nghiệm giữa Router thật và Linux PC 1.2.Chức năng filter Chúng ta sử dụng các câu lệnh sau đây để thiết lập filter sao cho các packet có source address là 192.168.1.2 sẽ không ra ngoài internet được nữa Iptables –A INPUT –s 192.168.1.2 –j DROP Chúng ta dùng lệnh iptables –L để kiểm tra lại cấu hình vừa thiết lập. Màn hình sẽ hiện ra giống như hình 95 Xây dựng thử nghiệm PC Linux hoạt động như một ADSL Router Hình 6.6 Cấu hình Filter 96 Xây dựng thử nghiệm PC Linux

Các file đính kèm theo tài liệu này:

  • pdfUnlock-0112457-0112466.pdf