Tải bản đầy đủ

Chương 4. Giao thức tầng mạng (network layer) ĐH CNTT

MMT_Chuong04

9/30/2011

Chương 4.
Giao thức tầng mạng (network layer)
Mạng Máy Tính

Nguyễn Duy
Khoa Mạng Máy Tính và Truyền Thông
Trường ĐH Công Nghệ Thông Tin

Ch4. The Network Layer
4.1 - Giới thiệu và chức năng của tầng mạng.
4.2 - Network service model (VC and Datagram).
4.3 - Thiết bị tầng mạng - Bộ định tuyến (router).
4.4 - Giao thức IP (Internet Protocol).
4.5 - Giải thuật chọn đường (Routing Algorithms).
4.6 - Chọn đường trong mạng Internet.

9/30/2011


duyn@uit.edu.vn

duyn@uit.edu.vn

2 of 71

1


MMT_Chuong04

9/30/2011

Chức năng của tầng mạng


Truyền các gói tin (packets) từ sending
application
host tới receiving host.
transport





network
data link
physical

segment  packets (datagrams).

Network layer được cài đặt tại router
và cả end system.
Chức năng:






chọn đường (path selection): có nhiều
đường đi, gói tin sẽ đi theo đường nào?
chuyển mạch (switching, forwarding):
chuyển gói tin từ cổng vào tới cổng ra của
router một cách thích hợp.
thiết lập liên kết (call setup): một số kiến
trúc mạng cần thiết lập kênh truyền trước
khi truyền.
duyn@uit.edu.vn

9/30/2011

network
data link
physical

network
data link
physical
network
data link
physical

network
data link
physical

network
data link
physical

network
data link
physical

network
data link
physical
network
data link
physical

application
transport
network
data link
physical

3 of 71

Routing & switching in routers
routing algorithm

local forwarding table
header value output link
0100
0101
0111
1001

3
2
2
1

value in arriving
packet’s header
0111

1
3 2

9/30/2011

duyn@uit.edu.vn

duyn@uit.edu.vn

4 of 71

2


MMT_Chuong04

9/30/2011

Ch4. The Network Layer
4.1 - Giới thiệu và chức năng của tầng mạng.
4.2 - Network service model (VC and Datagram).
4.3 - Thiết bị tầng mạng - Bộ định tuyến (router).
4.4 - Giao thức IP (Internet Protocol).
4.5 - Giải thuật chọn đường (Routing Algorithms).
4.6 - Chọn đường trong mạng Internet.

9/30/2011

duyn@uit.edu.vn

5 of 71

Network service model


Tầng mạng cung cấp dịch vụ cho tầng Transport:
 tin

cậy vào tầng network?
 các gói tin có đến đích đúng thứ tự đã gửi?
 thời gian truyền có được đảm bảo?
 có phản hồi về tình trạng nghẽn mạng?


Hai model cơ bản của tầng mạng:
 kênh

ảo (virtual circuit)
 lược đồ (gam) dữ liệu (datagram)

9/30/2011

duyn@uit.edu.vn

duyn@uit.edu.vn

6 of 71

3


MMT_Chuong04

9/30/2011

Virtual Circuit


Thiết lập liên kết trước khi truyền dữ liệu và huỷ bỏ liên
kết sau khi truyền xong.
 VC setup:

trước khi truyền, tầng mạng phải thiết lập một kênh
truyền ảo (VC) từ sender tới receiver (đã biết địa chỉ).
 Data transfer: dữ liệu được truyền qua VC.
 VC teardown: một khi sender hoặc receiver muốn ngắt VC, nó
thông báo cho network layer biết, network layer sẽ huỷ bỏ VC.
 Còn được gọi là connection-oriented



Mỗi gói tin chứa thêm thông tin về kênh mà nó sẽ đi qua
(VC identifier number).
Các routers/packet switches trên kênh ảo (VC) luôn nắm
giữ trạng thái của kênh đi qua nó.

9/30/2011

7 of 71

duyn@uit.edu.vn

Virtual Circuit: Signaling protocol




Giao thức truyền các thông điệp giữa end system và
network layer để yêu cầu thiết lập, huỷ bỏ VC; giữa các
thiết bị chuyển mạch (switches) để thiết lập VC.
Được sử dụng trong mạng ATM, Frame Relay, X.25.

application
transport 5. Data flow begins
network 4. Call connected
data link 1. Initiate call
physical

9/30/2011

duyn@uit.edu.vn

6. Receive data application
3. Accept call
2. incoming call

duyn@uit.edu.vn

transport
network
data link
physical

8 of 71

4


MMT_Chuong04

9/30/2011

application
transport
network
data link
physical

host A

application
transport
network
data link
physical

server B

Sự khác biệt giữa liên kết tại tầng Transport và Network?
application
transport
network
data link
physical

9/30/2011

application
transport
network
data link
physical

duyn@uit.edu.vn

9 of 71

Datagram network





Không thiết lập kênh truyền.
Các thiết bị chuyển mạch không cần nắm giữ trạng thái các
kênh.
Gói tin được truyền dựa trên địa chỉ của receiving host.
Đường đi của các gói tin giữa hai host có thể khác nhau.
application
transport
network
data link 1. Send data
physical

9/30/2011

duyn@uit.edu.vn

application
transport
network
2. Receive data
data link
physical

duyn@uit.edu.vn

10 of 71

5


MMT_Chuong04

9/30/2011

Network taxonomy (review)
communication
networks
switched

broadcast
networks
(vd. Radio,

networks

Broadcast TV)
circuit-switched
networks

packet-switched
networks

(vd. telephone)

FDM

TDM

virtual circuitswitched
networks

datagram
networks
(vd. Internet)

9/30/2011

(vd. ATM)

duyn@uit.edu.vn

11 of 71

Datagram or VC network: why?
Internet






Mạng máy tính:
 dịch vụ nhạy cảm.
 không giới hạn thời gian.
Các hệ thống cuối “thông minh”
(computer):
 có khả năng thích nghi, kiểm
soát, khôi phục lỗi.
 kiến trúc bên trong mạng đơn
giản nhưng kết nối các mạng
phức tạp.
Nhiều dạng liên kết mạng dẫn đến
một dịch vụ thuần nhất (kênh) là
không thích hợp.

9/30/2011

duyn@uit.edu.vn

ATM





Mạng điện thoại (chuyển mạch kênh).
Tương tác người-người đòi hỏi:
 thời gian truyền.
 độ tin cậy.
 dịch vụ phải được đảm bảo.
Các thiết bị cuối đơn giản, dường như
cố định:
 điện thoại.
 mức độ phức tạp nằm bên trong
mạng.

duyn@uit.edu.vn

12 of 71

6


MMT_Chuong04

9/30/2011

Ch4. The Network Layer
4.1 - Giới thiệu và chức năng của tầng mạng.
4.2 - Network service model (VC and Datagram).
4.3 - Thiết bị tầng mạng - Bộ định tuyến (router).
4.4 - Giao thức IP (Internet Protocol).
4.5 - Giải thuật chọn đường (Routing Algorithms).
4.6 - Chọn đường trong mạng Internet.

9/30/2011

duyn@uit.edu.vn

13 of 71

Bộ định tuyến – router



Thực thi các giải thuật chọn đường (routing algorithms).
Chuyển tiếp (forwarding) các gói tin từ cổng vào tới cổng
ra thích hợp.

9/30/2011

duyn@uit.edu.vn

duyn@uit.edu.vn

14 of 71

7


MMT_Chuong04

9/30/2011

Input ports

Physical layer:
bit-level reception
Data link layer:
e.g., Ethernet

Decentralized switching:



9/30/2011

sử dụng forwarding table có trong input
port memory để tra cứu output port
queuing: nếu các gam dữ liệu
(datagram) đến nhanh quá, cần phải xếp
hàng chờ xử lý.
duyn@uit.edu.vn

15 of 71

Các cơ cấu chuyển mạch (switching fabrics)

9/30/2011

duyn@uit.edu.vn

duyn@uit.edu.vn

16 of 71

8


MMT_Chuong04

9/30/2011

Output ports




Buffering: khi datagram được gửi ra nhanh hơn tốc độ xử
lý, cần đưa vào bộ đệm.
Scheduling discipline: cơ chế lựa chọn datagram từ bộ đệm
để tiếp tục gửi đi.

9/30/2011

duyn@uit.edu.vn

17 of 71

Ch4. The Network Layer
4.1 - Giới thiệu và chức năng của tầng mạng.
4.2 - Network service model (VC and Datagram).
4.3 - Thiết bị tầng mạng - Bộ định tuyến (router).
4.4 - Giao thức IP (Internet Protocol).
4.5 - Giải thuật chọn đường (Routing Algorithms).
4.6 - Chọn đường trong mạng Internet.

9/30/2011

duyn@uit.edu.vn

duyn@uit.edu.vn

18 of 71

9


MMT_Chuong04

9/30/2011

The Internet (TCP/IP) network layer
Network layer được thực thi tại end system cũng như tại router!
Transport layer: TCP, UDP

Network
layer

IP protocol
•addressing conventions
•datagram format
•packet handling conventions

Routing protocols
•path selection
•RIP, OSPF, BGP

routing
table

ICMP protocol
•error reporting
•router “signaling”

Link layer
physical layer

duyn@uit.edu.vn

9/30/2011

19 of 71

IP datagram format
IP protocol version
number
header length
(bytes)
“type” of data
max number
remaining hops
(decremented at
each router)
upper layer protocol
to deliver payload to
6 = TCP; 17 = UDP

9/30/2011

duyn@uit.edu.vn

32 bits
head. type of
length
len service
fragment
16-bit identifier flgs
offset
time to upper
Internet
layer
live
checksum

ver

total datagram
length (bytes)
for
fragmentation/
reassembly

32 bit source IP address
32 bit destination IP address
Options (if any)

data
(variable length,
typically a TCP
or UDP segment)

duyn@uit.edu.vn

E.g. timestamp,
record route
taken, specify
list of routers
to visit.

20 of 71

10


MMT_Chuong04

9/30/2011

IP Fragmentation & Reassembly


Fragmentation: gam dữ liệu
(datagram) lớn được chia
thành nhiều gam dữ liệu
nhỏ.




Do mỗi đường truyền giữa
các nút (link) có tốc độ giới
hạn, chỉ cho phép truyền đơn
vị dữ liệu có kích thước tối đa
là MTU (Max Transfer Unit)

reassembly

Reassembly: Các gam dữ
liệu nhỏ được hợp nhất
thành gam dữ liệu lớn
(ngược lại) tại điểm đến
cuối cùng
duyn@uit.edu.vn

9/30/2011

Example
 4000 byte datagram
 MTU = 1500 bytes

1480 bytes in
data field
offset =
1480/8

9/30/2011

duyn@uit.edu.vn

fragmentation:
in: one large datagram
out: 3 smaller datagrams

21 of 71

length ID fragflag offset
=4000 =x
=0
=0

gam dữ liệu lớn được chia thành
nhiều gam dữ liệu nhỏ hơn
length ID fragflag offset
=1500 =x
=1
=0
length ID fragflag offset
=1500 =x
=1
=185
length ID fragflag offset
=1040 =x
=0
=370

duyn@uit.edu.vn

22 of 71

11


MMT_Chuong04

9/30/2011

IPv4 Addressing: introduction



IP address: Số 32-bit định danh giao diện mạng (interface).
Interface (NIC - Network Interface Card): giao diện kết nối mạng
từ nút mạng tới mạng.



host interface: mỗi máy tính thường có một NIC, cho phép nối vào một đường
liên kết.
router interface: router thường có nhiều giao diện mạng.
223.1.1.1
223.1.2.1
223.1.1.2
223.1.1.4

32-bit = 4 số 8-bit  dạng thập phân dễ nhớ:

223.1.1.3

223.1.1.1 = 11011111 00000001 00000001 00000001
223

1

1

223.1.2.9
223.1.2.2

223.1.3.27

223.1.3.2

223.1.3.1

1
23 of 71

duyn@uit.edu.vn

9/30/2011

Mạng & mạng con (subnet)



Internet = network of networks.
Địa chỉ IP bao gồm 2 phần:



Các bit cao dành cho network.
Các bit thấp dành cho host.

223.1.1.1
223.1.2.1
223.1.1.2
223.1.1.4
223.1.1.3



tạo bởi các interface có
phần network trong IP addr
giống nhau.
 Các host cùng network có thể
trao đổi dữ liệu không cần
thông qua router.
9/30/2011

duyn@uit.edu.vn

223.1.3.27

223.1.2.2

LAN

Network:
 Mạng

223.1.2.9

223.1.3.1

duyn@uit.edu.vn

223.1.3.2

network = 3 IP networks

24 of 71

12


MMT_Chuong04

9/30/2011

IP addressing: Class-full

9/30/2011

duyn@uit.edu.vn

25 of 71

Subnet


Đôi khi cần chia nhỏ một mạng thành các mạng
nhỏ hơn (subnet)



Ví dụ:

9/30/2011

duyn@uit.edu.vn

duyn@uit.edu.vn

26 of 71

13


MMT_Chuong04

9/30/2011

Subnet mask


Một interface trong mạng cần có:
 IP address
 Mặt





nạ mạng con (subnet mask):

Là một số 32 bit bao gồm các bit cao = 1 và các bit thấp = 0. Các bit 1
quy định subnet, các bit 0 quy định địa chỉ host.
từ subnet mask có thể xác định ranh giới giữa địa chỉ mạng và địa chỉ của
interface (host).

Ví dụ: Subnet gồm các host 192.168.10.x, một host có thể
có thông số như sau:
 IP = 192.168.10.1
 SM = 255.255.255.0

(111111111.11111111.11111111.00000000)


Kiểm tra xem hai IP có cùng một subnet không?
 (IP1 XOR

9/30/2011

IP2) AND SM = 0?
duyn@uit.edu.vn

27 of 71

Network addr, Broadcast và loopback
Để ám chỉ một mạng, thay địa chỉ host bằng các bit
0, ví dụ: 192.168.10.0
 Broadcast:


 Địa

chỉ host thay bằng các bit 1, vd: 192.168.10.255
 Các gói tin có ip đích dạng broadcast sẽ được gửi cho
mọi host trong mạng.


Loopback ip: 127.x.x.x
 các gói

tin được coi như được gửi tới từ nút khác.
 thường dùng 127.0.0.1
9/30/2011

duyn@uit.edu.vn

duyn@uit.edu.vn

28 of 71

14


MMT_Chuong04

9/30/2011

IP addressing: CIDR
Class-full addressing: sự phân lớp cứng nhắc,
không còn thích hợp nữa.
 CIDR (Classless InterDomain Routing):


 Vị trí

ngăn cách giữa net addr và host addr tuỳ ý.
 addr format: a.b.c.d/x, với x là số lượng bit dành cho net
addr.
host
part

network
part

11001000 00010111 00010000 00000000
200.23.16.0/23
duyn@uit.edu.vn

9/30/2011

29 of 71

IP addresses: how to get one?


Làm thế nào để có địa chỉ IP cho host?
 Người

quản trị hệ thống thiết lập (TCP/IP properties trong
Windows 2000/XP).
 RARP (Reverse Address Resolution Protocol):


RARP server cung cấp IP cho client dựa trên bảng cấu hình sẵn có (từ địa
chỉ vật lý (MAC)  IP).

 BOOTP


BOOTP server cung cấp IP cho client dựa trên bảng cấu hình sẵn có.

 DHCP



9/30/2011

duyn@uit.edu.vn

(BOOTstrap Protocol):

(Dynamic Host Configuration Protocol):

Giao thức cấp phát địa chỉ IP động.
DHCP server phụ trách việc cấp phát/thu hồi IP cho/từ các DHCP client.
Client có thể nhận IP khác nhau tuỳ thời điểm kết nối.

duyn@uit.edu.vn

30 of 71

15


MMT_Chuong04

9/30/2011

Phân cấp địa chỉ Internet - ISP
ICANN: Internet
Corporation for
Assigned Names
and Numbers

ISP's block

11001000 00010111 00010000 00000000

200.23.16.0/20

Organization 0
Organization 1
Organization 2
...
Organization 7

11001000 00010111 00010000 00000000 200.23.16.0/23
11001000 00010111 00010010 00000000 200.23.18.0/23
11001000 00010111 00010100 00000000 200.23.20.0/23
…..
….
….
11001000 00010111 00011110 00000000 200.23.30.0/23

Organization 0

200.23.16.0/23
Organization 1

200.23.18.0/23
Organization 2

200.23.20.0/23
Organization 7

.
..

.
.
.

Fly-By-Night-ISP

“Send me anything
with addresses
beginning
200.23.16.0/20”
Internet

200.23.30.0/23
“Send me anything
with addresses
beginning
199.31.0.0/16”

ISPs-R-Us

31 of 71

duyn@uit.edu.vn

9/30/2011

NAT: Network Address Translation
rest of
Internet

local network
(e.g., home network)
10.0.0/24
10.0.0.4

10.0.0.1

10.0.0.2

138.76.29.7
10.0.0.3

All datagrams leaving local
network have same single source
NAT IP address: 138.76.29.7,
different source port numbers

9/30/2011

duyn@uit.edu.vn

Datagrams with source or
destination in this network
have 10.0.0/24 address for
source, destination (as usual)

duyn@uit.edu.vn

32 of 71

16


MMT_Chuong04

9/30/2011

NAT: Network Address Translation (cont)
Một LAN chỉ sử dụng một IP duy nhất khi giao
tiếp với mạng ngoài.
 Từ đó:


 Không

cần tìm dải IP từ ISP để cấp phát cho các thiết bị
mạng trong (máy trạm) vì chỉ dùng 1 IP.
 Thay đổi IP của máy trạm nội bộ mà không ảnh hưởng
tới mạng ngoài.
 Thay đổi ISP mà không cần thay đổi địa chỉ các thiết bị
mạng trong.
 Các thiết bị mạng trong không “nhìn thấy” được từ
mạng ngoài.
9/30/2011

duyn@uit.edu.vn

33 of 71

NAT: Implementation
NAT router:
 outgoing datagrams: replace (source IP address, port #) of every
outgoing datagram to (NAT IP address, new port #)
. . . remote clients/servers will respond using (NAT IP address, new
port #) as destination addr.


remember (in NAT translation table) every (source IP address, port
#) to (NAT IP address, new port #) translation pair



incoming datagrams: replace (NAT IP address, new port #) in dest
fields of every incoming datagram with corresponding (source IP
address, port #) stored in NAT table

9/30/2011

duyn@uit.edu.vn

duyn@uit.edu.vn

34 of 71

17


MMT_Chuong04

9/30/2011

NAT example
2: NAT router
changes datagram
source addr from
10.0.0.1, 3345 to
138.76.29.7, 5001,
updates table
2

NAT translation table
WAN side addr
LAN side addr

1: host 10.0.0.1
sends datagram to
128.119.40, 80

138.76.29.7, 5001 10.0.0.1, 3345
……
……

S: 10.0.0.1, 3345
D: 128.119.40.186, 80

1

S: 138.76.29.7, 5001
D: 128.119.40.186, 80

10.0.0.4

138.76.29.7
S: 128.119.40.186, 80
D: 138.76.29.7, 5001

10.0.0.2

S: 128.119.40.186, 80
D: 10.0.0.1, 3345

3

4

10.0.0.3
4: NAT router
changes datagram
dest addr from
138.76.29.7, 5001 to 10.0.0.1, 3345

3: Reply arrives
dest. address:
138.76.29.7, 5001

35 of 71

duyn@uit.edu.vn

9/30/2011

10.0.0.1

ICMP (Internet Control Message Protocol)


Giao tiếp ở mức mạng giữa các
hosts, routers






ICMP có thể coi là một thành
phần của IP





về mặt kiến trúc, ICMP thuộc về
tầng ứng dụng.
sử dụng UDP.

ICMP msg



9/30/2011

duyn@uit.edu.vn

thông báo lỗi (vd: không tìm được
đường đi, không gửi tin được tới
host, port…).
echo request/reply.

được đóng gói trong IP
datagrams/packet.
type + code + 8 bytes of IP
datagram.

Type
0
3
3
3
3
3
3
4

Code
0
0
1
2
3
6
7
0

8
9
10
11
12

0
0
0
0
0

duyn@uit.edu.vn

description
echo reply (ping)
dest. network unreachable
dest host unreachable
dest protocol unreachable
dest port unreachable
dest network unknown
dest host unknown
source quench (congestion
control - not used)
echo request (ping)
route advertisement
router discovery
TTL expired
bad IP header

36 of 71

18


MMT_Chuong04

9/30/2011

IPv6
IPv4: sử dụng 32-bit địa chỉ IP sẽ là không đủ???
 IPv6:


 sử dụng

128-bit địa chỉ.
 phần tiêu đề (header) cung cấp khả năng xử lý nhanh
hơn, chất lượng hơn (QoS).
 40 bytes header.
 không cho phép phân mảnh (fragmentation).
 ICPM v6.

9/30/2011

duyn@uit.edu.vn

37 of 71

IPv6: datagram format





ver: phiên bản (6=v6, 4#v4!!).
priority: thứ tự các gói tin
trong cùng flow.
flow: nhãn của luồng mà gói
tin thuộc về
 các ứng

dụng đòi hỏi chất lượng
cao  flow.
 ứng dụng không đòi hỏi chất
lượng  không được coi là flow.


next header: giao thức tầng
trên.

9/30/2011

duyn@uit.edu.vn

duyn@uit.edu.vn

38 of 71

19


MMT_Chuong04

9/30/2011

IPv6: chuyển đổi IPv4  IPv6
Chuyển đổi tất cả các hosts, routers sang sử dụng
IPv6: không thể!!!
 Chuyển đổi dần dần:


 tồn tại

các nút mạng IPv4 và IPv6.
 IPv6 có khả năng xử lý gói tin IPv4.
 Tunneling: gói tin IPv6 được coi như phần data
(payload) của IPv4 khi đi qua các nút mạng IPv4.

39 of 71

duyn@uit.edu.vn

9/30/2011

Tunneling
Logical view:

Physical view:

A

B

IPv6

IPv6

A

B

C

IPv6

IPv6

IPv4

Flow: X
Src: A
Dest: F

data

A-to-B:
IPv6

9/30/2011

duyn@uit.edu.vn

E

F

IPv6

IPv6

D

E

F

IPv4

IPv6

IPv6

tunnel

Src:B
Dest: E

Src:B
Dest: E

Flow: X
Src: A
Dest: F

Flow: X
Src: A
Dest: F

data

data

B-to-C:
IPv6 inside
IPv4
duyn@uit.edu.vn

B-to-C:
IPv6 inside
IPv4

Flow: X
Src: A
Dest: F

data

E-to-F:
IPv6

40 of 71

20


MMT_Chuong04

9/30/2011

Ch4. The Network Layer
4.1 - Giới thiệu và chức năng của tầng mạng.
4.2 - Network service model (VC and Datagram).
4.3 - Thiết bị tầng mạng - Bộ định tuyến (router).
4.4 - Giao thức IP (Internet Protocol).
4.5 - Giải thuật chọn đường (Routing Algorithms).
4.6 - Chọn đường trong mạng Internet.

duyn@uit.edu.vn

9/30/2011

41 of 71

Forwarding & routing
routing algorithm

local forwarding table
header value output link
0100
0101
0111
1001

3
2
2
1

value in arriving
packet’s header
0111

1
3 2

9/30/2011

duyn@uit.edu.vn

duyn@uit.edu.vn

42 of 71

21


MMT_Chuong04

9/30/2011

Network: graph abstraction
5
2

u

2
1







v

x

3

w
3

1

5

z

1

y

2

Network = Graph = G(N,E).
N = tập hợp các routers = { u, v, w, x, y, z }.
E = tập các đường nối giữa các routers.
= { (u,v), (u,x), (v,x), (v,w), (x,w), (x,y), (w,y), (w,z), (y,z) }
Trọng số = chi phí (cost): độ trễ, độ nghẽn mạng, cước
phí…
Đường đi tốt = đường đi có “chi phí” thấp nhất.

9/30/2011

43 of 71

duyn@uit.edu.vn

Routing Algorithm classification
Thông tin tập trung hay phân tán?

Tĩnh hay động?

Tập trung:
Tĩnh:
 mỗi router phải nắm giữ thông tin toàn
 đường đi ít thay đổi
bộ mạng (topology, link cost…)
Động:
 “link state” algorithms
 đường đi thay đổi
Phân tán:
thường xuyên
 router nắm được chi phí truyền tin tới các
 các thông tin dẫn
router được nối trực tiếp với mình (hàng
đường được cập
xóm)
nhật định kỳ.
 quá trình tính toán mang tính chất lặp đi
lặp lại, trao đổi thông tin giữa các
 link cost thay đổi.
routers.
 “distance vector” algorithms
9/30/2011

duyn@uit.edu.vn

duyn@uit.edu.vn

44 of 71

22


MMT_Chuong04

9/30/2011

A Link-State Routing Algorithm


Giải thuật Dijkstra:
 tất cả

các nút mạng có thông tin như nhau về các liên kết của toàn
bộ mạng.
 cho phép tìm đường đi từ một nút tới tất cả các nút còn lại.


Ký hiệu:
 c(i,j): chi phí phải trả để đi từ i tới j (trực tiếp)
 D(v): giá trị hiện tại của chi phí phải trả để đi từ đỉnh xuất phát

tới đỉnh v.
 p(v): đỉnh trước đỉnh v trên đường đi ngắn nhất
 N: tập hợp đỉnh mà đường đi ngắn nhất đã được xác định.

9/30/2011

duyn@uit.edu.vn

45 of 71

Dijsktra’s Algorithm
1 Initialization:
2 N = {A}
3 for all nodes v
4
if v kề với A
5
then D(v) = c(A,v)
6
else D(v) = ∞
7
8 Loop
9 Tìm w không thuộc N sao cho D(w) nhỏ nhất
10 N = N + w
11 for all v kề với w và không thuộc N:
12
D(v) = min( D(v), D(w) + c(w,v) )
13 until tất cả nút thuộc N

9/30/2011

duyn@uit.edu.vn

duyn@uit.edu.vn

46 of 71

23


MMT_Chuong04

9/30/2011

Dijkstra’s algorithm: example
Step
0
1
2
3
4
5

N
A
AD
ADE
ADEB
ADEBC
ADEBCF

D(B),p(B) D(C),p(C) D(D),p(D) D(E),p(E) D(F),p(F)
2,A
1,A
5,A


2,A
4,D
2,D

2,A
3,E
4,E
3,E
4,E
4,E

5
2

A

B
2

1

D

3

C
3

1

5

F

1

E

2

duyn@uit.edu.vn

9/30/2011

47 of 71

Distance Vector Routing Algorithm
Distance Table data structure





mỗi nút mạng có một bảng khoảng cách.
hàng dành cho các đích có thể đến được.
cột dành cho các nút có thể đến trực tiếp (hàng xóm)
Ví dụ: tại nút X, với đích Y đến qua nút Z:
X

D (Y,Z)

chi phí cho đường đi (XZ…Y)
= Z là nút kế tiếp cần đi tới
= c(X,Z) + min {DZ(Y,w)}
w

9/30/2011

duyn@uit.edu.vn

duyn@uit.edu.vn

48 of 71

24


MMT_Chuong04

9/30/2011

Distance Table: example
B

7

A

1

E

E

DE ()

A

B

D

A

1

14

5

B

7

8

5

C

6

9

4

D

4

11

2

2

8
1

cost to destination via

C

D

2

D
= c(E,D) + min {D (C,w)}
w

D (C,D)

= 2+2 = 4
E

= c(E,D) + min {DD(A,w)}
w
= 2+3 = 5
loop!
= c(E,B) + min {D B(A,w)}
w

D (A,D)
E

D (A,B)

= 8+6 = 14

loop!
49 of 71

duyn@uit.edu.vn

9/30/2011

Distance table  routing table
cost to destination via

Outgoing link

DE ()

A

B

D

A

1

14

5

A

A,1

B

7

8

5

B

D,5

C

6

9

4

C

D,4

D

4

11

2

D

D,4

to use, cost

Routing table

Distance table
9/30/2011

duyn@uit.edu.vn

duyn@uit.edu.vn

50 of 71

25


Tài liệu bạn tìm kiếm đã sẵn sàng tải về

Tải bản đầy đủ ngay

×