Tải bản đầy đủ (.pdf) (68 trang)

Chương 2. Cấu trúc các tầng trong mô hình OSI2 pdf

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (955.98 KB, 68 trang )

2.1. Tầng Vật lý

2.2. Tầng liên kết dữ liệu

2.2. Tầng mạng

Định tuyến luồng số iệu
Ki
ểm soát tắc nghẽn

Chương 2. Cấu trúc các tầng trong mô hình OSI
1
2
Tầng mạng
Tầng mạng sẽ thực hiện chức năng truyền gói dữ liệu từ điểm
nguồn tới đích qua các liên kết trong mạng hoặc các mối liên kết
giữa các mạng với nhau
Chú ý : Tầng liên kết dữ liệu chỉ có chức năng đảm nhiệm việc truyền
dữ liệu giữa các nút theo liên kết điểm nối điểm (kết nối trực tiếp)
Chức năng của tầng mạng`
Các chức năng thông thường của tầng mạng bao gồm
Đánh địa chỉ. chỉ định địa chỉ để nhận biết các nút mạng trong quá
trình truyền thông dữ liệu.
Định truyến – Routing: xác định đường đi tối ưu của gói dữ liệu giữa
các nút mạng
Kết nối các mạng với nhau – internetworking: thực hiện các công việc
để kết nối giữa các mạng khác nhau để tạo mối liên kết dữ liệu
Kiểm soát chất lượng dịch vụ
Điều khiển tắc nghẽn
3
Tính liên tục của băng thông.


Tốc độ lỗi khung dữ liệu nhỏ nhất có thể.
Thứ tự sắp xếp của khung.
Phản hồi lại phía phát khi có tắc nghẽn trên đường
truyền.
Các mô hình dịch vụ:
Dịch vụ kết nối không định hướng – Connectionless (dùng trong mạng internet)
Dịch vụ kết nối có định hướng – Connection oriented (dùng cho mạng ATM)
4
Các dịch vụ của tầng mạng sẽ chỉ định kiểu (thuộc tính) của
quá trình thiết lập và truyền dữ liệu giữa hệ thống phát và thu
thể hiện ở các tính chất như:
Dịch vụ của
tầng mạng
Tầng mạng
Packet 2
Packet 1
Packet 1
Packet 2
Packet 2
Dịch vụ kết nối
không định hướng
 Gói dữ liệu được gọi là datagram.
 Mỗi gói dữ liệu được định tuyến độc lập bởi các bộ định
tuyến (router) khác nhau.
 Gói dữ liệu nhận được ở một router và được lưu vào bộ
đệm của router đóvànósẽ được chuyển tới (forward) tới
một router khác tại cổng đầu ra tương ứng.
 Việc xác định cổng đầu ra cho gói dữ liệu tạ
i router thông
qua bảng định tuyến

Địa chỉ
đich`
Cổng đầu ra
tương ứng
1345
12
2458
7
07
85
6
12
1566
Bảng định tuyến
5
Kết nối giữa các nút
(hướng truyền nhận
của các gói dữ liệu)
không được xác
định cụ thể
Dịch vụ của tầng mạng
2 2
3 3
4 4
5 2
6 3
Node 1
Node 2
Node 3
Node 4

Node 6
Node 5
1 1
2 4
4 4
5 6
6 6
1 3
2 5
3 3
4 3
5 5
Destination Next node
1 1
3 1
4 4
5 5
6 5
1 4
2 2
3 4
4 4
6 6
1 1
2 2
3 3
5 5
6 3
Destination Next node
Destination Next node

Destination Next node
Destination Next node
Destination Next node
6
Bảng định tuyến được xây dựng thông qua các thuật toán định tuyến tại
các router.
Dịch vụ của tầng mạng
Packet
Packet
Identifier
Output
port
15
15
58
13
13
7
27
12
Next
identifier
44
23
16
34
7
Bảng định tuyến
 Liên kết dữ liệu được thiết lập thông qua việc chỉ định
một chuỗi các kết nối từ đích tới nguồn. Chuỗi kết nối

được gọi là mạch ảo – VC.
 Các gói dữ liệu được truyền lần lượt qua cùng một
router trên chuỗi kết nối.
 Các gói dữ liệu có thể được truyền thẳng qua router
mà không cần chứa vào bộ
đệm
Dịch vụ kết nối có
định hướng
Mạch kết nối ảo
Hướng kết nối giữa các
nút đã được thiết lập và
xác định trước khi có dữ
liệu truyền nhận
Dịch vụ của tầng mạng
8
A 1 3 2
A 5 3 3
3 2 A 1
3 3 A 5
Incoming Outgoing`
node VC node VC
1 2 6 7
1 3 4 4
4 2 6 1
6 7 1 2
6 1 4 2
4 4 1 3
3 7 B 8
3 1 B 5
B 5 3 1

B 8 3 7
C 6 4 3
4 3 C 6
2 3 3 2
3 4 5 5
3 2 2 3
5 5 3 4
4 5 D 2
D 2 4 5
Node 1
Node 2
Node 3
Node 4
Node 6
Node 5
Incoming Outgoing`
node VC node VC
Incoming Outgoing`
node VC node VC
Incoming Outgoing`
node VC node VC
Incoming Outgoing`
node VC node VC
Incoming Outgoing`
node VC node VC
Việc xây dựng chuỗi kết nối thông qua các thuật toán định tuyến. Khác với kết
nối cố định được giữ liên tục còn mạch kết nối ảo chỉ có ý nghĩa tại thời điểm
truyền dữ liệu và sẽ được giải phóng khi quá trình truyền kết thúc.
Dịch vụ của tầng mạng
dễ dàngKhó thực hiện

Điều khiển tắc nghẽn
Xác định tùy theo tài nguyên
của mạng
Khó xác định
Chất lượng dịch vụ
Tất cả các gói dữ liệu được
truyền qua các router kể cả khi
nó bị lỗi
Không hiệu quả, Các gói dữ
liệu có thể mất khi chức năng
định tuyến bị đứt đoạn
Hiệu quả của quá trình
định tuyến
Khi VC được thiết lập, các gói
dữ liệu chỉ cần truyền qua các
router trên tuyến liên kết.
Mỗi gói tin được định tuyến
độc lập tại các router
Định tuyến
Mạch ảo yêu cầu router dành
một bộ đệm trống cho mỗi kết
nối
Router không cần giữ các
thông tin trạng thái của kết nối
Thông tin trạng thái
Mỗi gói tin chỉ cần chứa chỉ số
của gói
Mỗi gói tin chứa địa chỉ đầy đủ
của điểm đích và nguồn
Thiết lập địa chỉ cho gói

tin
Yêu cầu trước khi truyền dữ
liệu
Không cần
Thiết lập kết nối
Mạng Mạch ảoMạng Datagram
9
Dịch vụ của tầng mạng
10
Thông báo về trạng thái hoặc các sự thay đổi
cho các nút kế cận trong mạng.
Xác định đường dẫn tối ưu cho luồng dữ liệu
trong mạng
Truyền tải các gói dữ liệu từ điểm nguồn tới
điểm đích theo con đường tối ưu đã đưa ra.
Định tuyến là quá trình kết hợp giữa các quy tắc và các hàm chức
năng tại một nút mạng (router) nhằm thực hiện các nhiệm vụ:
Thuật toán
định đường
Truyền gói
dữ liệu
Giao thức
định tuyến
Yêu cầu với một kỹ
thuật định đường
+ Các thuật toán định đường phải có tính chính xác
+ Thực hiện đơn giản, ổn định và thiết thực
+ Tính bình đẳng
+ Tính tối ưu
Định tuyến - Routing

11
 Các khái niệm cơ bản của kỹ thuật định tuyến
 Các thuật toán định tuyến
 Các mô hình định tuyến
Định tuyến - Routing
u
y
x
wv
z
2
2
1
3
1
1
2
5
3
5
 Đồ thị: G = (N,E)
 N = Tập các bộ định tuyến = { u, v, w, x, y, z }
 E = Tập hợp các mối liên kết trực tiếp
= { (u,v), (u,x), (v,x), (v,w), (x,w), (x,y), (w,y), (w,z), (y,z) }
12
Biểu diễn đồ thị
 c(x,x’) = “giá” (chi phí) của liên kết giữa x và x’
VD: c(w,z) = 5
Thông thường “giá” là 1 hoặc là giá trị nghịch đảo tương ứng với băng
thông hoặc độ tắc nghẽn của mối liên kết đó.

Chí phí tổng cộng của tuyến liên kết
(x
1
, x
2
, x
3
,…, x
p
) = c(x
1
,x
2
) + c(x
2
,x
3
) + … + c(x
p-1
,x
p
)
Các khái niệm cơ bản
13
Nguyên lý tối ưu.
Nếu router D nằm trên đường đi tối ưu từ A Æ C thì đường đi đường
đi tối ưu từ D Æ C bao gồm đường đi tối ưu từ A Æ C
¾ Đường đi từ A Æ C: A-D-I-C
¾ Giả thiết D-H-E-J-C là đường đi tối ưu giữa
D và C.

¾ Khi đó D-H-E-J-C sẽ có giá thấp hơn D-I-C
¾ Như vậy đường đi tối ưu giữa A Æ C là:
¾A-D-H-E-J-C
Các khái niệm cơ bản
14
 Tập hợp tất cả các tuyến đường tối ưu từ tất cả các nút nguồn tới 1 nút đích là
1 cây có gốc đặt tại đích. Cây đó được gọi là cây khung “Sink tree”
 Nếu gọi G là một đơn đồ thị, một cây sẽ được gọi là cây khung của G nếu nó là
1 đồ thị con của G và chứa tất cả các đỉnh của G.
Đồ thị G Cây khung của G
Không có cấu trúc lặp trong cây khung.
Thuật toán định tuyến để tìm ra cây khung.
Các khái niệm cơ bản
15
Phân loại kỹ thuật định đường
Theo chức năng định đường của tất cả
các nút mạng.
 Định đường tập trung:
Tất cả các router phải xác định được topo
mạng và các thông tin trạng thái của các
tuyến liên kết.
Kỹ thuật định đường “trạng thái liên kết -
link state”
 Định đường phân tán:
Router phải biết về các liên kết vật lý tới
các router kế cận
(gọi là neighbors)
Việc tính toán được lặp đi lặp lại theo chu
kỳ và được phân bố cho các router
Kỹ thuật định đường “khoảng cách vector”

Theo cách thức tổ chức cập nhật
thông tin cho định đường.
 Định đường tĩnh:
Các thông tin mà router dùng để tính
toàn thay đổi chậm
 Định đường động:
Các thông tin cho định tuyến thay đổi
nhanh và được cập nhật theo chu kỳ
hoặc theo sự thay đổi “giá” của các
liên kết.
Định đường theo thay đổi tải trọng.
Các thuật toán định tuyến
16
Định đường tĩnh:
Kết quả định đường không dựa vào hiện
trạng lưu lượng thông tin của mạng mà
nó chỉ dựa vào 1 tuyến đường tối ưu đã
được tính toán và lựa chọn từ trước.
Đường định tuyến được chọn một lần và
không có sự thay đổi trong quá trình
truyền dữ liệu.
Không có sự trao đổi hay cập nhật thông
tin giữa các router trong quá trình định
tuyến.
Æ Nếu mạng ổn định thì k
ỹ thuật định
tuyến tĩnh rất phù hợp, tiết kiệm thời
gian, tài nguyên, giảm tắc nghẽn.
Định đường động:
Thay đổi các quyết định định đường

phù hợp với sự thay đổi về tình trạng
của mạng và lưu lượng dữ liệu trên
mạng.
Æ Kết quả định đường phụ thuộc vào
hiện trạng mạng
Có sự trao đổi thông tin và cập nhật
thông tin giữa các router trong quá
trình định tuyến.
ÆKỹ thuật định đường này thích hợp
với các dịch vụ thời gian thực
Phân loại kỹ thuật định đường
17
Các thuật toán định đường
Thuật toán tràn “Floating”
Nguyên tắc:
Một nút mạng khi nhận được gói tin
thì nó sẽ sao ra nhiều bản và gửi ra
các đường xuất ra tại nút đó
Nhận xét:
Không có phần tính toán
Æ Thực hiện đơn giản
Tăng tải, tạo ra tải giả trên mạng
ÆTăng khả năng tắc nghẽn mạng
Nhiều gói tin đi “luẩn quẩn” trên
mạng
18
Các gói tin được đánh chỉ số thứ tự. Các nút sẽ kiểm tra số thứ tự của gói
tới. Nếu số thứ tự này nằm trong danh sách các gói tin mà nút nhận và sao
trước đó thì gói tin sẽ được bỏ qua. Nếu gói tin chưa được nhận thì nút vẫn
thực hiện sao ra nhiều bản và chuyển tới các đầu ra. Æ Tránh trường hợp gói

tin đi “luẩn quẩn” trong mạng
Gắn vào phần điều khiển của gói tin thêm một trường mới chỉ định thời
gian gian tồn tại của gói tin trên mạng gọi là “thời gian sống”. Giá trị của
trường dữ liệu này sẽ giảm đi 1 đơn vị khi nó qua mỗi nút mạng. Nếu giá trị
này bằng 0 thì gói tin sẽ bị hủy để tránh việc tăng tải giả cho mạng. Æ
Thường đặt “thời gian sống” = n + 1. Trong đ
ó n là “đường kính” mạng lớn
nhất.
Việc sao gói dữ liệu có thể không cần thiết cho tất cả các đầu ra của nút mà
nút chỉ sao để xuất tới một số đầu ra của nút, và việc chọn các đầu ra này là
ngâu nhiên (đảm bảo tính bình đẳng trong quá trình định tuyến)
Thuật toán định tuyến này thường được áp dụng cho những mạng có kích
thước nhỏ và lưu lượng dữ liệu đánh giá là không cao
Thuật toán tràn “Floating”
19
Tìm ra cây khung chứa các đường dẫn ngắn nhất từ nút
nguồn – nút gốc tới tất cả các nút còn lại trong mạng.
Thuật toán Dijkstra
Cấu trúc mạng (topology) phải xác định và
giá của đường liên kết phải được biết tại
tất cả các nút mạng.
Các thông này phải giống nhau tại các nút
mạng.
Việc tính toán của thuật toán sẽ trả về
bảng “forwarding” tại nút mạng sau k lần
lặp, khi đó đường đi có chi phí ít nhất được
xác định từ nút đích tới nút thứ k trong
mạng
Yêu cầu với thuật toán:
 c(x,y): giá của mối liên kết giữa

hai nút x và y. Nếu x và y không kết
nối trực tiếp với nhau thì giá =

 D(v): Giá trị hiện tại tuyến liên kết
từ nút gốc tới nút đích v. tương
đương với tổng chi phí của các
liên kết trong tuyến.
 N: Tập các nút đã xác định trên
đường đường ngắn nhất từ nút
gốc.
 p(v): nút mạng được xác định
trong lần lặp trước đó trên đường
từ nút gốc tới v.
Các ký hiệu:
Các thuật toán định đường
¾ Tìm nút w không thuộc N mà D(w) là nhỏ nhất, thêm w vào N
¾ Thiết lập giá trị D(v) cho tất cả các nút v liên kết với w và không thuộc N
theo quy tắc:
D(v) = min( D(v), D(w) + c(w,v) ) và p(v) = w
Giá của liên kết mới tới v là giá cũ tới v được tính trước đóhoặc tổng giá
trị giữa đường ngắt nhất tới nút w và giá của liên kết từ w tới v
20
Thuật toán Dijkstra
Thiết lập ban đầu:
 N = {A}
 Với các nút v chưa thuộc N, tính toán giá trị của D(v) tương ứng
theo quy tắc:
Nếu v liên kết trực tiếp với A thì D(v) = c(A,v)
Nếu không thì D(v) = ∞
Thực hiện quá trình lặp

Đến khi tất cả các nút nằm trong tập N
u
y
x
wv
z
2
2
1
3
1
1
2
5
3
5
Bước lặp
0
1
2
3
4
5
N'
u
ux
uxy
uxyv
uxyvw
uxyvwz

D(v),p(v)
2,u
2,u
2,u
D(w),p(w)
5,u
4,x
3,y
3,y
D(x),p(x)
1,u
D(y),p(y)

2,x
D(z),p(z)


4,y
4,y
4,y
21
Vídụ 1:
Thuật toán Dijkstra
1
2
3
4
5
6
1

1
2
3
2
3
5
2
4
Vídụ 2:
Bước lặp N D2 D3 D4 D5 D6
Initial {1} 3 2 5 ∞∞
1 {1,3}
3 2 4 ∞ 3
2 {1,2,3} 3 2 4 7
3
3 {1,2,3,6} 3 2 4 53
4 {1,2,3,4,6} 3 2 4
5 3
5 {1,2,3,4,5,6} 3 2 4 5 3
22
Thuật toán Dijkstra
23
Thuật toán Dijkstra
Độ phức tạp của thuật toán: với n nút mạng.
 Mỗi quá trình lặp cần kiểm tra lại tất cả các nút w không thuộc N.
Số lần tính toán n*(n+1)/2 tương đương với O(n2)
 Hiệu quả thực hiện tối ưu có thể đạt được là: O(nlogn)
Thuật toán vector khoảng cách
Distance Vector Algorithm (1)
24

Định nghĩa dx(y) là giá của đường ngắn nhất từ x đến y
Khi đó d
x
(y) = min {c(x,v) + d
v
(y) }
Giá trị min được xác định thông qua tất cả các nút lân cận của x
Phương trình Bellman-Ford
D
x
(y) là giá trị ước lượng của giá nhỏ nhất của đường nối từ x tới y
Vector khoảng cách D
x
= [Dx(y): y ∈ N ]
(chú ý vector khoảng cách Dx là một tập hợp các giá trị chi phí nhỏ nhất của
các tuyến liên kết giữa x với các nút mạng khác trong mạng)
Nút x biết giá của các kết nối tới các nút lân cận v là c(x,v)
Nút x xác nhận D
x
và vector khoảng cách tại các nút lân cận nó.
Như vậy với hai nút lân cận v, x đều xác nhận vector D
v
= [D
v
(y): y ∈ N ]
u
y
x
wv
z

2
2
1
3
1
1
2
5
3
5
Tính ước lượng, d
v
(z) = 5, d
x
(z) = 3, d
w
(z) = 3
d
u
(z) = min { c(u,v) + d
v
(z),
c(u,x) + d
x
(z),
c(u,w) + d
w
(z) }
= min {2 + 5,
1 + 3,

5 + 3} = 4
Kết quả của phương trình B-F:
25
Ví dụ:
Thuật toán vector khoảng cách (1)

×