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
1
Đỗ Hải Vương
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
3.15.1. RIP 3.15.2. IGRP 3.18.1. OSPF
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 ..................................................................................................41 ..................................................................................................42 ..................................................................................................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 IP Masquerade.......................................................................................51 2.2.3. IP Accounting........................................................................................52 2.2.4. 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
...............................................................................................................89
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 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 đề :
(cid:131) 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
(cid:131) 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.
(cid:131) 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.
6
(cid:131) Mô hình Hiện Trạng sử dụng ADSL
Xây dựng thử nghiệm PC Linux hoạt động như một ADSL Router
(cid:131) 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ế.
(cid:131) 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í.
(cid:131) 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
(cid:131) 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 .
7
(cid:131) Xây dựng mô hình và ứng dụng các gói phần mềm để giúp Linux
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
(cid:131) 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.
(cid:131) 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ì :
(cid:131) 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
(cid:131) Chi phí thấp
(cid:131) Ổ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
(cid:131) 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 đề
8
(cid:131) Việc một tổ chức,một công ty hay một cá nhân có một website
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
(cid:131) 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 ?
(cid:131) 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ợ.
(cid:131) Ví dụ : sử dụng giải pháp VPN cho các doanh nghiệp có nhiều
9
văn phòng chi nhánh
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 đề
(cid:131) 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
10
dịch vụ của chúng ta chạy ổn định như khi dùng IP tĩnh
Xây dựng thử nghiệm PC Linux hoạt động như một ADSL Router
(cid:131) 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 (cid:31)ien(cid:31)ss đổ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
(cid:131) Hiện nay có một số nhà cung cấp các dịch vụ Dynamic DNS:
http://www.dyndns.org , http://www.no-ip.com,
http://dyndns.vnnic.net.vn 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.
(cid:131) 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
11
qua cao nhưng mọi người vẫn có thể làm việc bình thường chứ không
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ư
12
nhau khi NAT ra bên ngoài
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. Đường truyền điện thoại analog
(cid:131) 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ố.
(cid:131) 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.
(cid:131) 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.
1.1.2. Leased Line
(cid:131) 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 (cid:31)ien tục, được các
13
công ty viễn thông cho thuê, nên có tên là Leased Line.
Xây dựng thử nghiệm PC Linux hoạt động như một ADSL Router
(cid:131) 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.
Đườ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
Thông số kỹ thuật của các đường truyền Tx và Ex:
Bảng 2.1 Thông số kỹ thuật của đường truyền Tx và Ex
(cid:131) 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.
(cid:131) 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
(cid:131) 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
(cid:131) 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
14
information) theo cách gần giống với mạng cục bộ (LAN).
Xây dựng thử nghiệm PC Linux hoạt động như một ADSL Router
(cid:131) 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 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
đường truyền) được truyền (route) qua các khoảng cách lớn.
Bảng 2.2 Bảng so sánh các đường truyền
(cid:131) 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).
(cid:131) 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.
(cid:131) 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
(cid:131) 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ỏ (cid:31)ien kết giữa bất kỳ hai ISDN
adapter nào.
15
(cid:131) ISDN có thể dùng cho kết nối tốc độ cao trong sử dụng Internet
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.
(cid:131) 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)
(cid:131) 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.
(cid:131) 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.
(cid:131) 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
16
(cid:131) Primary rate hoạt động với hai mươi ba B channel 64 Kbps và
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.
(cid:131) Đô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. ATM
(cid:131) 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).
(cid:131) Í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.
(cid:131) Chi phí để xây dựng hệ thống ATM khá cao.
1.1.6. ADSL
17
(cid:131) ADSL (Analog Digital Subscriber Line) một biến thể của đường
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.
(cid:131) 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 (cid:31)ien kết tốc độ cao và chi phí
thấp cho người dùng Internet.
(cid:131) 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:
(cid:131) 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ỏ.
(cid:131) Đố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.
(cid:131) 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
18
2Mbps), chi phí thấp.
Xây dựng thử nghiệm PC Linux hoạt động như một ADSL Router
1.3. Công nghệ ADSL
(cid:131) Hiểu một cách đơn giản nhất, ADSL là sự thay thế với tốc độ cao
1.3.1. Khái niệm ADSL
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
Hình 2.1 Biểu đồ so sánh tốc độ các công nghệ mạng
(cid:131) ADSL viết tắt của Asymmetric Digital Subscriber Line – đó là
có thể đạt được giữa các dịch vụ cung cấp.
đườ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
Hình 2.2 Mô hình ADSL
vụ.
(cid:131) Asymmetric: Tốc độ truyền không giống nhau ở hai chiều. Tốc
19
độ của chiều xuống (từ mạng tới thuê bao) có thể nhanh gấp hơn
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
(cid:131) Digital: Các Modem ADSL hoạt động ở mức bít (0 & 1) và dùng
lớn dữ liệu tải về từ Internet.
để 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
(cid:131) Subscriber Line: ADSL tự nó chỉ hoạt động trên đường dây
Modem thông thường.
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.
1.3.2.
Ứng dụng của ADSL
(cid:131) 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
Hình 2.3 ADSL – Local loop
dây này là local loop.
20
(cid:131) Thực chất của ứng dụng ADSL không phải ở việc truyền dữ liệu
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.
(cid:131) 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
(cid:131) Hiện nay, phần lớn người ta ứng dụng ADSL cho truy nhập
ADSL.
Internet tốc độ cao và sử dụng các dịch vụ trên Internet một cách
nhanh hơn.
(cid:131) ADSL tìm cách khai thác phần băng thông tương tự còn chưa
1.3.3. Cơ chế hoạt động
đượ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ử
Hình 2.4 Dải phổ ADSL sử dụng
dụng.
Thoại cơ bản sử dụng dải tần số từ 300Hz tới 3,400Hz.
21
(cid:131) Bây giờ chúng ta sẽ xem xét, thoại và dữ liệu ADSL chia xẻ
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.
(cid:131) 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.
1.8.1. Ưu điểm của ADSL
(cid:131) PSTN và ISDN là các công nghệ quay số (Dial-up).
(cid:131) ADSL là ‘liên tục/always-on” kết nối trực tiếp.
(cid:131) PSTN và ISDN cho phép chúng ta sử dụng Fax, dữ liệu, thoại,
ADSL: So sánh với PSTN & ISDN
(cid:131) ADSL chỉ chuyển tải dữ liệu tới Internet.
(cid:131) PSTN và ISDN cho phép chúng ta tuỳ chọn ISP nào mà ta muốn
dữ liệu tới Internet, dữ liệu tới các thiết bị khác.
22
kết nối.
Xây dựng thử nghiệm PC Linux hoạt động như một ADSL Router
(cid:131) ADSL kết nối chúng ta tới một ISP định trước.
(cid:131) ISDN chạy ở tốc độ cơ sở 64kbps hoặc 128kbps.
(cid:131) ADSL có thể tải dữ liệu về với tốc độ tới 8Mbps.
(cid:131) PSTN ngắt truy nhập tới Internet khi chúng ta thực hiện cuộc
(cid:131) ADSL cho phép vừa sử dụng Internet trong khi vẫn có thể thực
gọi.
(cid:131) Kết nối Internet qua đường PSTN và ISDN bằng phương thức
hiện cuộc gọi đồng thời.
(cid:131) ADSL không tính cước nội hạt.
quay số có tính cước nội hạt.
(cid:131) Mặc dù Modem ADSL luôn ở chế độ kết nối thường trực, nhưng
Ghi chú:
(cid:131) Các dịch vụ như Fax và thoại có thể được thực hiện cũng trên kết
vẫn có thể cần phải thực hiện lệnh kết nối Internet trên máy PC.
(cid:131) Trên thực tế, tốc độ Download tiêu biểu đối với dịch vụ ADSL
nối dữ liệu ADSL tới Internet.
(cid:131) Dùng bao nhiêu, trả bấy nhiêu. Cấu trúc cước theo lưu lượng sử
gia đình thường đạt tới (up to) 400kbps
(cid:131) Không hạn chế số người sử dụng khi chia sẻ kết nối Internet
dụng (Hoặc theo thời gian sử dụng).
23
trong mạng nội bộ.
Xây dựng thử nghiệm PC Linux hoạt động như một ADSL Router
1.8.2. Các thành phần của ADSL
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
(cid:131) 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.
(cid:131) 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
(cid:131) ADSL hoạt động bằng cách vận hành cùng lúc nhiều Modem,
24
trong đó mỗi Modem sử dụng phần băng thông riêng có thể.
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
(cid:131) 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.
(cid:131) 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 (cid:31)ien đơn.
(cid:131) 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
(cid:131) ‘Local loop’ là thuật ngữ dùng để chỉ các đường dây điện thoại
(cid:131) Nguyên nhân xuất hiện thuật ngữ local loop – đó là người nghe
bình thường nối từ vị trí người sử dụng tới công ty điện thoại.
(điện thoại) được kết nối vào hai đường dây mà nếu nhìn từ tổng
25
đài điện thoại thì chúng tạo ra một mạch vòng local loop.
Xây dựng thử nghiệm PC Linux hoạt động như một ADSL Router
(cid:131) Bây giờ chúng ta sẽ tìm hiểu xem các ISP thực hiện cung cấp
1.8.3. Các thành phần ADSL từ phía nhà cung cấp dịch vụ
Hình 2.7 Mô hình đầu cuối ADSL
(cid:131) Như chỉ ra trong khối vàng ở trên, phạm vi Nhà cung cấp dịch vụ
ADSL như thế nào.
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
(cid:131) 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ứ
26
đâu.
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
(cid:131) 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.
Hình 2.9 Thiết bị BAS
BAS
(cid:131) 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.
(cid:131) 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.
(cid:131) 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à
27
Modem sử dụng bắt buộc phải giống như BAS sử dụng để cho
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.
(cid:131) 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.
1.13.1. Kết nối mạng
(cid:131) Dưới đây sẽ trình bày về những giao thức truyền thông được sử
1.13.1.1. Cơ chế kết nối
(cid:131) Khi kết nối vào Internet, bạn sử dụng các giao thức chạy ở tầng
dụng trên kết nối ADSL.
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
(cid:131) 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.
(cid:131) 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
28
nhất. Kết nối điển hình như dưới đây :
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
(cid:131) 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.
(cid:131) 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.
29
1.15. VCI – the Virtual Channel Identifier
Xây dựng thử nghiệm PC Linux hoạt động như một ADSL Router
1.15.1. Vai trò của PPP
(cid:131) 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.
(cid:131) 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.
1.15.2. Modem ADSL trên thực tế
1.15.2.1. Các loại modem ADSL thông minh và thụ động
(cid:131) 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.
(cid:131) 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.
(cid:131) Chỉ có Windows 98SE, Windows ME và Windows 2000/XP là
30
có cài sẵn cơ chế thực thi ATM, vì thế người ta ít sử dụng các
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.
(cid:131) 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.
1.15.3. Mối tương quan giữa thoại và ADSL.
1.15.3.1. Thoại và ADSL
(cid:131) 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 đó.
(cid:131) 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
(cid:131) Tại phía thuê bao, các tần số thấp được chuyển đến máy điện
dây – phía thuê bao và phía DSLAM.
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
(cid:131) Tốc độ của kết nối giữa modem ADSL và DSLAM phụ thuộc
31
vào khoảng cách đường truyền và tốc độ tối đa được cấu hình
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.
(cid:131) 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
(cid:131) 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…
32
(cid:131) Modem ADSL thuần túy kết nối bằng USB có sản phẩm của
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. Giới thiệu Router
(cid:131) 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
(cid:131) Router hoạt động ở tầng 3 trong mô hình OSI
2.1.2. Cơ chế hoạt động
(cid:131) 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 đó
(cid:131) 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
(cid:131) 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…
(cid:131) Các tính năng phổ biến: IP routing, Static routing, DNS Proxy,
33
Port Forwarding, DHCP server/client, NAT, NAPT.
Xây dựng thử nghiệm PC Linux hoạt động như một ADSL Router
(cid:131) 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…
(cid:131) 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
(cid:131) 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
(cid:131) Router là thiết bị đảm nhận việc routing trong môi trường (cid:31)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
34
3.5. Con đường tốt nhất đi đến mỗi mạng ở xa .Nghĩa
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
(cid:131) 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
35
Những giao thức hỗ trợ cho tầng mạng được gọi là các giao thức routed
Xây dựng thử nghiệm PC Linux hoạt động như một ADSL Router
hay routable
(cid:131) Routed protocol
3.10.1. 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 3.10.2.
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 … 3.10.3.
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
(cid:131) Routing protocol :
(cid:131) Hỗ trợ 1 routed protocol bằng cách cung cấp các
phương tiện để chia sẻ thông tin routing
(cid:131) Cho phép các router trao đổi với các router khác để
duy trì các bảng routing table
(cid:131) VD OSPF, RIP, IGRP, EIGRP ….
3.11. Sự xác định đường đi
(cid:131) Router sử dụng bảng routing table và các địa chỉ mạng để truyền
36
dữ liệu thông qua mạng .Có 2 tác vụ cơ bản :
Xây dựng thử nghiệm PC Linux hoạt động như một ADSL Router
(cid:131) Xác định các đường đi tối ưu
(cid:131) Chuyển các gói packet qua môi trường (cid:31)ien mạng
(cid:131) Quá trình xác định đường đi :
(cid:131) Ước lượng ( đánh giá ) các con đường trên mạng
(cid:131) 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
(cid:131) 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
(cid:131) Các thông tin định tuyến thay đổi tùy thuộc vào giao thức định
tuyến.
(cid:131) Thông tin trong bảng routing table
(cid:131) Destination/next-hop associations :
(cid:131) 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.
(cid:131) Routing update Message
37
(cid:131) Router sẽ trao đổi với các router khác và duy trì các
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.
(cid:131) 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.
(cid:131) 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
(cid:131) 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 .
(cid:131) 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
(cid:131) 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
38
thi …
Xây dựng thử nghiệm PC Linux hoạt động như một ADSL Router
(cid:131) 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
(cid:131) 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à :
(cid:131) 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 )
(cid:131) 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ý
(cid:131) 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
(cid:131) Reliability ( độ tin cậy ) : dùng để chỉ mức độ lỗi trong mỗi liên
kết mạng
(cid:131) Hop count : Số router mà packet phải đi qua trước khi đến đích
(cid:131) Cost : Có giá trị bất kí, thường dựa trên băng thông, tiền, hoặc
39
các thước đo giá trị khác-những thước đo được chỉ định bởi
Xây dựng thử nghiệm PC Linux hoạt động như một ADSL Router
người quản trị mạng
(cid:131) 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. Distance-vector
(cid:131) Dựa vào chiều và khoảng cách (hop count) đối với tất cả các
(cid:31)ien kết trên mạng .
(cid:131) 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”
(cid:131) Các loại Distance-vector như : RIP ,IGRP
(cid:131) 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
(cid:131) IGRP được phát triển bởi Cisco và được dùng cho các mạng lớn
3.14.2. 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
40
trigger update .Nó cũng gửi các update theo chu kỳ xác định .Tuy nhiên
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. 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 3.15.1.
(cid:131) 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 (cid:31)ien mạng
(cid:131) Dùng hop count làm metric để lựa chọn đường đi .Hop count
càng nhỏ càng tốt
(cid:131) Mặc định cứ 30s lại gửi các routing update
(cid:131) 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 đó
(cid:131) 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
(cid:131) RIPv1 là 1 giao thức định tuyến classfull
41
(cid:131) RIPv2 hỗ trợ classless routing
Xây dựng thử nghiệm PC Linux hoạt động như một ADSL Router
3.15.2. IGRP
(cid:131) 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
(cid:131) 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
(cid:131) 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
42
lai
Xây dựng thử nghiệm PC Linux hoạt động như một ADSL Router
3.18.1. OSPF
(cid:131) 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õ (cid:31)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ì :
(cid:131) Giao thức RIP đơn giản vể nguyên tắc hoạt động
43
(cid:131) Dễ cài đặt
Xây dựng thử nghiệm PC Linux hoạt động như một ADSL Router
(cid:131) 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
(cid:131) 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)
(cid:131) 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
(cid:131) Đị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
44
sẽ được cấp một địa chỉ khác trong lần kết nối mới .
Xây dựng thử nghiệm PC Linux hoạt động như một ADSL Router
4.3. DNS
(cid:131) Mọi máy tính, thiết bị mạng (host) trên mạng Internet (cid:31)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 đó.
(cid:131) 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 (cid:31)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ớ.
(cid:131) 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
(cid:131) 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).
(cid:131) 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.
(cid:131) Chương trình này giám sát sự thay đổi địa chỉ IP tại host và (cid:31)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
45
thông tin vào cơ sở dữ liệu DNS về sự thay đổi địa chỉ đó.
Xây dựng thử nghiệm PC Linux hoạt động như một ADSL Router
(cid:131) 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. Tại sao lại dùng NAT
NAT được sử dụng vì :
(cid:131) 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
(cid:131) Để kết hợp 2 mạng intranet có các địa chỉ IP trùng nhau
(cid:131) Để hỗ trợ load sharing sử dụng một địa chỉ IP
(cid:131) Cung cấp khả năng tái sử dụng một địa chỉ IP đã được dùng
46
Cách NAT được thực hiện 4.5.2.
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
(cid:131) 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.
(cid:131) 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
(cid:131) 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.
(cid:131) 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
(cid:131) 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
(cid:131) 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
(cid:131) Outside local IP address: Là địa chỉ IP của một host bên ngoài
47
khi nó truy cập vào mạng bên trong
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
(cid:131) 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.
(cid:131) 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.
(cid:131) 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.
(cid:131) 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
48
phân phối hầu như miễn phí.
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. Hạt nhân (Kernel)
(cid:131) 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.
(cid:131) 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ớ.
(cid:131) 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.
1.2.2. Shell
(cid:131) 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ý.
(cid:131) 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…
49
(cid:131) Shell sử dụng chính trong Linux là GNU Bourne Again Shell
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. 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.
1.2.4. 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
(cid:131) TCP/IP
(cid:131) TCP/IP version 6
(cid:131) IPX/SPX
(cid:131) Bộ giao thức AppleTalk
(cid:131) Mạng WAN(Frame Relay,X.25…)
(cid:131) ISDN
(cid:131) PPP,SLIP,PLIP
50
(cid:131) ATM
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. 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ư :
(cid:131) 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
(cid:131) IP policy routing : Thông thường, 1 router quyết định làm
gì với một packet nhận được
2.2.2. 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
2.2.3. 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
51
năng IP masquerade được bật lên thì sau đó những máy kết nối
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õ
(cid:31)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ỉ
http://ipmasq.home.ml.org/
http://www.indyramp.com/masq/links.pfhtml
http://metalab.unc.edu/mdw/HOWTO/IP-Masquerade-
HOWTO.html
2.2.4. IP Accounting
[*] IP: accounting
Networking options −−−>
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
(cid:31)ien(cid:31)ss 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 để
52
loại bỏ thông tin thống kê của IP Accounting
Xây dựng thử nghiệm PC Linux hoạt động như một ADSL Router
2.2.5. 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
2.2.6. 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 :
http://metalab.unc.edu/mdw/HOWTO/NET3-4-HOWTO-
6#ss6.15
2.2.7. Firewall
Networking options −−−>
[*] Network firewalls
....
[*] IP: forwarding/gatewaying
....
53
[*] IP: firewalling
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
54
Port Forwarding có thể giải quyết được hầu hết vấn đề phát sinh
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. 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
2.2.10. 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
2.2.11. 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õ (cid:31)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ỉ :
55
ftp://metalab.unc.edu/pub/linux/system/Serial/eql-1.2.tar.gz
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 :
http://metalab.unc.edu/mdw/HOWTO/NET-3-4-HOWTO-
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
56
IP,multicast, và amateur radio
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
(cid:131) 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…
(cid:131) 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
(cid:131) 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
(cid:131) 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.
(cid:131) 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
(cid:131) Từ trang web www.no-ip.com, tạo một Account để sử dụng dịch
57
vụ. Sau đó cài gói Dynamic DNS Update Client lên máy tính
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.
(cid:131) Gói Dynamic DNS Update Client được download tại địa chỉ :
www.no-ip.com/download
(cid:131) Qui trình xử lý
Hình 4.1 Quá trình xử lý của dịch vụ DynDNS
58
(cid:131) Server B sử dụng dịch vụ ADSL và có đăng kí dịch vụ Dynamic
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
(cid:131) 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í.
(cid:131) 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
(cid:131) 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)
|
59
\--- Interactive: SFQ (to treat concurrent connections fairly)
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
(cid:131) 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à
60
định hàng đợi cho packet.
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
61
tc qdisc add dev eth0 handle 2:0 parent 1:0 bfifo limit 10240
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
62
(cid:131) Pfifo_fast ,quy tắc hàng đợi mặc định của LINUX
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
(cid:131) 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
63
(cid:131) Stochastic Fair Queuing (SFQ)
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 {
64
egress {
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
(cid:131) 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
(cid:131) 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
(cid:131) Điều này rõ (cid:31)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
65
(cid:131) Tham số và cách dùng
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
(cid:131) 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.
66
(cid:131) TBF,Token Bucket Filter
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
67
một độ trễ giả vào trong vòng di chuyển của packet
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
(cid:131) 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
68
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
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 Trạng thái bên trong Hành động phát sinh thái của HTB
lớp
Các lớp lá sẽ giải phóng các byte nằm trong HTB_CAN_SEND
hàng đợi đến các thẻ bài có giá trị ( không Leaf < rate
nhiều hơn burst packet)
Lớp lá sẽ cố gắng mượn tokens/ctokens từ lớp >rate
Leaf cha .Nếu tokens tồn tại ,chúng sẽ được mượn tùy theo số byte cburst 69 Không có packet nào được đưa ra khỏi hàng Leaf >ceil HTB_CANT_SEND 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 Lớp inner sẽ mượn token cho lớp con Inner, < rate HTB_CAN_SEND root Inner, Lớp inner sẽ cố gắng mượn tokens/ctokens từ >rate HTB_MAY_BORROW lớp cha Root Lớp inner không mượn token từ lớp cha và Inner, HTB_CANT_SEND >ceil cũng chẳng trả token/ctoken cho lớp con Root 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 70 lớp cha của nó 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 (cid:131) 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 (cid:131) 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 ) 71 hoặc để đảm bảo băng thông cho một lớp lá (leaf) cho Xây dựng thử nghiệm PC Linux hoạt động như một ADSL Router trước.(tốc độ sàn ?) (cid:131) 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 ?) (cid:131) 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 (cid:131) 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 (cid:131) 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 (cid:131) 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ể (cid:131) Mtu ( maximum transfer unit ) : (cid:131) PRIO ,priority scheduler Thật sự PRIO không có thay đổi gì cả .Nó chỉ chia traffic dựa vào cấu 72 hình filter của bạn .Có thể xem đây như là một Pfifo_fast mở rộng mà ở 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. (cid:131) 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 73 (cid:131) Ví dụ 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 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 Và dưới đây là kết quả 74 Xây dựng thử nghiệm PC Linux hoạt động như một ADSL Router 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 75 Như vậy ,tất cả các traffic đều đi đến handle 30:,cái có độ ưu tiên thấp nhất 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 76 Xây dựng thử nghiệm PC Linux hoạt động như một ADSL Router 1. Cài đặt ,cấu hình Linux PC thành Router ADSL ` PC Linux / ADSL Router ISP Local Area
Network User 1 User 2 1.1. Mô hình 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 77 ,cần phải có các thiết bị và phần mềm thiết yếu sau : Xây dựng thử nghiệm PC Linux hoạt động như một ADSL Router 1.2.1. Phần cứng : (cid:131) 1 Modem ADSL (Ở đây chúng tôi dùng Modem PCI Conexant ADSL) (cid:131) Tối thiểu 1 Card mạng (cid:131) 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 : (cid:131) Driver cho modem ( đối với conexant là gói CnxADSL- 6.1.2.007-PIM-4 ) (cid:131) Gói phần mềm hỗ trợ chuẩn ATM sử dụng trong công nghệ 78 ADSL trên Linux : linux-atm-2.4.0 Xây dựng thử nghiệm PC Linux hoạt động như một ADSL Router (cid:131) Bản bổ sung ( bản patch ) của giao thức PPP : ppp-2.4.0b2- patched (cid:131) 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 (cid:131) Chương trình Routing Daemon : Zebra 1.3. Thực hiện cài đặt 1.3.1. 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 1.3.2. Cài đặt driver bzip2 -d C–xADSL-6.1.2.007-PIM-4.tar.bz2 79 tar xvf CnxADSL-6.1.2.007-PIM-4.tar 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. 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 1.4.1. 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 80 #debug 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 81 Khởi động driver 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 82 -c config_file use alternate data path 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 83 này : 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 84 động như một DNS cacher),cho các truy cập SSH từ ngoài vào trong và 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. 85 PORTS 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 86 bộ User.Giá trị mặc định là $RATE_UP.Rất hữu dụng nếu bạn không muốn 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 87 Modprobe Xây dựng thử nghiệm PC Linux hoạt động như một ADSL Router 3.2.1. 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 3.2.2. 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 88 VD root#./fairnat.sh Xây dựng thử nghiệm PC Linux hoạt động như một ADSL Router THỬ NGHIỆM, ĐÁNH GIÁ và HƯỚNG 1. 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 Xây dựng thử nghiệm PC Linux hoạt động như một ADSL Router 90 Hình 6.1 Telnet vào Zebra thông qua port 2601 để cấu hình Routing Xây dựng thử nghiệm PC Linux hoạt động như một ADSL Router 91 Hình 6.2 Màn hình khi dùng câu lệnh show running-config trong Zebra Xây dựng thử nghiệm PC Linux hoạt động như một ADSL Router 92 Hình 6.3 Kết nối đã thiết lập Xây dựng thử nghiệm PC Linux hoạt động như một ADSL Router 93 Hình 6.4 Cấu hình NAT 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 (cid:131) 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 94 Kết quả 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. 95 Màn hình sẽ hiện ra giống như hình Xây dựng thử nghiệm PC Linux hoạt động như một ADSL Router 96 Hình 6.6 Cấu hình Filter Xây dựng thử nghiệm PC Linux hoạt động như một ADSL Router Hình 6.7 Client bị filter Hình trên cho thấy PC có IP address là 192.168.1.2 đã không còn ra ngoài internet được nữa do đã bị filter. Đánh giá Như vậy kết quả của chức năng filter của Linux PC là tốt. Đây cũng là tính năng mới mà các ADSL Router thông thường bên ngoài thị trường không có 97 được Xây dựng thử nghiệm PC Linux hoạt động như một ADSL Router 1.2. Dynamic DNS Chúng tôi tiến hành thử nghiệm bằng cách đăng kí một account trên trang web no-ip.com. Chúng tôi cũng lấy tên miền trong thử nghiệm này là gira.no- ip.info. Địa chỉ IP Address lúc đầu đăng kí là 203.210.207.236. Sau đó, chúng tôi stop kết nối và start lại. IP address của chúng tôi lúc này đã thay đổi là 222.253.84.7. Giả sử đây là web server của chúng tôi thì rõ ràng là nếu không cập nhật ip address lại ngay thì các client muốn truy cập vào trang web của chúng tôi sẽ không được nữa do lúc này các DNS server sẽ vẫn phân giải tên miển gira.no-ip.info thành địa chỉ là 203.210.207.236. Rất may, chúng tôi chỉ cần chạy chương trình dynamic dns client lên và địa chỉ của chúng tôi sẽ được cập nhật ngay. Dưới đây là một số hình ảnh minh họa các thao tác cập nhật ip 98 address thông qua no-ip.com và chương trình no-ip dynamic dns client Xây dựng thử nghiệm PC Linux hoạt động như một ADSL Router 99 Hình 6.8 Xem địa chỉ IP hiện thời của PPP0 Xây dựng thử nghiệm PC Linux hoạt động như một ADSL Router 100 Hình 6.9 Dùng nslookup để phân giải tên miền gira.no-ip.info Xây dựng thử nghiệm PC Linux hoạt động như một ADSL Router 101 Hình 6.10 Địa chỉ IP cũ trong DNS Xây dựng thử nghiệm PC Linux hoạt động như một ADSL Router 102 Hình 6.11 Chạy chương trình dynamic dns client Xây dựng thử nghiệm PC Linux hoạt động như một ADSL Router Hình 6.12 IP address được cập nhật lên DNS 2. Hướng phát triển Do Linux là mã nguồn mở và liên tục được phát triển bởi một cộng đồng mã mở rất lớn trên internet nên luôn có sẵn các tài nguyên hữu ích cho bạn đê nghiên cứu và phát triển thêm cho Router ADSL với Linux PC Giờ đây ,bạn có thể tìm hiểu và phát triển theo một số hướng gợi ý sau : Fair Nat hiện tại còn nhiều khiếm khuyết ,bạn có thể tham gia đóng góp và bổ sung cho Fair Nat 103 Sử dụng VPN trên Linux sau khi đã đăng ký dịch vụ dynamic dns với Xây dựng thử nghiệm PC Linux hoạt động như một ADSL Router gói no-ip Sử dụng Linux vừa làm Router vừa làm Proxy bổ sung thêm IPSec hay SSH Đối với các doanh nghiệp vửa và nhỏ, đặc biệt là Internet Café, cần có hai đường ADSL để đáp ứng số lượng lớn lượt truy cập internet, có thể dùng PCLinux thực hiện tính năng Load Balancing bằng tiện ích EQL trong Kernel Linux, thay vì mua thiết bị Load Balancing với giá cao, cấu hình thấp, không có khả năng mở rộng. Đóng gói tính năng ADSL Router để người dùng dễ sử dụng, nhất là những người dùng không chuyên. Không chỉ với Linux, có thể phát triển hướng nghiên cứu sang Windows – hệ điều hành phổ biến được nhiều người sử dụng nhất hiện 104 nay. Xây dựng thử nghiệm PC Linux hoạt động như một ADSL Router TÀI LIỆU THAM KHẢO Website: 1. 2. http://metalab.unc.edu/mdw/HOWTO/NET-3-4-HOWTO- 6.html#ss6.2 3. http://ipmasq.home.ml.org/ 4. http://www.indyramp.com/masq/links.pfhtml 5. http://metalab.unc.edu/mdw/HOWTO/IP-Masquerade- HOWTO.html 6. http://www.metamorpher.de/ 7. 8. Sách: 1. Brian Morgan, CCNP BCRAN Exam Certification Guide Second Edition, Cisco Press, Indiana, 2003 2. Wendell Odom, CCNA ICND Exam Certification Guide, Cisco Press, Indiana 3. Nguyễn Phương Lan-Hoàng Đức Hải, Lập Trình Linux 1, Nhà Xuất Bản Giáo Dục, TPHCM, 2001 4. Nguyễn An Tân-Nguyễn Thị Điệp, Hệ Điều Hành UNIX, Đại Học 105 Khoa Học Tự Nhiên Xây dựng thử nghiệm PC Linux hoạt động như một ADSL Router Bài Báo Cáo : ridruejo@rawbyte.com, The Linux 1. Daniel Lopez Ridruejo, Networking Overview HOWTO, version 0.37, 2000 2. Martin A. Brown. mabrown@secureipe.com, Traffic Control HOWTO, version 1.0.1, 2003 3. Dan Singletary, dvsing@sonicspike.net, ADSL Bandwidth 106 Management HOWTO, version 1.3, 2003 Xây dựng thử nghiệm PC Linux hoạt động như một ADSL Router CÁC HÌNH VẼ TRONG LUẬN VĂN Hình vẽ Trang Hình 1.1 Mô hình hiện trạng ADSL 6 Hình 1.2 Mô hình sử dụng ADSL với PC Linux làm Router 8 Hình 1.3 Mô hình Dynamic DNS 10 Hình 2.1 Biểu đồ so sánh tốc độ các công nghệ mạng 19 Hình 2.2 Mô hình ADSl 19 Hình 2.3 ADSL – Local loop 20 Hình 2.4 Dải phổ ADSL sử dụng 21 Hình 2.5 Mô hình ADSL 22 Hình 2.6 Mô hình dải phổ ADSL sử dụng 24 Hình 2.7 Mô hình đầu cuối ADSl 25 Hình 2.8 Thiết bị DSLAM 27 Hình 2.9 Thiết bị BAS 27 Hình 2.10 ADSL-PPP 29 Hình 2.11 ATM 29 Hình 2.12 Modem Zoom 5554 X5 và Modem Planet ADE 4100 34 Hình 2.13 Mô hình NAT 46 Hình 3.1 Mô hình kiến trúc Linux 49 Hình 4.1 Quá trình xử lý của dịch vụ DynDNS 59 Hình 4.2 Chiến lược FIFO 61 Hình 4.3 Qui tắc hàng đợi Linux 64 Hình 4.4 Chiến lược Round Robin 65 107 Hình 4.5 Hàng đợi Token Bucket Filter 68 Xây dựng thử nghiệm PC Linux hoạt động như một ADSL Router Hình 4.6 Lớp HTB 72 Hình 5.1 Linux Router Network Diagram 78 89 Hình 6.1 Telnet vào Zebra thông qua port 2601 để cấu hình Routing Hình 6.2 Màn hình khi dùng câu lệnh show running-config trong 90 Zebra Hình 6.3 Kết nối đã thiết lập 91 Hình 6.4 Cấu hình NAT 92 Hình 6.5 Client có thể truy cập internet 93 Hình 6.6 Cấu hình Filter 95 Hình 6.7 Client bị filter 96 Hình 6.8 Xem địa chỉ IP hiện thời của PPP0 97 Hình 6.9 Dùng nslookup để phân giải tên miền gira.no-ip.info 98 Hình 6.10 Địa chỉ IP cũ trong DNS 99 Hình 6.11 Chạy chương trình dynamic dns client 100 108 Hình 6.12 IP address được cập nhật lên DNS 101 Xây dựng thử nghiệm PC Linux hoạt động như một ADSL Router CÁC BẢNG BIỂU TRONG LUẬN VĂN 15 Tên bảng Trang 16 Bảng 2.1 Thông số kỹ thuật của đường truyền Tx và Ex 36 Bảng 2.2 Bảng so sánh các đường truyền 71 Bảng 2.3 Bảng so sánh Routing và Switching Bảng 4.1 Các thông số của lớp HTB 89 109 Bảng 6.1 So sánh kết quả thử nghiệm giữa Router thật và Linux PC# 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
# tc −s qdisc ls dev eth0
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)
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)
# 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)
# 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)
Chương 5
THỰC HIỆN CÀI ĐẶT
Chương 6
PHÁT TRIỂN
Thử nghiệm chức năng Linux PC làm router ADSL
http://www.no-ip.com
http://www.docum.org/docum.org/
http://patrick.spacesurfer.com
PHỤ LỤC

