You are on page 1of 71

Chương 4.

Giao thức tầng mạng (network layer)

Đặng Xuân Hà
Computer Networking 2005
(http://www.hau1.edu.vn/cs/dxha/courses/0405/comnet)
Dept. of CS, HAU1.
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.

1-6/2005 Chương 4. Giao thức tầng mạng 2


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
 segment  packets (datagrams). data link
physical
network
network data link network
 Network layer được cài đặt tại router data link
physical
physical data link
physical

và cả end system. network


data link
physical network
 Chức năng: data link
physical
 chọn đường (path selection): có nhiều network
network data link
đường đi, gói tin sẽ đi theo đường nào? data link physical
physical
 chuyển mạch (switching, forwarding): network
application
data link
chuyển gói tin từ cổng vào tới cổng ra của physical transport
network
router một cách thích hợp. data link
physical
 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.

1-6/2005 Chương 4. Giao thức tầng mạng 3


Routing & switching in routers
routing algorithm

local forwarding table


header value output link
0100 3
0101 2
0111 2
1001 1

value in arriving
packet’s header
0111 1

3 2

1-6/2005 Chương 4. Giao thức tầng mạng 4


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.

1-6/2005 Chương 4. Giao thức tầng mạng 5


Network service model
 Tầng mạng cung cấp dịch vụ cho tầng Transport:
 tincậ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)

1-6/2005 Chương 4. Giao thức tầng mạng 6


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ó.

1-6/2005 Chương 4. Giao thức tầng mạng 7


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
6. Receive data application
transport 5. Data flow begins
network 4. Call connected 3. Accept call transport
data link 1. Initiate call 2. incoming call network
data link
physical
physical

1-6/2005 Chương 4. Giao thức tầng mạng 8


application application
transport transport
network network

host A
data link
physical server B
data link
physical

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

application
application
transport
transport
network
network
data link
data link
physical
physical

1-6/2005 Chương 4. Giao thức tầng mạng 9


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
application
transport
transport
network
data link 1. Send data 2. Receive data network
data link
physical
physical

1-6/2005 Chương 4. Giao thức tầng mạng 10


Network taxonomy (review)

communication
networks

switched broadcast
networks networks
(vd. Radio,
Broadcast TV)

circuit-switched packet-switched
networks networks
(vd. telephone)

datagram virtual circuit-


networks switched
FDM TDM networks
(vd. Internet)
(vd. ATM)

1-6/2005 Chương 4. Giao thức tầng mạng 11


Datagram or VC network: why?

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

1-6/2005 Chương 4. Giao thức tầng mạng 12


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.

1-6/2005 Chương 4. Giao thức tầng mạng 13


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.

1-6/2005 Chương 4. Giao thức tầng mạng 14


Input ports

Physical layer:
bit-level reception
Data link layer: Decentralized switching:
e.g., Ethernet  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ý.

1-6/2005 Chương 4. Giao thức tầng mạng 15


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

1-6/2005 Chương 4. Giao thức tầng mạng 16


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.

1-6/2005 Chương 4. Giao thức tầng mạng 17


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.

1-6/2005 Chương 4. Giao thức tầng mạng 18


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

Routing protocols IP protocol


•path selection •addressing conventions
•RIP, OSPF, BGP •datagram format
Network •packet handling conventions
layer routing
table ICMP protocol
•error reporting
•router “signaling”

Link layer

physical layer

1-6/2005 Chương 4. Giao thức tầng mạng 19


IP datagram format
IP protocol version 32 bits
number total datagram
header length length (bytes)
ver head. type of length
(bytes) len service for
“type” of data fragment fragmentation/
16-bit identifier flgs
offset reassembly
max number time to upper Internet
remaining hops live layer checksum
(decremented at
32 bit source IP address
each router)
32 bit destination IP address
upper layer protocol
to deliver payload to Options (if any) E.g. timestamp,
6 = TCP; 17 = UDP record route
data taken, specify
(variable length, list of routers
typically a TCP to visit.
or UDP segment)

1-6/2005 Chương 4. Giao thức tầng mạng 20


IP Fragmentation & Reassembly
 Fragmentation: gam dữ liệu
(datagram) lớn được chia
thành nhiều gam dữ liệu
nhỏ. fragmentation:
in: one large datagram
 Do mỗi đường truyền giữa out: 3 smaller datagrams
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
1-6/2005 Chương 4. Giao thức tầng mạng 21
Example length ID fragflag offset
=4000 =x =0 =0
 4000 byte datagram
 MTU = 1500 bytes 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
1480 bytes in
data field length ID fragflag offset
=1500 =x =1 =185
offset =
1480/8 length ID fragflag offset
=1040 =x =0 =370

1-6/2005 Chương 4. Giao thức tầng mạng 22


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 223.1.2.9

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

223.1.1.1 = 11011111 00000001 00000001 00000001 223.1.3.2


223.1.3.1
223 1 1 1

1-6/2005 Chương 4. Giao thức tầng mạng 23


Mạng & mạng con (subnet)
 Internet = network of networks. 223.1.1.1
 Địa chỉ IP bao gồm 2 phần: 223.1.2.1
 Các bit cao dành cho network. 223.1.1.2
 Các bit thấp dành cho host. 223.1.1.4 223.1.2.9

223.1.2.2
223.1.1.3 223.1.3.27

 Network: LAN

 Mạng tạo bởi các interface có 223.1.3.1 223.1.3.2


phần network trong IP addr
giống nhau.
 Các host cùng network có thể network = 3 IP networks
trao đổi dữ liệu không cần
thông qua router.

1-6/2005 Chương 4. Giao thức tầng mạng 24


IP addressing: Class-full

1-6/2005 Chương 4. Giao thức tầng mạng 25


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

 Ví dụ:

1-6/2005 Chương 4. Giao thức tầng mạng 26


Subnet mask
 Một interface trong mạng cần có:
 IPaddress
 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 IP2) AND SM = 0?

1-6/2005 Chương 4. Giao thức tầng mạng 27


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ácgói tin được coi như được gửi tới từ nút khác.
 thường dùng 127.0.0.1

1-6/2005 Chương 4. Giao thức tầng mạng 28


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.

network host
part part
11001000 00010111 00010000 00000000
200.23.16.0/23
1-6/2005 Chương 4. Giao thức tầng mạng 29
IP addresses: how to get one?
 Làm thế nào để có địa chỉ IP cho host?
 Ngườiquả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 (BOOTstrap Protocol):
 BOOTP server cung cấp IP cho client dựa trên bảng cấu hình sẵn có.
 DHCP (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.

1-6/2005 Chương 4. Giao thức tầng mạng 30


Phân cấp địa chỉ Internet - ISP
ISP's block 11001000 00010111 00010000 00000000 200.23.16.0/20
ICANN: Internet
Corporation for Organization 0 11001000 00010111 00010000 00000000 200.23.16.0/23
Organization 1 11001000 00010111 00010010 00000000 200.23.18.0/23
Assigned Names Organization 2 11001000 00010111 00010100 00000000 200.23.20.0/23
and Numbers ... ….. …. ….
Organization 7 11001000 00010111 00011110 00000000 200.23.30.0/23
Organization 0
200.23.16.0/23
Organization 1
“Send me anything
200.23.18.0/23 with addresses
Organization 2 beginning
200.23.20.0/23 . Fly-By-Night-ISP 200.23.16.0/20”
.
. . Internet
.
Organization 7 .
200.23.30.0/23
“Send me anything
ISPs-R-Us
with addresses
beginning
199.31.0.0/16”

1-6/2005 Chương 4. Giao thức tầng mạng 31


NAT: Network Address Translation

rest of local network


Internet (e.g., home network)
10.0.0/24 10.0.0.1

10.0.0.4
10.0.0.2
138.76.29.7

10.0.0.3

All datagrams leaving local Datagrams with source or


network have same single source destination in this network
NAT IP address: 138.76.29.7, have 10.0.0/24 address for
different source port numbers source, destination (as usual)

1-6/2005 Chương 4. Giao thức tầng mạng 32


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.

1-6/2005 Chương 4. Giao thức tầng mạng 33


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

1-6/2005 Chương 4. Giao thức tầng mạng 34


NAT example

NAT translation table


2: NAT router 1: host 10.0.0.1
WAN side addr LAN side addr
changes datagram sends datagram to
138.76.29.7, 5001 10.0.0.1, 3345 128.119.40, 80
source addr from
…… ……
10.0.0.1, 3345 to
138.76.29.7, 5001, S: 10.0.0.1, 3345
updates table D: 128.119.40.186, 80
10.0.0.1
1
S: 138.76.29.7, 5001
2 D: 128.119.40.186, 80 10.0.0.4
10.0.0.2
138.76.29.7 S: 128.119.40.186, 80
D: 10.0.0.1, 3345 4
S: 128.119.40.186, 80
D: 138.76.29.7, 5001 3 10.0.0.3
4: NAT router
3: Reply arrives changes datagram
dest. address: dest addr from
138.76.29.7, 5001 138.76.29.7, 5001 to 10.0.0.1, 3345

1-6/2005 Chương 4. Giao thức tầng mạng 35


ICMP (Internet Control Message Protocol)
 Giao tiếp ở mức mạng giữa các Type Code description
hosts, routers 0 0 echo reply (ping)
 thông báo lỗi (vd: không tìm được 3 0 dest. network unreachable
đường đi, không gửi tin được tới 3 1 dest host unreachable
host, port…).
3 2 dest protocol unreachable
 echo request/reply. 3 3 dest port unreachable
 ICMP có thể coi là một thành 3 6 dest network unknown
phần của IP 3 7 dest host unknown
 về mặt kiến trúc, ICMP thuộc về 4 0 source quench (congestion
tầng ứng dụng. control - not used)
 sử dụng UDP. 8 0 echo request (ping)
9 0 route advertisement
 ICMP msg
10 0 router discovery
 được đóng gói trong IP 11 0 TTL expired
datagrams/packet.
12 0 bad IP header
 type + code + 8 bytes of IP
datagram.

1-6/2005 Chương 4. Giao thức tầng mạng 36


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.

1-6/2005 Chương 4. Giao thức tầng mạng 37


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.
1-6/2005 Chương 4. Giao thức tầng mạng 38
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.

1-6/2005 Chương 4. Giao thức tầng mạng 39


Tunneling
A B E F
Logical view: tunnel

IPv6 IPv6 IPv6 IPv6

A B C D E F
Physical view:
IPv6 IPv6 IPv4 IPv4 IPv6 IPv6

Flow: X Src:B Src:B Flow: X


Src: A Dest: E Dest: E Src: A
Dest: F Dest: F
Flow: X Flow: X
Src: A Src: A
data Dest: F Dest: F data

data data

A-to-B: E-to-F:
B-to-C: B-to-C:
IPv6 IPv6
IPv6 inside IPv6 inside
IPv4 IPv4
1-6/2005 Chương 4. Giao thức tầng mạng 40
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.

1-6/2005 Chương 4. Giao thức tầng mạng 41


Forwarding & routing
routing algorithm

local forwarding table


header value output link
0100 3
0101 2
0111 2
1001 1

value in arriving
packet’s header
0111 1

3 2

1-6/2005 Chương 4. Giao thức tầng mạng 42


Network: graph abstraction

5
3
v w 5
2
u 2 1 z
3
1 2
1
x y
 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.
1-6/2005 Chương 4. Giao thức tầng mạng 43
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…)
 “link state” algorithms
Động:
 đường đi thay đổi
Phân tán:
 router nắm được chi phí truyền tin tới các
thường xuyên
router được nối trực tiếp với mình (hàng  các thông tin dẫn
xóm) đường được cập
 quá trình tính toán mang tính chất lặp đi nhật định kỳ.
lặp lại, trao đổi thông tin giữa các  link cost thay đổi.
routers.
 “distance vector” algorithms

1-6/2005 Chương 4. Giao thức tầng mạng 44


A Link-State Routing Algorithm
 Giải thuật Dijkstra:
 tấtcả 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.

1-6/2005 Chương 4. Giao thức tầng mạng 45


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

1-6/2005 Chương 4. Giao thức tầng mạng 46


Dijkstra’s algorithm: example

Step N D(B),p(B) D(C),p(C) D(D),p(D) D(E),p(E) D(F),p(F)


0 A 2,A 5,A 1,A ∞ ∞
1 AD 2,A 4,D 2,D ∞
2 ADE 2,A 3,E 4,E
3 ADEB 3,E 4,E
4 ADEBC 4,E
5 ADEBCF

5
3
B C 5
2
A 2 1 F
3
1 2
D E
1

1-6/2005 Chương 4. Giao thức tầng mạng 47


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:
chi phí cho đường đi (XZ…Y)
X = Z là nút kế tiếp cần đi tới
D (Y,Z)
Z
= c(X,Z) + minw{D (Y,w)}

1-6/2005 Chương 4. Giao thức tầng mạng 48


Distance Table: example

1 cost to destination via


B C E
7 D () A B D
A 8 2
1 A 1 14 5
E D
2
B 7 8 5

destination
E D
D (C,D) = c(E,D) + minw {D (C,w)}
= 2+2 = 4 C 6 9 4
E D
D (A,D) = c(E,D) + minw {D (A,w)}
D 4 11 2
= 2+3 = 5 loop!
E B
D (A,B) = c(E,B) + minw{D (A,w)}
= 8+6 = 14
loop!

1-6/2005 Chương 4. Giao thức tầng mạng 49


Distance table  routing table

cost to destination via


E Outgoing link
D () A B D to use, cost

A 1 14 5 A A,1

B 7 8 5 B D,5
destination

destination
C 6 9 4 C D,4

D 4 11 2 D D,4

Distance table Routing table

1-6/2005 Chương 4. Giao thức tầng mạng 50


DV Algorithm: Initialization

At all nodes, X:
1 Initialization:
2 for all adjacent nodes v:
3 D X(*,v) = infinity /* the * operator means "for all rows" */
X
4 D (v,v) = c(X,v)
5 for all destinations, y
X
6 send min D (y,w) to each neighbor /* w over all X's neighbors */
w

1-6/2005 Chương 4. Giao thức tầng mạng 51


DV Algorithm: Loop
8 loop
9 wait (until I see a link cost change to neighbor V
10 or until I receive update from neighbor V)
11
12 if (c(X,V) changes by d)
13 /* change cost to all dest's via neighbor v by d */
14 /* note: d could be positive or negative */
15 for all destinations y: DX(y,V) = DX(y,V) + d
16
17 else if (update received from V wrt destination Y)
18 /* shortest path from V to some Y has changed */
19 /* V has sent a new value for its minw DV(Y,w) */
20 /* call this received new value is "newval" */
21 for the single destination y: DX(Y,V) = c(X,V) + newval
22
23 if we have a new minw DX(Y,w)for any destination Y
24 send new value of min DX(Y,w) to all neighbors
w
26 forever
1-6/2005 Chương 4. Giao thức tầng mạng 52
DV Algorithm: example

Y
2 1
X Z
7
X Y
D (Z,Y) = c(X,Y) + minw {D (Z,w)}
= 2+1 = 3

X Z
D (Y,Z) = c(X,Z) + minw{D (Y,w)}
= 7+1 = 8

1-6/2005 Chương 4. Giao thức tầng mạng 53


DV Algorithm: example

Y
2 1
X Z
7

1-6/2005 Chương 4. Giao thức tầng mạng 54


Một vài so sánh (LS và DV)
Link-State Distance Vector
 Cần nắm được thông tin toàn  Chỉ nắm giữ thông tin liên
bộ mạng quan tới các nút “hàng xóm”
 n nút, E links, nE msgs được  msgs chỉ được gửi cho các nút
gửi mỗi lần “hàng xóm”.
 O(n2), nE msgs  tốc độ hội tụ có thể khác nhau
tuỳ từng tình huống, đôi khi rơi
vào trạng thái lặp vô hạn.
 Mỗi nút chỉ tính toán bảng dẫn
 Thông tin dẫn đường của nút
đường cho riêng mình. này được sử dụng bởi nút khác.
 Một nút gặp sự cố có thể gây ảnh
hưởng tới các nút khác.

1-6/2005 Chương 4. Giao thức tầng mạng 55


Hierarchical Routing

Dẫn đường theo từng mức mạng, do:


 Quy mô mạng Internet là rất lớn:
 một nút không thể chứa tất cả các bản ghi cho mọi đích!
 việc cập nhật bảng dẫn đường tốn kém!

 Nhu cầu mạng tự trị


 Internet= network of networks
 người quản trị mạng muốn điều khiển việc dẫn đường
(routing) trong mạng họ quản lý.

1-6/2005 Chương 4. Giao thức tầng mạng 56


Hierarchical Routing (cont)
 Phân vùng routers, tạo thành các “autonomous systems”
(AS)
 routers trong cùng AS sử dụng chung giao thức tìm đường,
gọi là “intra-AS” routing protocol.
 routers tại các AS khác nhau có thể sử dụng intra-AS routing
protocol khác nhau.
 Gateway router:
 routerđặc biệt trong AS
 sử dụng intra-AS routing protocol với các routers khác trong AS

 sử dụng inter-AS routing protocol với các gateway


routers khác.
1-6/2005 Chương 4. Giao thức tầng mạng 57
Hierarchical Routing (cont)
C.b Gateways:
B.a
•perform inter-AS
A.a routing amongst
b A.c c themselves
a C a
b •perform intra-AS
a B
routers with other
d c routers in their
A b
AS

network layer
inter-AS, intra-AS link layer
routing in
gateway A.c physical layer

1-6/2005 Chương 4. Giao thức tầng mạng 58


Hierarchical Routing (cont)

Inter-AS
C.b routing
between B.a
A.a A and B Host
b A.c c h2
a C a
b
a B
Host d c Intra-AS routing
h1 b
A within AS B
Intra-AS routing
within AS A

1-6/2005 Chương 4. Giao thức tầng mạng 59


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.

1-6/2005 Chương 4. Giao thức tầng mạng 60


Routing in the Internet

 Internet = nhiều Autonomous Systems (AS) :


 Stub AS: các công ty nhỏ: một kết nối với AS khác.
 Multihomed AS: công ty lớn: nhiều liên kết tới AS
khác.
 Transit AS: nhà cung cấp (móc nối các AS với nhau).

 Two-level routing:
 Intra-AS: người quản trị có quyền chọn giải thuật cho
riêng mạng của mình
 Inter-AS: giải thuật duy nhất (inter-AS routing: BGP)

1-6/2005 Chương 4. Giao thức tầng mạng 61


Internet AS Hierarchy

Intra-AS border (exterior gateway) routers

Inter-AS interior (gateway) routers

1-6/2005 Chương 4. Giao thức tầng mạng 62


Intra-AS Routing

 Tên gọi khác: Interior Gateway Protocols (IGP)


 Một số giao thức:

 RIP: Routing Information Protocol

 OSPF: Open Shortest Path First

 IGRP: Interior Gateway Routing Protocol (Cisco


proprietary)

1-6/2005 Chương 4. Giao thức tầng mạng 63


RIP ( Routing Information Protocol)
 Sử dụng Distance vector algorithm
 Included in BSD-UNIX Distribution in 1982
 Đơn vị đo khoảng cách: số lượng chặng (hop, tối đa = 15 hops)
 Routing table được trao đổi 30 giây một lần thông qua RIP response
msg (RIP advertisement), mỗi msg chứa tối đa 25 bản ghi.
 v1: RFC 1058; v2: RFC 1723

u destination hops
v
u 1
A B w v 2
w 2
x 3
x y 3
z C D z 2
y

1-6/2005 Chương 4. Giao thức tầng mạng 64


RIP: Example

z
w x y
A D B

C
Destination Network Next Router Num. of hops to dest.
w A 2
y B 2
z B 7
x -- 1
…. …. ....
Routing table in D

1-6/2005 Chương 4. Giao thức tầng mạng 65


RIP Table processing

 RIP routing tables managed by application-level


process called route-d (daemon)
 advertisements được gửi định kỳ, qua UDP
packets.

1-6/2005 Chương 4. Giao thức tầng mạng 66


RIP Table example

Destination Gateway Flags Ref Use Interface


-------------------- -------------------- ----- ----- ------ ---------
127.0.0.1 127.0.0.1 UH 0 26492 lo0
192.168.2. 192.168.2.5 U 2 13 fa0
193.55.114. 193.55.114.6 U 3 58503 le0
192.168.3. 192.168.3.5 U 2 25 qaa0
224.0.0.0 193.55.114.6 U 3 0 le0
default 193.55.114.129 UG 0 143454

 Three attached class C networks (LANs)


 Router only knows routes to attached LANs
 Default router used to “go up”
 Route multicast address: 224.0.0.0
 Loopback interface (for debugging)

1-6/2005 Chương 4. Giao thức tầng mạng 67


OSPF (Open Shortest Path First)

 “open”: publicly available; RFC 2178


 Uses Link State algorithm
 LS packet dissemination
 Topology map at each node
 Route computation using Dijkstra’s algorithm

 OSPF advertisement carries one entry per neighbor router


 Advertisements disseminated to entire AS (via flooding)
 Carried in OSPF messages directly over IP (rather than TCP or
UDP

1-6/2005 Chương 4. Giao thức tầng mạng 68


OSPF “advanced” features (not in RIP)
 Security: các OSPF msgs đều chứa thông tin chứng thực
(authenticated).
 Multiple same-cost paths: Cho phép truyền tin theo nhiều
đường có cùng chi phí với cùng một phiên truyền tin.
 Diff. cost metrics for diff. TOS: Cho phép nhiều đơn vị đo
khác nhau cho từng loại dịch vụ (e.g., satellite link cost set
“low” for best effort; high for real time)
 Integrated unicast and multicast support:
 Multicast OSPF (MOSPF) uses same topology data
base as OSPF
 Hierarchical OSPF in large domains.

1-6/2005 Chương 4. Giao thức tầng mạng 69


Hierarchical OSPF
 Two-level hierarchy: local area, backbone.
 Link-state advertisements only in area
 each nodes has detailed area topology; only know direction
(shortest path) to nets in other areas.
 Area border routers: “summarize” distances to nets in own area,
advertise to other Area Border routers.
 Backbone routers: run OSPF routing limited to backbone.
 Boundary routers: connect to other AS’s.

1-6/2005 Chương 4. Giao thức tầng mạng 70


Internet inter-AS routing: BGP
 BGP (Border Gateway Protocol): RFC 1771; RFC
1772; RFC 1773
R4
R5 BGP
R3 AS3
(OSPF intra-AS
AS1 AS2 routing)
(RIP intra-AS (OSPF
routing) BGP intra-AS
routing)
R1 R2

1-6/2005 Chương 4. Giao thức tầng mạng 71

You might also like