TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN

KHOA CÔNG NGHỆ THÔNG TIN

BỘ MÔN MẠNG MÁY TÍNH VÀ VIỄN THÔNG

ĐỖ HẢI VƯƠNG

LÂM HẢI THÔNG

XÂY DỰNG THỬ NGHIỆM LINUX PC HOẠT ĐỘNG NHƯ MỘT

ADSL ROUTER

KHÓA LUẬN CỬ NHÂN TIN HỌC

TP.HCM, 2005

TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN

KHOA CÔNG NGHỆ THÔNG TIN

BỘ MÔN MẠNG MÁY TÍNH VÀ VIỄN THÔNG

ĐỖ HẢI VƯƠNG – 0112457

LÂM HẢI THÔNG – 0112466

XÂY DỰNG THỬ NGHIỆM LINUX PC HOẠT ĐỘNG NHƯ MỘT

ADSL ROUTER

KHÓA LUẬN CỬ NHÂN TIN HỌC

GIÁO VIÊN HƯỚNG DẪN

GVC CAO ĐĂNG TÂN

NIÊN KHÓA 2001 - 2005

Xây dựng thử nghiệm PC Linux hoạt động như một ADSL Router

Lời Cám Ơn

Chúng tôi xin chân thành cảm ơn Khoa Công nghệ Thông tin, trường

Đại học Khoa học Tự nhiên, Thành phố Hồ Chí Minh đã tạo điều kiện cho

chúng tôi thực hiện đề tài tốt nghiệp này.

Xin cảm ơn Thầy Cao Đăng Tân, người đã tận tình hướng dẫn, chỉ bảo

chúng tôi trong suốt thời gian thực hiện đề tài. Trong thời gian làm việc với

Thầy, chúng tôi không những học hỏi được nhiều kiến thức bổ ích mà còn học

được tinh thần làm việc, thái độ nghiên cứu khoa học nghiêm túc của Thầy.

Xin gửi lời cảm ơn chân thành đến gia đình, ba mẹ và bè bạn vì đã luôn

là nguồn động viên to lớn, giúp đỡ chúng tôi vượt qua những khó khăn trong

suốt quá trình làm việc.

Mặc dù đã cố gắng hoàn thiện luận văn với tất cả sự nỗ lực của bản

thân, nhưng chắc chắn không thể tránh khỏi những thiếu sót. Kính mong quý

Thầy Cô tận tình chỉ bảo.

Một lần nữa, chúng tôi xin chân thành cảm ơn và luôn mong nhận được

sự đóng góp quý báu của tất cả mọi người.

Tp.Hồ Chí Minh, tháng 7/2005

Lâm Hải Thông

1

Đỗ Hải Vương

Xây dựng thử nghiệm PC Linux hoạt động như một ADSL Router

MỤC LỤC

MỤC LỤC...........................................................................................................................2 Chương 1 .............................................................................................................................6 GIỚI THIỆU ĐỀ TÀI........................................................................................................6 1. Đặt vấn đề : ..................................................................................................................6 2. Mục tiêu ........................................................................................................................7 3. Đề xuất một số tính năng mở rộng.............................................................................8

3.1. Sử dụng dịch vụ Dynamic DNS ( cụ thể là sử dụng dịch vụ

dynamic update client ).........................................................................................8 3.1.1. Đặt vấn đề................................................................................................8 3.1.2. Giải quyết vấn đề...................................................................................10 3.2. Fair Nat ...............................................................................................................11 3.2.1. Đặt vấn đề..............................................................................................11 3.2.2. Giải quyết vấn đề...................................................................................12 Chương 2 ...........................................................................................................................13 KHÁI NIỆM VÀ KỸ THUẬT TRUYỀN THÔNG ......................................................13 1. ADSL...........................................................................................................................13 1.1. Sơ lược về những phương thức kết nối Internet phổ biến hiện nay ...................13 1.1.1. Đường truyền điện thoại analog............................................................13 1.1.2. Leased Line ...........................................................................................13 1.1.3. Frame Relay và X.25.............................................................................14 1.1.4. ISDN......................................................................................................15 1.1.5. ATM ......................................................................................................17 1.1.6. ADSL.....................................................................................................17 1.2. Đánh giá các phương thức kết nối Internet phổ biến hiện nay:..........................18 1.3. Công nghệ ADSL ...............................................................................................19 1.3.1. Khái niệm ADSL...................................................................................19 1.3.2. Ứng dụng của ADSL.............................................................................20 1.3.3. Cơ chế hoạt động...................................................................................21 1.8.1. Ưu điểm của ADSL...............................................................................22 1.8.2. Các thành phần của ADSL ....................................................................24 1.8.3. Các thành phần ADSL từ phía nhà cung cấp dịch vụ ...........................26 1.13.1. Kết nối mạng .........................................................................................28 1.15.1. Vai trò của PPP .....................................................................................30 1.15.2. Modem ADSL trên thực tế....................................................................30 1.15.3. Mối tương quan giữa thoại và ADSL....................................................31 1.23.1. Thiết bị Modem ADSL .........................................................................32 2. Router và Router ADSL ...........................................................................................33 2.1. Giới thiệu Router ................................................................................................33 2.1.1. Giới thiệu Router...................................................................................33

2

Xây dựng thử nghiệm PC Linux hoạt động như một ADSL Router

3.15.1. RIP 3.15.2. IGRP 3.18.1. OSPF

2.1.2. Cơ chế hoạt động...................................................................................33 2.2. Sơ lược về các Router ADSL hiện có trên thị trường và tính năng ...................33 3. Routing .......................................................................................................................34 3.1. Tổng quát về routing...........................................................................................34 3.9. Routing và Switching .........................................................................................35 Bảng 2.3 Bảng so sánh Routing và Switching ............................................................35 3.10. Routed và Routing ..............................................................................................35 3.11. Sự xác định đường đi..........................................................................................36 3.12. Routing table.......................................................................................................37 3.13. Các thuật toán Routing và các metric.................................................................38 3.13.1. Mục tiêu của các thuật toán routing ......................................................38 3.13.2. Các Metric .............................................................................................39 3.14. Routing Protocols ...............................................................................................40 3.14.1. Distance-vector......................................................................................40 3.14.2. Link state ...............................................................................................40 3.14.3. Hybrid ..................................................................................................41 3.15. Giới thiệu các giao thức định tuyến....................................................................41 ..................................................................................................41 ..................................................................................................42 ..................................................................................................43 3.23. Giao thức sử dụng trong chương trình................................................................43 4. Các khái niệm cơ bản ................................................................................................44 4.1. IP tĩnh ( Static IP) ...............................................................................................44 4.2. IP động ( Dynamic IP)........................................................................................44 4.3. DNS ...............................................................................................................45 4.4. Dynamic DNS.....................................................................................................45 4.5. NAT ( Network Address Translation )...............................................................46 4.5.1. Tại sao lại dùng NAT ............................................................................46 4.5.2. Cách NAT được thực hiện ....................................................................46 4.5.3. Các thuật ngữ NAT ...............................................................................47 Chương 3 ...........................................................................................................................48 LINUX VÀ MẠNG TRONG LINUX................................................................................48 1. Hệ điều hành Linux ...................................................................................................48 1.1. Giới thiệu ............................................................................................................48 1.2. Kiến trúc của hệ điều hành Linux.......................................................................49 1.2.1. Hạt nhân (Kernel)..................................................................................49 1.2.2. Shell.......................................................................................................49 1.2.3. Các tiện ích............................................................................................50 1.2.4. Chương trình ứng dụng .........................................................................50 2. Mạng trong Linux......................................................................................................50 2.1. Giao thức mạng trong Linux ..............................................................................50 2.2. Network Interconnection ....................................................................................51 2.2.1. Router ....................................................................................................51

3

Xây dựng thử nghiệm PC Linux hoạt động như một ADSL Router

2.2.2. Bridge ....................................................................................................51 IP Masquerade.......................................................................................51 2.2.3. IP Accounting........................................................................................52 2.2.4. 2.2.5. IP aliasing ..............................................................................................53 2.2.6. Traffic Shaping......................................................................................53 2.2.7. Firewall..................................................................................................53 2.2.8. Port Forwarding.....................................................................................54 2.2.9. Loab Balancing .....................................................................................55 2.2.10. IP Transparent Proxy Server .................................................................55 2.2.11. EQL ( Multiple Line Traffic Equaliser ) ...............................................55 2.2.12. Tunneling ,mobile IP và virtual private networks.................................56 Chương 4 ...........................................................................................................................57 CÁC ỨNG DỤNG TÍCH HỢP VÀO HỆ THỐNG..........................................................57 1. Giới thiệu các ứng dụng ............................................................................................57 1.1. Zebra ...............................................................................................................57 1.2. Tính năng Dynamic DNS : noip-duc-linux.tar ...................................................57 1.2.1. Giới thiệu...............................................................................................57 1.3. FAIR NAT ..........................................................................................................59 1.3.1 Giới thiệu...............................................................................................59 1.3.2 Kiến trúc Fair Nat..................................................................................59 Chương 5 ...........................................................................................................................77 THỰC HIỆN CÀI ĐẶT ....................................................................................................77 1. Cài đặt ,cấu hình Linux PC thành Router ADSL ..................................................77 1.1. Mô hình...............................................................................................................77 1.2. Yêu cầu ...............................................................................................................77 1.2.1. Phần cứng :............................................................................................78 1.2.2. Phần mềm :............................................................................................78 1.3. Thực hiện cài đặt ................................................................................................79 1.3.1. Cài đặt linux-atm-2.4.0..........................................................................79 1.3.2. Cài đặt driver .........................................................................................79 1.3.3. Cài đặt bản patch của giao thức PPP.....................................................80 1.4. Cấu hình..............................................................................................................80 1.4.1. Cấu hình PPP để kết nối đến ADSL Provider.......................................80 2. Dynamic DNS.............................................................................................................82 2.1. Đăng kí dịch vụ Dynamic DNS tại trang web www.no-ip.com.........................82 2.2. Cài đặt gói Dynamic DNS Client .......................................................................82 3. FAIR NAT ..................................................................................................................83 3.1. Yêu cầu ...............................................................................................................83 3.2. Các tham số và Cấu hình ....................................................................................83 3.2.1. Các tham số dòng lệnh ..........................................................................88 3.2.2. Chạy Script ............................................................................................88

4

Xây dựng thử nghiệm PC Linux hoạt động như một ADSL Router

Chương 6 ...........................................................................................................................89 THỬ NGHIỆM, ĐÁNH GIÁ và HƯỚNG PHÁT TRIỂN ..............................................89 1. Thử nghiệm chức năng Linux PC làm router ADSL.............................................89

1.1. Kết nối vào internet và cho phép máy trong mạng LAN có thể ra

...............................................................................................................89

ngoài 1.1.1. Kết nối, Nat và Routing cho các máy bên trong ra ngoài

internet...................................................................................................89 1.1.2. So sánh giữa Linux PC và Router ADSL thật.......................................94 1.2.Chức năng filter .....................................................................................................95 1.2. Dynamic DNS.....................................................................................................98 2. Hướng phát triển .....................................................................................................103 PHỤ LỤC ........................................................................................................................107

5

Xây dựng thử nghiệm PC Linux hoạt động như một ADSL Router

Chương 1

GIỚI THIỆU ĐỀ TÀI

1. Đặt vấn đề :

(cid:131) Sự phát triển mạnh mẽ của Internet và các dịch vụ qua Internet

dẫn đến sự gia tăng một số lượng lớn người sử dụng Internet đã

khiến cho nhu cầu về băng thông ,về tốc độ ngày càng bức

thiết.mạng Dial-up không còn đáp ứng được nhu cầu về băng

thông nữa

(cid:131) Nhiều kĩ thuật về mạng WAN đã được nghiên cứu và áp dụng để

đáp ứng nhu cầu của người dùng như ISDN, Frame Relay,

xDSL…..Trong đó, hiện đang được sử dụng nhiều hơn cả là kỹ

thuật xDSL mà ADSL là đại diện tiêu biểu.

(cid:131) ADSL giúp cải tiến đáng kể tốc độ mạng với giá thành thấp. Vì

nó có thể sử dụng đường dây điện thoại sẵn có để làm đường

truyền nên ngày càng phổ biến hơn ở nước ta, được sử dụng ngày

càng nhiều trong các doanh nghiệp.

6

(cid:131) Mô hình Hiện Trạng sử dụng ADSL

Xây dựng thử nghiệm PC Linux hoạt động như một ADSL Router

(cid:131) Công nghệ ADSL xuất hiện là một giải pháp hữu hiệu cho vấn đề

băng thông và để sử dụng được công nghệ ADSL thì đòi hỏi phải

có các thiết bị phù hợp đi kèm như modem ADSL hay modem

ADSL có thêm tính năng mini Router ( hay còn gọi là Rotuer

ADSL ).Hiện trên thị trường có nhiều loại Modem ADSL có kèm

Router, hầu hết đều có chức năng NAT, Routing, một số có các

tính năng tiên tiến như DMZ, Virtual Server, DDNS nhưng lại

không phù hợp với đối tượng người dùng là các gia đình và các

doanh nghiệp nhỏ do giá thành cao và các dịch vụ thường bị hạn

chế.

(cid:131) Những nhu cầu ngày càng cao của các gia đình và các doanh

nghiệp nhỏ về tính năng lẫn giá thành đã phát sinh ra việc cần

xây dựng một Router ADSL có thể thực hiện tốt các công việc

của một router như NAT, Routing và có thể tích hợp các tính

năng hữu dụng đáp ứng các nhu cầu cần thiết của mỗi doanh

nghiệp và gia đình mà vẫn đảm bảo tiết kiệm chi phí.

(cid:131) Có thể dùng Linux PC để xây dựng một ADSL Router mềm đáp

ứng những nhu cầu nói trên. Đó là lý do mà luận văn ra đời.

2. Mục tiêu

(cid:131) Nghiên cứu công nghệ ADSL, Router ADSL. Nghiên cứu kiến

trúc và các gói phục vụ chức năng Routing và các tính năng bổ

sung trên Linux nhằm đưa vào ứng dụng trong thực tiễn .

7

(cid:131) Xây dựng mô hình và ứng dụng các gói phần mềm để giúp Linux

Xây dựng thử nghiệm PC Linux hoạt động như một ADSL Router

PC hoạt động như 1 ADSL Router

(cid:131) Cùng với tính năng của 1 Router, PC Linux giờ đây có thể tích

hợp các tinh năng chuyên biệt theo đặc thù,nhu cầu của mỗi

người dùng.

(cid:131) Chúng tôi chọn Linux để tiến hành nghiên cứu và xây dựng

thành ADSL Router vì :

(cid:131) Linux là hệ điều hành mã nguồn mở, dễ phát triển và

thêm các tính năng cần thiết.Bản thân các công ty sau này

có thể tự dựa vào các đoạn mã kèm theo mà bổ sung vào

những tính năng riêng mà họ muốn

(cid:131) Chi phí thấp

(cid:131) Ổn định ,nhờ đó có thể chạy tốt công việc của 1 router

vốn đòi hỏi phải chạy liên tục trong môi trường mạng

(cid:131) Mô hình sử dụng dịch vụ ADSL với PC Linux làm Router

3. Đề xuất một số tính năng mở rộng

3.1. Sử dụng dịch vụ Dynamic DNS ( cụ thể là sử dụng dịch vụ

dynamic update client )

3.1.1. Đặt vấn đề

8

(cid:131) Việc một tổ chức,một công ty hay một cá nhân có một website

Xây dựng thử nghiệm PC Linux hoạt động như một ADSL Router

,một FTP … riêng là điều rất bình thường .Thông thường để đảm

bảo cho website của mình hoạt động tốt họ thường phải có một

đường kết nối mạng liên tục ( lúc trước thường là lease line ) sau

đó đăng ký một địa chỉ IP tĩnh và tự duy trì web server của mình

hoặc thuê dịch vụ hosting và cho dù theo cách nào thì chi phí

cũng khá lớn

(cid:131) ADSL ra đời,đặc thù kết nối liên tục ( giống như lease line ) với

chi phí rẻ hơn tạo điều kiện cho các người dùng tự quản trị server

của mình trên mạng và nhiều giải pháp mạng khác trở nên khả

thi.Bây giờ họ có thể giảm một phần chi phí so với trước (vì

không cần thuê đường lease line nữa ) nhưng làm thế nào để

giảm chi phí phải trả cho IP tĩnh đây ?

(cid:131) Việc sử dụng dịch vụ ADSL với địa chỉ IP động không thể giải

quyết vấn đề này nếu không có một dịch vụ khác hỗ trợ.

(cid:131) Ví dụ : sử dụng giải pháp VPN cho các doanh nghiệp có nhiều

9

văn phòng chi nhánh

Xây dựng thử nghiệm PC Linux hoạt động như một ADSL Router

Hình 1.3 Mô hình Dynamic DNS

3.1.2. Giải quyết vấn đề

(cid:131) Chúng ta cần phải có một dịch vụ cung cấp khả năng tự động cập

nhật địa chỉ IP một cách nhanh nhất có thể để đảm bảo rằng các

10

dịch vụ của chúng ta chạy ổn định như khi dùng IP tĩnh

Xây dựng thử nghiệm PC Linux hoạt động như một ADSL Router

(cid:131) Câu trả lời ở đây chính là DynDNS . Dịch vụ này cung cấp khả

năng mà theo đó mỗi khi địa chỉ IP của chúng (cid:31)ien(cid:31)ss đổi ,nó

chỉ cần vài giây để cập nhật thông tin về địa chỉ IP mới cho phù

hợp

(cid:131) Hiện nay có một số nhà cung cấp các dịch vụ Dynamic DNS:

http://www.dyndns.org , http://www.no-ip.com,

http://dyndns.vnnic.net.vn cho phép các khách hàng sử dụng IP

động nếu có đăng kí dịch vụ vẫn có thể duy trì các máy chủ dịch

vụ của mình trong môi trường Internet.

(cid:131) Tích hợp cho Router tính năng Dynamic DNS Client từ các nhà

cung cấp dịch vụ Dynamic DNS.

3.2. Fair Nat

3.2.1. Đặt vấn đề

Trong 1 công ty hay một tổ chức có nhiều máy ,nhiều người dùng

internet thì yêu cầu về băng thông của người dùng rất đa dạng

Kỹ thuật NAT có hạn chế là không phân chia được băng thông cho

từng người dùng khác nhau .Dẫn đến tình trạng là các người dùng cứ

chiếm giữ được bao nhiêu băng thông thì sẽ dùng bấy nhiêu .Điều này

nhiều khi rất phiền toái vì mọi người đều có nhu cầu sử dụng internet

để làm việc hay giải trí nhưng lại có những người tốc độ internet rất

chậm ảnh hưởng lớn đến công việc của họ

Sẽ dể chấp nhận hơn nếu tốc độ internet của các người dùng trong cùng

một công ty hay tổ chức có tốc độ như nhau.Như vậy tuy tốc độ không

11

qua cao nhưng mọi người vẫn có thể làm việc bình thường chứ không

Xây dựng thử nghiệm PC Linux hoạt động như một ADSL Router

còn bị tình trạng thắt cổ chai làm nghẽn mạng nữa

3.2.2. Giải quyết vấn đề

Sử dụng Fair Nat để đảm bảo cho người dùng có cùng băng thông như

12

nhau khi NAT ra bên ngoài

Xây dựng thử nghiệm PC Linux hoạt động như một ADSL Router

Chương 2

KHÁI NIỆM VÀ KỸ THUẬT TRUYỀN

THÔNG

1. ADSL

1.1. Sơ lược về những phương thức kết nối Internet phổ biến hiện nay

1.1.1. Đường truyền điện thoại analog

(cid:131) Còn gọi là Dial-up. Người dùng sử dụng đường dây điện thoại

sẵn có kết nối đến một Modem có chức năng chuyển tín hiệu

Analog sang tín hiệu số.

(cid:131) Modem hoạt động trên đường dây điện thoại trong vòng mười

năm đã phát triển tốc độ từ 2.4 Kbps đến 33.6 Kbps. Loại 56

Kbps hiện nay, về mặt lý thuyết, đã hoạt động ở tốc độ cao nhất

trên đường truyền analog bình thường.

(cid:131) Sẽ không có tốc độ truyền cao hơn, nếu các công ty điện thoại

không thay đổi thiết bị ở tổng đài trung tâm.

1.1.2. Leased Line

(cid:131) Cách kết nối phổ biến nhất hiện nay giữa hai điểm có khoảng

cách lớn vẫn là Leased Line (tạm gọi là đường thuê bao). Leased

Line là các mạch số (digital circuit) kết nối (cid:31)ien tục, được các

13

công ty viễn thông cho thuê, nên có tên là Leased Line.

Xây dựng thử nghiệm PC Linux hoạt động như một ADSL Router

(cid:131) Leased Line được phân làm hai lớp chính là Tx (theo chuẩn của

Mỹ và Canada) và Ex (theo chuẩn của châu Ấu, Nam Mỹ và

Mehicô), x là mã số chỉ băng thông (bandwidth) của kết nối.

Đường truyền

Băng thông

Tổ chức ( Aggregation)

T0

56 Kbps

1 đường Voice

T1

1,544 Mbps

24 đường T0

T2

6,312 Mbps

4 đường T1

T3

44,736 Mbps

28 đường T1

T4

274,176 Mbps

168 đường T1

Thông số kỹ thuật của các đường truyền Tx và Ex:

Bảng 2.1 Thông số kỹ thuật của đường truyền Tx và Ex

(cid:131) T0/E0 là tương đương với một kênh truyền thoại đơn lẻ, T0 hoạt

động ở tốc độ 56 Kbps và E0 hoạt động ở tốc độ 64 Kbps.

(cid:131) Bên cạnh việc phân chia trực tiếp các mức độ khác nhau của dịch

vụ E/T, có nhiều đường truyền cung cấp dịch vụ phân chia nhỏ

hơn, cho phép người dùng đặt thuê một số lượng bất kỳ các kênh

(channel) T0 trong một đường truyền, hoặc đặt thuê các channel

T1 trong một đường truyền T3

(cid:131) Các đường leased line được gắn vào cổng tuần tự (serial port)

của máy tính hoặc router thông qua một CSU/DSU.

1.1.3. Frame Relay và X.25

(cid:131) X.25 là giao thức nguyên thủy cho việc Truyền Thông Tin Có

Thể Định Hướng (Routable Data Transmission) qua leased line.

X.25 sử dụng địa chỉ và thông tin sửa lỗi (error correction

14

information) theo cách gần giống với mạng cục bộ (LAN).

Xây dựng thử nghiệm PC Linux hoạt động như một ADSL Router

(cid:131) X.25 cho phép các khung dữ liệu số hóa (digital frame – frame

và packet là các khái niệm chỉ khối thông tin được gửi qua

Đường truyền Băng thông

Tổ chức (Aggregation)

E0

64 Kbps

1 đường Voice

E1

2,084 Mbps

32 đường E0

E2

34 Mbps

16 đường E1

đường truyền) được truyền (route) qua các khoảng cách lớn.

Bảng 2.2 Bảng so sánh các đường truyền

(cid:131) Frame Relay là một thay thế cho X.25, giúp giảm chi phí của

đường truyền bằng cách tạo một mạch truyền ảo cố định

(permanent virtual circuit), thay vì truyền từng gói (packet-by

packet routing).

(cid:131) Các công ty viễn thông lập trình cho các công tắc của họ luôn

truyền các frame từ một điểm cố định đến một điểm khác, tức là

tạo mạch nối ảo giữa hai điểm.

(cid:131) Công nghệ này xóa bỏ được việc đánh địa chỉ và truyền thông tin

sửa lỗi của X.25, cho phép công ty viễn thông dự đoán trước

lượng thông tin truyền tải trên mạng một cách chính xác hơn.

1.1.4. ISDN

(cid:131) ISDN (Integrated Services Digital Network) một mạch nối kỹ

thuật số quay số (dial-up digital circuit). Không như leased-line

được kết nối cố định vào hai thiết bị đầu cuối xác, ISDN cho

phép người dùng tạo ra và hủy bỏ (cid:31)ien kết giữa bất kỳ hai ISDN

adapter nào.

15

(cid:131) ISDN có thể dùng cho kết nối tốc độ cao trong sử dụng Internet

Xây dựng thử nghiệm PC Linux hoạt động như một ADSL Router

của các cá nhân, gia đình một cách dễ dàng vì nó hoạt động trên

cùng đường truyền vật lý như đường dây điện thoại. Do đó các

công ty viễn thông có thể dễ dàng chuyển đổi đường truyền

telephone analog thành đường truyền ISDN bằng cách đổi thiết

bị đầu cuối (terminal equipment) ở tổng đài trung tâm.

(cid:131) ISDN được chia làm hai loại kênh khác nhau:

* Kênh dữ liệu (Data Channel), tên kỹ thuật là B channel, hoạt

động ở tốc độ 64 Kbps.

* Kênh kiểm soát (Control Channel), tên kỹ thuật là D Channel,

hoạt động ở 16 Kbps (Basic rate) và 64 Kbps (Primary rate)

(cid:131) Dữ liệu của người dùng sẽ được truyền trên các B channel, và dữ

liệu tín hiệu (signaling data) được truyền qua D channel. Bất kể

một kết nối ISDN có bao nhiêu B channel, nó chỉ có duy nhất

một D channel. Đường ISDN truyền thống có hai tốc độ cơ bản

là residential basic rate và commercial primary rate.

(cid:131) Một vài công ty điện thoại không có đường truyền và thiết bị

đầu cuối thích hợp cho dịch vụ tốc độ cơ bản nên họ cung cấp

một tốc độ cơ bản cố định, có giá trị trong khoảng từ 64 Kbps

đến 56 Kbps. Những biến thể này hoạt động như một B channel

riêng biệt.

(cid:131) Basic rate ISDN hoạt động với hai B channel 64 Kbps và một D

channel 16 Kbps qua đường điện thoại thông thường, cung cấp

băng thông dữ liệu là 128 Kbps

16

(cid:131) Primary rate hoạt động với hai mươi ba B channel 64 Kbps và

Xây dựng thử nghiệm PC Linux hoạt động như một ADSL Router

một D channel 64 Kbps qua một đường T1, cung cấp băng thông

1472 Kbps. Primary rate đưa ra đường truyền quay số tốc độ cao,

cần thiết cho các tổ chức lớn.

(cid:131) Đôi khi ISDN adaptor bị gọi là “ISDN modem” vì nó có chức

năng quay số và trả lời cuộc gọi trên đường dây digital, như

modem thực hiện trên đường dây analog. Tuy nhiên, ISDN

adaptor không phải là modem vì không thực hiện chức năng

modulation/demodulation và việc chuyển đổi tín hiệu giữa digital

và analog (digital/analog conversion).

1.1.5. ATM

(cid:131) ATM (Asynchronous Transfer Mode) là công nghệ mới trong cài

đặt đường truyền trên đường dây điện thoại chính giữa các thành

phố và các công ty. ATM cho phép các công ty viễn thông tính

tiền theo nhiều mức độ khác nhau của dịch vụ dữ liệu, dựa trên

số tiền tính theo gói dữ liệu (packet).

(cid:131) Ích lợi chính của ATM là nó hoạt động không phụ thuộc vào

đường truyền vật lý. ATM được chia làm hai channel có chứa

các ô (cell) hoạt động như tốc độ truyền bit cố định. Khi dữ liệu

được truyền giữa các mạch (circuit) có kích thước khác nhau,

công tắc (switch) dồn thông tin (multiplex) vào các mạch lớn hơn

và nhỏ hơn, tùy theo nhu cầu.

(cid:131) Chi phí để xây dựng hệ thống ATM khá cao.

1.1.6. ADSL

17

(cid:131) ADSL (Analog Digital Subscriber Line) một biến thể của đường

Xây dựng thử nghiệm PC Linux hoạt động như một ADSL Router

điện thoại số chuẩn (standard digital telephone line), hoạt động

thông qua kết nối đường điện thoại thông thường.

(cid:131) ADSL được phát triển để cung cấp một dịch vụ thay thế cho

truyền hình, nhưng nó hứa hẹn (cid:31)ien kết tốc độ cao và chi phí

thấp cho người dùng Internet.

(cid:131) Tốc độ ADSL với kênh down-link từ khoảng 1Mbps đến 6Mbps,

phụ thuộc vào khoảng cách từ Internet site đến công ty viễn

thông, và tốc độ kênh up-link là 16 Kbps ở đầu kết nối thấp (low

end) đến 640 Kbps ở đầu kết nối cao (high end). Thông thường

kênh up-link hoạt động ở tốc độ 64 Kbps .

1.2. Đánh giá các phương thức kết nối Internet phổ biến hiện nay:

(cid:131) Với nhu cầu ngày càng tăng về các dịch vụ Internet, đòi hỏi về

băng thông ngày càng cao, dịch vụ Dail-up không còn phù hợp

cho nhu cầu sử dụng Internet, nhất là đối với đối tượng doanh

nghiệp vừa và nhỏ.

(cid:131) Đối với nhu cầu hiện nay của các doanh nghiệp hoạt động ngoài

lĩnh vực tin học là chỉ kết nối Internet để cập nhật thông tin

khách hàng, sản phẩm… thì việc sử dụng các dịch vụ mạng

Leased Line, Frame Relay, … là lãng phí, không cần thiết.

(cid:131) ADSL là công nghệ phù hợp hơn cả với các lý do: phù hợp với

nhu cầu của đối tượng người dùng là doanh nghiệp nhỏ với tất cả

các dạng dịch vụ thông tin tốc độ cao ( Ở đây là từ 1Mbps đến

18

2Mbps), chi phí thấp.

Xây dựng thử nghiệm PC Linux hoạt động như một ADSL Router

1.3. Công nghệ ADSL

(cid:131) Hiểu một cách đơn giản nhất, ADSL là sự thay thế với tốc độ cao

1.3.1. Khái niệm ADSL

cho thiết bị Modem hoặc ISDN giúp truy nhập Internet với tốc

độ cao và nhanh hơn. Các biểu đồ sau chỉ ra các tốc độ cao nhất

Hình 2.1 Biểu đồ so sánh tốc độ các công nghệ mạng

(cid:131) ADSL viết tắt của Asymmetric Digital Subscriber Line – đó là

có thể đạt được giữa các dịch vụ cung cấp.

đường thuê bao số không đối xứng, kỹ thuật truyền được sử dụng

trên đường dây từ Modem của thuê bao tới Nhà cung cấp dịch

Hình 2.2 Mô hình ADSL

vụ.

(cid:131) Asymmetric: Tốc độ truyền không giống nhau ở hai chiều. Tốc

19

độ của chiều xuống (từ mạng tới thuê bao) có thể nhanh gấp hơn

Xây dựng thử nghiệm PC Linux hoạt động như một ADSL Router

10 lần so với tốc độ của chiều lên (từ thuê bao tới mạng). Ðiều

này phù hợp một cách tuyệt vời cho việc khai thác dịch vụ

Internet khi mà chỉ cần nhấn chuột (tương ứng với lưu lượng nhỏ

thông tin mà thuê bao gửi đi) là có thể nhận được một lưu lượng

(cid:131) Digital: Các Modem ADSL hoạt động ở mức bít (0 & 1) và dùng

lớn dữ liệu tải về từ Internet.

để chuyển thông tin số hoá giữa các thiết bị số như các máy tính

PC. Chính ở khía cạnh này thì ADSL không có gì khác với các

(cid:131) Subscriber Line: ADSL tự nó chỉ hoạt động trên đường dây

Modem thông thường.

thuê bao bình thường nối tới tổng đài nội hạt. Ðường dây thuê

bao này vẫn có thể được tiếp tục sử dụng cho các cuộc gọi đi

hoặc nghe điện thoại cùng một thời điểm thông qua thiết bị gọi là

“Splitters” có chức năng tách thoại và dữ liệu trên đường dây.

1.3.2.

Ứng dụng của ADSL

(cid:131) ADSL xác lập cách thức dữ liệu được truyền giữa thuê bao (nhà

riêng hoặc công sở) và tổng đài thoại nội hạt trên chính đường

dây điện thoại bình thường. Chúng ta vẫn thường gọi các đường

Hình 2.3 ADSL – Local loop

dây này là local loop.

20

(cid:131) Thực chất của ứng dụng ADSL không phải ở việc truyền dữ liệu

Xây dựng thử nghiệm PC Linux hoạt động như một ADSL Router

đi/đến tổng đài điện thoại nội hạt mà là tạo ra khả năng truy nhập

Internet với tốc độ cao. Như vậy, vấn đề nằm ở việc xác lập kết

nối dữ liệu tới Nhà cung cấp dịch vụ Internet.

(cid:131) Mặc dù chúng ta cho rằng ADSL được sử dụng để truyền dữ liệu

bằng các giao thức Internet, nhưng trên thực tế việc thực hiện

điều đó như thế nào lại không phải là đặc trưng kỹ thuật của

(cid:131) Hiện nay, phần lớn người ta ứng dụng ADSL cho truy nhập

ADSL.

Internet tốc độ cao và sử dụng các dịch vụ trên Internet một cách

nhanh hơn.

(cid:131) ADSL tìm cách khai thác phần băng thông tương tự còn chưa

1.3.3. Cơ chế hoạt động

được sử dụng trên đường dây nối từ thuê bao tới tổng đài nội hạt.

Ðường dây này được thiết kế để chuyển tải dải phổ tần số

(frequency spectrum) chiếm bởi cuộc thoại bình thường. Tuy

nhiên, nó cũng có thể chuyển tải các tần số cao hơn dải phổ

tương đối hạn chế dành cho thoại. Ðó là dải phổ mà ADSL sử

Hình 2.4 Dải phổ ADSL sử dụng

dụng.

Thoại cơ bản sử dụng dải tần số từ 300Hz tới 3,400Hz.

21

(cid:131) Bây giờ chúng ta sẽ xem xét, thoại và dữ liệu ADSL chia xẻ

Xây dựng thử nghiệm PC Linux hoạt động như một ADSL Router

cùng một đường dây thuê bao ra sao. Trên thực tế, các Splitter

được sử dụng để đảm bảo dữ liệu và thoại không xâm phạm lẫn

nhau trên đường truyền.

(cid:131) Các tần số mà mạch vòng có thể chuyển tải, hay nói cách khác là

khối lượng dữ liệu có thể chuyển tải sẽ phụ thuộc vào các nhân

tố sau:

1.4. Khoảng cách từ tổng đài nội hạt.

1.5. Kiểu và độ dầy đường dây.

1.6. Kiểu và số lượng các mối nối trên đường dây.

1.7. Mật độ các đường dây chuyển tải ADSL, ISDN và

các tín hiệu phi thoại khác

1.8. Mật độ các đường dây chuyển tải tín hiệu radio.

1.8.1. Ưu điểm của ADSL

(cid:131) PSTN và ISDN là các công nghệ quay số (Dial-up).

(cid:131) ADSL là ‘liên tục/always-on” kết nối trực tiếp.

(cid:131) PSTN và ISDN cho phép chúng ta sử dụng Fax, dữ liệu, thoại,

ADSL: So sánh với PSTN & ISDN

(cid:131) ADSL chỉ chuyển tải dữ liệu tới Internet.

(cid:131) PSTN và ISDN cho phép chúng ta tuỳ chọn ISP nào mà ta muốn

dữ liệu tới Internet, dữ liệu tới các thiết bị khác.

22

kết nối.

Xây dựng thử nghiệm PC Linux hoạt động như một ADSL Router

(cid:131) ADSL kết nối chúng ta tới một ISP định trước.

(cid:131) ISDN chạy ở tốc độ cơ sở 64kbps hoặc 128kbps.

(cid:131) ADSL có thể tải dữ liệu về với tốc độ tới 8Mbps.

(cid:131) PSTN ngắt truy nhập tới Internet khi chúng ta thực hiện cuộc

(cid:131) ADSL cho phép vừa sử dụng Internet trong khi vẫn có thể thực

gọi.

(cid:131) Kết nối Internet qua đường PSTN và ISDN bằng phương thức

hiện cuộc gọi đồng thời.

(cid:131) ADSL không tính cước nội hạt.

quay số có tính cước nội hạt.

(cid:131) Mặc dù Modem ADSL luôn ở chế độ kết nối thường trực, nhưng

Ghi chú:

(cid:131) Các dịch vụ như Fax và thoại có thể được thực hiện cũng trên kết

vẫn có thể cần phải thực hiện lệnh kết nối Internet trên máy PC.

(cid:131) Trên thực tế, tốc độ Download tiêu biểu đối với dịch vụ ADSL

nối dữ liệu ADSL tới Internet.

(cid:131) Dùng bao nhiêu, trả bấy nhiêu. Cấu trúc cước theo lưu lượng sử

gia đình thường đạt tới (up to) 400kbps

(cid:131) Không hạn chế số người sử dụng khi chia sẻ kết nối Internet

dụng (Hoặc theo thời gian sử dụng).

23

trong mạng nội bộ.

Xây dựng thử nghiệm PC Linux hoạt động như một ADSL Router

1.8.2. Các thành phần của ADSL

1.8.2.1. Giới thiệu

Hình 2.5 Mô hình ADSL

Trong phần này chúng ta sẽ lần lượt mô tả chức năng của từng thành

phần của ADSL, bắt đầu từ Modem ADSL tới Nhà cung cấp dịch vụ

Internet

Chúng ta cũng xem xét ở phía ISP để lọc ra những thành phần cơ bản

mà họ sử dụng để cung cấp dịch vụ ADSL.

1.8.2.2. Modem ADSL

(cid:131) Modem ADSL kết nối vào đường dây điện thoại (còn gọi là local

loop) và đường dây này nối tới thiết bị tổng đài nội hạt.

(cid:131) Modem ADSL sử dụng kết hợp một loạt các kỹ thuật xử lý tín

hiệu tiên tiến nhằm đạt được tốc độ băng thông cần thiết trên

đường dây điện thoại thông thường với khoảng cách tới vài km

giữa thuê bao và tổng đài nội hạt.

1.8.2.3. Cơ chế hoạt động của Modem ADSL

(cid:131) ADSL hoạt động bằng cách vận hành cùng lúc nhiều Modem,

24

trong đó mỗi Modem sử dụng phần băng thông riêng có thể.

Xây dựng thử nghiệm PC Linux hoạt động như một ADSL Router

Hình 2.6 Mô hình dải phổ ADSL sử dụng

(cid:131) Sơ đồ trên đây chỉ mô phỏng một cách tương đối, nhưng qua đó

ta có thể nhận thấy ADSL sử dụng rất nhiều Modem riêng lẻ hoạt

động song song để khai thác băng thông tối đa và cung cấp một

tốc độ rất cao.

(cid:131) Mỗi đường kẻ sọc đen ở trên thể hiện một Modem và chúng hoạt

động tại các tần số hoàn toàn khác nhau. Trên thực tế có thể tới

255 Modem hoạt động trên một đường ADSL. Ðiểm đặc biệt ở

chỗ ADSL sử dụng dải tần số từ 26kHz tới 1.1MHz trong

10MHz của băng thông thoại. Tất cả 255 Modems này được vận

hành chỉ trên một con (cid:31)ien đơn.

(cid:131) Lượng dữ liệu mà mỗi Modem có thể truyền tải phụ thuộc vào

các đặc điểm của đường dây tại tần số mà Modem đó chiếm. Một

số Modem có thể không làm việc một chút nào vì sự gây nhiễu từ

nguồn tín hiệu bên ngoài chẳng hạn như bởi một đường dây

(local loop) khác hoặc nguồn phát vô tuyến nào đó. Các Modem

ở tần số cao hơn thông thường lại truyền tải được ít dữ liệu hơn

bởi lý ở tần số càng cao thì sự suy hao càng lớn, đặc biệt là trên

một khoảng cách dài.

1.8.2.4. Mạch vòng / Local Loop

(cid:131) ‘Local loop’ là thuật ngữ dùng để chỉ các đường dây điện thoại

(cid:131) Nguyên nhân xuất hiện thuật ngữ local loop – đó là người nghe

bình thường nối từ vị trí người sử dụng tới công ty điện thoại.

(điện thoại) được kết nối vào hai đường dây mà nếu nhìn từ tổng

25

đài điện thoại thì chúng tạo ra một mạch vòng local loop.

Xây dựng thử nghiệm PC Linux hoạt động như một ADSL Router

(cid:131) Bây giờ chúng ta sẽ tìm hiểu xem các ISP thực hiện cung cấp

1.8.3. Các thành phần ADSL từ phía nhà cung cấp dịch vụ

Hình 2.7 Mô hình đầu cuối ADSL

(cid:131) Như chỉ ra trong khối vàng ở trên, phạm vi Nhà cung cấp dịch vụ

ADSL như thế nào.

gồm có ba thành phần quan trọng

1.9. DSLAM – DSL Access Multiplexer

1.10. BAS – Broadband Access Server.

1.11. ISP – Internet Service Provider.

1.11.1.1. DSLAM

(cid:131) Một thiết bị DSLAM có thể tập hợp nhiều kết nối thuê bao

ADSL – có thể nhiều tới hàng trăm thuê bao – và tụ lại trên một

kết nối cáp quang. Sợi cáp quang này thường được nối tới thiết bị

gọi là BAS – Broadband Access Server, nhưng nó cũng có thể

không nối trực tiếp tới BAS vì BAS có thể được đặt tại bất cứ

26

đâu.

Xây dựng thử nghiệm PC Linux hoạt động như một ADSL Router

Hình 2.8 Thiết bị DSLAM

(cid:131) DSLAM là thiết bị đặt ở phía tổng đài, là điểm cuối của kết nối

ADSL. Nó chứa vô số các Modem ADSL bố trí về một phía

hướng tới các mạch vòng và phía kia là kết nối cáp quang.

1.11.1.2.

Hình 2.9 Thiết bị BAS

BAS

(cid:131) Broadband Access Server (BAS) là thiết bị đặt giữa DSLAM và

POP của ISP. Một thiết bị BAS có thể phục vụ cho nhiều

DSLAM.

(cid:131) Các giao thức truyền thông được đóng gói để truyền dữ liệu

thông qua kết nối ADSL, vì vậy mục đích của BAS là mở gói để

hoàn trả lại các giao thức đó trước khi đi vào Internet. Nó cũng

đảm bảo cho kết nối của bạn tới ISP được chính xác giống như

khi bạn sử dụng Modem quay số hoặc ISDN.

(cid:131) Như chú giải ở trên, ADSL không chỉ rõ các giao thức được sử

dụng để tạo thành kết nối tới Internet. Phương pháp mà PC và

27

Modem sử dụng bắt buộc phải giống như BAS sử dụng để cho

Xây dựng thử nghiệm PC Linux hoạt động như một ADSL Router

kết nối thực hiện được.

(cid:131) Thông thường ADSL sử dụng hai giao thức chính là :

1.12. PPPoE – PPP over Ethernet Protocol.

1.13. PPPoA – Point to Point Protocol over ATM.

1.13.1. Kết nối mạng

(cid:131) Dưới đây sẽ trình bày về những giao thức truyền thông được sử

1.13.1.1. Cơ chế kết nối

(cid:131) Khi kết nối vào Internet, bạn sử dụng các giao thức chạy ở tầng

dụng trên kết nối ADSL.

vận chuyển TCP/IP (chẳng hạn như HTTP – giao thức được sử

dụng bởi các Web Browser). Quá trình này là giống nhau với các

kiểu truy nhập quay số qua PSTN, ISDN và ADSL.

1.13.1.2. Các giao thức được sử dụng giữa Modem và BAS

(cid:131) Khi quay số PSTN/ISDN để truy nhập vào Internet, chúng ta sử

dụng giao thức gọi là PPP để vận chuyển dữ liệu TCP/IP và kiểm

tra cũng như xác thực tên và mật khẩu người truy nhập.

(cid:131) Trong ADSL, PPP cũng thường được sử dụng để kiểm tra tên và

mật khẩu truy nhập, và ATM thì luôn được sử dụng ở mức thấp

28

nhất. Kết nối điển hình như dưới đây :

Xây dựng thử nghiệm PC Linux hoạt động như một ADSL Router

Hình 2.10 ADSL-PPP

1.13.1.3. Vai trò của ATM

Hình 2.11 ATM

(cid:131) ATM – Asynchronous Transfer Mode – được sử dụng như là

công cụ chuyển tải cho ADSL ở mức thấp. Lý do vì đó là cách

thuận tiện và mềm dẻo đối với các công ty thoại muốn kéo dài

khoảng cách kết nối từ DSLAM tới BAS giúp họ có thể đặt BAS

ở bất cứ đâu trên mạng.

(cid:131) Các tham số thiết lập cấu hình ATM:Có hai tham số cần phải

thiết lập cấu hình một cách chính xác trên Modem ADSL để đảm

bảo kết nối thành công tại mức ATM với DSLAM:

1.14. VPI – the Virtual Path Identifier.

29

1.15. VCI – the Virtual Channel Identifier

Xây dựng thử nghiệm PC Linux hoạt động như một ADSL Router

1.15.1. Vai trò của PPP

(cid:131) PPP là giao thức dùng để vận chuyển lưu lượng Internet tới ISP

dọc theo các kết nối Modem và ISDN. PPP kết hợp chặt chẽ các

yếu tố xác thực – kiểm tra tên/mật khẩu – và đó là lý do chính

mà người ta dùng PPP với ADSL.

(cid:131) Mặc dù BAS thực thi giao thức PPP và tiến hành việc xác thực,

nhưng thực ra việc đó được thực hiện bằng cách truy nhập vào

các cơ sở dữ liệu khách hàng đặt tại ISP. Bằng cách đó, ISP biết

được rằng các kết nối do BAS định tuyến tới – đã được xác thực

thông qua giao dịch với cơ sở dữ liệu riêng của ISP.

1.15.2. Modem ADSL trên thực tế

1.15.2.1. Các loại modem ADSL thông minh và thụ động

(cid:131) Modem ADSL thông minh bản thân nó đã tích hợp sẵn các giao

thức truyền thông cần thiết (Như thiết bị Modem ADSL Router

hoặc Modem được sử dụng kết nối qua cổng Card Ethernet

10/100Mb) nên chỉ việc lựa chọn và khai báo VPI/VCI cho

Modem.

(cid:131) Còn Modem ADSL thụ động thì phải hoạt động dựa trên hệ điều

hành của máy tính để cung cấp các giao thức cần thiết. Các loại

Modem này bắt buộc phải cài đặt phần mềm điều khiển Modem

và thiết lập các giao thức PPP, VPI/VCI. Việc cấu hình như vậy

phức tạp và đòi hỏi thời gian nhiều hơn.

(cid:131) Chỉ có Windows 98SE, Windows ME và Windows 2000/XP là

30

có cài sẵn cơ chế thực thi ATM, vì thế người ta ít sử dụng các

Xây dựng thử nghiệm PC Linux hoạt động như một ADSL Router

Modem thụ động trên thực tế. Mặc dù các Modem thông minh có

hỗ trợ các giao thức cần thiết nhưng chúng vẫn có thể được dùng

cho các hệ điều hành nói trên.

Các Modem thụ động có thể nối với PC thông qua giao diện

USB, hoặc có thể được sản xuất dưới dạng PCI Card để cắm

thẳng trên bảng mạch chủ của PC.

(cid:131) Lưu ý là việc khai thác giao thức ATM không có nghĩa là cần

phải có Card mạng ATM cho PC – đó chỉ là cơ chế hỗ trợ bằng

phần mềm trong hệ điều hành.

1.15.3. Mối tương quan giữa thoại và ADSL.

1.15.3.1. Thoại và ADSL

(cid:131) ADSL cho phép cùng lúc vừa truy nhập Internet tốc độ cao lại

vừa có thể thực hiện cuộc gọi cũng trên đường dây đó.

(cid:131) Thiết bị chuyên dụng Splitters được sử dụng để tách riêng các

tần số cao dùng cho ADSL và các tần số thấp dùng cho thoại.

Như vậy, người ta thường đặt các Splitters tại mỗi đầu của đường

(cid:131) Tại phía thuê bao, các tần số thấp được chuyển đến máy điện

dây – phía thuê bao và phía DSLAM.

thoại còn các tần số cao đi đến modem ADSL. Tại các tổng đài,

các tần số thấp được chuyển sang mạng thoại PSTN còn các tần

số cao đi đến ISP.

1.15.3.2. Tốc độ đa dạng

(cid:131) Tốc độ của kết nối giữa modem ADSL và DSLAM phụ thuộc

31

vào khoảng cách đường truyền và tốc độ tối đa được cấu hình

Xây dựng thử nghiệm PC Linux hoạt động như một ADSL Router

sẵn trên cổng của DSLAM.

(cid:131) Còn tốc độ kết nối vào Internet lại còn phụ thuộc vào nhiều yếu

tố khác nữa như dưới đây :

1.16. Số người dùng kết nối vào cùng một DSLAM và

thực tế có bao nhiều người dùng đang khai thác kết nối.

1.17. Tốc độ kết nối giữa DSLAM và BAS.

1.18. Bao nhiêu card DSLAM cùng nối vào một BAS và

bao nhiêu người dùng đang khai thác thực tế kết nối.

1.19. Tốc độ kết nối giữa BAS và ISP.

1.20. Bao nhiêu BAS kết nối vào ISP và bao nhiêu người

dùng thực tế đang khai thác.

1.21. Tốc độ của kết nối từ ISP tới mạng Internet toàn

cầu.

1.22. Bao nhiêu thuê bao của ISP đang khai thác (qua các

giao tiếp khác nhau như quay số PSTN/ ISDN và ADSL).

1.23. ISP tổ chức Caching và Proxy ra sao, liệu thông tin

mà bạn cần khai thác đã được lưu trữ trên Cache chưa hay

phải tải về từ Internet.

1.23.1. Thiết bị Modem ADSL

(cid:131) Hiện trên thị trường có nhiều loại Modem ADSL với hai kiểu kết

nối phổ biến: PCI, USB, phần lớn đều được tích hợp cả Router

với các tính năng NAT, Routing…

32

(cid:131) Modem ADSL thuần túy kết nối bằng USB có sản phẩm của

Xây dựng thử nghiệm PC Linux hoạt động như một ADSL Router

Zoom Model 5510A . . ., hoặc kết nối qua cổng PCI có Compaq

ADSL card internal.

2. Router và Router ADSL

2.1. Giới thiệu Router

2.1.1. Giới thiệu Router

(cid:131) Router là 1 thiết bị mạng dùng để forward các packet đến địa chỉ

đích thông qua 1 quá trình xử lý .Đó là quá trình routing

(cid:131) Router hoạt động ở tầng 3 trong mô hình OSI

2.1.2. Cơ chế hoạt động

(cid:131) Router sẽ tạo ra và duy trì 1 bảng gọi là routing table .Routing

table sẽ lưu giữ các đường đi tốt nhất đến các mạng và các

routing metric tương ứng với các mạng đó

(cid:131) Router sẽ khảo sát các gói packet đến ,lựa chọn con đường tốt

nhất thông qua mạng .Sau đó,router sẽ chuyển gói packet đó ra

port tương ứng để đi đến mạng đích

2.2. Sơ lược về các Router ADSL hiện có trên thị trường và tính năng

(cid:131) Hiện thị trường có nhiều nhà cung cấp các sản phẩm Router

ADSL với nhiều tính năng khác nhau, một số nhãn hiệu Router

ADSL phổ biến như: ZyXEL, Zoom, Planet, Draytek,

Symmetricom, TRENDNET, SpeedCom, Ecom…

(cid:131) Các tính năng phổ biến: IP routing, Static routing, DNS Proxy,

33

Port Forwarding, DHCP server/client, NAT, NAPT.

Xây dựng thử nghiệm PC Linux hoạt động như một ADSL Router

(cid:131) Các tính năng tiên tiến: Virtual Server( Cho phép người dùng

bên ngoài Internet truy cập vào), DMZ ( Một PC trong mạng

LAN có thể được cho phép truyền thông không hạn chế 2 chiều

với thiết bị bên ngoài Internet), DDNS…

(cid:131) Một số Router có các tính năng trên: Planet ADE-4100, Zoom

Model 5554 X5…

Hình 2.12 Modem Zoom 5554 X5 và Modem Planet ADE 4100

3. Routing

3.1. Tổng quát về routing

(cid:131) Thuật ngữ routing được dùng để chỉ một packet đi ra khỏi một

thiết bị ,được định hướng để băng qua mạng đến một thiết bị ở

một mạng khác

(cid:131) Router là thiết bị đảm nhận việc routing trong môi trường (cid:31)ien

mạng.Để thực hiện routing ,router cần có những thông tin cơ bản

sau:

3.2. Destination address ( địa chỉ mạng cần đến )

3.3. Các router lân cận của nó

3.4. Tất cả các con đường có thể đi đến các mạng ở xa

34

3.5. Con đường tốt nhất đi đến mỗi mạng ở xa .Nghĩa

Xây dựng thử nghiệm PC Linux hoạt động như một ADSL Router

là,đối với mỗi mạng ở xa thì phải tìm ra con đường nào là

nhanh nhất hoặc hiệu quả nhất theo một tính toán có sẵn

để đi đến mạng đó

3.6. Duy trì và khảo sát các thông tin định tuyến

(cid:131) Router sẽ học về các mạng ở xa thông qua các router lân cận

hoặc thông qua người quản trị mạng.Sau đó,nó sẽ xây dựng bảng

gọi là bảng routing table miêu tả cách đi đến các mạng ở xa

đó.Nếu 1 mạng được kết nối trực tiếp thì router sẽ tự biết đường

mạng đó .Nếu không ,router sẽ phải học cách đi đến một đường

mạng khác thông qua 2 cách :static và dynamic.

3.7. Static là cách mà nhà quản trị tự thêm vào đường đi

đến một mạng khác vào bảng routing table

3.8. Dynamic là dùng các routing protocol như RIP

,IGRP ,OSPF,EIGRP….

3.9. Routing và Switching

Router Switch

Tốc độ Chậm hơn Nhanh hơn

OSI Layer 3-Network 2-Data link

Địa chỉ Có cấu trúc Không cấu trúc

Broadcasts Không có Có

Bảo mật Chế độ bảo mật cao Kém

Bảng 2.3 Bảng so sánh Routing và Switching

3.10. Routed và Routing

35

Những giao thức hỗ trợ cho tầng mạng được gọi là các giao thức routed

Xây dựng thử nghiệm PC Linux hoạt động như một ADSL Router

hay routable

(cid:131) Routed protocol

3.10.1. Là các bộ giao thức mạng cung cấp đầy đủ

các thông tin trong địa chỉ tầng mạng của nó

Định nghĩa các định dạng và cách dùng các 3.10.2.

các trường trong 1 packet .Thông thường ,packet

được chuyển từ hệ thống cuối này đến hệ thống cuối

khác

VD : IP.AppleTalk … 3.10.3.

Router sử dụng routing protocol để trao đổi routing table và chi sẽ các

thông tin định tuyến.Nói cách khác,các giao thức routing định xác định

cách mà các giao thức routed được gửi

(cid:131) Routing protocol :

(cid:131) Hỗ trợ 1 routed protocol bằng cách cung cấp các

phương tiện để chia sẻ thông tin routing

(cid:131) Cho phép các router trao đổi với các router khác để

duy trì các bảng routing table

(cid:131) VD OSPF, RIP, IGRP, EIGRP ….

3.11. Sự xác định đường đi

(cid:131) Router sử dụng bảng routing table và các địa chỉ mạng để truyền

36

dữ liệu thông qua mạng .Có 2 tác vụ cơ bản :

Xây dựng thử nghiệm PC Linux hoạt động như một ADSL Router

(cid:131) Xác định các đường đi tối ưu

(cid:131) Chuyển các gói packet qua môi trường (cid:31)ien mạng

(cid:131) Quá trình xác định đường đi :

(cid:131) Ước lượng ( đánh giá ) các con đường trên mạng

(cid:131) Xác định con đường nào được dùng .Router sẽ

chuyển packet mà nó nhận được ra port tương ứng

với con đường tốt nhất đến địa chỉ đích có ghi trong

packet

3.12. Routing table

(cid:131) Nhằm hỗ trợ cho quá trình xác định đường đi của gói packet

.Router khởi tạo và duy trì các bảng routing table ,chứa các thông

tin định tuyến

(cid:131) Các thông tin định tuyến thay đổi tùy thuộc vào giao thức định

tuyến.

(cid:131) Thông tin trong bảng routing table

(cid:131) Destination/next-hop associations :

(cid:131) Routing Metric ( độ đo ) :Các giao thức định tuyến khác

nhau sử dụng các độ đo đường đi khác nhau.Routing

metric được dùng để xác định sự “lôi cuốn” của một con

đường.

(cid:131) Routing update Message

37

(cid:131) Router sẽ trao đổi với các router khác và duy trì các

Xây dựng thử nghiệm PC Linux hoạt động như một ADSL Router

routing table của nó thông qua việc truyền các routing

update message.Các Routing update message được trao

đổi giữa các router.

(cid:131) Tùy thuộc các giao thức routing được sử dụng mà các

routing update message sẽ được trao đổi hoặc là theo một

khoảng thời gian xác định hoặc chỉ được trao đổi mỗi khi

kiến trúc mạng có sự thay đổi.

(cid:131) Các thông tin trao đổi thiết yếu là các mạng đích mà router

đó có thể đi đến cùng với metric tương ứng với từng đích

đến.Bằng cách khảo sát các routing update .Các router có

thể xây dựng và duy trì routing table cho chính nó

3.13. Các thuật toán Routing và các metric

3.13.1. Mục tiêu của các thuật toán routing

(cid:131) Tối ưu hóa : Sự tối ưu hóa miêu tả khả năng lựa chọn con đường

đi tốt nhất của các thuật toán routing, dựa vào các metric và các

metric phụ thêm dùng trong tính toán .

(cid:131) Sự đơn giản và giảm overhead : Một thuật toán routing gọi là lý

tưởng nếu như nó giảm được sự tính toán của CPU và giảm tiêu

hao quá nhiều bộ nhớ trong các router.Đây là tiêu chí quan trọng

để mạng có thể mở rộng

(cid:131) Mạnh mẽ và ổn định: Một thuật toán routing cần phải thực thi

chính xác ngay cả khi gặp phải tình huống bất thường hoặc

không dự kiến trước chẳng hạn như lỗi phần cứng ,các lỗi thực

38

thi …

Xây dựng thử nghiệm PC Linux hoạt động như một ADSL Router

(cid:131) Hội tụ nhanh :Độ hội tụ là tiến trình đồng thuận của tất cả các

router trong các đường đi tối ưu .Khi một sự kiện phát sinh trên

mạng làm thay đổi giá trị router ,tính toán lại là điều cần thiết dể

tái thiết lập các kết nối mạng .Các thuật toán routing nào mà có

độ hội tụ chậm thì có thể gây ra các trùng lập đường đi hoặc làm

treo mạng

(cid:131) Sự uyển chuyển :Một thuật toán routing cần phải nhanh chóng và

chính xác thích nghi với một số lượng lớn các trừơng hợp phát

sinh trên mạng .

3.13.2. Các Metric

Là độ đo dùng để xác định con đường đi tốt nhất . Các metric

thường dùng là :

(cid:131) Bandwidth (băng thông) : dung lượng truyền dữ liệu của một kết

nối ( thường là ,10/100Mbps trên đường Ethernet )

(cid:131) Delay ( độ trễ ) : Là thời gian để gửi một packet từ nguồn đến

đích .Độ trễ phụ thuộc vào băng thông ,vào xung đột xảy ra trên

mạng và vào khoảng cách vật lý

(cid:131) Load : số lượng các hoạt động trên một tài nguyên mạng,chẳng

hạn như Router hoặc một đường kết nối

(cid:131) Reliability ( độ tin cậy ) : dùng để chỉ mức độ lỗi trong mỗi liên

kết mạng

(cid:131) Hop count : Số router mà packet phải đi qua trước khi đến đích

(cid:131) Cost : Có giá trị bất kí, thường dựa trên băng thông, tiền, hoặc

39

các thước đo giá trị khác-những thước đo được chỉ định bởi

Xây dựng thử nghiệm PC Linux hoạt động như một ADSL Router

người quản trị mạng

(cid:131) Routing Protocols

3.14. Routing Protocols

Các giao thức routing thuộc về 3 loại khác nhau : Distance-Vector

,Link state, và Hybrid

3.14.1. Distance-vector

(cid:131) Dựa vào chiều và khoảng cách (hop count) đối với tất cả các

(cid:31)ien kết trên mạng .

(cid:131) Cứ sau 1 khoảng thời gian xác định (vd 30s) thì giao thức định

tuyến dạng distance-vector lại gửi đi toàn bộ hoặc một phần của

bảng routing table cho các láng giềng lân cận cho dù có hay

không sự thay đổi trên mạng.Bằng cách nhận các routing table từ

các router lân cân mà router có thể kiểm tra con đường đi đã biết

và thay đổi nếu cần.Quá trình trao đổi thông tin như vậy gọi là

“routing by rumor”

(cid:131) Các loại Distance-vector như : RIP ,IGRP

(cid:131) RIP dùng hop count làm metric và đây là giao thức routing IGP

thông dụng nhất trên internet

(cid:131) IGRP được phát triển bởi Cisco và được dùng cho các mạng lớn

3.14.2. Link state

Link state được thiết kế để khắc phục những hạn chế của distance-

vector.Mỗi khi có thay đổi trên mạng ,ngay lập tức link state sẽ gửi các

40

trigger update .Nó cũng gửi các update theo chu kỳ xác định .Tuy nhiên

Xây dựng thử nghiệm PC Linux hoạt động như một ADSL Router

,thời gian của chu kỳ này dài hơn hẳn so với distance-vector ,khoảng 30

phút mới gửi một lần

VD OSPF

3.14.3. Hybrid

Kết hợp các đặc trưng của cả distance-vector và link state

VD EIGRP

3.15. Giới thiệu các giao thức định tuyến

RIP 3.15.1.

(cid:131) Dùng thuật toán distance-vector để xác định chiều và khoảng

cách đến các mạng trong môi trường (cid:31)ien mạng

(cid:131) Dùng hop count làm metric để lựa chọn đường đi .Hop count

càng nhỏ càng tốt

(cid:131) Mặc định cứ 30s lại gửi các routing update

(cid:131) Hop count tối đa đến một mạng là 15.Nếu lớn hơn 15 thì đường

đến mạng đó xem như không có và packet sẽ bị lọc nếu có đích

đến là mạng đó

(cid:131) Sử dụng rộng rãi do rất dễ cài đặt .Nhiều host (cả unix ) cũng có

thể chạy RIP

(cid:131) RIPv1 là 1 giao thức định tuyến classfull

41

(cid:131) RIPv2 hỗ trợ classless routing

Xây dựng thử nghiệm PC Linux hoạt động như một ADSL Router

3.15.2. IGRP

(cid:131) Là 1 giao thức dạng distance-vector ,được phát triển bởi

Cisco.Nó được phát triển để giải quyết các vấn đề về đặt địa chỉ

cùng với routing trong mạng lớn vượt khỏi khả năng định tuyến

của RIP

(cid:131) Trong khi RIP chọn đường đi với số hop là ít nhất thì IGRP có

thể chọn con đường đi nhanh nhất dựa vào các thông số như là

độ trễ,băng thông ,load và độ tin cậy .Người quản trị mạng có thể

quyết định sự quan trọng của bất kì một trong những metric

này,hoặc cho phép IGRP tự tính toán con đường đi khả dĩ ,tốt

nhất .Theo mặc định,IGRP chỉ dùng thông số băng thông và độ

trễ để xác định chi phí đường đi.IGRP cũng có thể có số hop

count lớn hơn RIP .Nhờ vậy mà mạng sử dụng IGRP có thể mở

rộng hay thu hẹp dể dàng hơn

(cid:131) IGRP gửi các gói định tuyến update theo khoảng thời gian là

90s.Cứ 90s ,nó lại quảng bá các thông tin về mạng cho các

autonomous system cụ thể.IGRP có một số đặc tính quan trọng

sau:

3.16. Tính Linh Hoạt : thích ứng với các topology phức

tạp

3.17. Tính Uyển Chuyển : Các segment khác nhau có thể

có băng thông và độ trể khác nhau

3.18. Tính Mở Rộng : đây là tính năng hữu dụng để hoạt

động trong các mạng có tiềm năng phát triển trong tương

42

lai

Xây dựng thử nghiệm PC Linux hoạt động như một ADSL Router

3.18.1. OSPF

(cid:131) OSPF là một giao thức routing thuộc dạng link-state,đối nghịch

hoàn toàn với các giao thức routing dạng distance-vector như

RIP.OSPF phân phối các thông tin định tuyến giữa các router

trong cùng một autonomous system.OSPF được đưa ra để đáp

ứng nhu cầu đánh địa chỉ trong mạng internetwork mà RIP

không thể đáp ứng được.OSPF có một số đặc trưng sau :

3.19. Tốc độ hội tụ : Trong một mạng rộng ,khi hội tụ RIP

có thể mất đến vài phút ,trong khi OSPF nhanh hơn nhiều

3.20. Hỗ trợ Variable-length subnet mask(VLSM):RIPv1

không hỗ trợ chia subnet và VLSM trong khi OSPF thì có

3.21. Khoảng cách mạng vươn tới được : RIP có giới hạn

là 15 hop count trong khi OSPF thì không có giới hạn

3.22. Sử dụng băng thông : Sau 30s ,RIP lại gửi broadcast

một bảng thông tin định tuyến .Rõ (cid:31)ien,điều này đã làm

cho băng thông bị lãng phí do thông tin trong bảng định

tuyến không phải lúc nào cũng thay đổi .Điều này làm

mạng WAN bị chậm lại .Trong khi đó ,OSPF gửi multicast

các thông tin cập nhật chỉ khi nào có sự thay đổi xảy ra

trên mạng

3.23. Giao thức sử dụng trong chương trình

RIP .Chúng ta sử dụng RIP vì :

(cid:131) Giao thức RIP đơn giản vể nguyên tắc hoạt động

43

(cid:131) Dễ cài đặt

Xây dựng thử nghiệm PC Linux hoạt động như một ADSL Router

(cid:131) Phù hợp với tiêu chí của đại đa số các công ty nhỏ và vừa ,vì

thường chỉ có 1 kết nối ra ngoài

(cid:131) RIP là giao thức được sử dụng rộng rãi nhất trên môi trường

UNIX

4. Các khái niệm cơ bản

4.1. IP tĩnh ( Static IP)

Là địa chỉ IP do khách hàng tự đăng kí với một tổ chức có thẩm

quyền cung cấp IP. Hàng năm khách hàng phải trả chi phí để duy trì

địa chỉ IP đó, chi phí này khá cao.

4.2. IP động ( Dynamic IP)

(cid:131) Thông thường, khi một thuê bao kết nối vào Internet, nhà cung

cấp dịch vụ (ISP) mà thuê bao này đăng ký sử dụng dịch vụ

Internet sẽ cấp cho kết nối này (thực tế là máy chủ làm nhiệm vụ

phân bổ địa chỉ động ví dụ DHCP server trong dialup hay BRAS

trong dịch vụ ADSL của nhà cung cấp dịch vụ) sẽ tự động gắn

cho kết nối của thuê bao một địa chỉ chưa có ai sử dụng trong

một khối địa chỉ dùng chung mà ISP dành cho các thuê bao kết

nối gián tiếp (kết nối động) gọi là vùng pool

(cid:131) Địa chỉ đã được cấp này chỉ được sử dụng trong khoảng thời gian

thuê bao này kết nối Internet, khi thuê bao ngắt kết nối, địa chỉ

này được giải phóng để cho thuê bao khác sử dụng và thuê bao

44

sẽ được cấp một địa chỉ khác trong lần kết nối mới .

Xây dựng thử nghiệm PC Linux hoạt động như một ADSL Router

4.3. DNS

(cid:131) Mọi máy tính, thiết bị mạng (host) trên mạng Internet (cid:31)ien hệ

với nhau bằng địa chỉ IP. Để thuận tiện cho việc sử dụng thì

người ta dùng tên (tên miền) để xác định host đó.

(cid:131) Hệ thống máy chủ tên miền được sử dụng để ánh xạ tên miền

thành địa chỉ IP, nhờ đó khi muốn (cid:31)ien hệ tới các host, người ta

dùng sử dụng chuỗi ký tự dễ nhớ (tên miền), thay vì sử dụng địa

chỉ IP là một dãy số dài khó nhớ.

(cid:131) Khi người dùng có yêu cầu khai báo ánh xạ tên miền vào một địa

chỉ IP thì có thể có 2 lựa chọn sau:

- Yêu cầu người quản trị hệ thống máy chủ quản lý tên miền đó

khai báo vào CSDL tên miền

- Thông qua các giao diện cung cấp cho người dùng tự cập nhật

4.4. Dynamic DNS

(cid:131) Dynamic DNS là phương thức ánh xạ tên miền tới địa chỉ IP có

tần xuất thay đổi cao (do không phải mọi máy tính đều sử dụng

địa chỉ IP tĩnh).

(cid:131) Dịch vụ DNS động (Dynamic DNS) cung cấp một chương trình

đặc biệt chạy trên máy tính của người sử dụng dịch vụ dynamic

DNS gọi là Dynamic Dns Client.

(cid:131) Chương trình này giám sát sự thay đổi địa chỉ IP tại host và (cid:31)ien

hệ với hệ thống DNS mỗi khi địa chỉ IP của host (vốn được cung

cấp bởi ISP bằng phương pháp động) thay đổi và sau đó update

45

thông tin vào cơ sở dữ liệu DNS về sự thay đổi địa chỉ đó.

Xây dựng thử nghiệm PC Linux hoạt động như một ADSL Router

(cid:131) Bằng cách này, cho dù máy chủ có thường xuyên bị thay đổi địa

chỉ thì tên miền vẫn được hệ thống máy chủ DNS trỏ về đúng địa

chỉ được cấp IP mới đó.

4.5. NAT ( Network Address Translation )

4.5.1. Tại sao lại dùng NAT

NAT được sử dụng vì :

(cid:131) Khi một mạng có quá nhiều host trong khi lại không có đủ các

địa chỉ IP public cần thiết để kết nối vào mạng internet tức là làm

cho một địa chỉ IP riêng ( private ) hay một địa chỉ không được

đăng kí có thể truy cập ra mạng internet

(cid:131) Để kết hợp 2 mạng intranet có các địa chỉ IP trùng nhau

(cid:131) Để hỗ trợ load sharing sử dụng một địa chỉ IP

(cid:131) Cung cấp khả năng tái sử dụng một địa chỉ IP đã được dùng

46

Cách NAT được thực hiện 4.5.2.

Xây dựng thử nghiệm PC Linux hoạt động như một ADSL Router

Hình 2.13 Mô hình NAT

(cid:131) Như trong hình vẽ trên, NAT được cấu hình tại Border Router (

tức là router gần với mạng bên ngoài nhất ),nằm giữa mạng bên

trong và mạng bên ngoài.

(cid:131) NAT sẽ chuyển đổi địa chỉ inside local thành địa chỉ inside

global, làm cho dữ liệu có thể trao đổi ra mạng bên ngoài

4.5.3. Các thuật ngữ NAT

(cid:131) Inside Network : Là mạng bao gồm các máy tính có địa chỉ

private.Các PC nằm trong một Inside Network sử dụng những

địa chỉ không được đăng ký hay những địa chỉ được dành riêng

cho các mạng cục bộ nên địa chỉ của chúng không được “hiểu”

bởi các mạng bên ngoài chẳng hạn như mạng internet hay mạng

của ISP.

(cid:131) Outside Network :Là các mạng khác không thuộc hoặc không

cùng chủ sở hữu với Inside Network ,thường thì đây là mạng của

ISP

(cid:131) Inside Local Address: Địa chỉ mạng cục bộ bên trong ,không

được hiểu đối với các mạng bên ngoài

(cid:131) Inside global IP Address :Đây là địa chỉ IP của một host của

mạng bên trong khi nó truy cập một mạng bên ngoài.Địa chỉ IP

này còn được gọi là địa chỉ đã được chuyển đổi

(cid:131) Outside local IP address: Là địa chỉ IP của một host bên ngoài

47

khi nó truy cập vào mạng bên trong

Xây dựng thử nghiệm PC Linux hoạt động như một ADSL Router

Chương 3

LINUX VÀ MẠNG TRONG LINUX

1. Hệ điều hành Linux

1.1. Giới thiệu

(cid:131) Linux được Linus Torvalds, sinh viên của Đại học Tổng hợp

Helsinki Phần Lan manh nha từ năm 1991 và đến 1994 phiên bản

1.0 chính thức được phát hành.

(cid:131) Linux là một hệ điều hành dạng UNIX, nó hoạt động dựa trên

nguyên tắc của hệ điều hành UNIX, tuy nhiên không dựa trên mã

nguồn UNIX mà được viết lại từ đầu.

(cid:131) Linux được phát miễn phí và được phát triển trên Internet. Linux

đã được phổ biến và sử dụng rộng rãi trong thời gian ngắn.

(cid:131) Linux là hệ điều hành đa nhiệm và đa người dùng, có khả năng

tương thích với các hệ mở, có nhiều công cụ, ứng dụng được

48

phân phối hầu như miễn phí.

Xây dựng thử nghiệm PC Linux hoạt động như một ADSL Router

1.2. Kiến trúc của hệ điều hành Linux

Hình 3.1 Mô hình kiến trúc Linux

1.2.1. Hạt nhân (Kernel)

(cid:131) Là trung tâm điều khiển của hệ điều hành Linux, chứa các mã

nguồn điều khiển toàn bộ hệ thống.

(cid:131) Kernel được thiết kế theo dạng Modul do đó kích thước thật sự

của nó rất nhỏ. Chúng chỉ tải những bộ phận cần thiết lên bộ nhớ,

các bộ phận khác sẽ được tải lên khi cần do đó không lãng phí bộ

nhớ.

(cid:131) Kernel của Linux có thể truy xuất tới toàn bộ các tính năng phần

cứng của máy tính.

1.2.2. Shell

(cid:131) Shell cung cấp tập lệnh cho người dùng thao tác với Kernel để

thực hiện công việc. Shell đọc các lệnh từ người dùng và xử lý.

(cid:131) Có nhiều loại Shell dùng trong Linux, bộ lệnh của mỗi Shell

khác nhau: C Shell sử dụng các lệnh tương tự C, Bourne Shell sẻ

dụng ngôn ngữ lệnh khác…

49

(cid:131) Shell sử dụng chính trong Linux là GNU Bourne Again Shell

Xây dựng thử nghiệm PC Linux hoạt động như một ADSL Router

(bash), phát triển từ Bourne Shell với các tính năng: điều khiển

các tiến trình, các lệnh history, tên tập tin dài…

1.2.3. Các tiện ích

Dùng cho nhiều thứ như : thao tác tập tin, đĩa nén, sao lưu tập tin…

Các tiện ích có thể là các lệnh thao tác hay các chương trình giao diện

đồ họa.

1.2.4. Chương trình ứng dụng

Các chương trình lớn như Word, hệ quản trị cơ sở dữ liệu… là các

chương trình có độ phức tạp lớn và thường là do nhà sản xuất viết ra.

2. Mạng trong Linux

2.1. Giao thức mạng trong Linux

Linux hỗ trợ rất nhiều giao thức mạng khác nhau.Sau đây là một số

các giao thức điển hình

(cid:131) TCP/IP

(cid:131) TCP/IP version 6

(cid:131) IPX/SPX

(cid:131) Bộ giao thức AppleTalk

(cid:131) Mạng WAN(Frame Relay,X.25…)

(cid:131) ISDN

(cid:131) PPP,SLIP,PLIP

50

(cid:131) ATM

Xây dựng thử nghiệm PC Linux hoạt động như một ADSL Router

2.2. Network Interconnection

Linux có rất nhiều tính năng .Linux có thể được cấu hình để hoạt

động như là 1 router, bridge v.v…

2.2.1. Router

Linux Kernel được xây dựng có các tính năng routing trong

đó.Linux được sử dụng làm router sẽ tiết kiệm được nhiều chi

phí so với việc sử dụng các router thương mại .Những kernel gần

đây còn đưa vào các tùy chọn đặc biệt như :

(cid:131) Multicasting : Cho phép máy tính hoạt động như một

router mà các gói IP packet có nhiều địa chỉ đích

(cid:131) IP policy routing : Thông thường, 1 router quyết định làm

gì với một packet nhận được

2.2.2. Bridge

Linux kernel được xây dựng sẵn để hoạt động như một Ethernet

Bridge.Ngoài ra, nếu muốn biến PC Linux thành một bridge có

nhiều port (hay còn gọi là switch) thì bạn có thể tham khảo thêm

chương trình softswitch

2.2.3. IP Masquerade

IP Masquerade được phát triển như là một chức năng mạng của

Linux . Nếu một host Linux kết nối đến mạng internet và tính

51

năng IP masquerade được bật lên thì sau đó những máy kết nối

Xây dựng thử nghiệm PC Linux hoạt động như một ADSL Router

với nó ( trong cùng một mạng LAN hoặc kết nối với những

modem) có thể ra internet tốt ,ngay cả khi chúng không có đăng

ký địa chỉ IP address. Điều này có thể làm giảm chi phí bởi vì rõ

(cid:31)ien là nhiều người có thể kết nối ra internet chỉ với mỗi một kết

nối bằng modem đồng thời cũng giúp bảo mật hiệu quả hơn (

máy host Linux PC đó có thể hoạt động như một firewall )

Có thể tham khảo thêm về IP masquerade tại địa chỉ

http://ipmasq.home.ml.org/

http://www.indyramp.com/masq/links.pfhtml

http://metalab.unc.edu/mdw/HOWTO/IP-Masquerade-

HOWTO.html

2.2.4. IP Accounting

[*] IP: accounting

Networking options −−−>

Các chức năng IP accounting của Linux kernel cho phép bạn có

thể tập hợp và khảo sát 1 vài dữ liệu mạng hữu dụng.Các dữ liệu

được tập hợp bao gồm số lượng các packet và số byte tương ứng

(cid:31)ien(cid:31)ss cài đặt và cấu hình kernel,bạn cần phải dùng câu lệnh

ipfwadm ( kernel 2.0 ) hoặc ipchains ( đối với kernel 2.2 )để cấu

hình IP Accounting .Lẽ dĩ nhiên ,chúng ta cũng có nhiều cách để

52

loại bỏ thông tin thống kê của IP Accounting

Xây dựng thử nghiệm PC Linux hoạt động như một ADSL Router

2.2.5. IP aliasing

IP aliasing được sử dụng nhằm mục đích cung cấp khả năng

đánh nhiều địa chỉ IP trên cùng một thiết bị mạng ở cấp độ thấp (

ví dụ 2 địa chỉ IP trên cùng một Ethernet card ).Nó thường được

dùng cho các dịch vụ hoạt động dựa trên địa chỉ ip khác nhau mà

chúng lắng nghe ( ví dụ như “multihosting” hay “virtual domain”

)

Xem thêm tại

IP Aliasing HOWTO

2.2.6. Traffic Shaping

1 Chương trình Traffic Shaper là 1 thiết bị mạng ảo ,cho phép

chúng ta có thể giới hạn tốc độ của luồng dữ liệu ra bên ngoài

trên một thiết bị mạng khác.Điều này thật sự hữu dụng trong

trường hợp các ISP muốn chỉ định tốc độ cho mỗi user

client.Xem chi tiết tại :

http://metalab.unc.edu/mdw/HOWTO/NET3-4-HOWTO-

6#ss6.15

2.2.7. Firewall

Networking options −−−>

[*] Network firewalls

....

[*] IP: forwarding/gatewaying

....

53

[*] IP: firewalling

Xây dựng thử nghiệm PC Linux hoạt động như một ADSL Router

[ ] IP: firewall packet

logging

1 Firewall là 1 thiết bị bảo vệ cho mạng nội bộ.Nó được thiết kế

để điều khiển luồng packet dựa trên thông tin về nguồn ,đích đến

,port và loại packet có trong mỗi packet

Có nhiều công cụ firewall khác nhau được cài đặt sẵn trong hạt

nhân kernel của Linux . Các loại firewall khác là TIS và

SOCKS.Các firewall này kết hợp với các công cụ khác để chặn

hoặc chuyển hướng của tất cả các loại traffic và protocol . Chúng

ta cũng có thể thực thi nhiều chính sách bảo mật khác nhau thông

qua file cấu hình hoặc giao diện đồ họa của chương trình

Tham khảo

TIS homepage

SOCKS

Firewall HOWTO

2.2.8. Port Forwarding

Sự gia tăng số lượng các máy tính và người dùng trên mạng đã

kéo theo sự gia tăng số lượng truy cập đến các tài nguyên trên

mạng .Nhưng ,sự gia tăng này cũng làm gia tăng các vấn đề về

bảo mật mạng.Một máy tính chứa cơ sở dữ liệu không nên nối

trực tiếp đến mạng internet

54

Port Forwarding có thể giải quyết được hầu hết vấn đề phát sinh

Xây dựng thử nghiệm PC Linux hoạt động như một ADSL Router

từ sự truy cập này.Trong firewall, các IP packet đến từ một port

xác định có thể được re-written và chuyển đến cho server cung

cấp dịch vụ.Các packet được server trả về cũng sẽ được firewall

re-written .

2.2.9. Loab Balancing

Yêu cầu về load balancing thường nảy sinh khi truy cập đến

những database/web server .Do có nhiều client truy cập đến và

gửi các request đồng thời đến 1 server-> sự quá tải .Do đó ,nó

đòi hỏi phải có nhiều server để có thể chuyển tiếp các request

đến các server dự phòng nhằm thực hiện cân bằng tải

2.2.10. IP Transparent Proxy Server

Là 1 thành phần cho phép bạn chuyển hướng (redirect) các

server hoặc các dịch vụ có đích đến trên một máy khác đến các

dịch vụ trên bản thân máy proxy này .Tính năng này rất hữu ích

khi bạn sử dụng Linux PC như một router và thêm chức năng

proxy

2.2.11. EQL ( Multiple Line Traffic Equaliser )

Thiết bị EQL được tích hợp vào trong hạt nhân Linux. Nếu có 2

đường kết nối serial và có các giao thức SLIP và PPP sử dụng

trên đó thì hoàn toàn có thể kết hợp 2 đường serial đó lại hoạt

động như một kết nối có tốc độ gấp đôi bằng cách sử dụng

driver này (EQL) và rõ (cid:31)ien là chi phí sẽ giảm hơn nhiều.

Để cấu hình EQL ,bạn cần phải có công cụ eql tại địa chỉ :

55

ftp://metalab.unc.edu/pub/linux/system/Serial/eql-1.2.tar.gz

Xây dựng thử nghiệm PC Linux hoạt động như một ADSL Router

Thông tin chi tiết hơn tại :

http://metalab.unc.edu/mdw/HOWTO/NET-3-4-HOWTO-

6.html#ss6.2

2.2.12. Tunneling ,mobile IP và virtual private networks

Linux kernel cho phép sự đóng gói của các giao thức. Điều này

có nghĩa là bạn có thể làm đường hầm IPX xuyên qua IP ,cho

phép 1 kết nối của 2 mạng IPX đi xuyên qua 1 đường liên kết

mà ở đó chỉ dùng mỗi giao thức IP .Nó cũng có thể thực thi

đóng gói IP-IP ,thực sự cần thiết cho việc hỗ trợ mobile

56

IP,multicast, và amateur radio

Xây dựng thử nghiệm PC Linux hoạt động như một ADSL Router

Chương 4

CÁC ỨNG DỤNG TÍCH HỢP VÀO HỆ

THỐNG

1. Giới thiệu các ứng dụng

1.1. Zebra

(cid:131) Zebra là 1 routing daemon.Nó có thể hỗ trợ rất nhiều giao thức

định tuyến chẳng hạn như RIPv1,RIPv2,OSPF,BGP…

(cid:131) Zebra là chương trình hoàn toàn miễn phí và rất thông dụng trên

môi trường Linux

(cid:131) Cấu hình và sử dụng rất đơn giản ( gần giống router thật )

1.2. Tính năng Dynamic DNS : noip-duc-linux.tar

1.2.1. Giới thiệu

(cid:131) www.no-ip.com là trang web cung cấp nhiều giải pháp về IP và

tên miền. No-ip FREE là một trong số các dịch vụ được cung cấp

miễn phí cho phép người dùng không có IP cố định được nhận

biết trên môi trường Internet.

(cid:131) Dùng tính năng Dynamic DNS Update Client được cung cấp bởi

dịch vụ DDNS Server từ trang web : www.no-ip.com

(cid:131) Từ trang web www.no-ip.com, tạo một Account để sử dụng dịch

57

vụ. Sau đó cài gói Dynamic DNS Update Client lên máy tính

Xây dựng thử nghiệm PC Linux hoạt động như một ADSL Router

Linux dùng làm Router ADSL, khai báo tài khoản cho chương

trình và sử dụng.

(cid:131) Gói Dynamic DNS Update Client được download tại địa chỉ :

www.no-ip.com/download

(cid:131) Qui trình xử lý

Hình 4.1 Quá trình xử lý của dịch vụ DynDNS

58

(cid:131) Server B sử dụng dịch vụ ADSL và có đăng kí dịch vụ Dynamic

Xây dựng thử nghiệm PC Linux hoạt động như một ADSL Router

DNS tại www.no-ip.com với tên miền là www.routerlinux.no-

ip.com

(cid:131) Tại thời điểm 1, Server B được dịch vụ cấp phát địa chỉ động của

ISP cấp cho địa chỉ 203.162.57.111 và được ánh xạ đến tên miền

đã đăng kí.

(cid:131) Tại thời điểm 2, Server B được cấp phát địa chỉ khác:

203.162.57.112 và được chương trình dynamic dns client thực

hiện cập nhật tới Server của no-ip. Lúc này tên miền của Server

B sẽ được ánh xạ tới địa chỉ mới

(cid:131) Client A sẽ truy vấn tên miền của Server B và được trả lại địa chỉ

IP của Server B, từ đó kết nối tới Server B.

1.3. FAIR NAT

1.3.1 Giới thiệu

Đây là chương trình dành cho Linux Router.Nó cho phép thực hiện

những việc tương tự như chia sẻ bandwidth ngang bằng giữa các client

trong mạng nội bộ.

1.3.2 Kiến trúc Fair Nat

HTB class (for bandwidth sharing)

|

\-- PRIO (for prioritizing interactive traffic)

|

59

\--- Interactive: SFQ (to treat concurrent connections fairly)

Xây dựng thử nghiệm PC Linux hoạt động như một ADSL Router

\--- Normal: SFQ

\--- High-Traffic: SFQ

[ \--- P2P: SFQ (if IPP2P support is enabled only) ]

Để có thể hiểu rõ về FAIR NAT ,chúng ta cần nắm một số khái niệm

sau :

1.3.1.1. Sơ lược về các loại hàng đợi không phân lớp

(cid:131) FIFO,First-In First-Out(pfifo và bfifo) :Thuật toán của FIFO thể

hiện nến tảng cho loại hàng đợi mặc định trong Linux (pfifo_fast)

.FIFO không thực thi bất cứ sự điều chỉnh hay tái sắp xếp packet

nào cả.Nó chỉ đơn giản truyền các packet ngay sau khi nhận và

60

định hàng đợi cho packet.

Xây dựng thử nghiệm PC Linux hoạt động như một ADSL Router

Hình 4.2 Chiến lược FIFO

Một quy tắc hàng đợi FIFO có một kích thước hữu hạn ( kích cỡ

vùng đệm ) để ngăn ngừa sự quá tải trong trường hợp nó không

thể giải phóng các packet ra khỏi hàng đợi nhanh như là nó nhận

vào .Linux thực thi 2 lại fifo ,một hoạt động dựa trên byte ( bfifo

)và một còn lại dựa trên packet ( pfifo ) .Dù vậy,các loại hàng

đợi FIFO đều định nghĩa kích cỡ thông qua tham số limit .Trong

đó,đơn vị của bfifo là byte còn đơn vị của pfifo là packet.

Example 6. Specifying a limit for a packet or byte FIFO

[root@leander]# cat bfifo.tcc

/*

* make a FIFO on eth0 with 10kbyte queue size

*

*/

dev eth0 {

egress {

fifo (limit 10kB);

}

}

[root@leander]#tcc < bfifo.tcc

# ====================Device eth0 ===============

tc qdisc add dev eth0 handle 1:0 root dsmark indices 1

default_index 0

61

tc qdisc add dev eth0 handle 2:0 parent 1:0 bfifo limit 10240

Xây dựng thử nghiệm PC Linux hoạt động như một ADSL Router

[root@leander]# cat pfifo.tcc

/*

* make a FIFO on eth0 with 30 packet queue size

*

*/

dev eth0 {

egress {

fifo (limit 30p );

}

}

[root@leander]# tcc < pfifo.tcc

# =====================Device eth0

==================

tc qdisc add dev eth0 handle 1:0 root dsmark indices 1

default_index 0

tc qdisc add dev eth0 handle 2:0 parent 1:0 pfifo limit 30

62

(cid:131) Pfifo_fast ,quy tắc hàng đợi mặc định của LINUX

Xây dựng thử nghiệm PC Linux hoạt động như một ADSL Router

Hình 4.3 Qui tắc hàng đợi Linux

(cid:131) Pfifo_fast là quy tắc hàng đợi mặc định cho tất cả các interfaces

trong Linux .Dựa trên một quy ước của hàng đợi FIFO,quy tắc

hàng đợi này đề xuất một vài sự ưu tiên .Nó cung cấp một vài dải

băng tần khác nhau ( các FIFO riêng biệt ) để chia lưu lượng .Vì

thế ,band 1 thì luôn được làm rỗng để chờ packet trước khi band

2 được giải phóng khỏi hàng đợi

63

(cid:131) Stochastic Fair Queuing (SFQ)

Xây dựng thử nghiệm PC Linux hoạt động như một ADSL Router

Hình 4.4 Chiến lược Round Robin

Example 7. Creating an SFQ

[root@leander]# cat sfq.tcc

/*

* make an SFQ on eth0 with a 10 second perturbation

*

*/

dev eth0 {

64

egress {

Xây dựng thử nghiệm PC Linux hoạt động như một ADSL Router

sfq( perturb 10s );

}

}

[root@leander]# tcc < sfq.tcc

# ================== Device eth0

===================

tc qdisc add dev eth0 handle 1:0 root dsmark indices 1

default_index 0

tc qdisc add dev eth0 handle 2:0 parent 1:0 sfq perturb 10

(cid:131) Là 1 trong các thuật toán fair queue .SFQ không chính xác bằng

các thuật toán khác .Nhưng nó có ưu điểm là cần ít sự tính toán

trong khi vẫn hoạt động tốt

(cid:131) Cốt lõi của SFQ là việc chia các luồng TCP session hoặc UDP

stream ra thành một số lớn các hàng đợi FIFO ( như chúng ta

thấy trong hình trên ) ,1 cho mỗi luồng .Sau đó ,traffic được lưu

thông theo cơ cấu round robin,tạo cơ hội cho mỗi session gửi dữ

liệu mỗi khi đến lượt

(cid:131) Điều này rõ (cid:31)ien là rất công bằng ,đảm bảo rằng không có luồng

nào bị ngắt .Nó hoàn toàn không phân phát cho mỗi session 1

hàng đợi nào cả .Thay vào đó, nó dùng 1 thuật toán để chia

traffic vào trong một số các hàng đợi hữu hạn bằng cách sử dụng

thuật toán băm

65

(cid:131) Tham số và cách dùng

Xây dựng thử nghiệm PC Linux hoạt động như một ADSL Router

1.4. Perturb

Thời gian để tái cấu hình hashing.Nếu thông số này không được

thiết lập thì bảng băm sẽ không được tái cấu hình.10s là giá trị tốt nhất

1.5. Quantum

Số lượng byte của một luồng (stream) được cho phép giải phóng

khỏi hàng đợi trước khi đến lượt một hàng đợi khác.Mặc định là 1 (

bằng giá trị MTU ).Không được thiết lập nhỏ hơn MTU

(cid:131) Ví dụ cấu hình

# tc qdisc add dev ppp0 root sfq perturb 10

# tc −s −d qdisc ls

qdisc sfq 800c: dev ppp0 quantum 1514b limit 128p flows

128/1024 perturb 10sec

Sent 4812 bytes 62 pkts (dropped 0, overlimits 0)

800c: là một số handle được đăng kí tự động,limit 128 ở đây nghĩa là

128 packet có thể đợi trong hàng đợi này.

66

(cid:131) TBF,Token Bucket Filter

Xây dựng thử nghiệm PC Linux hoạt động như một ADSL Router

Hình 4.5 Hàng đợi Token Bucket Filter

Đây là loại hàng đợi được xây dựng dựa trên các thẻ bài (token) và

thùng chứa ( bucket ).Đơn giản, nó chỉ điều tiết lưu lượng được chuyển

trong 1 interface.TBF là giải pháp rất tốt để giới hạn tốc độ các packet

được đưa ra khỏi hàng đợi tại một interface cụ thể .Nó đơn giản là làm

giảm lưu lượng chuyển tại một tốc độ xác định

Packet chỉ được chuyển đi nếu có đủ các thẻ bài có giá trị.Bằng

không,nó sẽ bị hoãn lại.Sự làm trể packet theo cách này sẽ phát sinh

67

một độ trễ giả vào trong vòng di chuyển của packet

Xây dựng thử nghiệm PC Linux hoạt động như một ADSL Router

Example 9. Creating a 256kbit/s TBF

[root@leander]# cat tbf.tcc

/*

* make a 256kbit/s TBF on eth0

*

*/

dev eth0 {

egress {

tbf( rate 256 kbps, burst 20 kB, limit 20 kB, mtu

1514 B );

}

}

[root@leander]# tcc < tbf.tcc

# ==================== Device eth0

=================

tc qdisc add dev eth0 handle 1:0 root dsmark indices 1 default_index 0

tc qdisc add dev eth0 handle 2:0 parent 1:0 tbf burst 20480 limit 20480

mtu 1514 rate 32000bps

1.5.1.1. Hàng đợi phân lớp

(cid:131) Linux HTB( Hierrachical Token Bucket)

Đây là một cấu trúc hàng đợi mới trong linux .Ưu điểm của nó là

có thể hạn chế được lưu lượng của các loại traffic .Thêm vào

đó,nó còn có khả năng thiết lập các loại dữ liệu lưu thông bên

68

dưới các loại khác tạo nên một loại lưu thông có cấu trúc

Xây dựng thử nghiệm PC Linux hoạt động như một ADSL Router

HTB sử dụng khái niệm về thẻ bài (token) và thùng chứa (bucket

)

1 phần cơ bản trong HTB qdisc ( classful queuing discipline –

quy tắc hàng đợi phân lớp ) là kỹ thuật vay mượn .Vay mượn ở

đây có nghĩa là lớp con sẽ mượn các thẻ bài từ lớp cha của chúng

khi chúng có tốc độ vượt quá mức cho phép .Lớp con sẽ luôn cố

gắng thử mượn các thẻ bài cho đến khi chúng đạt đến giới hạn tối

đa .Lúc đó,nó sẽ bắt đầu tạo hàng đợi packet để chuyển đi cho

đến khi nhiều thẻ bài có giá trị.Bởi vì ở đây chỉ có 2 lớp có thể

được tạo với HTB .Bảng và sơ đồ sau sẽ xác định các trạng thái

có thể có và cách hoạt động của kỹ thuật vay mượn

Lớp Trạng Trạng thái bên trong Hành động phát sinh thái của HTB

lớp

Các lớp lá sẽ giải phóng các byte nằm trong HTB_CAN_SEND

hàng đợi đến các thẻ bài có giá trị ( không Leaf < rate

nhiều hơn burst packet)

Lớp lá sẽ cố gắng mượn tokens/ctokens từ lớp >rate

Leaf cha .Nếu tokens tồn tại ,chúng sẽ được mượn

tùy theo số byte cburst

69

Không có packet nào được đưa ra khỏi hàng Leaf >ceil HTB_CANT_SEND

Xây dựng thử nghiệm PC Linux hoạt động như một ADSL Router

đợi .Điều này sẽ làm packet bị trễ và làm tăng

độ trễ để đạt được tốc độ mong muốn

Lớp inner sẽ mượn token cho lớp con Inner,

< rate HTB_CAN_SEND

root

Inner, Lớp inner sẽ cố gắng mượn tokens/ctokens từ >rate

HTB_MAY_BORROW lớp cha Root

Lớp inner không mượn token từ lớp cha và Inner, HTB_CANT_SEND

>ceil cũng chẳng trả token/ctoken cho lớp con Root

Bảng 4.1 Các thông số của lớp HTB

Sơ đồ miêu tả quá trình mượn các thẻ bài và cách mà theo đó các

thẻ bài được trao đổi với lớp cha .Để mô hình vay mượn hoạt động ,mỗi lớp

phải có một số lượng cụ thể các thẻ bài được dùng cho bản thân nó và các lớp

con của nó .

Bất kì lớp con nào muốn vay mượn thẻ bài sẽ gửi yêu cầu đến

70

lớp cha của nó

Xây dựng thử nghiệm PC Linux hoạt động như một ADSL Router

Hình 4.6 Lớp HTB

Các tham số trong lớp HTB

(cid:131) Default : Là tham số tùy chọn cho mỗi đối tượng HTB

qdisc ( qdisc là những quy tắc hàng đơi ví dụ : FIFO là

loại hàng đợi có quy tắc vào trước ,ra trước ).Mặc định của

default là 0

(cid:131) Rate : Dùng để thiết lập tốc độ tối thiểu để giới hạn lưu

lượng trao đổi .Điều này tương đương với một tốc độ

thông tin đã xác định ( CIR-committed information rate )

71

hoặc để đảm bảo băng thông cho một lớp lá (leaf) cho

Xây dựng thử nghiệm PC Linux hoạt động như một ADSL Router

trước.(tốc độ sàn ?)

(cid:131) Ceil : Được dùng để thiết lập tốc độ tối đa mà mình mong

muốn để giới hạn lưu lượng trao đổi .Mô hình vay mượn

sẽ mô tả làm thế nào để sử dụng tham số này.Có thể xem

cái này giống với băng thông tối đa ( tốc độ trần ?)

(cid:131) Burst : Đây là kích cỡ của thùng chứa rate.HTB sẽ giải

phóng một số lượng burst bytes trước khi chờ nhiều thẻ

bài hơn đến

(cid:131) Cburst:Đây là kích cỡ của thùng chứa ceil . HTB sẽ giải

phóng một số lượng cburst bytes trước khi chờ nhiều thẻ

bài hơn đến

(cid:131) Quantum: đây là tham số chính được dùng bởi HTB để

điều khiển sự vay mượn .Thường thì, quantum được tính

toán bởi HTB ,chứ không phải được chỉ định bởi người

dùng.Sự chỉnh sửa tham số này có thể sẽ dẫn đến những

hậu quả ghê gớm làm mất cân bằng giữa sự vay mượn và

sự điều chỉnh

(cid:131) R2q : được tính bởi user .Đây là một nhân tố giúp HTB

xác định quantum tối ưu cho từng lớp cụ thể

(cid:131) Mtu ( maximum transfer unit ) :

(cid:131) PRIO ,priority scheduler

Thật sự PRIO không có thay đổi gì cả .Nó chỉ chia traffic dựa vào cấu

72

hình filter của bạn .Có thể xem đây như là một Pfifo_fast mở rộng mà ở

Xây dựng thử nghiệm PC Linux hoạt động như một ADSL Router

đây ,mỗi band là một lợp riêng biệt chứ không chỉ đơn thuần là một

FIFO

Khi một packet được đưa vào trong hàng đợi PRIO,một lớp được chọn

dựa vào câu lệnh filter mà bạn đã áp.Theo mặc định ,3 lớp được tạo

ra.Lúc này ,chúng chỉ là những hàng đợi hoàn toàn FIFO và không có

cấu trúc bên trong ,nhưng bạn có thể thay thế chúng bằng bất kì loại

hàng đợi nào mà bạn có thể sử dụng được

Khi một packet cần được giải phóng khỏi hàng đợi, class:1 được ưu

tiên trước.Các lớp cao hơn chỉ dùng nếu các band thấp hơn hoàn toàn

không giải phóng packet

Loại hàng đợi này rất hữu dụng nếu như bạn muốn định mức độ ưu tiên

cho từng loại traffic xác định mà không chỉ dùng cờ TOS mà dùng tất

cả sức mạnh của tc filter.

(cid:131) Tham số và ý nghĩa các tham số

1.6. Bands

S ố lượng các band được tạo ra .Mỗi band thật sự là một lớp

1.7. Priomap

N ếu bạn không cung cấp tc filter (không cấu hình ) để phân loại

traffic thì PRIO sẽ dựa vào TC_PRIO priority để xác định làm thế nào để đưa

traffic vào hàng đợi

73

(cid:131) Ví dụ

Xây dựng thử nghiệm PC Linux hoạt động như một ADSL Router

Chúng ta tạo một cây

root 1: prio

/ | \

1:1 1:2 1:3

10: 20: 30:

sfq tbf sfq

band 0 1 2

Phần lớn traffic sẽ đi đến 30: , các traffic tương tác đến 20: hoặc 10:

Các câu lệnh dùng để cấu hình

# 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)

75

Như vậy ,tất cả các traffic đều đi đến handle 30:,cái có độ ưu tiên thấp nhất

Xây dựng thử nghiệm PC Linux hoạt động như một ADSL Router

trong các band,đúng như dự định.Bây giờ ,để xác định các interactive traffic

đi đến các band cao hơn, chúng ta tạo ra môt vài interactive traffic

# 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

`

PC Linux / ADSL Router

ISP

Local Area Network

User 1

User 2

1.1. Mô hình

Hình 5.1 Linux Router Network Diagram

1.2. Yêu cầu

Để cài đặt và cấu hình cho Linux PC hoạt động như 1 ADSL router

77

,cần phải có các thiết bị và phần mềm thiết yếu sau :

Xây dựng thử nghiệm PC Linux hoạt động như một ADSL Router

1.2.1. Phần cứng :

(cid:131) 1 Modem ADSL (Ở đây chúng tôi dùng Modem PCI Conexant

ADSL)

(cid:131) Tối thiểu 1 Card mạng

(cid:131) Khi gắn modem xong ,kiểm tra lại xem thiết bị có được nhận

thấy hay chưa bằng lệnh

/sbin/lspci

Kết quả nếu bạn chưa cài đặt driver

00:0b.0 System peripheral: Unknown device 14f1:1610 (rev

01)

00:0b.1 ATM network controller: Unknown device

14f1:1611 (rev 01)

Và nếu phiên bản linux của bạn có hỗ trợ phần cứng đó hoặc

bạn đã cài đặt driver ,kết quả có thể tương tự như sau :

00:0b.0 System peripheral: Unknown device 14f1:1610 (rev

01)

00:0b.1 ATM network controller: Unknown device

14f1:1611 (rev 01)

1.2.2. Phần mềm :

(cid:131) Driver cho modem ( đối với conexant là gói CnxADSL-

6.1.2.007-PIM-4 )

(cid:131) Gói phần mềm hỗ trợ chuẩn ATM sử dụng trong công nghệ

78

ADSL trên Linux : linux-atm-2.4.0

Xây dựng thử nghiệm PC Linux hoạt động như một ADSL Router

(cid:131) Bản bổ sung ( bản patch ) của giao thức PPP : ppp-2.4.0b2-

patched

(cid:131) Iptables để có thể thực hiện công việc NAT cho các máy bên

trong mạng LAN có thể ra ngoài internet

(cid:131) Chương trình Routing Daemon : Zebra

1.3. Thực hiện cài đặt

1.3.1. Cài đặt linux-atm-2.4.0

Để cài đặt driver ,bạn cần phải cài đặt thư viện ATM trước ,bạn có thể kiểm

tra xem bộ thư viện này đã có chưa bằng cách tìm file

/usr/include/atm.h

Nếu đã có rồi thì tốt hơn hết là bạn nên sử dụng thư viện atm tại website

Cài đặt như các thư viện thông thường trên linux

bzip2 -d linux-atm-2.4.0.tar.bz2

tar xvf linux-atm-2.4.0.tar

cd linux-atm-2.4.0

./configure --pr–ix=/usr

make

make install

1.3.2. Cài đặt driver

bzip2 -d C–xADSL-6.1.2.007-PIM-4.tar.bz2

79

tar xvf CnxADSL-6.1.2.007-PIM-4.tar

Xây dựng thử nghiệm PC Linux hoạt động như một ADSL Router

cd CnxADSL-6.1.2.007-PIM-4

make

make install

1.3.3. Cài đặt bản patch của giao thức PPP

bzip2 -d p–p-2.4.0b2-patched.tar.bz2

tar xf ppp-2.4.0b2-patched.tar

cd ppp-2.4.0b2-patched

./configure --pr–ix=/usr

make

make install

Sau khi cài đặt xong bản patch của giao thức ppp thì sẽ có module

pppoatm.o xuất hiện. Để đảm bảo module này được load lên để sử dụng bạn

cần phải dùng câu lệnh :

/sbin/insmod pppoatm

Hoặc

modprobe pppoatm ( nếu dùng kernel 2.2)

1.4. Cấu hình

Cấu hình PPP để kết nối đến ADSL Provider 1.4.1.

Chỉnh sửa file cấu hình /etc/ppp/options

# Uncomment the following line if you have routed ADSL

#[IP address of router]:

# Uncomment the following line for debug information

80

#debug

Xây dựng thử nghiệm PC Linux hoạt động như một ADSL Router

passive

defaultroute

usepeerdns

noauth

name [Your user name]

user [Your user name]

plugin /usr/lib/pppd/plugins/pppoatm.so

# The following line is the [VCI].[VPI] number of your provider

8.35 password “

1.4.1.1. Cấu hình line ADSL ( với VPI=8 và VCI=35)

Dùng câu lệnh :

cnxadslconfig --vp–8 --vc–35 -q0 –w0 –m0 –p10–000 -c -–0 –e0

–-aenable -u10– -flog.txt -s10–00

1.4.1.2. Xem cấu hình của Line ADSL

cnxadslconfig -q0

1.4.1.3. Các tác vụ cơ bản của driver ADSL Conexant

Kiểm tra tình trạng của modem ADSL ( đã kết nối chưa-physical link

connected )

cnxadslctl status

Ngừng hoạt động của driver

cnxadslctl stop

81

Khởi động driver

Xây dựng thử nghiệm PC Linux hoạt động như một ADSL Router

cnxadslctl start

2. Dynamic DNS

2.1. Đăng kí dịch vụ Dynamic DNS tại trang web www.no-ip.com

2.2. Cài đặt gói Dynamic DNS Client

Đăng kí làm thành viên của trang web dynamic DNS ( ở đây là trang

no-ip.com ).

Gõ /usr/local/bin/noip2 để sử dụng dịch vụ Dynamic DNS Client.

[root@localhost binaries]# ./noip2-Linux -h

–USAGE: no ip2-Linux [ -C [ -F][ -Y][ -U #min]

[ -u username][ -p password][ -x progname]]

[ -c file][ -d][ -D pid][ -i addr][ -S][ -M][ -h]

Version Linux-2.1.1

Options:

-C create configuration data

-F force NAT off

-Y select all hosts/groups

-U minutes set update interval

-u username use supplied username

-p password use supplied password

-x executable use supplied executable

82

-c config_file use alternate data path

Xây dựng thử nghiệm PC Linux hoạt động như một ADSL Router

-d increase debug verbosity

-i IPaddress use supplied address

-I interface use supplied interface

-S show configuration data

-M permit multiple instances

-K sed terminate instance PID

-h help (this text)

Noip2 sẽ lưu địa chỉ IP address cuối cùng mà nó đăng ký tại no-ip.com

khi nó ngừng.Khi khởi động trở lại nó sẽ kiểm tra sư thiết lập này để tái

sử dụng

3. FAIR NAT

3.1. Yêu cầu

Để sử dụng script này ,bạn cần phải có iptables, tc và kernel hỗ trợ QoS và

phải hỗ trợ HTB nữa .Bạn cũng có thể cần phải có các bản patch như : TTL

patch ,giúp bạn thay đổi giá trị TTL của các packet.PSCHED_CPU thay cho

PSCHED_JIFFIES cho hoạt động schedule,chỉ cần thay nó trong pkt_sched.h.

3.2. Các tham số và Cấu hình

Chương trình này không có file cấu hình.Nó có một số cấu hình mặc định sẽ

được load lên khi bạn chạy chương trình.Bạn có thể thay đổi cấu hình đó

trong khi chạy.Sau đây là các tham số bạn cần biết để cấu hình chương trình

83

này :

Xây dựng thử nghiệm PC Linux hoạt động như một ADSL Router

LAN

DEV_LAN :

Thiết bị mạng cục bộ mà các client của bạn kết nối vào .Vd eth0,eth1

RATE_LAN

Tốc độ của mạng LAN tính theo kbit/s.Tốc độ này thì lớn hơn tốc độ kết nối

internet.Nên nhớ là phải dùng giá trị thật sự chứ không được sử dụng giá trị

như 10/100 Mbps trên mạng 10/100Mbps .Bởi vì thường thì bạn không đạt

được tốc độ tối ưu như vậy do overhead ,do đụng độ và tắc nghẽn

INTERNET

DEV_NET

Thiết bị mạng của kết nối internet .Ở đây là ppp0

RATE_UP

Tốc độ upload của kết nối internet tính bằng kbit/s.

RATE_DOWN

Tốc độ download của kết nối internet .Giống như RATE_UP

RATE_SUB_PERCENT

Nếu modem của bạn hoặc của ISP có các hàng đợi ,bạn nên làm

RATE_LOCAL_PERCENT

Băng thông của đường internet mà bạn nên đạt tới là bao nhiêu ?.Thường

thì,các thiết bị yêu cầu một số băng thông cho các DNS request(nếu nó hoạt

84

động như một DNS cacher),cho các truy cập SSH từ ngoài vào trong và

Xây dựng thử nghiệm PC Linux hoạt động như một ADSL Router

ngược lại.Theo mặc định ,5% của bandwidth được dùng cho các trường hợp

này .

CLIENTS

USERS

Xác định user nào cần NAT ( những người cần dùng PC này như một

gateway để ra ngoài internet ).Các user được xác định dựa trên địa chỉ IP và

phải trên cùng một subnet với thiệt bị mạng LAN của bạn ( ở đây là cổng

Ethernet ví dụ eth0 ).Do đó chỉ cần số cuối cùng trong dãy địa chỉ IP là được

.Ví dụ địa chỉ IP của gateway là 192.168.1.1 và user là 192.168.1.186 thì chỉ

cần đưa vào giá trị 186 khi cấu hình.Chương trình này cũng cho phép nhóm

các IP (cho User có nhiều hơn một máy trong mạng ) bằng cách dùng “:” .VD

“3 4 7:9:12 42 128” là đại diện của 5 người dùng .Trong đó có một người có

3 máy với các địa chỉ IP lần lượt là

User1 :192.168.1.3

User2 :192.168.1.4

User3 :192.168.1.7,192.168.1.9,192.168.1.12

User4 :192.168.1.42

User5:192.168.1.128

Trong Fair NAT 0.79,bạn có thể chỉ định tốc độ trần download/upload của

mỗi User.VD: 17@300 giới hạn địa chỉ IP 192.168.1.17 chỉ được download

tối đa 300kbit/s. 17@300|50 giới hạn thêm tốc độ upload là 50 Kbit/s. 17@ |

50 chỉ giới hạn tốc đô upload.

85

PORTS

Xây dựng thử nghiệm PC Linux hoạt động như một ADSL Router

Chỉ định port nào sẽ được NAT với User nào ( DNAT ) .Cú pháp là :

user port user port …

Ở đây, user là số cuối cùng của địa chỉ IP tương ứng với user đó,còn port thì

có thể là giá trị port (vd 3000 ) hoặc là một khoảng giá trị ( vd 3000:4000)

Vd : “ 3 5000 9 6000:6100 9 6300:6400 42 7000”

Từ ví dụ trên ,ta thấy là đối với cùng một địa chỉ IP thì có thể chỉ định nhiêu

khoảng giá trị port khác nhau. Câu lệnh trên cũng cho thấy port 5000 sẽ được

forward cùng với địa chỉ IP là 3(192.168.1.3:5000) và tương tự như vậy cho

các địa chỉ IP kia.

Nếu không muốn forward port cùng với địa chỉ IP ,bạn chỉ cần cho

PORTS=””

CLASS_MODE

Hãy sử dụng giá trị mặc định cho tham số này .

BORROW

Tham số này cho phép một User mượn bandwidth từ một User khác khi người

đó không có nhu cầu sử dụng vào thời điểm đó.Theo cách này ,chúng ta có

thể sử dụng bandwidth một cách tối ưu.Nếu không muốn thực hiện điều này

,bạn chỉ cần set giá trị cho biến BORROW này là 0.Như vậy ,mỗi User chỉ có

thể sử dụng bandwidth đã được cấp cho riêng họ ,bất kể là đường line đang

rất trống.

USER_CEIL_UP

Với biến này,bạn có thể thiết lập giá trị nhỏ hơn tốc độ upload tối đa cho toàn

86

bộ User.Giá trị mặc định là $RATE_UP.Rất hữu dụng nếu bạn không muốn

Xây dựng thử nghiệm PC Linux hoạt động như một ADSL Router

một User nào có nhiều hơn 300 Kbit/s trên một đường line có tốc đô 500

Kbit/s

USER_CEIL_DOWN

Tương tự như User_CEIL_UP .Nhưng ảnh hưởng đối với tốc độ download

BINARIES

BIN_TC

Cần phải có file tc với HTB để thực thi chương trình này.Theo mặc định

,chương trình này sẽ tìm file tc-htb hoặc tc

BIN_IPT

Iptables

BIN_IFC

Ifconfig

BIN_GREP

Grep

BIN_SED

Sed

BIN_ECHO

Echo

BIN_MODPROBE

87

Modprobe

Xây dựng thử nghiệm PC Linux hoạt động như một ADSL Router

3.2.1. Các tham số dòng lệnh

help

version

Hiển thị phiên bản của chương trình này

stop

Xác lập lại Iptables và Traffic Shaping thành rỗng

info

Hiển thị thông tin cấu hình của bạn

File cấu hình của chương trình.Tuy nhiên ,sử dụng rất phiền phức

3.2.2. Chạy Script

Để chạy script này ,bạn chỉ cần chuyển đến thư mục hiện hành và

chạy như một shell bình thường

88

VD root#./fairnat.sh

Xây dựng thử nghiệm PC Linux hoạt động như một ADSL Router

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

89

1.1.1. Kết nối, Nat và Routing cho các máy bên trong ra ngoài internet

Xây dựng thử nghiệm PC Linux hoạt động như một ADSL Router

90

Hình 6.1 Telnet vào Zebra thông qua port 2601 để cấu hình Routing

Xây dựng thử nghiệm PC Linux hoạt động như một ADSL Router

91

Hình 6.2 Màn hình khi dùng câu lệnh show running-config trong Zebra

Xây dựng thử nghiệm PC Linux hoạt động như một ADSL Router

92

Hình 6.3 Kết nối đã thiết lập

Xây dựng thử nghiệm PC Linux hoạt động như một ADSL Router

93

Hình 6.4 Cấu hình NAT

Xây dựng thử nghiệm PC Linux hoạt động như một ADSL Router

Hình 6.5 Client có thể truy cập internet

1.1.2. So sánh giữa Linux PC và Router ADSL thật

(cid:131) Cách thử nghiệm : Sử dụng Router thật để kết nối ra internet và

sau đó upload 1 file (>5 MB) .Ghi nhận packet gửi ra và thời

gian thực hiện

Thực hiện tương tự với PC Linux làm Router

94

Kết quả

Xây dựng thử nghiệm PC Linux hoạt động như một ADSL Router

Router thật Linux PC

Packet Thời gian Thời gian packet

Lần 1 5827 4 : 35 5856 4:55

Lần 2 5797 4 : 49 5736 5:16

Lần 3 5771 4 : 37 5806 5:40

Trung bình 5798.33 4 : 4 5799.33 5 : 03

Bảng 6.1 So sánh kết quả thử nghiệm giữa Router thật và Linux PC

1.2.Chức năng filter

Chúng ta sử dụng các câu lệnh sau đây để thiết lập filter sao cho các

packet có source address là 192.168.1.2 sẽ không ra ngoài internet được

nữa

Iptables –A INPUT –s 192.168.1.2 –j DROP

Chúng ta dùng lệnh iptables –L để kiểm tra lại cấu hình vừa thiết lập.

95

Màn hình sẽ hiện ra giống như hình

Xây dựng thử nghiệm PC Linux hoạt động như một ADSL Router

96

Hình 6.6 Cấu hình Filter

Xây dựng thử nghiệm PC Linux hoạt động như một ADSL Router

Hình 6.7 Client bị filter

Hình trên cho thấy PC có IP address là 192.168.1.2 đã không còn ra ngoài

internet được nữa do đã bị filter.

Đánh giá

Như vậy kết quả của chức năng filter của Linux PC là tốt. Đây cũng là tính

năng mới mà các ADSL Router thông thường bên ngoài thị trường không có

97

được

Xây dựng thử nghiệm PC Linux hoạt động như một ADSL Router

1.2. Dynamic DNS

Chúng tôi tiến hành thử nghiệm bằng cách đăng kí một account trên trang

web no-ip.com. Chúng tôi cũng lấy tên miền trong thử nghiệm này là gira.no-

ip.info. Địa chỉ IP Address lúc đầu đăng kí là 203.210.207.236. Sau đó, chúng

tôi stop kết nối và start lại. IP address của chúng tôi lúc này đã thay đổi là

222.253.84.7. Giả sử đây là web server của chúng tôi thì rõ ràng là nếu không

cập nhật ip address lại ngay thì các client muốn truy cập vào trang web của

chúng tôi sẽ không được nữa do lúc này các DNS server sẽ vẫn phân giải tên

miển gira.no-ip.info thành địa chỉ là 203.210.207.236. Rất may, chúng tôi chỉ

cần chạy chương trình dynamic dns client lên và địa chỉ của chúng tôi sẽ được

cập nhật ngay. Dưới đây là một số hình ảnh minh họa các thao tác cập nhật ip

98

address thông qua no-ip.com và chương trình no-ip dynamic dns client

Xây dựng thử nghiệm PC Linux hoạt động như một ADSL Router

99

Hình 6.8 Xem địa chỉ IP hiện thời của PPP0

Xây dựng thử nghiệm PC Linux hoạt động như một ADSL Router

100

Hình 6.9 Dùng nslookup để phân giải tên miền gira.no-ip.info

Xây dựng thử nghiệm PC Linux hoạt động như một ADSL Router

101

Hình 6.10 Địa chỉ IP cũ trong DNS

Xây dựng thử nghiệm PC Linux hoạt động như một ADSL Router

102

Hình 6.11 Chạy chương trình dynamic dns client

Xây dựng thử nghiệm PC Linux hoạt động như một ADSL Router

Hình 6.12 IP address được cập nhật lên DNS

2. Hướng phát triển

Do Linux là mã nguồn mở và liên tục được phát triển bởi một cộng

đồng mã mở rất lớn trên internet nên luôn có sẵn các tài nguyên hữu ích

cho bạn đê nghiên cứu và phát triển thêm cho Router ADSL với Linux

PC

Giờ đây ,bạn có thể tìm hiểu và phát triển theo một số hướng gợi ý sau :

Fair Nat hiện tại còn nhiều khiếm khuyết ,bạn có thể tham gia đóng góp

và bổ sung cho Fair Nat

103

Sử dụng VPN trên Linux sau khi đã đăng ký dịch vụ dynamic dns với

Xây dựng thử nghiệm PC Linux hoạt động như một ADSL Router

gói no-ip

Sử dụng Linux vừa làm Router vừa làm Proxy bổ sung thêm IPSec hay

SSH

Đối với các doanh nghiệp vửa và nhỏ, đặc biệt là Internet Café, cần có

hai đường ADSL để đáp ứng số lượng lớn lượt truy cập internet, có thể

dùng PCLinux thực hiện tính năng Load Balancing bằng tiện ích EQL

trong Kernel Linux, thay vì mua thiết bị Load Balancing với giá cao,

cấu hình thấp, không có khả năng mở rộng.

Đóng gói tính năng ADSL Router để người dùng dễ sử dụng, nhất là

những người dùng không chuyên.

Không chỉ với Linux, có thể phát triển hướng nghiên cứu sang

Windows – hệ điều hành phổ biến được nhiều người sử dụng nhất hiện

104

nay.

Xây dựng thử nghiệm PC Linux hoạt động như một ADSL Router

TÀI LIỆU THAM KHẢO

Website:

1.

http://www.no-ip.com

2. http://metalab.unc.edu/mdw/HOWTO/NET-3-4-HOWTO-

6.html#ss6.2

3. http://ipmasq.home.ml.org/

4. http://www.indyramp.com/masq/links.pfhtml

5. http://metalab.unc.edu/mdw/HOWTO/IP-Masquerade-

HOWTO.html

6. http://www.metamorpher.de/

7.

http://www.docum.org/docum.org/

8.

http://patrick.spacesurfer.com

Sách:

1. Brian Morgan, CCNP BCRAN Exam Certification Guide

Second Edition, Cisco Press, Indiana, 2003

2. Wendell Odom, CCNA ICND Exam Certification Guide, Cisco Press,

Indiana

3. Nguyễn Phương Lan-Hoàng Đức Hải, Lập Trình Linux 1, Nhà Xuất

Bản Giáo Dục, TPHCM, 2001

4. Nguyễn An Tân-Nguyễn Thị Điệp, Hệ Điều Hành UNIX, Đại Học

105

Khoa Học Tự Nhiên

Xây dựng thử nghiệm PC Linux hoạt động như một ADSL Router

Bài Báo Cáo :

ridruejo@rawbyte.com, The Linux 1. Daniel Lopez Ridruejo,

Networking Overview HOWTO, version 0.37, 2000

2. Martin A. Brown. mabrown@secureipe.com, Traffic Control

HOWTO, version 1.0.1, 2003

3. Dan Singletary, dvsing@sonicspike.net, ADSL Bandwidth

106

Management HOWTO, version 1.3, 2003

Xây dựng thử nghiệm PC Linux hoạt động như một ADSL Router

PHỤ LỤC

CÁC HÌNH VẼ TRONG LUẬN VĂN

Hình vẽ Trang

Hình 1.1 Mô hình hiện trạng ADSL 6

Hình 1.2 Mô hình sử dụng ADSL với PC Linux làm Router 8

Hình 1.3 Mô hình Dynamic DNS 10

Hình 2.1 Biểu đồ so sánh tốc độ các công nghệ mạng 19

Hình 2.2 Mô hình ADSl 19

Hình 2.3 ADSL – Local loop 20

Hình 2.4 Dải phổ ADSL sử dụng 21

Hình 2.5 Mô hình ADSL 22

Hình 2.6 Mô hình dải phổ ADSL sử dụng 24

Hình 2.7 Mô hình đầu cuối ADSl 25

Hình 2.8 Thiết bị DSLAM 27

Hình 2.9 Thiết bị BAS 27

Hình 2.10 ADSL-PPP 29

Hình 2.11 ATM 29

Hình 2.12 Modem Zoom 5554 X5 và Modem Planet ADE 4100 34

Hình 2.13 Mô hình NAT 46

Hình 3.1 Mô hình kiến trúc Linux 49

Hình 4.1 Quá trình xử lý của dịch vụ DynDNS 59

Hình 4.2 Chiến lược FIFO 61

Hình 4.3 Qui tắc hàng đợi Linux 64

Hình 4.4 Chiến lược Round Robin 65

107

Hình 4.5 Hàng đợi Token Bucket Filter 68

Xây dựng thử nghiệm PC Linux hoạt động như một ADSL Router

Hình 4.6 Lớp HTB 72

Hình 5.1 Linux Router Network Diagram 78

89 Hình 6.1 Telnet vào Zebra thông qua port 2601 để cấu hình Routing

Hình 6.2 Màn hình khi dùng câu lệnh show running-config trong 90

Zebra

Hình 6.3 Kết nối đã thiết lập 91

Hình 6.4 Cấu hình NAT 92

Hình 6.5 Client có thể truy cập internet 93

Hình 6.6 Cấu hình Filter 95

Hình 6.7 Client bị filter 96

Hình 6.8 Xem địa chỉ IP hiện thời của PPP0 97

Hình 6.9 Dùng nslookup để phân giải tên miền gira.no-ip.info 98

Hình 6.10 Địa chỉ IP cũ trong DNS 99

Hình 6.11 Chạy chương trình dynamic dns client 100

108

Hình 6.12 IP address được cập nhật lên DNS 101

Xây dựng thử nghiệm PC Linux hoạt động như một ADSL Router

CÁC BẢNG BIỂU TRONG LUẬN VĂN

15

Tên bảng Trang

16

Bảng 2.1 Thông số kỹ thuật của đường truyền Tx và Ex

36

Bảng 2.2 Bảng so sánh các đường truyền

71

Bảng 2.3 Bảng so sánh Routing và Switching

Bảng 4.1 Các thông số của lớp HTB

89

109

Bảng 6.1 So sánh kết quả thử nghiệm giữa Router thật và Linux PC