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