Bài giảng Mạng máy tính - Chương 4: Tầng mạng - Bùi Trọng Tùng
Tầng mạng
Truyền dữ liệu từ host-host
Cài đặt trên mọi hệ thống
cuối và bộ định tuyến
Đơn vị truyền: datagram
Bên gửi: nhận dữ liệu từ
tầng giao vận, đóng gói
Bên nhận: mở gói, chuyển
phần dữ liệu trong payload
cho tầng giao vận
Bộ định tuyến: định tuyến
và chuyển tiếp
application
transport
network
data link
physical
application
transport
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
network
data link
physical
network
data link
physical
network
data link
network physical
data link
physical
43
Chức năng chính
Định tuyến (Routing): Tìm tuyến đường (qua các nút
trung gian) để gửi dữ liệu từ nguồn tới đích
Chuyển tiếp (Forwarding): Chuyển gói tin trên cổng
vào tới cổng ra theo tuyến đường
Định địa chỉ (Addressing): Định danh cho các nút
mạng
Đóng gói dữ liệu (Encapsulating): Nhận dữ liệu từ
giao thức ở trên, thêm tiêu đề mang thông tin điều
khiển quá trình truyền dữ liệu từ nguồn tới đích
Đảm bảo chất lượng dịch vụ(QoS): đảm bảo các
thông số phù hợp của đường truyền theo từng dịch
vụ
Tóm tắt nội dung tài liệu: Bài giảng Mạng máy tính - Chương 4: Tầng mạng - Bùi Trọng Tùng
1Chương 4.
Tầng mạng
Tổng quan
Giao thức IP
Định tuyến
1
1. Tổng quan về
tầng mạng
Tổng quan
Giao thức IP
Định tuyến
2
2Tầng mạng trên kiến trúc phân
tầng
Application
(HTTP, Mail, )
Datalink
(Ethernet, ADSL)
Physical
(bits)
Hỗ trợ các ứng dụng trên mạng
Điều khiển truyền dữ liệu giữa các tiến trình
của tầng ứng dụng
Điều khiển truyền dữ liệu giữa các
nút mạng qua môi trường liên mạng
Hỗ trợ việc truyền thông cho các thành
phần kế tiếp trên cùng 1 mạng
Truyền và nhận dòng bit trên đường
truyền vật lý
Transport
(UDP, TCP )
Network
(IP, ICMP)
3
Tầng mạng
Truyền dữ liệu từ host-host
Cài đặt trên mọi hệ thống
cuối và bộ định tuyến
Đơn vị truyền: datagram
Bên gửi: nhận dữ liệu từ
tầng giao vận, đóng gói
Bên nhận: mở gói, chuyển
phần dữ liệu trong payload
cho tầng giao vận
Bộ định tuyến: định tuyến
và chuyển tiếp
application
transport
network
data link
physical
application
transport
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
network
data link
physical
network
data link
physical
network
data link
physicalnetwork
data link
physical
4
3Chức năng chính
Định tuyến (Routing): Tìm tuyến đường (qua các nút
trung gian) để gửi dữ liệu từ nguồn tới đích
Chuyển tiếp (Forwarding): Chuyển gói tin trên cổng
vào tới cổng ra theo tuyến đường
Định địa chỉ (Addressing): Định danh cho các nút
mạng
Đóng gói dữ liệu (Encapsulating): Nhận dữ liệu từ
giao thức ở trên, thêm tiêu đề mang thông tin điều
khiển quá trình truyền dữ liệu từ nguồn tới đích
Đảm bảo chất lượng dịch vụ(QoS): đảm bảo các
thông số phù hợp của đường truyền theo từng dịch
vụ
5
Định tuyến và chuyển tiếp
6
1
23
Gói tin (tiêu đề chứa
địa chỉ đích)
Giao thức
định tuyến
Bảng chuyển tiếp
dest address outgoing port
net. address/net.mask
net. address/net.mask
net. address/net.mask
1
2
1
Giao thức định tuyến xác
định đường đi ngắn nhất
giữa 2 bên truyền tin
Bảng chuyển tiếp xác
định cổng ra (outgoing
port) để chuyển dữ liệu
tới đích
4Các giao thức tầng mạng
Giao thức định tuyến
• Tìm đường
• RIP, OSPF, BGP
IP
• Định danh
• Đóng gói
• Chuyển tiếp
• QoS
ICMP
• Báo lỗi
• Kiểm tra trạng thái nút mạng
transport layer: TCP, UDP
link layer
physical layer
Tầng
mạng
7
2. Giao thức IP
8
52.1. Đặc điểm giao thức
Là giao thức cơ sở của tầng
mạng
Kết nối liên mạng
Là giao thức được định tuyến
(routed protocol)
Đòi hỏi phải có các giao thức định
tuyến để xác định trước đường đi
cho dữ liệu.
Giúp ứng dụng tầng trên không
phụ thuộc vào tầng dưới
9
Đặc điểm của giao thức IP
Giao thức hướng không liên kết
Các gói tin được xử lý độc lập
Không tin cậy / nhanh
Truyền dữ liệu theo phương thức “best effort”
IP không có cơ chế phục hồi nếu có lỗi
Khi cần, ứng dụng sẽ sử dụng dịch vụ tầng trên
để đảm bảo độ tin cậy (TCP)
10
6Chức năng cơ bản của IP
Định địa chỉ: địa chỉ IP
Đóng gói dữ liệu
Dồn kênh/Phân kênh
Chuyển tiếp: theo địa chỉ IP (sẽ đề cập trong
phần sau)
Đảm bảo chất lượng dịch vụ
11
2.2. Địa chỉ IPv4
Lớp địa chỉ IP
CIDR – Địa chỉ IP không phân lớp
Mạng con và mặt nạ mạng
Các địa chỉ IP đặc biệt
12
7Địa chỉ IP (IPv4)
Địa chỉ IP: Một số 32-
bit để định danh cổng
giao tiếp mạng trên
nút đầu cuối (PC,
server, smart phone),
bộ định tuyến
Mỗi địa chỉ IP được
gán cho một cổng
duy nhất
Địa chỉ IP có tính duy
nhất trong mạng
223.1.1.1
223.1.1.2
223.1.1.3
223.1.1.4 223.1.2.9
223.1.2.2
223.1.2.1
223.1.3.2223.1.3.1
223.1.3.27
223.1.1.1 = 11011111 00000001 00000001 00000001
223 1 11 13
Làm thế nào để cấp phát địa chỉ IP?
Cấp phát cố định(Static IP):
Windows: Control Panel Network
Configuration TCP/IP Properties
Linux: /etc/network/interfaces
Cấp phát tự động: DHCP- Dynamic Host
Configuration Protocol
14
8Biểu diễn địa chỉ IPv4
8 bits
0 – 255 integer
Sử dụng 4 phần 8 bits để miêu tả một địa chỉ 32 bits
Ví dụ:
203.178.136.63 o
259.12.49.192 x
133.27.4.27 o
0 1 1 0 0 1 0 01 0 0 0 1 1 1 11 1 0 0 1 0 1 1 1 0 1 1 0 0 1 0
203 178 143 100
15
Địa chỉ IPv4
Địa chỉ IP có hai phần
Host ID – phần địa chỉ máy trạm
Network ID – phần địa chỉ mạng
0 1 1 0 0 1 0 01 0 0 0 1 1 1 11 1 0 0 1 0 1 1 1 0 1 1 0 0 1 0
203 178 143 100
Network ID Host ID
Làm thế nào biết được phần nào là cho máy trạm,
phần nào cho mạng?
Phân lớp địa chỉ
Không phân lớp – CIDR
16
9Các dạng địa chỉ
Địa chỉ mạng (Network Address):
Định danh cho một mạng
Tất cả các bit phần HostID là 0
Địa chỉ quảng bá (Broadcast Address)
Địa chỉ dùng để gửi dữ liệu cho tất cả các máy trạm
trong mạng
Tất cả các bit phần HostID là 1
Địa chỉ máy trạm (Unicast Address)
Gán cho một cổng mạng
Địa chỉ nhóm (Multicast address): định danh cho
nhóm
17
Phân lớp địa chỉ IP(Classful
Addressing)
Class A 0
Class B 1 0
Class C 1 1 0
Class D 1 1 1 0
Class E 1 1 1 1 Reserve for future use
7 bit
6 bit
H
N
H H
H H
N N H
Multicast
5 bit
# of network # of hosts/1 net
Class A 128 2^24 - 2
Class B 16384 65534
Class C 2^21 254
8bits 8bits 8bits 8bits
18
10
Hạn chế của việc phân lớp địa chỉ
Lãng phí không gian địa chỉ
Việc phân chia cứng thành các lớp (A, B, C, D, E) làm hạn
chế việc sử dụng toàn bộ không gian địa chỉ
CIDR: Classless Inter Domain Routing
Classless addressing
Phần địa chỉ mạng sẽ có độ dài bất kỳ
Dạng địa chỉ: m1.m2.m3.m4 /n, trong đó n (mặt nạ mạng)
là số bit trong phần ứng với địa chỉ mạng
Cách giải quyết
19
Mặt nạ mạng
Mặt nạ mạng chia một địa chỉ IP làm 2 phần
Phần ứng với máy trạm
Phần ứng với mạng
Dùng toán tử AND
Tính địa chỉ mạng
Tính khoảng địa chỉ IP
20
11
Mô tả mặt nạ mạng
Thập phân có chấm 255.255.255.224
Prefix: /27
Hexa: 0xFFFFFFe0
255 255 255 224
1 1 1 0 0 0 0 01 1 1 1 1 1 1 11 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
21
Cách tính địa chỉ mạng
Netmask (/27) 111 11 111
255 .
111 11 111
255
111 11 111
255
111 00 000
224. .
IP Address 110 10 011
203 .
101 01 010
178
100 10 110
142
100 00 010
130. .
27 (bit)
AND
Network address 203.178.142.128/27
Network part Host Part
110 10 011
203 .
101 01 010
178
100 10 110
142
100 00 000
128. .
22
12
Mặt nạ mạng và kích thước mạng
Kích thước
Theo lũy thừa 2
RFC1878
Trong trường hợp /26
Phần máy trạm = 6 bits
2
6
=64
Dải địa chỉ có thể gán:
0 - 63
64 - 127
128 - 191
192 - 255
255 255 255 192
1 1 0 0 0 0 0 01 1 1 1 1 1 1 11 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
23
Địa chỉ IP và mặt nạ mạng
(1) 203.178.142.128 /25
(2) 203.178.142.128 /24
(3) 203.178.142.127 /25
(4) 203.178.142.127 /24
Địa chỉ nào là địa chỉ máy trạm, địa chỉ mạng,
địa chỉ quảng bá?
Lưu ý: Với cách địa chỉ hóa theo CIDR, địa chỉ
IP và mặt nạ mạng luôn phải đi cùng nhau
24
13
Mạng con - subnet
Là một phần của một
mạng nào đó
ISP thường được gán
một khối địa chỉ IP
Một vài mạng con sẽ
được tạo ra
223.1.1.1
223.1.1.2
223.1.1.3
223.1.1.4 223.1.2.9
223.1.2.2
223.1.2.1
223.1.3.2223.1.3.1
223.1.3.27
Mạng với 3 mạng con
subnet
Tạo subnet như thế
nào
Sử dụng một mặt nạ
mạng dài hơn
25
11001000 00010111 00010000 00000000
200. 23. 16. 0 /24
Ví dụ: Chia làm 2 subnets
11001000 00010111 00010000 00000000
200. 23. 16. 0 /25
11001000 00010111 00010000 10000000
200. 23. 16. 128 /25
26
14
Ví dụ: Chia làm 4 subnets
Mạng với mặt nạ /24
Cần tạo 4 mạng con
Mạng với 14 máy tính
Mạng với 30 máy tính
Mạng với 31 máy tính
Mạng với 70 máy tính
/28 /26 /25/27
/24
/28
/27
/26
/25
27
Không gian địa chỉ IPv4
Theo lý thuyết
Có thể là 0.0.0.0 ~ 255.255.255.255
Một số địa chỉ đặc biệt
Địa chỉ IP đặc biệt (RFC1918)
Địa chỉ liên kết nội bộ: 169.254.0.0/16 (tự động cấu hình)
Private address
10.0.0.0/8
172.16.0.0/16 172.31.0.0/16
192.168.0.0/24 192.168.255.0 /24
Loopback address 127.0.0.0 /8
Multicast address
224.0.0.0
~239.255.255.255
28
15
Quản lý địa chỉ IP công cộng
Internet Corporation for Assigned Names and Numbers
(ICANN): quản lý toàn bộ tài nguyên địa chỉ IP
Regional Internet Registries: quản lý địa chỉ IP theo vùng
(châu Á-Thái Bình Dương, châu Âu và Trung Đông,
châu Phi, Bắc Mỹ, Nam Mỹ)
Cơ quan quản lý quốc gia
Việt Nam: VNNIC
Nhà cung cấp dịch vụ (ISP)
Cơ quan, tổ chức
Ví dụ
ICANN APNIC VNNIC HUST
29
2.3. Khuôn dạng gói
tin IP
30
16
Phần đầu gói tin IP
ver length
32 bits
data
(variable length,
typically a TCP
or UDP segment)
16-bit identifier
header
checksum
time to
live
32 bit source IP address
IP protocol version
number
header length
(bytes)
max number
remaining hops
(decremented at
each router)
for
fragmentation/
reassembly
total datagram
length (words)
upper layer protocol
to deliver payload to
head.
len
DS
QoS support
flgs
fragment
offset
upper
protocol
32 bit destination IP address
Options (if any) E.g. timestamp,
record route
taken, specify
list of routers
to visit.
31
IP header (1)
Version: Phiên bản giao thức (4 bits)
IPv4
IPv6
Header length: Độ dài phần đầu: 4bits
Tính theo từ (4 bytes)
Min: 5 x 4 (byte)
Max: 15 x 4 (byte)
DS (Differentiated Service : 8bits)
Tên cũ: Type of Service
Hiện tại được sử dụng trong quản lý QoS
32
17
IP header (2)
Length: Độ dài toàn bộ, tính cả phần đầu (16 bits)
Theo bytes
Max: 65536
Identifier – Số hiệu gói tin (16 bit)
Dùng để xác định một chuỗi các gói tin của một gói tin bị
phân mảnh
Flag – Cờ báo phân mảnh(3 bit)
Fragmentation offset – Vị trí gói tin phân mảnh trong
gói tin ban đầu (13 bit)
33
IP header (3)
TTL, 8 bits – Thời gian sống
Độ dài đường đi gói tin có thể đi qua
Max: 255
Router giảm TTL đi 1 đơn vị khi xử lý
Gói tin bị hủy nếu TTL bằng 0
Upper protocol – giao thức tầng trên
Giao thức giao vận phía trên (TCP, UDP,)
Các giao thức tầng mạng khác (ICMP, IGMP, OSPF ) cũng
có trường này
Sử dụng để dồn kênh/phân kênh
34
18
IP header và trường Protocol
DS Total LengthHLENVer
Identification
TTL Protocol Header Checksum
Source IP address
Destination IP address
Flags
Fragmentation
offset
Option
Protocol:
1: ICMP
2: IGMP
6: TCP
17: UDP
89: OSPF
Có thể xem số hiệu giao thức tại
/etc/protocols
C:\WINDOWS\system32\drivers\etc\protocols 35
IP header (4)
Checksum – Mã kiểm soát lỗi
Địa chỉ IP nguồn
32 bit, địa chỉ của trạm gửi
Địa chỉ IP đích
32 bit, địa chỉ của trạm đích
36
19
IP header (5)
Options: Dùng để thêm vào các chức năng
mới.
Có thể tới 40 bytes
Code (8) Length (8) Data (Variable length)
copy Class Number
Copy:
0: copy only in first fragment
1: copy into all fragment
Class:
00: Datagram control
01: Reserved
10: Debugging and measurement
11: Reserved
Number:
00000: End of option
00001: No operation
00011: Loose source route
00100: Timestamp
00111: Record route
01001: Strict source route 37
Phân mảnh gói tin (1)
Đường truyền có một giá
trị MTU (Kích thước đơn
vị dữ liệu tối đa)
Các đường truyền khác
nhau có MTU khác nhau
Một gói tin IP có kích
thước lớn quá MTU sẽ bị
Chia làm nhiều gói tin nhỏ
hơn
Được tập hợp lại tại trạm
đích
Phân mảnh:
in: 1 gói tin lớn
out: 3 gói tin nhỏ hơn
Hợp mảnh
38
20
Phân mảnh (2)
Trường Identification
ID được sử dụng để tìm các phần của gói tin
Flags – cờ (3 bits)
1st bit: Dự phòng
2nd bit: Không được phép phân mảnh
3rd bit: Còn phân mảnh
Độ lệch - Offset
Vị trí của gói tin phân mảnh trong gói tin ban đầu
Theo đơn vị 8 bytes
39
Phân mảnh (3)
ID
=x
offset
=0
fragflag
=0
length
=4020
ID
=x
offset
=0
fragflag
=1
length
=1500
ID
=x
offset
=185
fragflag
=1
length
=1500
ID
=x
offset
=370
fragflag
=0
length
=1060
Ví dụ:
Gói tin: 4020 byte
(header: 20 byte)
MTU = 1500 bytes
1480 bytes in
data field
offset =
1480/8
40
21
2.4.
Chuyển tiếp gói tin IP
41
Chuyển tiếp gói tin IP
Mỗi nút mạng sử dụng bảng chuyển tiếp
(Forwarding Table)
Là một phần của bảng định tuyến (Routing Table)
Các thông tin:
Đích đến (Destination): Địa chỉ mạng/Mặt nạ (/n)
Sử dụng địa chỉ 0.0.0.0/0 đại diện cho một đích bất kỳ
chưa biết lối ra mặc định
Cổng ra (Outgoing port): địa chỉ của cổng ra trên
router để chuyển tới nút kế tiếp trong đường đi
42
22
Bảng chuyển tiếp
1
23
Gói tin với địa chỉ nút đích
trong phần tiêu đề
Giao thức
định tuyến
Bảng chuyển tiếp
dest address outgoing port
net1. address/net.mask
net2. address/net.mask
net3. address/net.mask
1
2
1
43
Ví dụ - Bảng chuyển tiếp trên
máy trạm
C:\Documents and Settings\tungbt>netstat –r
Route Table
========================================================================
Interface List
0x1 ........................... MS TCP Loopback interface
0x2 ...08 00 1f b2 a1 a3 ...... Realtek RTL8139 Family PCI Fast Ethernet NIC -
========================================================================
Default Gateway: 192.168.1.1
========================================================================
Network Netmask Gateway Interface Metric
0.0.0.0 0.0.0.0 192.168.1.1 192.168.1.34 20
127.0.0.0 255.0.0.0 127.0.0.1 127.0.0.1 1
192.168.1.0 255.255.255.0 192.168.1.34 192.168.1.34 20
192.168.1.34 255.255.255.255 127.0.0.1 127.0.0.1 20
192.168.1.255 255.255.255.255 192.168.1.34 192.168.1.34 20
224.0.0.0 240.0.0.0 192.168.1.34 192.168.1.34 20
255.255.255.255 255.255.255.255 192.168.1.34 192.168.1.34 1
Destination Outgoing port
44
23
Ví dụ - Bảng chuyển tiếp trên
router (rút gọn)
Router# show ip route
O 203.238.37.0/24 via 203.178.136.14, FastEthernet0/1
O 203.238.37.96/27 via 203.178.136.26, Serial0/0/0
C 203.238.37.128/27 is directly connected, Serial0/0/0
O 192.68.132.0/24 via 203.178.136.14, FastEthernet0/1
C 203.254.52.0/24 is directly connected, FastEthernet0/1
C 202.171.96.0/24 is directly connected, Serial0/0/1
Destination Outgoing port
45
Kết hợp đường đi
Điều kiện:
Đường đi có chung Outgoing Port và k bit đầu tiên (prefix) trong
phần NetworkID của địa chỉ đích giống nhau
Điều gì xảy ra nếu kết hợp không đầy đủ các mạng con được chia
từ một mạng lớn hơn. Ví dụ kết hợp 1.1.0.0/16 và 1.2.0.0/16 thành
1.0.0.0 /14?
Mục đích: giảm kích thước bảng chuyển tiếp, tăng tốc quá
trình tìm kiếm đường ra
Destination Outgoing Port
1.1.0.0 /16 Se0/2
1.2.0.0 /16 Se0/2
1.3.0.0 /16 Se/01
171.8.0.0 /19 Se0/1
171.8.32.0 /19 Se0/1
Destination Outgoing Port
1.1.0.0 /16 Se0/2
1.2.0.0 /16 Se0/2
1.3.0.0 /16 Se/01
171.8.0.0 /18 Se0/1
46
24
Nguyên tắc tìm kiếm
So sánh n bit đầu tiên trên địa chỉ đích gói tin với các bit
tương ứng trên địa chỉ mạng đích
/n: Mặt nạ mạng đích
Nếu có mạng đích khớp chuyển ra cổng tương ứng
Nếu không có mạng đích nào khớp, chuyển ra cổng mặc định
(nếu có)
Quy tắc “longest matching”: nếu có nhiều mạng đích
thỏa mãn, chuyển tiếp tới mạng đích có mặt nạ lớn nhất
Destination Outgoing Port
11.0.0.0 /8 Se0/1
11.1.0.0 /16 Se0/2
1 ... ập các nút mà đường đi ngắn nhất đã được xác
định
111
Các thủ tục
Init():
Với mỗi nút v, d[v] = ∞, p[v] = NIL
d[s] = 0
update(u,v), trong dó (u,v) là một cạnh nào
đó của G
if d[v] > d[u] + c(u,v) then
d[v] = d[u] + c(u,v)
p[v] = u
112
57
Dijsktra’s Algorithm
1. Init() ;
2. T = ;
3. Repeat
4. u: u T | d(u) là bé nhất ;
5. T = T ∪ {u};
6. for all v neighbor(u) và v T
7. update(u,v) ;
8. Until T = V
113
Dijkstra’s algorithm: Ví dụ
Step
0
1
2
3
4
5
T
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
yx
w
u z
u
yx
wv
z
2
2
1
3
1
1
2
5
3
5
v
v
x
y
w
z
(u,v)
(u,x)
(u,x)
(u,x)
(u,x)
destination link
Bảng định tuyến của u:
SPT của u:
114
58
OSPF: Open Shortest Path First
IGP
Open: Chuẩn mở của IETF (phiên bản 3,
định nghĩa trong RFC 2740)
Shortest Path First: Cài đặt giải thuật Dijkstra.
Thông tin về trạng thái liên kết - LSA (link
state advertisement) được quảng bá “tràn
ngập” trên toàn AS
115
Một số đặc điểm của OSPF
An toàn: thông điệp OSPF được bảo vệ
Với các AS lớn: OSPF phân cấp
Địa chỉ không phân lớp (Variable-Length
Subnet Masking -VLSM )
Mỗi link sẽ có nhiều giá trị về chi phí khác
nhau dựa trên TOS (tuy nhiên hơi phức tạp
và chưa được sử dụng)
116
59
Thông tin chọn đường?
Link-State Advertisement (LSA): Chỉ ra một nút
được nối tới nút nào (link) và chi phí (cost) tương
ứng
Ví dụ: nút A
link to B, cost 30
link to D, cost 20
link to C, cost 10
Ví dụ: nút D
link to A, cost 20
link to E, cost 20
link to C, cost 50
A
B
C
D
E
20
30
10
20
50
117
Chi phí trong giao thức OSPF -
metric
Giá trị mặc định
100Mbps / bandwidth of interface
Hiện nay người quản trị có thể gán giá trị này
Khi tính toán bảng chọn đường
Chọn đường đi chi phí nhỏ nhất
Chi phí bằng nhau
Có thể thực hiện cân bằng tải
118
60
Chi phí mặc định của OSPF
Link Bandwidth Default OSPF cost
56Kbps serial link 1785
64Kbps serial link 1562
T1 (1.544Mbps) serial link 65
E1 (2.048Mbps) serial link 48
4Mbps Token Ring 25
Ethernet 10
16Mbps Token Ring 6
FDDI or Fast Ethernet 1
Gigabit Ethernet / 10G network 1
119
Quảng bá thông tin LSA-
Flooding
X A
C B D
(a)
X A
C B D
(b)
X A
C B D
(c)
X A
C B D
(d)
X has link to A, cost 10
X has link to C, cost 20
LSAX
LSAX
LSAX
LSAX
LSAX
LSAX
B nhận được
2 thông điệp
giống nhau
120
61
Phân cấp OSPF
Trong việc chọn đường, tại sao phải chia mạng
thành các vùng nhỏ hơn?
Nếu có quá nhiều router
Thông tin trạng thái liên kết được truyền nhiều lần hơn
Phải liên tục tính toán lại
Cần nhiều bộ nhớ hơn, nhiều tài nguyên CPU hơn
Lượng thông tin phải trao đổi tăng lên
Bảng chọn đường lớn hơn
Vùng
Nhóm các router có cùng thông tin LSA
121
Phân cấp OSPF
122
boundary router
backbone router
area 1
area 3
backbone
area
border
routers
internal
routers
62
Các dạng router
ABR - Area border routers: Quản lý 1 vùng và
kết nối đến các vùng khác
ASBR - Autonomous system boundary
router: Nối đến các AS khác
BR - backbone routers: thực hiện OSPF
routing trong vùng backbone
Internal Router – Thực hiện OSPF bên trong
một vùng
123
Router đại diện - DR
Để tăng hiệu quả của việc quảng bá LSA trong mạng
quảng bá đa truy nhập
Mỗi router phải lập quan hệ với router đại diện -
designated router (DR)
Trao đổi thông tin thông qua DR
DR dự phòng
Chọn DR và BDR(Backbone DR)?
A
ED
CB
Không có DR
A
ED
CB
Có DR
124
63
So sánh các giải thuật LS và DV
Thông điệp trao đổi
LS: n nút, E cạnh, O(nE)
thông điệp
DV: Chỉ trao đổi giữa các
hàng xóm
Thời gian hội tụ thay
đổi
Tốc độ hội tụ
LS: Thuật toán: O(n2) cần
O(nE) thông điệp
DV: Thay đổi
Sự chắc chắn: Giải sử một
router hoạt động sai
LS:
nút gửi các chi phí sai
Mỗi nút tính riêng bảng
chọn đường -> có vẻ chắc
chắn hơn
DV:
DV có thể bị gửi sai
Mỗi nút tính toán dựa trên
các nút khác
Lỗi bị lan truyền trong
mạng
125
RIP vs. OSPF
RIP OSPF
Đặc điểm • Router bình đẳng
• Cấu hình dễ dàng
• Mạng cỡ nhỏ
• Phân câp
• Cấu hình phức tạp
• Mạng cỡ vừa và lớn
Khả năng mở rộng x o
Độ phức tạp tính toán Nhỏ Lớn
Hội tụ Chậm Nhanh
Trao đổi thông tin Bảng chọn đường Trạng thái liên kết
Giải thuật Distant vector Link-state
Cập nhật hàng xóm 30s 10s (Hello packet)
Đơn vị chi phí Số nút mạng Băng thông
126
64
4.4. Định tuyến liên
vùng
127
4.4.1. Giới thiệu chung
về BGP
128
65
Yêu cầu mới với các giao thức
định tuyến liên vùng
Mỗi AS có chính sách riêng về định tuyến
Nhà cung cấp X không muốn truyền dữ liệu của họ qua mạng
nhà cung cấp Y
Nhà cung cấp X không muốn dữ liệu của nhà cung cấp Z truyền
qua hệ thống mạng của họ
Không thể thể hiện những chính sách này trong khái niệm
“đường đi ngắn nhất”
Mỗi AS muốn “tự trị”: tự chọn các giao thức định tuyến
nội vùng và các chính sách định tuyến đi kèm
Mỗi AS muốn tính “riêng tư”: tự chọn topology, các chính
sách điều phối hoạt động
129
Yêu cầu mới với các giao thức
định tuyến liên vùng
Xuất hiện các mối quan hệ “kinh doanh” trên
topology và chính sách của mạng:
AS X có thể là nhà cung cấp (NCC) của AS Y
AS X có thể là khách hàng (KH) của AS Y
AS X và AS Y có thể là đối tác ngang hàng (Peer)
Quan hệ kinh doanh
Khách hàng trả tiền cho nhà cung cấp
Đối tác ngang hàng không cần trả tiền
130
66
Định tuyến theo chi phí
(Routing follows the Money)
A
B C
D E
peer peer
NCC KH
Quan hệ giữa các AS
• KH trả tiền cho NCC
• Đối tác ngang hàng: miễn phí
Quan hệ kinh doanh
D E: Đường
nào rẻ hơn?
E D: Đường
nào rẻ hơn?
131
Chọn giải thuật định tuyến nào?
Giữa các AS nên dùng giao thức nào?
Khó có một chính sách và đơn vị chi phí chung
LS: Chi phí không đồng nhất, CSDL quá lớn
DV: Mạng quá rộng, khó hội tụ
Giải pháp: BGP chọn đường theo path-vector
A B C
ED
A
D→A
A
C→B→A
A
D→A best path
C→B→A ×
4
A
1
A
1
2
A
B→A
2
3
Chưa xét yếu
tố chính sách
132
67
BGP – Border Gateway
Protocol
Yếu tố gắn kết của Internet, kết nối các hệ tự trị
Trao đổi thông tin đường đi NLRI (Network Layer
Reachability Information)
Cho phép một AS biết được thông tin đi đến AS khác
Gửi thông tin này vào bên trong AS đó
Xác định đường đi tốt nhất dựa trên thông tin đó và các
chính sách chọn đường
Cho phép thiết lập các chính sách
Chọn đường ra
Quảng bá các đường vào
133
BGP: Ý tưởng tìm đường
Mỗi AS tính toán đường đi tốt
nhất khi nhận được danh
sách đường đi
Mỗi AS quảng bá
những đường đi tốt nhất
của nó tới các AS khác
Có vẻ như BGP sử dụng lại ý tưởng nào đó!
134
68
BGP sử dụng ý tưởng của DV
Quảng bá thông tin về đường đi tới đích
Không chia sẻ thông tin về topology của
mạng
Lặp liên tục cho đến khi hội tụ (tìm thấy
đường đi tốt nhất)
Với 4 điểm khác biệt
135
BGP khác DV (1)
Không chọn đường đi ngắn nhất
Đường đi ngắn nhất(qua ít AS nhất) là mục tiêu
rất quan trọng trong định tuyến liên vùng (vì
sao?) nhưng không phải là ưu tiên hàng đầu.
BGP ưu tiên chọn đường theo chính sách trước
2 3
1
Nút 2 có thể chọn
“2, 3, 1” thay vì “2, 1”
136
69
BGP khác DV (2)
Định tuyến theo vector đường đi
Ý tưởng chính: quảng bá toàn bộ các chặng trên
đường đi
Distance vector: chọn đường dựa trên chi phí của
đường đi tới các đích có thể xuất hiện đường đi
quẩn do vấn đề đếm tới vô cùng (count-to-infinity)
Path vector: chọn đường dựa trên các chặng của
đường đi tới đích dễ dàng phát hiện các đường đi
quẩn (loop)
3
2 1
“d: path (2,1)” “d: path (1)”
“d: path (3,2,1)”
d
137
BGP khác DV (3)
Kết hợp đường đi
BGP có khả năng kết hợp các đường đi tới
các mạng con không đầy đủ
VNPT
a.0.0.0/8
HUST
a.b.0.0/16
VNU
a.c.0.0/16
đường đi tới a.*.*.*
foo.com
a.d.0.0/16
138
70
BGP khác DV (4)
Quảng bá có chọn lựa
Một AS có thể chọn để không quảng bá đường
đi tới một đích nào đó
Nói một các khác, một AS có đường đi tới AS
đích nhưng không đảm bảo sẽ vận chuyển mọi
lưu lượng mạng tới đó
Ví dụ: AS2 không muốn
vận chuyển thông tin
từ AS1 tới AS3
139
AS1 AS3
AS2
Quảng bá có chọn lựa
Lựa chọn: Đường đi nào được dùng để chuyển
dữ liệu tới AS đích?
Kiểm soát thông tin ra khỏi AS
Quảng bá: Quảng bá cho AS khác đường đi nào?
Kiểm soát thông tin vào AS
Đường đi
tới đích X
Lựa chọn
Khách hàng
Đối thủ
cạnh tranh
A
B
C
Quảng bá
140
71
Quảng bá có chọn lựa:
Một số chính sách điển hình
Thay đổi mục tiêu khi định tuyến:
Tối thiểu hóa chi phí, tối đa hóa lợi nhuận
Tối đa hóa hiệu năng (đường đi qua ít AS nhất)
Tối thiểu hóa lưu lượng qua AS (định tuyến kiểu “hot
potato”)
...
BGP có cơ chế gán thuộc tính cho các tuyến
đường để thực hiện các mục tiêu trên
141
Quảng bá có chọn lựa
Ví dụ: Định tuyến theo chi phí
Quan hệ ngang hàng (peer-
peer)
B quảng bá đường đi của AS
nào cho A?
B quảng bá đường đi của A
cho những AS nào?
Quan hệ NCC-KH
(provider-customer)
B quảng bá đường đi của D
cho những AS nào?
B quảng bá đường đi của C
cho những AS nào?
A
B C
D E
NCC KH
peerpeer
142
72
4.4.2. Hoạt động của
BGP
143
eBGP, iBGP và IGP
BGP cài đặt trên các router biên của AS(kết nối tới các
AS khác): 2 phiên hoạt động
External BGP (eBGP): thực hiện trao đổi thông điệp với các
router biên trên AS khác để tìm đường đi tới đích nằm ngoài AS
của nó
Internal BGP (iBGP): trao đổi thông điệp với các router biên và
router nội vùng cùng AS để quảng bá đường đi tới đích nằm
ngoài AS của nó
IGP : Interior Gateway Protocol = Intra-domain Routing
Protocol
Cài đặt trên router nội vùng
Tìm đường đi tới đích nằm trong vùng AS
Dữ liệu tới đích ngoài AS sẽ được chuyển tới router biên
144
73
eBGP và iBGP – Ví dụ
Quảng bá thông tin đường đi
1. 3a gửi tới 1c bằng eBGP
2. 1c gửi thông tin nội bộ tới (1b, 1d, ) trong AS1 bằng
iBGP
1b: Router biên cài BGP
1a,1d: Router nội vùng cài IGP
3. 2a nhận thông tin từ 1b bằng eBGP
3b
1d
3a
1c
2a
AS3
AS1
AS2
1a
2c
2b
1b
3c
eBGP session
iBGP session
145
Các thông điệp BGP cơ bản
OPEN:
Thiết lập phiên trao đổi thông tin đường đi
Sử dụng TCP, cổng 179
NOTIFICATION: thông báo các sự kiện bất thường
UPDATE:
Thông báo về đường đi mới
Thông báo về đường đi không còn khả dụng
KEEPALIVE: thông báo duy trì kết nối TCP
Kết nối của TCP cung cấp cho BGP là nửa duy trì (semi-
persistent)
146
74
Phiên trao đổi thông tin của BGP
OPEN: Thiết lập
kết nối TCP cổng 179
Trao đổi thông tin
đường đi đang có
Trao đổi thông điệp
UPDATE, NOTIFICATION
AS1
AS2
Duy trì kết nối
BGP session
UPDATE =
IP prefix: địa chỉ của đích
Thuộc tính gán cho đường đi: sử dụng cho mục
đích lựa chọn/quảng bá đường đi nào:
Các thuộc tính nội bộ: chỉ dùng cho các thông điệp
trao đổi trong AS. Ví dụ: LOCAL-PREF
Các thuộc tính sử dụng cho eBGP: ORIGIN, AS-
PATH, NEXT-HOP, MED
Các thuộc tính khác: ATOMIC_AGGREGATE,
AGGREGATOR, COMMUNITY...
148
75
Thuộc tính(1): AS-PATH
149
Thông tin về đường đi tới một đích (IP prefix)
Liệt kê số hiệu các AS trên đường đi tới đích
(theo thứ tự gần đích tới xa đích)
AS 7018
AT&T
AS 12654
128.112.0.0/16
AS-PATH = 7018 88
AS 88
Princeton,
128.112/16
IP prefix = 128.112.0.0/16
AS-PATH = 88
Thuộc tính(2): NEXT-HOP
150
Địa chỉ IP của router tiếp theo trên đường đi tới
đích
Cập nhật trên thông điệp UPDATE ra khỏi AS
AS 88
Princeton,
128.112/16
IP prefix = 128.112.0.0/16
AS path = 88
Next Hop = 192.0.2.1
AS 7018
AT&T
AS 12654
192.0.2.1
128.112.0.0/16
AS path = 7018 88
Next Hop = 12.127.0.121
12.127.0.121
76
Thuộc tính(3): MED
Multi-Exit Discriminator
Dùng cho eBGP
Sử dụng trong trường hợp
một AS có nhiều liên kết tới
một AS khác:
AS quảng bá đường đi với giá
trị MED khác nhau qua các liên
kết khác nhau
AS nhận thông tin sẽ chọn
đường đi có MED nhỏ hơn
điều khiển lưu lượng vào
151
AS1
IP Prefix: 1.0.0.0/10
NEXT-HOP: 1.0.0.1
MED: 50
IP Prefix: 1.0.0.0/10
NEXT-HOP: 1.0.0.2
MED: 100
AS2
1.0.0.1 1.0.0.2
Thuộc tính(3): MED
Routing follow the Money
Nhà cung cấp (NCC) có 2 điểm
cáp quang quốc tế cập bờ ở Hải
Phòng và Vũng Tàu
Khách hàng(KH) đấu nối với
NCC tại 2 điểm trên
Giả sử có lưu lượng Internet
quốc tế tới AS của NCC tại
Vũng Tàu và đích là nút mạng
đặt tại Hà Nội thuộc AS của KH
Đặt MED như thế nào?
Nếu quan hệ là ngang hàng?
152
77
Định tuyến kiểu “hot potato”
AS chuyển dữ liệu ra khỏi nó nhanh nhất có thể
Là chiến lược mặc định của các giao thức định tuyến nội
vùng (IGP)
Router nội vùng tìm router biên gần nó nhất để chuyển dữ liệu ra
ngoài AS
Có thể mâu thuẫn với MED khi cần thì chuyển qua chiến lược
“cold potato”
153
A
B
C
D
G
EF
4
5
3
9
3
4
108
8
dst
Thuộc tính(4): LOCAL_REF
Local reference
Trao đổi trên các thông điệp iBGP
Gán cho các đường đi tới cùng đích
Chọn đường đi có LOCAL_REF lớn hơn điều khiển lưu lượng ra
Không nhầm lẫn với MED
154
AS1
AS2 AS3
AS4
IP Prefix: 7.0.0.0/12
AS-PATH: 2 1
LOCAL_REF: 200
IP Prefix: 7.0.0.0/12
AS-PATH: 3 1
LOCAL_REF: 100
7.0.0.0 /8
78
Thuộc tính (5): ORIGIN
Chỉ ra nguồn gốc của thông tin về đường đi
Sử dụng 1 trong 3 giá trị:
0-IGP: thông tin đường đi học được từ trong AS qua giao thức IGP
1-EGP: thông tin đường đi học được từ ngoài AS qua giao thức
EGP (Exterior Gateway Protocol) [RFC904]
?-INCOMPLETE: đường đi học được từ nguồn không xác định
(thường do định tuyến tĩnh)
155
BGP
AS1
EGP
AS3
BGP
AS2
1.0.0.0 /82.0.0.0 /8IP Prefix: 1.0.0.0/8
ORIGIN: 1
IP Prefix: 2.0.0.0/8
ORIGIN: 0
Sử dụng các thuộc tính
Thứ tự ưu tiên khi chọn đường
156
Độ ưu tiên Tiêu chí Mục tiêu
1 LOCAL PREF Cao nhất
2 ASPATH Qua ít AS nhất
3 MED Thấp nhất
4 eBGP > iBGP Chọn đường đi học từ AS khác
5 iBGP path Đường đi tới router biên gần nhất
6 Router ID Địa chỉ IP nhỏ nhất
79
Quá trình xử lý thông điệp UPDATE
157
Chính sách
lựa chọn
Cập nhật bảng
đường đi
tốt nhất
Chọn đường
đi tốt nhất
Cập nhật bảng
chuyển tiếp
Chính sách
quảng bá
Thông điệp
UPDATE
Cập nhật
thuộc tính
Chấp nhận
đường đi
Từ chối
đường đi
Quảng bá
(eBGP, iBGP)
Một số vấn đề tồn tại của BGP
An toàn bảo mật:
Tấn công vào BGP có thể gây thiệt hại lớn
Không đảm bảo hiệu năng
Vì ưu tiên tìm đường theo chính sách trước tìm đường ngắn nhất
Hội tụ chậm
Dưới 35% router có thời gian hoạt động 99.99%
Khoảng 10% có thời gian hoạt động dưới 95%
40% số đường bị lỗi cần 30 phút để cập nhật xong
May mắn là hầu hết đường đi đều ổn định.
Phức tạp khi cần triển khai các chính sách
158
80
Còn rất nhiều vấn đề về tầng
mạng
Giao thức IPv6
Mobile IP
Định tuyến trên mạng cáp quang
Định tuyến trên mạng không dây
Broadcast và Multicast
An toàn bảo mật thông tin tầng mạng
An toàn bảo mật cho các giao thức định
tuyến...
159
Tài liệu tham khảo
Keio University
“Computer Networking: A Top Down Approach”,
J.Kurose
“Computer Network”, Berkeley University
160
File đính kèm:
bai_giang_mang_may_tinh_chuong_4_tang_mang_bui_trong_tung.pdf

