Giáo trình Mạng máy tính (Phần 2)

5.1. GIỚI THIỆU CHUNG

Chúng ta đã xem xét cách thức xây dựng và vận hành của các mạng đơn lẻ sử

dụng các nối kết điểm điểm, các đường truyền chia sẻ và các bộ hoán chuyển (switch).

Vấn đề phát sinh là có nhiều người muốn xây dựng hệ thống mạng riêng của họ theo

nhiều kỹ thuật khác nhau nhưng lại muốn giao tiếp với nhau mà không quan tâm rằng

họ đang hoạt động trên các hệ thống không đồng nhất.

pdf 39 trang phuongnguyen 8740
Bạn đang xem 20 trang mẫu của tài liệu "Giáo trình Mạng máy tính (Phần 2)", để tải tài liệu gốc về máy hãy click vào nút Download ở trên

Tóm tắt nội dung tài liệu: Giáo trình Mạng máy tính (Phần 2)

Giáo trình Mạng máy tính (Phần 2)
CHƯƠNG 5: ĐỊNH TUYẾN 
62 
CHƯƠNG 5 
ĐỊNH TUYẾN 
5.1. GIỚI THIỆU CHUNG 
Chúng ta đã xem xét cách thức xây dựng và vận hành của các mạng đơn lẻ sử 
dụng các nối kết điểm điểm, các đường truyền chia sẻ và các bộ hoán chuyển (switch). 
Vấn đề phát sinh là có nhiều người muốn xây dựng hệ thống mạng riêng của họ theo 
nhiều kỹ thuật khác nhau nhưng lại muốn giao tiếp với nhau mà không quan tâm rằng 
họ đang hoạt động trên các hệ thống không đồng nhất. 
Chương này sẽ trình bày về cách thức để nối kết những mạng không đồng nhất 
lại với nhau. Có hai vấn đề quan trọng cần phải quan tâm khi nối kết các mạng: tính 
không đồng nhất (heterogeneity) và phạm vi (scale) khác nhau của chúng. Giải thích 
một cách đơn giản, tính không đồng nhất là khi người dùng trên hai mạng khác kiểu 
nhau muốn giao tiếp với nhau. Phức tạp hơn một chút, ta có thể thấy việc nối kết các 
host trên các mạng khác nhau có thể sẽ đòi hỏi việc duyệt qua nhiều mạng trung gian, 
mà các mạng trung gian này lại có thể có kiểu khác nhau. Chúng có thể là mạng 
Ethernet, Token Ring hay mạng dạng điểm nối điểm, hoặc nhiều kiểu mạng hoán 
chuyển (switch) khác nhau, và chúng lại sử dụng các phương thức đánh địa chỉ riêng, 
các phương pháp truy cập đường truyền riêng và cả mô hình dịch vụ riêng nữa. Thách 
thức đối với vấn đề không đồng nhất là làm sao cung cấp cho người dùng một dịch vụ 
nối kết host-host dễ hiểu xuyên qua mớ hỗn độn các mạng không đồng nhất. Để hiểu về 
vấn đề phạm vi mạng, ta lấy một ví dụ có giá trị là sự phát triển của mạng Internet, 
mạng có tốc độ phát triển gần gấp đôi sau mỗi năm trong vòng 20 năm qua. Kiểu phát 
triển chóng mặt này buộc chúng ta phải đối mặt với nhiều thách thức.Một trong số đó là 
việc vạch đường: Làm sao để tìm ra một đường đi hữu hiệu xuyên qua một mạng gồm 
cả triệu nút mạng? Thêm một vấn đề có liên quan đến vạch đường là phương pháp đánh 
địa chỉ, là cách gán cho mỗi nút trên mạng một định danh duy nhất. 
Tầng mạng có nhiệm vụ đưa các gói tin từ máy gởi qua các chặn đường để đến được 
máy nhận.Để đến được đích đến, gói tin có thể phải đi từng bước một qua nhiều router 
trung gian. Điều này thì trái ngược với tầng liên kết dữ liệu vốn chỉ chịu trách nhiệm 
truyền tải các khung đi từ đầu này đến đầu kia của một kênh truyền vật lý.Để thực hiện 
được nhiệm vụ này, tầng mạng phải biết được hình trạng của mạng đường trục (subnet) 
và chọn đường thích hợp để cho gói tin đi. Nó phải chú ý đến việc chọn đường sao cho 
tránh được tình trạng tắc nghẽn trên một số đường truyền và router trong khi số khác thì 
đang rãnh rỗi. 
5.2. CÁC VẤN ĐỀ LIÊN QUAN THIẾT KẾ TẦNG MẠNG 
5.2.1 Kỹ thuật hoán chuyển lưu và chuyển tiếp (Store-and-Forward Switching) : 
Xét một liên mạng như hình dưới đây 
CHƯƠNG 5: ĐỊNH TUYẾN 
63 
H5.1 Kỹ thuật lưu và chuyển tiếp trên tầng mạng 
Trong đó các router nằm trong hình oval được nối lại với nhau bằng các đường 
truyền theo kiểu điểm nối điểm được gọi là các thiết bị của nhà cung cấp đường truyền 
(Carrier’s equipment). Các thiết bị nằm bên ngoài hình oval được gọi là các thiết bị của 
khách hàng (Customer’s Equipment).Máy tính H1 được nối trực tiếp vào router A của 
nhà cung cấp đường truyền bằng một đường nối kết thường trực (lease line). Máy H2 
nối kết vào một mạng LAN cục bộ. Trong mạng LAN có router F thuộc sở hữu của 
khách hàng. F được nối với router E của nhà cung cấp cũng bằng một đường nối kết 
thường trực. 
Cho dù cách thức nối kết vào mạng của các máy tính có thể khác nhau như 
trường hợp máy H1 vàH2, nhưng cách thức các gói tin của chúng được truyền đi đều 
giống nhau. Một máy tính có một gói tin cần truyền đi sẽ gởi gói tin đến router gần nó 
nhất, có thể là router trên LAN của nó hoặc router của nhà cung cấp đường truyền. Gói 
tin được lưu lại ở đó và được kiểm tra lỗi. Kế đến gói tin sẽ được chuyển đến một router 
kế tiếp trên đường đi đến đích của gói tin. Và cứ tiếp tục như thế cho đến khi đến được 
máy nhận gói tin. Đây chính là kỹ thuật lưu và chuyển tiếp. 
5.2.2 Các dịch vụ cung cấp cho tầng vận chuyển 
Các dịch vụ tầng mạng cung cấp cho tầng vận chuyển cần được thiết kế hướng 
đến các mục tiêu sau: 
Các dịch vụ này cần nên độc lập với kỹ thuật của các router: 
1. Tầng vận chuyển cần được độc lập với số lượng, kiểu và hình trạng của các router 
hiện hành. 
2. Địa chỉ mạng cung cấp cho tầng vận chuyển phải có sơ đồ đánh số nhất quán cho dù 
chúng là LAN hay WAN. 
Tầng mạng cung cấp hai dịch vụ chính là Dịch vụ không nối kết (Connectionless 
Service) và Dịch vụ định hướng nối kết (Connection – Oriented Service). 
Trong dịch vụ không nối kết, các gói tin được đưa vào subnet một cách riêng lẽ 
và được vạch đường một cách độc lập nhau. Không cần thiết phải thiết lập nối kết trước 
khi truyền tin. Các gói tin trong trường hợp này được gọi là thư tín (Datagram) và 
subnet được gọi là Datagram Subnet.Ngược lại trong dịch vụ định hướng nối kết, một 
đường nối kết giữa bên gởi và bên nhận phải được thiết lập trước khi các gói tin có thể 
CHƯƠNG 5: ĐỊNH TUYẾN 
64 
được gởi đi. Nối kết này được gọi là mạch ảo (Virtual Circuit) tương tự như mạch vật lý 
được nối kết trong hệ thống điện thoại và subnet trong trường hợp này được gọi là 
virtual circuit subnet. 
5.2.2.1 Cài đặt dịch vụ không nối kết ( Implementation of Connectionless Service) 
Xét hệ thống mạng như hình H3.2. Giả sử rằng quá trình P1 có nhiều thông điệp 
cần gởi cho quá trình P2. Khi đó P1 sẽ gởi các thông điệp này cho tầng vận chuyển và 
yêu cầu tầng vận chuyển truyền sang quá trình P2 trên máy tính H2. Tầng vận chuyển sẽ 
gắn thêm tiêu đề (header) của nó vào thông điệp và chuyển các thông điệp xuống tầng 
mạng. 
Giả sử rằng thông điệp gởi đi thì lớn gấp 4 lần kích thước tối đa của một gói tin, 
vì thế tầng mạng phải chia thông điệp ra thành 4 gói tin 1,2,3 và 4, và lần lượt gởi từng 
gói một đến router A bằng một giao thức điểm nối điểm như PPP chẳng hạn. 
Mỗi router có một bảng thông tin cục bộ chỉ ra nơi nào có thể gởi các gói tin để 
có thể đến được những đích đến khác nhau trên mạng. Mỗi mục từ của bảng chứa 2 
thông quan trọng nhất đó là Đích đến (Destination) và ngỏ ra kế tiếp (Next Hop) cần 
phải chuyển gói tin đến để có thể đến được đích đến này. Ta gọi là bảng chọn đường 
(Routing Table). 
H5.2 Hoạt động của Datagram subnet 
Ví dụ : 
+ Lúc khởi đầu, router A có bảng chọn đường như hình H6.2 (lúc đầu). Khi gói 
tin 1,2 và 3 đến router A, nó được lưu tạm thời để kiểm tra lỗi. Sau đó chúng được 
chuyển tiếp sang router C vì theo thông tin trong bảng chọn đường của A. Gói tin 1 sau 
đó tiếp tục được chuyển đến E và kế đến là F. Sau đó nó được gói lại trong một khung 
CHƯƠNG 5: ĐỊNH TUYẾN 
65 
của tầng liên kết dữ liệu và được chuyển đến máy H2 bởi mạng LAN. Các gói tin 2 và 3 
cũng có cùng đường đi tương tự. 
+ Sau đó, do một số sự cố về đường truyền, router A cập nhật lại bảng chọn 
đường của mình như hình H6.2(lúc sau). Khi đó gói tin số 4 đến router A, nó sẽ chuyển 
gói tin này sang B để có thể đi được đến H2. 
Giải thuật chịu trách nhiệm quản lý thông tin trong bảng chọn đường cũng như 
thực hiện các quyết định về chọn đường được gọi là Giải thuật chọn đường (Routing 
algorithm). 
5.2.2.2 Cài đặt dịch vụ định hướng nối kết (Connection – Oriented Service) 
Đối với dịch vụ nối kết định hướng chúng ta cần một mạch ảo trên subnet. Mục 
đích của việc sử dụng mạch ảo là để tránh phải thực hiện việc chọn lại đường đi mới 
cho mỗi gói tin gởi đến cùng một đích. 
Khi một nối kết được thực hiện, một đường đi từ máy tính gởi đến máy tính 
nhận được chọn như là một phần của giai đoạn thiết lập nối kết (Connection setup) và 
được lưu trong bảng chọn đường của các router nằm trên đường đi. Khi nối kết kết thúc, 
mạch ảo bị xóa. 
Với dịch vụ định hướng nối kết, mỗi gói tin có mang một số định dạng để xác 
định mạch ảo mà nó thuộc về. 
H5.3 Hoạt động của Datagram subnet 
Như hình H3.3, máy tính H1 thực hiện một nối kết với máy tính H2 qua nối kết 
số 1. Nối kết này được ghi nhận trong mục từ đầu tiên trong bảng chọn đường của các 
router. 
Dòng đầu tiên trong bảng chọn đường của router A nói rằng: những gói tin mang 
số nhận dạng nối kết số 1 đến từ máy H1 phải được gởi sang router C với số nhận dạng 
nối kết là 1. Tương tự, cho các mục từ đầu tiên của router C và E. 
Điều gì xảy ra nếu máy tính H3 muốn nối kết với máy tính H2. Nó chọn số nhận dạng 
nối kết là 1, vì đây là nối kết đầu tiên đối với H3, và yêu cầu subnet thiết lập mạch ảo. 
CHƯƠNG 5: ĐỊNH TUYẾN 
66 
Điều này đã làm cho 
các router phải thêm vào mục từ số 2 trong bảng chọn đường. Đối với router A, số nhận 
dạng nối 
kết với H3 là 1, trùng với nối kết với H1, không làm router A lẫn lộn vì A có thêm 
thông tin máy 
gởi là H1 hay H3. Tuy nhiên, đối với các router C, E và F thì không thể phân biệt được 
đâu là nối kết của H1 và đâu là nối kết của H3 nếu sử dụng số nhận dạng nối kết là 1 
cho cả 2 nối kết. Chính vì thế A đã gán một số nhận dạng khác, là số 2, cho các gói tin 
gởi đến C có nguồn gốc từ H3. 
5.3. GIẢI THUẬT CHỌN ĐƯỜNG 
5.3.1 Giới thiệu: 
Vạch đường về bản chất là một bài toán trong lý thuyết đồ thị. Hình 6.4 thể hiện 
một đồ thị biểu diễn cho một mạng. 
H5.4 Mạng được biểu diễn như một đồ thị 
Các nút trong đồ thị (được đánh dấu từ A đến F) có thể là các host, switch, 
router hoặc là các mạng con. Ở đây chúng ta tập trung vào một trường hợp các nút là 
các router. Các cạnh của đồ thị tương ứng với các đường nối kết mạng. Mỗi cạnh có 
một chi phí đính kèm, là thông số chỉ ra cái giá phải trả khi lưu thông trên nối kết mạng 
đó. 
Vấn đề cơ bản của việc vạch đường là tìm ra đường đi có chi phí thấp nhất giữa 
hai nút mạng bất kỳ, trong đó chi phí của đường đi được tính bằng tổng chi phí khi đi 
qua tất cả các cạnh làm thành đường đi đó. Nếu không có một đường đi giữa hai nút, thì 
độ dài đường đi giữa chúng được xem như bằng vô cùng. 
5.3.2 Mục tiêu của giải thuật chọn đường 
+ Xác định đướng đi nhanh chóng, chính xác. 
+ Khả năng thích nghi được với những thay đổi về hình trạng mạng. 
+ Khả năng thích nghi được với những thay đổi về tải đường truyền. 
+ Khả năng tránh được các nối kết bị tắt nghẽn tạm thời 
+ Chi phí tính toán để tìm ra được đường đi phải thấp 
5.3.3 Phân loại giải thuật chọn đường 
CHƯƠNG 5: ĐỊNH TUYẾN 
67 
Giải thuật chọn đường có thể được phân thành những loại sau: 
+ Chọn đường tập trung (Centralized routing): Trong mạng có một Trung 
tâm điều khiển mạng (Network Control Center) chịu trách nhiệm tính toán và 
cập nhật thông tin về đường đi đến tất cả các điểm khác nhau trên toàn mạng cho 
tất cả các router. 
+ Chọn đường phân tán (Distributed routing): Trong hệ thống này, mỗi 
router phải tự tính toán tìm kiếm thông tin về các đường đi đến những điểm khác 
nhau trên mạng. Để làm được điều này, các router cần phải trao đổi thông tin 
quan lại với nhau. 
+ Chọn đường tĩnh (Static routing): Trong giải thuật này, các router 
không thể tự cập nhật thông tin về đường đi khi hình trạng mạng thay đổi. 
Thông thường nhà quản mạng sẽ là người cập nhật thông tin về đường đi cho 
router. 
+ Chọn đường động (Dynamic routing): Trong giải thuật này, các router 
sẽ tự động cập nhật lại thông tin về đường đi khi hình trạng mạng bị thay đổi. 
5.3.4 Các giải thuật tìm đường đi tối ưu 
Đường đi tối ưu từ A đến B là đường đi “ngắn” nhất trong số các đường đi có 
thể. Tuy nhiên khái niệm “ngắn” nhất có thể được hiểu theo nhiều ý nghĩa khác nhau 
tùy thuộc vào đơn vị dùng để đo chiều dài đường đi. Đối với các router, các đại lượng 
sau có thể được sử dụng để đo độ dài đường đi: 
+ Số lượng các router trung gian phải đi qua (HOP) 
+ Độ trì quản trung bình của các gói tín 
+ Cước phí truyền tin 
Mỗi giải thuật chọn đường trước tiên phải chọn cho mình đơn vị đo chiều dài 
đường đi. 
Để xác định được đường đi tối ưu, các giải thuật chọn đường sử dụng phương 
pháp đồ thị để tính toán. Trước tiên, nó mô hình hóa hình trạng mạng thành một đồ thị 
có các đặc điểm như sau: 
+ Nút là các router. 
+ Cạnh nối liền 2 nút là đường truyền 
+ Trên mỗi cạnh có giá đó là chiều dài 
đường đi giữa 2 router thông qua đường truyền nối hai router. 
+ Chiều dài đường đi từ nút A đến nút B là tổng tất cả các giá của các cạnh nằm trên 
đường đi. Nếu không có đường đi giữa 2 router thì xem như giá là vô cùng.Trên đồ thị 
này sẽ thực hiện việc tính toán tìm đường đi ngắn nhất. 
CHƯƠNG 5: ĐỊNH TUYẾN 
68 
 H5.5 Mô hình hóa mạng. 
5.3.4.1 Giải thuật tìm đường đi ngắn nhất Dijkstra 
Mục đích là để tìm đường đi ngắn nhất từ một nút cho trước trên đồ thị đến các 
nút còn lại trên mạng. 
Giải thuật được mô tả như sau: 
 Gọi: 
o S là nút nguồn cho trước 
o N: là tập hợp tất cả các nút đã xác định được đường đi ngắn 
nhất từ S. 
o Di: là độ dài đường đi ngắn nhất từ nút nguồn S đến nút i. 
o lij: là giá của cạnh nối trực tiếp nút i với nút j, sẽ là ∞ nếu 
không có cạnh nối trực tiếp giữa i và j. 
o Pj là nút cha của của nút j. 
 Bước 1: Khởi tạo 
o N={S};Ds=0; 
o Với ∀i≠S: Di=lsi , Pi=S 
 Bước 2: Tìm nút gần nhất kế tiếp 
o Tìm nút i ∉ N thoả Di= min (Dj) với j ∉ N 
o Thêm nút i vào N. 
o Nếu N chứa tất cả các nút của đồ thị thì dừng. Ngược lại sang 
Bước 3 
 Bước 3: Tính lại giá đường đi nhỏ nhất 
+ Với mỗi nút j ∉ N: Tính lại Dj= min{ Dj, Di+ lij} ; Pj=i; 
 + Trở lại Bước 2 
Ví dụ: Cho mạng có hình trạng như đồ thị hình H5.6: 
Tìm đường đi ngắn nhất từ nút 1 đến các nút còn lại. 
Áp dụng giải thuật ta có: 
+ S=1 
 + Các bước thực hiện được mô tả như sau: 
H5.6 
CHƯƠNG 5: ĐỊNH TUYẾN 
69 
Từ kết quả trên ta vẽ được cây có đường đi 
ngắn nhất từ nút số 1 đến các nút còn lại như hình 
H3.7. Từ cây đường đi ngắn nhất này, ta xác định được 
rằng: để đi đến các router router 4, 5,6 , bước kế tiếp 
router 1 cần gởi gói tin đến là router số 3 (next hop). 
Chú ý, đường ngắn nhất này chỉ đúng 
theohướng từ nút số 1 về các nút còn lại và chỉ đúng 
cho nút số 1 mà thôi. 
Thông thường giải thuật Dijkstra được sử dụng 
theo mô hình chọn đường tập trung. Trong đó, Trung 
tâm điều khiển mạng sẽ tìm cây đường đi ngắn nhất 
cho từng router trên mạng và từ đó xây dựng bảng 
chọn đường tối ưu cho tất cả các router. H5.7 Cây đường đi ngắn nhất 
từ nút 1 
5.3.4.2 Giải thuật chọn đường tối ưu Ford-Fulkerson 
Mục đích của giải thuật này là để tìm đường đi ngắn nhất từ tất cả các nút đến 
một nút đích cho trước trên mạng. 
Giải thuật được mô tả như sau: 
 Gọi 
 o d là nút đích cho trước 
 o Di là chiều dài đường đi ngăn nhất từ nút i đến nút d. 
 o Ci là nút con của nút i 
 Bước 1: Khởi tạo: 
 o Gán Dd = 0; 
 o Với ∀i≠d: gán Di= ∞; Ci= -1; 
 Bước 2: Cập nhật giá đường đi ngắn 
nhất từ nút i đến nút d 
 o Di= min{ lij+ Dj} với ∀j≠i => Ci = j; 
 o Lặp lại cho đến khi không còn Di nào 
bị thay đổi giá trị 
Ví dụ, cho sơ đồ mạng có hình trạng như đồ thị hình H3.8.Hãy 
tìm đường đi ngắn nhất từ nút khác trên đồ thị đến nút 6. 
Áp dụng giải thuật ta có:d=6 
Các bước thực hiện được mô tả như sau: 
 H5.8 
CHƯƠNG 5: ĐỊNH TUYẾN 
70 
Từ kết quả trên ta vẽ lại được cây ... 
Email là một trong những ứng dụng mạng lâu đời nhất nhưng lại phổ dụng nhất. 
Thử nghĩ khi bạn muốn gởi thông điệp đến một người bạn ở đầu kia của thế giới, bạn 
muốn mang thư chạy bộ qua đó hay chỉ đơn giản lên máy tính gõ ít hàng và nhấn nút 
Send? Thật ra, những bậc tiền bối của mạng ARPANET đã không tiên đoán được email 
sẽ là ứng dụng then chốt chạy trên mạng này, mục tiêu chính của họ là thiết kế hệ thống 
cho phép truy cập tài nguyên từ xa. Hệ thống email ra đời không mấy nổi bật, để bây 
giờ lại được sử dụng hằng ngày bởi hàng triệu người trên thế giới. 
Mục tiêu của phần này là chỉ ra những nhân vật hoạt động trong hệ thống email, 
vai trò của họ, giao thức mà họ sử dụng và khuôn dạng thông điệp mà họ trao đổi với 
nhau. 
Một hệ thống email thường có 3 thành phần chính: Bộ phận trợ giúp người dùng 
(User Agent), Mail Server và các giao thức mà các thành phần này dùng để giao tiếp với 
nhau. 
Người ta phân loại các giao thức như sau: 
+ Giao thức giữa các mail servers bao gồm: 
 o SMTP (Simple Mail Transfer Protocol): được các server dùng để chuyển 
thư qua lại với nhau. Ví dụ nôm na, nó giống như cách thức mà các trạm bưu điện dùng 
để chuyển các thùng thư của khách hàng cho nhau. Thông tin chi tiết về giao thức này 
được mô tả trong tài liệu RFC 822. 
+ Giao thức giữa mail server và user agent bao gồm: 
 o POP3 (Post Offic Protocol version 3 [RFC 1939]): được user agent sử 
dụng để lấy thư về từ hộp thư của nó trên server. 
 o SMTP: được user agent sử dụng để gởi thư ra server. 
 o IMAP: (Internet Mail Access Protocol [RFC 1730]): Có nhiều tính năng 
vượt trội hơn POP3. Ngoài ra IMAP còn cho phép gởi mail. 
CHƯƠNG 6: CÁC DỊCH VỤ MẠNG 
92 
H6.1 Các thành phần của hệ thống emial 
6.3.2 Cấu trúc 
RFC 822 định nghĩa một email gồm có hai phần: phần tiêu đề (header) và phần 
thân (body). 
 H6.2 Khuôn dạng của email 
Cả hai phần đều được thể hiện dưới dạng ký tự ASCII. Lúc đầu, phần thân được 
qui định có khuôn dạng văn bản đơn giản. Sau này người ta đề nghị một chuẩn mới gọi 
là MIME, có thể cho phép phần thân của email chứa bất kỳ loại dữ liệu nào. 
Phần tiêu đề bao gồm nhiều dòng thông tin, mỗi dòng kết thúc bằng hai ký tự 
. Phần tiêu đề được chia khỏi phần thân bởi một hàng rỗng. Mỗi một hàng tiêu 
đề chứa một cặp “tên” và “giá trị”, cách nhau bởi dấu hai chấm (:). Người dùng có thể 
rất quen với nhiều hàng tiêu đề vì họ thường phải điền thông tin vào đấy. Ví dụ 
CHƯƠNG 6: CÁC DỊCH VỤ MẠNG 
93 
RFC 822 được mở rộng năm 1993 (và được cập nhật lại năm 1996) để cho phép 
email mang được nhiều loại dữ liệu: audio, video, hình ảnh, tài liệu Word,  MIME 
(Multipurpose Internet Mail Extensions) về cơ bản có ba phần. Phần đầu tiên là tập các 
dòng header dùng để bổ túc cho phần header cũ của RFC 822. Theo nhiều cách, những 
dòng header này mô tả dữ liệu chứa trong phần thân. Cụ thể như sau: 
Phần thứ hai là các định nghĩa cho một tập các kiểu nội dung (và kiểu con nếu 
có). Ví dụ một số kiểu mà MIME định nghĩa: 
MIME cũng định nghĩa kiểu multipart để chỉ ra cách mà phần thân của thư mang 
nhiều loại dữ liệu khác nhau như thế nào. Chỉ có một kiểu con của multipart là mixed 
với ý nói rằng trong phần thân của thư có nhiều mảnh dữ liệu khác nhau, độc lập với 
nhau và được sắp xếp theo một trình tự cụ thể. Mỗi mảnh dữ liệu sẽ có phần tiêu đề 
riêng để mô tả kiểu dữ liệu của mảnh đó. Phần thứ ba mô tả cách thức mã hóa các kiểu 
dữ liệu nói trên để có thể truyền chúng dưới dạng ASCII. Lý do để mọi bức thư phải 
chứa các ký tự ASCII là vì để đi được đến đích, bức thư đó có thể phải trung chuyển 
qua nhiều gateway, mà các gateway này đều coi mọi bức thư dưới dạng ASCII. Nếu 
trong thư chứa bất kỳ ký tự nào khác ASCII thì thư sẽ bị đứt gãy nội dung. MIME sử 
dụng phương pháp mã hóa trực tiếp dữ liệu nhị phân thành các ký tự nhị phân, gọi là 
base64. Ý tưởng của base64 là ánh xạ 3 bytes dữ liệu nhị phân nguyên thủy thành 4 ký 
tự ASCII. Giải thuật đơn giản như sau: tập hợp 3 bytes dữ liệu nhị phân lại thành 24 
bits, sau đó chia 24 bits này thành 4 cụm, một cụm 6 bits. Một cụm 6 bits được ánh xạ 
vào một trong 64 ký tự ASCII hợp lệ; ví dụ 0 ánh xạ thành A, 1 ánh xạ thành B Nếu 
nhìn vào bức thư đã được mã hóa dạng base64, người dùng sẽ thấy chỉ có 52 chữ cái cả 
hoa lẫn thường, 10 chữ số từ 0 đến 9 và các ký tự đặc biệt + và /.Đối với những người 
dùng chỉ sử dụng trình đọc thư hỗ trợ duy nhất kiểu ký tự thì việc đọc những bức thư có 
kiểu base64 sẽ rất là đau khổ. Vì lý do nhân đạo, MIME còn hỗ trợ kiểu mã hóa ký tự 
thường được gọi là 7-bit. 7-bit sẽ giữ nguyên dạng ký tự mà người ta nhập vào. Tổng 
hợp lại, ví dụ một bức thư có 2 loại dữ liệu: văn bản thường, một ảnh JPEG, sẽ có hình 
dáng như sau: 
CHƯƠNG 6: CÁC DỊCH VỤ MẠNG 
94 
6.4 Dịch vụ DNS 
CHƯƠNG 6: CÁC DỊCH VỤ MẠNG 
95 
6.4. DỊCH VỤ DNS 
6.4.1 Mô hình 
DNS là từ viết tắt trong tiếng Anh của Domain Name System, là Hệ thống tên 
miền được phát minh vào năm 1984 cho Internet, chỉ một hệ thống cho phép thiết lập 
tương ứng giữa địa chỉ IP và tên miền. Hệ thống tên miền (DNS) là một hệ thống đặt tên 
theo thứ tự cho máy vi tính, dịch vụ, hoặc bất kì nguồn lực tham gia vào Internet. Nó 
liên kết nhiều thông tin đa dạng với tên miền được gán cho những người tham gia. Quan 
trọng nhất là, nó chuyển tên miền có ý nghĩa cho con người vào số định danh (nhị 
phân), liên kết với các trang thiết bị mạng cho các mục đích định vị và địa chỉ hóa các 
thiết bị khắp thế giới.Phép tương thường được sử dụng để giải thích hệ thống tên miền 
là, nó phục vụ như một “Danh bạ điện thoại” để tìm trên Internet bằng cách dịch tên 
máy chủ máy tính thành địa chỉ IP Ví dụ, www.example.com dịch thành 
208.77.188.166 
Hệ thống tên miền giúp cho nó có thể chỉ định tên miền cho các nhóm người sử 
dụng Internet trong một cách có ý nghĩa, độc lập với mỗi địa điểm của người sử dụng. 
Bởi vì điều này, World-Wide Web (WWW) siêu liên kết và trao đổi thông tin trên 
Internet có thể duy trì ổn định và cố định ngay cả khi định tuyến dòng Internet thay đổi 
hoặc những người tham gia sử dụng một thiết bị di động. Tên miền internet dễ nhớ hơn 
các địa chỉ IP như là 208.77.188.166 (IPv4) hoặc 2001: db8: 1f70:: 999: de8: 7648:6 e8 
(IPv6).Mọi người tận dụng lợi thế này khi họ thuật lại có nghĩa các URL và địa chỉ 
email mà không cần phải biết làm thế nào các máy sẽ thực sự tìm ra chúng.Hệ thống tên 
miền phân phối trách nhiệm gán tên miền và lập bản đồ những tên tới địa chỉ IP bằng 
cách định rõ những máy chủ có thẩm quyền cho mỗi tên miền. Những máy chủ có tên 
thẩm quyền được phân công chịu trách nhiệm đối với tên miền riêng của họ, và lần lượt 
có thể chỉ định tên máy chủ khác độc quyền của họ cho các tên miền phụ. Kỹ thuật này 
đã thực hiện các cơ chế phân phối DNS, chịu đựng lỗi, và giúp tránh sự cần thiết cho 
một trung tâm đơn lẻ để đăng kí được tư vấn và liên tục cập nhật.Nhìn chung, Hệ thống 
tên miền cũng lưu trữ các loại thông tin khác, chẳng hạn như danh sách các máy chủ 
email mà chấp nhận thư điện tử cho một tên miền Internet. Bằng cách cung cấp cho một 
thế giới rộng lớn, phân phối từ khóa – cơ sở của dịch vụ đổi hướng , Hệ thống tên miền 
là một thành phần thiết yếu cho các chức năng của Internet. Các định dạng khác như các 
thẻ RFID, mã số UPC, kí tự Quốc tế trong địa chỉ email và tên máy chủ, và một loạt các 
định dạng khác có thể có khả năng sử dụng DNS. 
 Mỗi Website có một tên (là tên miền hay đường dẫn URL:Uniform Resource 
Locator) và một địa chỉ IP. Địa chỉ IP gồm 4 nhóm số cách nhau bằng dấu chấm(IPv4). 
Khi mở một trình duyệt Web và nhập tên website, trình duyệt sẽ đến thẳng website mà 
không cần phải thông qua việc nhập địa chỉ IP của trang web. Quá trình "dịch" tên miền 
thành địa chỉ IP để cho trình duyệt hiểu và truy cập được vào website là công việc của 
một DNS server. Các DNS trợ giúp qua lại với nhau để dịch địa chỉ "IP" thành "tên" và 
ngược lại. Người sử dụng chỉ cần nhớ "tên", không cần phải nhớ địa chỉ IP (địa chỉ IP là 
những con số rất khó nhớ). 
6.4.2 Cấu trúc 
CHƯƠNG 6: CÁC DỊCH VỤ MẠNG 
96 
DNS cài đặt không gian tên phân cấp dùng cho các đối tượng trên Internet. Các 
tên DNS được xử lý từ phải sang trái, sử dụng các dấu chấm (.) làm ký tự ngăn cách. 
(Mặc dù các tên DNS được xử lý từ phải qua trái, người dùng thường đọc chúng từ trái 
sang phải). Chú ý rằng các tên miền được sử dụng để đặt tên các đối tượng trên Internet, 
không phải chỉ được dùng để đặt tên máy. Ta có thể mường tượng cấu trúc phân cấp của 
DNS giống như hình dáng cây. Hình sau là một ví dụ. 
Có thể thấy rằng, cây phân cấp không quá rộng ở mức đầu tiên. Mỗi quốc gia có 
một tên miền, ngoài ra còn có 6 miền lớn khác gồm: edu, com, gov, mil, org và net. Sáu 
miền lớn này nằm ở Mỹ. Những tên miền không chỉ ra tên nước một cách tường minh 
thì mặc nhiên là nằm ở Mỹ. 
Một cấu trúc tên miền phân cấp hoàn chỉnh chỉ tồn tại trong ý niệm. Vậy thì 
trong thực tế cấu trúcphân cấp này được cài đặt như thế nào? Bước đầu tiên là chia cấu 
trúc này thành các cây con gọi là các vùng (zone). Mỗi một vùng có thể được xem là 
đơn vị quản lý một bộ phận của toàn hệ thống phân cấp. 
Một vùng luôn có mối liên hệ đến các đơn vị cài đặt cơ bản trong DNS - các 
server tên. Thông tin chứa trong một vùng được thiết lập tại hai hoặc nhiều server tên. 
Mỗi server tên có thể truy xuất được qua mạng Internet. Client gởi yêu cầu đến server 
tên, server tên sẽ trả lời cho yêu cầu đó. Câu trả lời đôi khi chứa thông tin cuối cùng mà 
client cần, đôi khi lại chứa chỉ điểm đến một server tên khác mà client nên gởi câu hỏi 
đến đó. Vì thế, theo cách nhìn thiên về cài đặt, người ta có thể nghĩ về DNS được cài đặt 
bằng cấu trúc phân cấp các server tên hơn là bằng cấu trúc phân cấp các miền. 
Mỗi server tên quản lý thông tin về một vùng dưới dạng một tập các mẫu tin tài 
nguyên (resource record). Mỗi mẫu tin tài nguyên là một ánh xạ từ tên sang giá trị 
(name to value binding), cụ thể hơn là một mẫu tin gồm 5 trường: 
(Tên, Giá trị, Kiểu, Lớp, TTL) 
Các trường Tên và Giá trị là những gì chúng ta muốn có, ngoài tra trường Kiểu 
chỉ ra cách thức mà Giá trị được thông dịch. Chẳng hạn, trường Kiểu = A chỉ ra rằng 
Giá trị là một địa chỉ IP. Vì thế các mẫu tin kiểu A sẽ cài đặt kiểu ánh xạ từ tên miền 
sang địa chỉ IP. Ví dụ như mẫu tin: 
 (ns.ctu.edu.vn, 203.162.41.166, A, IN) 
chỉ ra rằng địa chỉ IP của host có tên ns.ctu.edu.vn là 203.162.41.166. 
 Ngoài ra còn có những kiểu khác: 
CHƯƠNG 6: CÁC DỊCH VỤ MẠNG 
97 
+ NS: Trường Giá trị chỉ ra tên miền của máy tính đang chạy dịch vụ tên, và 
dịch vụ đó có khả năng thông dịch các tên trong một miền cụ thể. 
 Ví dụ mẫu tin: (ctu.edu.vn, ns.ctu.edu.vn, NS, IN) chỉ ra rằng server tên của miền 
ctu.edu.vn có tên là ns.ctu.edu.vn. 
+ CNAME: Trường Giá trị chỉ ra một cái tên giả của một host nào đó. Kiểu này 
được dùng để đặt thêm bí danh cho các host trong miền. 
+ MX: Trường Giá trị chỉ ra tên miền của host đang chạy chương trình mail 
server mà server đó có khả năng tiếp nhận những thông điệp thuộc một miền cụ thể. 
Trường Lớp được sử dụng nhằm cho phép thêm vào những thực thể mạng không do 
NIC quản lý. 
Ngày nay, lớp được sử dụng rộng rãi nhất là loại được Internet sử dụng; nó được 
ký hiệu là IN. Cuối cùng trường TTL chỉ ra mẫu tin tài nguyên này sẽ hợp lệ trong bao 
lâu. Trường này được sử dụng bởi những server đang trữ tạm các mẫu tin của server 
khác; khi trường TTL hết hạn, các mẫu tin chứa trường TTL hết hạn đó sẽ bị các server 
xóa khỏi cache của mình. 
6.5. DỊCH VỤ FTP 
6.5.1 Mô hình 
FTP (viết tắt của tiếng Anh File Transfer Protocol, "Giao thức truyền tập tin") 
thường được dùng để trao đổi tập tin qua mạng lưới truyền thông dùng giao thức 
TCP/IP (chẳng hạn như Internet - mạng ngoại bộ - hoặc intranet - mạng nội bộ). Hoạt 
động của FTP cần có hai máy tính, một máy chủ và một máy khách). Máy chủ FTP 
(FTP server), dùng chạy phần mềm cung cấp dịch vụ FTP, gọi là trình chủ, lắng nghe 
yêu cầu về dịch vụ của các máy tính khác trên mạng lưới. Máy khách (FTP user 
agent)chạy phần mềm FTP dành cho người sử dụng dịch vụ, gọi là trình khách, thì khởi 
đầu một liên kết với máy chủ. Một khi hai máy đã liên kết với nhau, máy khách có thể 
xử lý một số thao tác về tập tin, như tải tập tin lên máy chủ, tải tập tin từ máy chủ xuống 
máy của mình, đổi tên của tập tin, hoặc xóa tập tin ở máy chủ v.v. Vì giao thức FTP là 
một giao thức chuẩn công khai, cho nên bất cứ một công ty phần mềm nào, hay một lập 
trình viên nào cũng có thể viết trình chủ FTP hoặc trình khách FTP. Hầu như bất cứ một 
nền tảng hệ điều hành máy tính nào cũng hỗ trợ giao thức FTP. Điều này cho phép tất cả 
các máy tính kết nối với một mạng lưới có nền TCP/IP, xử lý tập tin trên một máy tính 
khác trên cùng một mạng lưới với mình, bất kể máy tính ấy dùng hệ điều hành nào (nếu 
các máy tính ấy đều cho phép sự truy cập của các máy tính khác, dùng giao thức FTP). 
Hiện nay trên thị trường có rất nhiều các trình khách và trình chủ FTP, và phần đông 
các trình ứng dụng này cho phép người dùng được lấy tự do, không mất tiền. 
Mục tiêu của dịch vụ FTP là: 
 1) Đảm bảo việc chia sẻ tập tin (chương trình máy tính hoặc dữ liệu) trên 
mạng. 
 2) Khuyến khích việc sử dụng không trực tiếp (thông qua chương trình) tài 
nguyên trên các máy tính khác. 
 3) Người dùng không cần phải quan tâm đến sự khác nhau của các hệ thống 
tập tin trên mạng. 
 4) Truyền dữ liệu một cách tin cậy và hiệu quả. 
Hình sau mô tả mô hình của dịch vụ FTP 
CHƯƠNG 6: CÁC DỊCH VỤ MẠNG 
98 
Trong hệ thống này, người dùng sẽ ra lệnh cho FTP user agent. User agent sẽ nối kết tới 
FTP server để dàn xếp thủ tục làm việc, thực thi các tác vụ theo yêu cầu và trả kết quả 
về cho người dùng. 
6.5.2 Cấu trúc 
Đầu tiên, user agent thiết lập một kết nối điều khiển trên cổng 21 tới FTP server. 
Sau khi đã thỏa thuận các tham số truyền nhận, hai bên sẽ thiết lập một kênh dữ liệu 
chạy trên cổng 20. Dữ liệu của các tập tin được trao đổi qua lại giữa user agent và server 
sẽ chạy trên kênh dữ liệu này. Kênh dữ liệu là kênh hoạt động theo phương thức hai 
chiều và không nhất thiết phải luôn tồn tại. 
Hình 6.3 Giao tiếp giữa Client và Server trong giao thức FTP 
 Sau đây là các lệnh cơ bản mà người dùng có thể sử dụng để thao tác lên hệ 
thống FTP 
CHƯƠNG 6: CÁC DỊCH VỤ MẠNG 
99 
CÂU HỎI VÀ BÀI TẬP CHƯƠNG 6 
Câu 1: Trình bày đặc điểm dịch vụ HTTP. 
Câu 2: Trình bày đặc điểm dịch vụ Emai. 
Câu 3: Trình bày cấu trúc DNS và hoạt động của DNS 
Câu 5: Trình bày có hình vẽ quá trình phân giải tên miền www.caothang.edu.vn 
Câu 6: Trình bày có hình vẽ quá trình phân giải tên miền www.yahoo.com
 100 
TÀI LIỆU THAM KHẢO 
[1]. J. F. Kurose and K. W. Ross, Computer Networking: A Top-Down Approach 
Featuring the Internet (2nd edition), Addison-Wesley, 2002. 
[2]. Nguyễn Thúc Hải, Mạng máy tính và các hệ thống mở, Nhà xuất bản Giáo dục, 
1999. 
[3]. Alberto Leon-Garcia and Indra Widjaja, Communication Networks: Fundamental 
Concepts and Key Architectures, McGraw-Hill, 2000. 

File đính kèm:

  • pdfgiao_trinh_mang_may_tinh_phan_2.pdf