You are on page 1of 172

ĐẠI HỌC QUỐC GIA THÀNH PHỐ HỒ CHÍ MINH

TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN

NHẬP MÔN MẠNG MÁY TÍNH


Chương 4: Tầng Network

1
Chương 4: Tầng Network

A note on the use of these PowerPoint slides:


We’re making these slides freely available to all (faculty,
students, readers). They’re in PowerPoint form so you see the
animations; and can add, modify, and delete slides (including
this one) and slide content to suit your needs. They obviously
represent a lot of work on our part. In return for use, we only
ask the following:

 If you use these slides (e.g., in a class) that you mention


their source (after all, we’d like people to use our book!)
 If you post any slides on a www site, that you note that
they are adapted from (or perhaps identical to) our slides,
and note our copyright of this material.

For a revision history, see the slide note for this page.

Thanks and enjoy! JFK/KWR


Computer Networking:
All material copyright 1996-2020
A Top-Down Approach
8th edition
J.F Kurose and K.W. Ross, All Rights Reserved
Jim Kurose, Keith Ross
Pearson, 2020
2
Chương 4: Tầng Network (tầng Mạng)

Mục tiêu:
o Hiểu các nguyên lý nền tảng của o Hiện thực trong Internet
các dịnh vụ tầng Network  Giao thức IP
 Các mô hình dịch vụ của tầng  NAT
Network
 SDN
 Forwarding và routing
 Cách router hoạt động
 Routing
 Broadcast, multicast

3
Chương 4: Nội dung
4.1 Tổng quan o DHCP
o Mức dữ liệu o NAT
o Mức điều khiển o ICMP
4.2 Virtual circuit network và datagram o IPV6
network 4.5 Các thuật toán routing
o Các mạch ảo o Link state
o Mạng datagram o Distance vector
4.3 Cấu trúc bên trong router 4.6 Routing trong Internet
o Cổng đầu vào, chuyển đổi, cổng đầu ra o Hierarchical routing
o Quản lý bộ đệm, lập kế hoạch o RIP, OSPF, BGP
4.4 IP: Internet Protocol o SDN
o Định dạng datagram o Quản lý mạng
o IPv4 addressing 4.7 Broadcast và Multicast routing

4
Các dịch vụ và giao thức tầng Network

o Truyền các segment từ máy gửi đến máy


nhận
 Máy gửi: đóng gói các segment thành các
datagram, chuyển đến tầng liên kết
 Máy nhận: phân phối các segment đến
giao thức tầng vận chuyển
o Giao thức tầng network trong thiết bị
Internet: máy tính, router
o Router:
 Kiểm tra các trường trong phần header
của tất cả các datagram đi qua nó
 Di chuyển các datagram từ cổng đầu vào
sang cổng đầu ra để truyền datagram dọc
5
theo đường dẫn end-end
Hai chức năng chính của tầng network

Chức năng tầng network:


o Forwarding (chuyển tiếp): di Tương tự: tham gia một chuyến đi
chuyển các gói dữ liệu từ cổng  Chuyển tiếp: quá trình chuyển qua một
đầu vào của router đến cổng đầu nhánh đường xác định
ra phù hợp của router  Định tuyến: quá trình lập kế hoạch
o Routing (định tuyến): xác định chuyến đi từ nguồn đến đích
tuyến đường di chuyển cho các
gói dữ liệu từ nguồn đến đích
 Các thuật toán định tuyến

chuyển tiếp

định tuyến (lộ trình)

6
Tầng network: mức dữ liệu (data plane) và mức điều khiển (control
plane)

Mức dữ liệu: Mức điều khiển:


o Cục bộ, trên mỗi router o Toàn mạng, logic
o Xác định cách datagram đến cổng o Xác định cách datagram được định
đầu vào của router được chuyển tuyến giữa các router dọc theo đường
tiếp đến cổng đầu ra của router dẫn đầu cuối từ máy nguồn đến máy
đích
o Hai cách tiếp cận mức điều khiển:
 Thuật toán định tuyến truyền
giá trị địa chỉ đích trong
header của gói tin
thống: được thực hiện trong
router
0111 1
 Mạng được xác định bằng phần
2
3 mềm (SDN) : được triển khai
trong các máy chủ (từ xa)

7
Mức điều khiển ở mỗi router
Các thành phần thuật toán định tuyến riêng lẻ trong mỗi và mọi router
tương tác trong mức điều khiển

thuật toán
định tuyến
Mức điều khiển

Mức dữ liệu

giá trị địa chỉ đích trong


header của gói tin
0111 1
2
3

8
Mức điều khiển được xác định bằng phần mềm (SDN – Software-
Defined-Networking)

Điều khiển từ xa

Mức điều khiển

Mức dữ liệu

CA
CA CA CA CA
giá trị địa chỉ đích trong
header của gói tin

0111 1
2
3

9
Mô hình dịch vụ mạng

Các dịch vụ cho datagram riêng lẻ : Các dịch vụ cho một luồng
o Đảm bảo truyền datagram:
o Độ trễ dưới 40 mili giây o Truyền datagram theo thứ tự
o Đảm bảo băng thông tối thiểu
để truyền
o Hạn chế các thay đổi trong
Hỏi: Mô hình dịch vụ nào cho khoảng trống giữa các gói tin
“kênh” truyền datagram từ
máy gửi đến máy nhận?

10
Mô hình dịch vụ tầng mạng

Đảm bảo chất lượng dịch vụ (QoS)?


Kiến trúc Mô hình
Mạng dịch vụ Băng thông Mất mát Thứ tự thời gian

Internet nỗ lực tốt nhất không có KHÔNG KHÔNG KHÔNG

ATM Tốc độ không đổi tỷ lệ không đổi Đúng Đúng Đúng


Mô hình dịch vụ Internet “nỗ lực tốt nhất”
ATM Tốc độ bit khả dụng
Không đảm bảo về : đảm bảo tối thiểu KHÔNG Đúng KHÔNG
Internet i. bảo
Đảm Truyền thành công
dịch vụ Đúngdatagram Đúng
tới đích Đúng Đúng
(RFC 1633 )
ii. Thời gian hoặc thứ tự truyền
Internet iii. Băng
phân thông
tán (RFC 2475 )
sẵnkhả
có thi
cho luồng đầu cuối
có khả năng
có khả năng
KHÔNG

11
Mô hình dịch vụ tầng mạng

Đảm bảo chất lượng dịch vụ (QoS)?


Kiến trúc Mô hình
Mạng Dịch vụ Băng thông Mất mát Thứ tự Thời gian

Internet nỗ lực tốt nhất không có không không không

ATM tốc độ không đổi tỷ lệ không đổi có có có

ATM tốc độ bit khả dụng đảm bảo tối thiểu không có không

Internet đảm bảo dịch vụ có có có có


(RFC 1633 )

Internet phân tán (RFC 2475 ) khả thi khả thi khả thi có

12
Chương 4: Nội dung
4.1 Tổng quan
o DHCP
o Mức dữ liệu
o NAT
o Mức điều khiển o ICMP
4.2 Virtual circuit network và datagram o IPV6
network
4.5 Các thuật toán routing
o Các mạch ảo
o Link state
o Mạng datagram
o Distance vector
4.3 Cấu trúc bên trong router
4.6 Routing trong Internet
o Cổng đầu vào, chuyển đổi, cổng đầu ra o Hierarchical routing
o Quản lý bộ đệm, lập kế hoạch o RIP, OSPF, BGP
4.4 IP: Internet Protocol o SDN
o Định dạng datagram o Quản lý mạng
o IPv4 addressing 4.7 Broadcast và Multicast routing
13
Dịch vụ connection (hướng kết nối) và connection-less (phi kết
nối)
o Mạng datagram cung cấp dịch vụ connectionless tại tầng network
o Mạng mạch ảo (virtual-circuit network) cung cấp dich vụ connection tại
tầng network
o Tương tự như các dịch vụ kết nối định hướng và không định hướng
của tầng transport, nhưng:
 Dịch vụ: từ host này đến host kia (host-to-host)
 Không lựa chọn: network chỉ cung cấp 1 dịch vụ
 Thực hiện: trong mạng lõi

14
Các mạch ảo (Virtual circuits)

o Thiết lập cuộc gọi, chia nhỏ mỗi cuộc gọi trước khi dữ liệu có thể truyền
o Mỗi packet mang định dạng của kết nối ảo (VC identifier) (không phải là
địa chỉ của host đích)
o Mỗi router trên đường đi từ nguồn tới đích duy trì trạng thái cho mỗi kết
nối mà gói đi qua.
o Đường link, các tài nguyên router (băng thông, bộ nhớ đệm) có thể
được cấp phát cho kết nối ảo (các tài nguyên dành riêng= dịch vụ có
thể dự đoán trước)

“Đường đi từ nguồn tới đích tương tự như mạng điện thoại


(telephone circuit)”
 Hiệu quả
 Các hoạt động của mạng dọc theo đường đi từ nguồn tới đích

15
Sự thực hiện kết nối ảo (VC)
Một kết nối ảo bao gồm:
1. Đường đi (path) từ nguồn tới đích
2. Số hiệu kết nối ảo (VC numbers), một số cho một kết nối dọc theo đường đi
3. Các mục trong các bảng forwarding ở trong các router dọc theo đường đi
o Packet thuộc về kết nối ảo mang số hiệu (chứ không phải là điểm đến)
o Số hiệu của kết nối ảo có thể được thay đổi trên mỗi kết nối
 Số hiệu mới của kết nối ảo được cấp phát từ bảng forwarding

16
Bảng forwarding của kết nối ảo
12 22 32

1 3
2
VC number
interface
Bảng forwarding trong routernumber
ở góc trái trên cùng:
số hiệu của số hiệu của
Cổng vào kết nối ảo vào Cổng ra kết nối ảo ra

1 12 3 22
2 63 1 18
3 7 2 17
1 97 3 87
… … … …

Các router kết nối ảo duy trì thông tin trạng thái kết nối!

17
Các mạch ảo: các giao thức gửi tín hiệu
o Được dùng để thiết lập, duy trì kết nối ảo
o Được dùng trong ATM, frame-relay, X.25
o Không được sử dụng trong Internet ngày nay

application
5. Bắt đầu dòng dữ liệu 6. Nhận dữ liệu application
transport transport
network 4. Cuộc gọi được kết nối 3. Chấp nhận cuộc gọi
1. Khởi tạo cuộc gọi network
data link 2. Cuộc gọi đến
data link
physical physical

18
Mạng Datagram
o Không thiết lập cuộc gọi tại tầng network
o Các router: không có trạng thái về các kết nối giữa 2 điểm cuối
 Không có khái niệm về mức network của “kết nối”
o Các packet được chuyển dùng địa chỉ của host đích

application application
transport transport
network 1. Gởi các datagram 2. Nhận datagram network
data link data link
physical physical

19
Bảng Datagram forwarding
4 tỉ địa chỉ IP, vì liệt kê
Thuật toán routing ra 1 dãy các địa chỉ hơn
là liệt kê ra từng địa chỉ
local forwarding table
(các mục tổng hợp)
dest address output
address-range 1 3 link
address-range 2 2
address-range 3 2
address-range 4 1

Địa chỉ IP đích trong


header của packet đến
1
3 2

20
Mạng datagram hoặc mạch ảo: tại sao?

Internet (datagram) ATM (mạch ảo)


o Dữ liệu trao đổi giữa các máy tính o Được phát triển từ hệ thống điện
thoại
 Dịch vụ “mềm dẻo, không định thì chặt o Đàm thoại của con người:
chẽ.
 Định thì chặt chẽ, yêu cầu về độ
o Nhiều kiểu link tin cậy
 Các đặc tính khác nhau  Cần cho các dịch vụ bảo đảm
 Khó đồng nhất dịch vụ o Các hệ thống đầu cuối “ít thông
minh”
o Các hệ thống đầu cuối “thông minh” (các  Điện thoại
máy tính)
 Bên trong mạng phức tạp
 Có thể thích ứng, điều khiển và sửa lỗi
 Mạng bên trong đơn giản, phức tạp tại
“mạng bên ngoài”

21
Chương 4: Nội dung
4.1 Tổng quan
o Mức dữ liệu o DHCP
o Mức điều khiển o NAT
4.2 Virtual circuit network và datagram o ICMP
network o IPV6
o Các mạch ảo 4.5 Các thuật toán routing
o Mạng datagram o Link state
4.3 Cấu trúc bên trong router o Distance vector
o Cổng đầu vào, chuyển đổi, cổng đầu 4.6 Routing trong Internet
ra o Hierarchical routing
o Quản lý bộ đệm, lập kế hoạch o RIP, OSPF, BGP
4.4 IP: Internet Protocol o SDN
o Định dạng datagram o Quản lý mạng
o IPv4 addressing 4.7 Broadcast và Multicast routing
22
Tổng quan kiến trúc Router
Hai chức năng chính của router:
o Chạy các giao thức/thuật toán routing (RIP, OSPF, BGP)
o Chuyển tiếp các datagram từ đường link vào tới đường link ra
routing routing, management
processor control plane (software)
operates in millisecond time frame

forwarding data plane


(hardware) operates in
nanosecond time frame

high-seed
switching
fabric

router input ports router output ports


23
Chức năng cổng đầu vào

Lookup,
Link
Layer Forwarding
Line Switch
Protocol fabric
Termination
(receive)
queueing

Tầng vật lý:


tiếp nhận mức bit
Chuyển mạch phi tập trung:
Tầng liên kết: o Sử dụng các giá trị trong header, tra cứu cổng đầu ra bằng cách sử
ví dụ: Ethernet dụng bảng chuyển tiếp trong bộ nhớ cổng đầu vào (“match plus
(Chương 5) action”)
o Mục tiêu: hoàn thành xử lý cổng đầu vào ở 'tốc độ đường truyền’
o Hàng đợi cổng đầu vào: nếu datagram đến nhanh hơn tốc độ
chuyển tiếp vào

24
Chức năng cổng đầu vào

Lookup,
Link
Layer Forwarding
Line Switch
Protocol fabric
Termination
(receive)
queueing

Tầng vật lý:


tiếp nhận mức bit
Chuyển mạch phi tập trung :
Tầng liên kết: o Sử dụng các giá trị trong header, tra cứu cổng đầu ra bằng cách sử
ví dụ: Ethernet dụng bảng chuyển tiếp trong bộ nhớ cổng đầu vào (“match plus
(Chương 5) action”)
o Chuyển tiếp dựa trên đích: chỉ chuyển tiếp dựa trên địa chỉ IP đích
(truyền thống)
o Chuyển tiếp tổng quát: chuyển tiếp dựa trên bất kỳ tập hợp giá trị
nào trong trong header
25
Chuyển tiếp dựa trên địa chỉ đích đến

26 Hỏi: điều gì sẽ xảy ra nếu các phạm vi không được phân chia hợp lý?
Kết hợp tiền tố dài nhất

Tiền tố phù hợp dài nhất


Khi tìm mục nhập bảng chuyển tiếp cho địa chỉ đích nhất định, hãy
sử dụng tiền tố địa chỉ dài nhất khớp với địa chỉ đích

Phạm vi địa chỉ đích Cổng kết nối


11001000 00010111 00010 *** ******** 0
11001000 00010111 00011000 ******** 1
11001000 00010111 00011 *** ******** 2
Ngược lại 3

11001000 00010111 00010110 10100001 Cổng nào?


ví dụ :
11001000 00010111 00011000 10101010 Cổng nào?
27
Kết hợp tiền tố dài nhất

Tiền tố phù hợp dài nhất


Khi tìm mục nhập bảng chuyển tiếp cho địa chỉ đích nhất định, hãy
sử dụng tiền tố địa chỉ dài nhất khớp với địa chỉ đích.

Phạm vi địa chỉ đích Cổng kết nối


11001000 00010111 00010 *** ******** 0
11001000 00010111 00011000 ******** 1
match! 00011
11001000 00010111 *** ******** 2
nếu không thì 3

11001000 00010111 00010110 10100001 Cổng nào?


ví dụ :
11001000 00010111 00011000 10101010 Cổng nào?
28
Kết hợp tiền tố dài nhất

Tiền tố phù hợp dài nhất


Thi tìm mục nhập bảng chuyển tiếp cho địa chỉ đích nhất định, hãy
sử dụng tiền tố địa chỉ dài nhất khớp với địa chỉ đích.

Phạm vi địa chỉ đích Cổng kết nối


11001000 00010111 00010 *** ******** 0
11001000 00010111 00011000 ******** 1
11001000 00010111 00011 *** ******** 2
nếu không thì 3
match!
11001000 00010111 00010110 10100001 Cổng nào?
ví dụ :
11001000 00010111 00011000 10101010 Cổng nào?
29
Kết hợp tiền tố dài nhất

Tiền tố phù hợp dài nhất


Khi tìm mục nhập bảng chuyển tiếp cho địa chỉ đích nhất định, hãy
sử dụng tiền tố địa chỉ dài nhất khớp với địa chỉ đích.

Phạm vi địa chỉ đích Cổng kết nối


11001000 00010111 00010 *** ******** 0
11001000 00010111 00011000 ******** 1
11001000 00010111 00011 *** ******** 2
nếu không thì 3
match!
11001000 00010111 00010110 10100001 Cổng nào?
ví dụ :
11001000 00010111 00011000 10101010 Cổng nào?
30
Switching fabrics

o Chuyển packet từ cổng đầu vào đến cổng đầu ra thích hợp
o Tốc độ chuyển đổi: tốc độ mà các packet có thể được chuyển từ
đầu vào sang đầu ra
 Thường được đo bằng bội số của tốc độ dòng đầu vào/đầu ra
 N đầu vào: tốc độ chuyển đổi N lần tốc độ dòng mong muốn

r (tỷ lệ: NR, lý r


tưởng)

...
...

N cổng đầu vào High-speed N cổng đầu ra


switching
fabric

r r

31
Switching fabrics

o Chuyển packet từ cổng đầu vào đến cổng đầu ra thích hợp

o Tốc độ chuyển đổi: tốc độ mà các packet có thể được chuyển từ


đầu vào sang đầu ra
 Thường được đo bằng bội số của tốc độ dòng đầu vào/đầu ra
 N đầu vào: tốc độ chuyển đổi N lần tốc độ dòng mong muốn

o Ba loại switching fabric chính:

memory

memory bus crossbar

32
Switching thông qua bộ nhớ (memory)

Các router thế hệ đầu tiên:


o Các máy tính cổ điển với switching dưới sự kiểm soát trực tiếp của CPU
o Packet được sao chép vào bộ nhớ của hệ thống
o Tốc độ bị giới hạn bởi băng thông của bộ nhớ (2 bus qua mỗi datagram)

Cổng vào Cổng ra


(ví dụ, Memory (ví dụ,
Ethernet) Ethernet)

Bus hệ thống

33
Switching thông qua bus

o Datagram từ bộ nhớ cổng đầu vào đến bộ nhớ cổng đầu ra thông qua
một bus chia sẻ
o Tranh chấp bus: tốc độ chuyển mạch bị giới hạn bởi băng thông của bus
o Bus 32 Gbps trên Cisco 5600: đủ tốc độ cho các router truy cập

34
Switching thông qua interconnectiong
network
o Mạng Crossbar, Clos, các mạng kết nối khác ban đầu được phát triển để
kết nối các bộ vi xử lý trong bộ đa xử lý

o Switch đa tầng: switch nxn được tạo thành


từ nhiều switch nhỏ hơn

o Khai thác song song:


Crossbar 3x3
 Phân mảnh datagram vào các ô có độ
dài cố định khi đi vào
 Chuyển các ô thông qua fabric, tập hợp
lại datagram khi đi ra

Switch đa tầng 8x8


được xây dựng từ các switch có kích thước nhỏ hơn
35
Switching thông qua interconnectiong network

o Chia tỷ lệ, sử dụng song song nhiều “mặt phẳng” switching:


o Tăng tốc, mở rộng quy mô thông qua song song
o Router CRS của Cisco:
 Đơn vị cơ bản: 8
switching planes
 Mỗi mặt phẳng: mạng
kết nối 3 tầng
 Khả năng switching lên
đến 100 Tbps

36
Hàng đợi tại cổng đầu vào
o Nếu việc switching chậm hơn so với các cổng đầu vào kết hợp -> hàng
đợi có thể xảy ra ở đầu vào
o Chậm trễ và mất dữ liệu do tràn bộ đệm đầu vào!

o Chặn Head-of-the-Line (HOL): datagram xếp hàng ở phía trước hàng đợi
ngăn những datagram khác trong hàng đợi di chuyển về phía trước

Switch Switch
fabric fabric

tranh chấp tại cổng đầu ra: chỉ có thể One packet time later: packet
truyền một packet màu đỏ, packet màu màu xanh lá cây bị chặn HOL
đỏ thấp hơn sẽ bị chặn
37
Hàng đợi cổng đầu ra

datagram Đây là một slide thực sự quan trọng


Switch buffer
Link layer line
fabric Protocol termination
(rate: NR) queueing
(send) R

o Bộ đệm khi các datagram đến từ


fabric nhanh hơn tốc độ truyền của Datagram có thể bị mất
liên kết. Chính sách loại bỏ: do tắc nghẽn, thiếu bộ
datagram nào sẽ bị loại bỏ nếu đệm
không có bộ đệm trống?
Lập kế hoạch ưu tiên – có
o Nguyên tắc lập lịch chọn trong số
hiệu suất tốt nhất, tính
các datagram được xếp hàng đợi trung lập của mạng
để truyền
38
Hàng đợi cổng đầu ra

Switch
Switch
fabric
fabric

tại t, các packet nhiều one packet time later


hơn từ đầu vào đến
đầu ra
o Đệm khi tốc độ đến vượt quá tốc độ dòng đầu ra
o Xếp hàng (trễ) và mất gói do tràn bộ đệm tại cổng đầu ra!

39
Bao nhiêu bộ đệm?
o Quy tắc ngón tay cái RFC 3439: bộ đệm trung bình bằng “typical” RTT
(giả sử 250 mili giây) lần dung lượng đường link C
 Ví dụ: liên kết C = 10 Gbps: bộ đệm 2,5 Gbit

o Đề xuất gần đây hơn: với N luồng, bộ đệm bằng


RTTxC
N
o Nhưng quá nhiều bộ đệm có thể làm tăng độ trễ (đặc biệt là trong các
router gia đình)
 RTT dài: hiệu suất kém cho các ứng dụng thời gian thực, phản hồi
TCP chậm chạp
 kiểm soát tắc nghẽn dựa trên độ trễ: “giữ liên kết cổ chai vừa đủ đầy
(bận)”
40
Quản lý bộ đệm

Quản lý bộ đệm:
datagram o Drop: packet nào được thêm
switch buffer link vào, drop khi bộ đệm đầy
fabric layer line R
protocol termination
• Drop ở cuối: drop packet đến
queueing (send)  Ưu tiên: drop/remove trên cơ
scheduling sở độ ưu tiên

o Đánh dấu: đánh dấu packet để


Abstraction: queue báo hiệu tắc nghẽn (ECN, RED)
packet
R packet
departures
arrivals queue link
(waiting area) (server)

41
Lập lịch truyền packet: FCFS
Lập lịch truyền packet: quyết định FCFS: các packet được truyền
packet nào sẽ gửi tiếp theo trên liên theo thứ tự đến cổng ra
kết o Còn được gọi là: Nhập trước
o Đến trước được phục vụ trước xuất trước (FIFO)
o o Ví dụ thế giới thực?
Độ ưu tiên
o Thi đấu vòng tròn
o Xếp hàng công bằng có trọng số

Abstraction: queue

R packet
departures
packet
arrivals
queue link
(waiting area) (server)
42
Chính sách lập kế hoạch: priority
Lập kế hoạch ưu tiên:
o Traffic đến được phân loại, xếp hàng hàng đợi ưu tiên cao

theo lớp lượt đến

 Bất kỳ trường header nào cũng có


thể được sử dụng để phân loại phân loại liên kết khởi hành

hàng đợi ưu tiên thấp

2
1 3 4 5
lượt đến
o Gửi packet từ hàng đợi ưu tiên cao
packet
nhất có packet đệm trong 1 3 2 4 5
dịch vụ
• FCFS trong lớp ưu tiên
khởi hành
1 3 2 4 5

43
Chính sách lập kế hoạch: round robin
Lịch Round Robin (RR):
o Traffic đến được phân loại, xếp hàng theo lớp
 Bất kỳ trường header nào cũng có thể được sử dụng để phân loại

khởi hành
r
o Máy chủ theo chu kỳ, liên tục
quét hàng đợi, lần lượt gửi một phân loại liên kết
lượt đến
packet hoàn chỉnh từ mỗi lớp
(nếu có)

44
Chính sách lập kế hoạch: hàng đợi công bằng có trọng số

Xếp hàng công bằng có trọng số (WFQ):


o Round Robin tổng quát

 Mỗi lớp i , có trọng số w i , và


được trọng số lượng dịch vụ w1
trong mỗi chu kỳ: khởi hành

wi w2 r
S jw j phân loại liên kết
lượt đến w3

 Đảm bảo băng thông tối thiểu


(per-traffic-class)

45
Sidebar: Tính trung lập của mạng

Tính trung lập của mạng là gì?


o Kỹ thuật: cách một ISP nên chia sẻ/phân bổ tài nguyên của mình
 Lập lịch packet, quản lý bộ đệm là các cơ chế
o Nguyên tắc kinh tế, xã hội
 Bảo vệ tự do ngôn luận
 Khuyến khích đổi mới, cạnh tranh
o Thi hành hợp pháp các quy tắc và chính sách

Các quốc gia khác nhau có “quan điểm” khác nhau về tính trung lập của mạng

46
Chương 4: Nội dung
4.1 Tổng quan o DHCP
o Mức dữ liệu o NAT
o Mức điều khiển o ICMP
4.2 Virtual circuit network và datagram o IPV6
network
4.5 Các thuật toán routing
o Các mạch ảo
o Link state
o Mạng datagram
o Distance vector
4.3 Cấu trúc bên trong router
4.6 Routing trong Internet
o Cổng đầu vào, chuyển đổi, cổng đầu ra o Hierarchical routing
o Quản lý bộ đệm, lập kế hoạch o RIP, OSPF, BGP
4.4 IP: Internet Protocol o SDN
o Định dạng datagram o Quản lý mạng
o IPv4 addressing 4.7 Broadcast và Multicast routing
47
Tầng Network: Internet

Chức năng tầng mạng của host, router:

Tầng Transport: TCP, UDP

Thuật toán lựa chọn


giao thức IP
•định dạng datagram
đường: được triển •địa chỉ
Tầng khai trong •quy ước xử lý gói tin
• giao thức định bảng
Network tuyến (OSPF, BGP) forwarding giao thức ICMP
• bộ điều khiển SDN •báo cáo lỗi
•router " báo hiệu"

Tầng Link

Tầng Physical

48
Định dạng của IP datagram

32 bits
Số phiên bản giao thức IP Tổng độ dài datagram
ver head. type of length (byte)
Kích thước header (byte) len service
fragment sự phân mảnh/
“loại” dịch vụ: 16-bit identifier flgs
 Diffserv (0:5) offset tổng hợp
time to upper header
 ECN (6:7) kiểm tra tính toàn vẹn
live layer checksum
TTL: số hop tối đa còn lại source IP address Địa chỉ IP nguồn 32 bit
(giảm ở mỗi router)
Độ dài tối đa: 64K byte
destination IP address Địa chỉ IP đích 32-bit
giao thức tầng trên (ví dụ: TCP hoặc Thông thường: 1500 byte trở lại
UDP) options (if any) tuỳ chọn
overhead
 20 byte TCP payload data
 20 byte IP (variable length,
 = 40 byte + app typically a TCP
layer overhead for or UDP segment)
TCP+IP
49
Phân mảnh và tổng hợp IP
o Các đường link mạng có MTU (max
transfer size - kích thước truyền tối đa)
- frame lớn nhất có thể ở mức kết nối
phân mảnh:


 Loại liên kết khác nhau, MTU khác vào: một datagram lớn
nhau ra: 3 datagram nhỏ hơn

o Datagram lớn được chia (“phân mảnh”)


trong mạng
tổng hợp lại
 Một datagram trở thành một số
datagram
 Chỉ “tổng hợp” tại điểm đến


 Các bit của IP header được sử dụng
để xác định, sắp xếp các fragment liên
quan
50
Phân mảnh và tổng hợp IP

Ví dụ: length ID fragflag offset


 Gói tin 4000 byte =4000 =x =0 =0

 MTU = 1500 byte một datagram lớn trở thành


một số datagram nhỏ hơn

1480 byte trong length ID fragflag offset


trường dữ liệu =1500 =x =1 =0

offset = length ID fragflag offset


1480/8 =1500 = x =1 =185

length ID fragflag offset


=1040 =x =0 =370

51
Địa chỉ IP: giới thiệu
o Địa chỉ IP: Mã định danh 32 bit 223.1.1.1

được liên kết với từng interface


của host hoặc router 223.1.2.1

223.1.1.2
o Interface: kết nối giữa host/router 223.1.1.4 223.1.2.9

và liên kết vật lý


223.1.3.27
 Router thường có nhiều interface 223.1.1.3
223.1.2.2

 Host thường có một hoặc hai


interface (ví dụ: Ethernet có dây, 223.1.3.1 223.1.3.2
802.11 không dây)

ký hiệu địa chỉ IP dạng thập phân:


223.1.1.1 = 11011111 00000001 00000001 00000001

223 1 1 1
52
Địa chỉ IP: giới thiệu
223.1.1.1

Hỏi: các interface thực sự được 223.1.2.1


kết nối như thế nào? 223.1.1.2

Đáp: chúng ta sẽ tìm hiểu 1: có dây


223.1.1.4 223.1.2.9

về điều đó trong phần Interface được kết


sau nối bằng bộ chuyển 223.1.1.3
223.1.3.27
223.1.2.2
mạch Ethernet

223.1.3.1 223.1.3.2

Hiện tại: không cần lo lắng về


cách một interface được kết
nối với interface khác (không
có router can thiệp) 2: Interface không dây được kết
nối bởi trạm phát WiFi

53
Mạng con
223.1.1.1

o Mạng con là gì ? 223.1.2.1

 Interface của thiết bị có thể tiếp 223.1.1.2

cận vật lý với nhau mà không cần 223.1.1.4 223.1.2.9

thông qua router can thiệp


223.1.3.27
223.1.1.3
223.1.2.2

o Địa chỉ IP có cấu trúc:


 Phần mạng con: các thiết bị trong 223.1.3.1 223.1.3.2

cùng một mạng con có chung các


bit bậc cao
mạng gồm 3 mạng con
 Phần host: các bit thứ tự thấp
còn lại

54
Mạng con
mạng con 223.1.1.0/24
223.1.1.1 mạng con 223.1.2.0/24

o Công thức xác định mạng 223.1.2.1


con: 223.1.1.2
223.1.1.4 223.1.2.9
 Tách từng interface khỏi host
hoặc router của nó, tạo ra các
“đảo” của các mạng bị cô lập 223.1.1.3
223.1.3.27
223.1.2.2

 Mỗi mạng bị cô lập được gọi


là mạng con mạng con
223.1.3.0/24 223.1.3.1 223.1.3.2

mặt nạ mạng con: /24


(24 bit bậc cao: phần mạng con của địa chỉ IP)

55
Mạng con 223.1.1.2

mạng con 223.1.1/24


223.1.1.1
o Các mạng con ở đâu? 223.1.1.4

o /24 địa chỉ mạng con 223.1.1.3


là gì?
223.1.9.2 223.1.7.0
mạng con 223.1.7/24
mạng con 223.1.9/24

223.1.9.1 223.1.7.1
223.1.8.1 223.1.8.0

mạng con 223.1.2/24 223.1.2.6 mạng con 223.1.8/24223.1.3.27


mạng con 223.1.3/24
223.1.2.1 223.1.2.2 223.1.3.1 223.1.3.2

56
Địa chỉ IP: CIDR

CIDR: C lassless I nter D omain R outing (phát âm là “cider”)


o Phần mạng con của địa chỉ có độ dài tùy ý
o Định dạng địa chỉ: abcd/x , trong đó x là # bit trong phần mạng con
của địa chỉ

mạng con host


phần phần
11001000 00010111 0001000 0 00000000
200.23.16.0/23

57
Địa chỉ IP: làm thế nào để có được một địa chỉ?

Đó thực sự là hai câu hỏi:


1. Hỏi: Làm cách nào để host nhận được địa chỉ IP trong mạng của nó
(phần địa chỉ host)?
2. Hỏi: Làm thế nào để một mạng có được địa chỉ IP cho chính nó (phần
mạng của địa chỉ)

Làm thế nào để host có được địa chỉ IP?


o Được mã hóa cứng bởi sysadmin trong file cấu hình (ví dụ:
/etc/rc.config trong UNIX)
o DHCP: Dynamic Host Configuration Protocol: tự động lấy địa chỉ từ
máy chủ DHCP
• “cắm là chạy”

58
DHCP: Giao thức cấu hình host động

Mục tiêu: host tự động lấy địa chỉ IP từ máy chủ mạng khi nó “tham
gia” mạng
o Có thể gia hạn việc thuê địa chỉ đang sử dụng
o Cho phép sử dụng lại địa chỉ (chỉ giữ địa chỉ khi kết nối/ bật)
o Hỗ trợ cho người dùng di động tham gia/rời khỏi mạng
Tổng quan về DHCP:
o Host gởi quảng bá thông điệp DHCP discover [tùy chọn]
o Máy chủ DHCP phản hồi với thông điệp DHCP offer [tùy chọn]
o Host yêu cầu địa chỉ IP: thông điệp DHCP request
o Máy chủ DHCP gửi địa chỉ: thông điệp DHCP ack

59
Kịch bản DHCP client-server

Thông thường, máy chủ DHCP sẽ


được đặt chung với router, phục
DHCP server
223.1.1.1
vụ tất cả các mạng con mà router
223.1.2.1
được gắn vào.
223.1.2.5
223.1.1.2
223.1.1.4 223.1.2.9

223.1.1.3
223.1.3.27 máy khách DHCP cần địa
223.1.2.2 chỉ trong mạng này

223.1.3.1 223.1.3.2

60
Kịch bản DHCP client-server

Máy chủ DHCP: 223.1.2.5 DHCP discover Client vào mạng


src : 0.0.0.0, 68
Quảng bả: có máy chủ
đích: 255.255.255.255,67
DHCP yiaddr:
ngoài0.0.0.0
đó không?
ID giao dịch: 654

DHCP offer
src: 223.1.2.5, 67
Quảng bá: Tôi là máy
đích: 255.255.255.255, 68 chủ
DHCP! Đây 223.1.2.4
yiaddrr: là một địa chỉ
IP bạnID giao
có dịch:
thể 654
sử dụng
trọn đời: 3600 giây
Hai bước trên có thể được
DHCP request bỏ qua “nếu client nhớ và
src: 0.0.0.0, 68 muốn sử dụng lại địa chỉ
đích:: 255.255.255.255, 67
Quảng bá: OK. Tôi muốn mạng đã cấp phát trước
yiaddrr: 223.1.2.4 đó” [RFC 2131]
sử dụng
ID giaođịadịch:
chỉ655
IP này!
trọn đời: 3600 giây

DHCP ACK
src: 223.1.2.5, 67
Quảng bá: OK. Bạn 68
đích: 255.255.255.255, đã có
yiaddrr: 223.1.2.4
IDđịa
giaochỉ IP655
dịch: đó!
trọn đời: 3600 giây
61
DHCP: nhiều hơn địa chỉ IP

DHCP có thể cung cấp nhiều hơn địa chỉ IP được phân bổ trên
mạng con:
o Địa chỉ first-hop của router (địa chỉ default gateway) cho
client
o Tên và địa chỉ IP của máy chủ DNS
o Mặt nạ mạng (chỉ ra phần mạng so với phần địa chỉ máy chủ)

62
DHCP: ví dụ
o Laptop kết nối sẽ sử dụng DHCP
để lấy địa chỉ IP, địa chỉ first-hop
của router, địa chỉ của máy chủ
DNS.
o Thông điệp DHCP REQUEST
được đóng gói trong UDP, được
đóng gói trong IP, được đóng gói
trong Ethernet.
o Quảng bá frame Ethernet (đích:
FFFFFFFFFFFF ) trên mạng LAN,
được nhận tại router chạy máy chủ
DHCP.
o Ethernet được giải mã thành IP,
giải mã UDP thành DHCP.
63
DHCP: ví dụ

DHCP DHCP o Máy chủ DHCP tạo DHCP ACK


DHCP UDP chứa địa chỉ IP của client, địa chỉ
DHCP

DHCP
địa chỉ IP
Eth
IP first-hop của router cho client,
phò tên & địa chỉ IP của máy chủ
DNS
o Phản hồi của máy chủ DHCP
DHCP
được đóng gói và được chuyển
DHCP
DHCP UDP tiếp tới client, giải mã thành
DHCP địa chỉ IP DHCP tại client
DHCP Eth router với DHCP
DHCP
phò máy chủ tích hợp vào o Client bây giờ biết địa chỉ IP, tên
router và địa chỉ IP của máy chủ DNS,
địa chỉ IP first-hop của router

64
Địa chỉ IP: làm thế nào để có được một địa chỉ?

Hỏi: Làm thế nào để mạng nhận được phần mạng con của địa chỉ IP?
Đáp: Được phân bổ một phần không gian địa chỉ của nhà cung cấp ISP

ISP’s block 11001000 00010111 0001 0000 00000000 200.23.16.0/20

Sau đó, ISP có thể phân bổ không gian địa chỉ của mình thành 8 khối:

Tổ chức 0 11001000 00010111 0001000 0 00000000 200.23.16.0/23


Tổ chức 1 11001000 00010111 0001001 0 00000000 200.23.18.0/23
Tổ chức 2 11001000 00010111 0001010 0 00000000 200.23.20.0/23
… ….. …. ….
Tổ chức 7 11001000 00010111 0001111 0 00000000 200.23.30.0/23
65
Địa chỉ phân cấp: tập hợp tuyến đường

Địa chỉ phân cấp cho phép quảng cáo thông tin định tuyến hiệu quả:

Tổ chức 0
200.23.16.0/23
tổ chức 1
“ Gửi cho tôi bất cứ thứ gì
200.23.18.0/23 có địa chỉ
tổ chức 2 bắt đầu
200.23.20.0/23 . Fly-By-Night-ISP 200.23.16.0/20 ”
.
. . Internet
.
tổ chức 7 .
200.23.30.0/23
“ Gửi cho tôi bất cứ thứ gì
ISPs-R-Us
có địa chỉ
bắt đầu
199.31.0.0/16 ”

66
Địa chỉ phân cấp : các tuyến cụ thể hơn

o Tổ chức 1 chuyển từ Fly-By-Night-ISP sang ISPs-R-Us


o Các ISP-R-U hiện quảng cáo một lộ trình cụ thể hơn tới Tổ chức 1

Tổ chức 0
200.23.16.0/23
tổ chức 1
“ Gửi cho tôi bất cứ thứ gì
200.23.18.0/23 có địa chỉ
tổ chức 2 bắt đầu
200.23.20.0/23 . Fly-By-Night-ISP 200.23.16.0/20 ”
.
. . Internet
.
tổ chức 7 .
200.23.30.0/23
“ Gửi cho tôi bất cứ thứ gì
ISPs-R-Us
có địa chỉ
tổ chức 1 bắt đầu
199.31.0.0/16 ”
200.23.18.0/23 “hoặc 200.23.18.0/23 ”

67
Địa chỉ phân cấp : các tuyến cụ thể hơn

o Tổ chức 1 chuyển từ Fly-By-Night-ISP sang ISPs-R-Us


o Các ISP-R-U hiện quảng cáo một lộ trình cụ thể hơn tới Tổ chức 1

Tổ chức 0
200.23.16.0/23

“ Gửi cho tôi bất cứ thứ gì


có địa chỉ
tổ chức 2 bắt đầu
200.23.20.0/23 . Fly-By-Night-ISP 200.23.16.0/20 ”
.
. . Internet
.
tổ chức 7 .
200.23.30.0/23
“ Gửi cho tôi bất cứ thứ gì
ISP-R-U
có địa chỉ
tổ chức 1 bắt đầu
199.31.0.0/16 ”
200.23.18.0/23 “hoặc 200.23.18.0/23 ”

68
Địa chỉ IP: cuối cùng ...

Hỏi: làm cách nào để một ISP có được Hỏi: có đủ địa chỉ IP 32 bit không?
khối địa chỉ? o ICANN đã phân bổ đoạn địa chỉ
Đáp: ICANN : Internet Corporation for IPv4 cuối cùng cho các RRs vào
Assigned Names and Numbers năm 2011
http://www.icann.org/ o NAT (tiếp theo) giúp cạn kiệt
o phân bổ địa chỉ IP, thông qua 5 cơ không gian địa chỉ IPv4
quan đăng ký khu vực (RRs) (những o IPv6 có không gian địa chỉ 128-
người sau đó có thể phân bổ cho các bit
cơ quan đăng ký địa phương) "Ai biết chúng ta cần bao nhiêu
o quản lý vùng gốc DNS, bao gồm ủy không gian địa chỉ?" Vint Cerf
quyền quản lý TLD riêng lẻ (phản ánh quyết định tạo địa chỉ
IPv4 dài 32 bit)
(.com, .edu, …)
69
NAT: Network Address Translation (chuyển dịch địa chỉ
mạng)

NAT: tất cả các thiết bị trong mạng cục bộ chia sẻ một địa chỉ IPv4 khi có
liên quan đến thế giới bên ngoài
phần còn lại của mạng cục bộ (ví dụ: mạng
Internet gia đình) 10.0.0/24

10.0.0.1
138.76.29.7 10.0.0.4

10.0.0.2

10.0.0.3

tất cả các datagram rời khỏi mạng cục bộ datagram có nguồn hoặc đích trong mạng
có cùng địa chỉ IP NAT nguồn: 138.76.29.7, này có địa chỉ 10.0.0/24 cho nguồn, đích
nhưng số cổng nguồn khác nhau (như thường lệ)
70
NAT: Network Address Translation (chuyển dịch địa chỉ
mạng)
o Tất cả các thiết bị trong mạng cục bộ đều có địa chỉ 32 bit trong
không gian địa chỉ IP “riêng tư” (tiền tố 10/8, 172.16/12, 192.168/16)
chỉ có thể được sử dụng trong mạng cục bộ
o Thuận lợi:
 Chỉ cần một địa chỉ IP từ ISP của nhà cung cấp cho tất cả các
thiết bị
 Có thể thay đổi địa chỉ của host trong mạng cục bộ mà không cần
thông báo cho thế giới bên ngoài
 Có thể thay đổi ISP mà không cần thay đổi địa chỉ của các thiết bị
trong mạng nội bộ
 Bảo mật: các thiết bị bên trong mạng cục bộ không thể định địa
chỉ trực tiếp mà thế giới bên ngoài có thể nhìn thấy

71
NAT: Network Address Translation (chuyển dịch địa chỉ
mạng)
Triển khai: router NAT phải (trong suốt):
o Các datagram gửi đi: thay thế (địa chỉ IP nguồn, cổng #) của mọi
datagram gửi đi thành (địa chỉ NAT IP, cổng # mới)
 Máy khách/máy chủ từ xa sẽ phản hồi bằng cách sử dụng (địa chỉ
NAT IP, số cổng mới) làm địa chỉ đích
o Ghi nhớ (trong bảng dịch NAT) mọi cặp dịch (địa chỉ IP nguồn, cổng
#) sang (địa chỉ NAT IP, cổng # mới)
o Các gói dữ liệu đến: thay thế (địa chỉ IP NAT, số cổng mới) trong các
trường đích của mọi gói dữ liệu đến bằng (địa chỉ IP nguồn, cổng #)
tương ứng được lưu trữ trong bảng NAT

72
NAT: network address translation (chuyển dịch địa chỉ
mạng)

NAT translation table


2: router NAT thay đổi địa 1: host 10.0.0.1 gửi
Địa chỉ WAN Địa chỉ LAN datagram tới
chỉ nguồn datagram từ
10.0.0.1, 3345 thành 138.76.29.7, 5001 10.0.0.1, 3345 128.119.40.186, 80
138.76.29.7, 5001, … ……
cập nhật bảng
S: 10.0.0.1, 3345
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 10.0.0.3
D: 138.76.29.7, 5001 3
3: trả lời đến, địa chỉ đích:
138.76.29.7, 5001

73
NAT: Network Address Translation (chuyển dịch địa chỉ
mạng)

o NAT đã gây tranh cãi:


 Router “nên” chỉ xử lý tối đa lớp 3
 Địa chỉ “thiếu” cần được giải quyết bằng IPv6
 Vi phạm đối số end-to-end (thao tác cổng # bởi thiết bị lớp mạng)
 Truyền tải NAT: nếu máy khách muốn kết nối với máy chủ sau
NAT thì sao?
o Nhưng NAT vẫn ở đây:
 Được sử dụng rộng rãi trong mạng gia đình và tổ chức, mạng di
động 4G/5G

74
ICMP (Internet Control Message Protocol)

o Được sử dụng bởi các host và router Loại mã Mô tả


0 0 echo reply (ping)
để truyền thông thông tin tầng network 3 0 dest. network unreachable
 Thông báo: host, mạng, cổng, giao 3 1 dest host unreachable
thức không thể truy cập 3 2 dest protocol unreachable
3 3 dest port unreachable
 Phản hồi Request/Reply (được sử 3 6 dest network unknown
dụng bởi lệnh Ping) 3 7 dest host unknown
o Tầng network “ở trên”: 4 0 source quench (congestion
control - not used)
 Các thông điệp ICMP được mang 8 0 echo request (ping)
trong các IP datagram 9 0 route advertisement
o Thông báo ICMP: loại, mã cộng với 8 10 0 router discovery
11 0 TTL expired
byte đầu tiên của IP datagram gây ra lỗi 12 0 bad IP header

75
Traceroute và ICMP

3 probes 3 probes

3 probes

o Nguồn gửi một chuỗi các segment UDP đến đích


o Tiêu chí dừng:
 Segment thứ nhất có giá trị TTL =1,
 Segment UDP lần
 Segment thứ hai có giá trị TTL=2, lượt đến tới host đích
 v.v.  Đích trả về thông điệp
o Khi datagram thứ n đến router thứ n: ICMP “port
 Router huỷ datagram và gửi thông điệp ICMP đến unreachable” (loại 3,
nguồn (loại 11, mã 0) mã 3)
 Nguồn dừng lại
 Thông điệp ICMP có thể bao gồm tên và địa chỉ IP
của router
o Khi thông điệp ICMP đến, nguồn ghi lại giá trị RTTs
76
IPv6: động lực

o Động lực ban đầu: Không gian địa chỉ IPv4 32 bit sẽ được
phân bổ hoàn toàn

o Động lực bổ sung:

 Tốc độ xử lý/chuyển tiếp: header có độ dài cố định 40 byte

 Cho phép xử lý các “luồng” ở tầng mạng khác nhau

77
Định dạng datagram IPv6

nhãn luồng: xác định các


priority: xác định mức
32 bits datagram trong cùng
độ ưu tiên giữa các ver pri flow label một " luồng. (khái niệm
datagram trong luồng
payload len next hdr hop limit về “ dòng chảy” không
source address được định nghĩa rõ
128-bit (128 bits)
ràng)
địa chỉ IPv6 destination address
(128 bits)

payload (data)

Những gì còn thiếu (so sánh với IPv4):


o Không có tính checksum (để tăng tốc độ xử lý tại các router)
o Không phân mảnh/tổng hợp
o Không có tùy chọn (có sẵn dưới dạng giao thức lớp trên, header kế tiếp tại
78 router)
Chuyển đổi từ IPv4 sang IPv6

o Không phải tất cả các router đều có thể được nâng cấp đồng thời
 Mạng sẽ hoạt động như thế nào với các router IPv4 và IPv6 hỗn hợp?

o Đường hầm: gói dữ liệu IPv6 được mang dưới dạng payload trong gói
dữ liệu IPv4 giữa các router IPv4 (“packet trong packet")
 Đường hầm được sử dụng rộng rãi trong các ngữ cảnh khác (4G/5G)

Các trường header IPv4 Các trường header IPv6


IPv4 payload
Địa chỉ nguồn đích IPv4 Địa chỉ nguồn đích IPv6
Tải trọng UDP/TCP

IPv6 datagram
IPv4 datagram

79
Đường hầm và đóng gói

A B Ethernet kết nối hai E F


Ethernet kết nối hai router IPv6
router IPv6: IPv6 IPv6 IPv6 IPv6

IPv6 datagram
Link-layer frame Thông thường: datagram à payload trong frame tầng Link

Mạng IPv4 kết nối A B E F


hai router IPv6
IPv6 IPv6/ v4 IPv6/ v4 IPv6

mạng IPv4

80
Đường hầm và đóng gói

A B Ethernet kết nối hai E F


Ethernet kết nối hai router IPv6
router IPv6: IPv6 IPv6 IPv6 IPv6

IPv6 datagram
Link-layer frame Thông thường: datagram à payload trong frame tầng Link

Mạng IPv4 kết nối A B IPv4 tunnel kết nối đến


router IPv6
E F
hai router IPv6
IPv6 IPv6 IPv6 IPv6

Gói dữ liệu IPv6


IPv4 datagram đường hầm: IPv6 datagram là payload trong IPv4 datagram
81
Đường hầm

A B IPv4 tunnel E F
kết nối router IPv6
Logical view:
IPv6 IPv6/ v4 IPv6/ v4 IPv6

A B C Đ E F
Physical view:
IPv6 IPv6/ v4 IPv4 IPv4 IPv6/ v4 IPv6

flow: X src:B src:B src:B flow: X


src: A dest: E dest: E src: A
dest: F
dest: E
dest: F
flow: X flow: X flow: X
Src: A Src: A Src: A
Lưu ý địa chỉ data dest: F dest: F dest: F data
nguồn và đích!
data data data

A đến B: E đến F:
IPv6 từ B đến C: từ B đến C: từ B đến C: IPv6
IPv6 trong IPv6 trong IPv6 trong
IPv4 IPv4 IPv4
82
Chương 4: Nội dung
4.1 Tổng quan o DHCP
o Mức dữ liệu o NAT
o Mức điều khiển o ICMP
4.2 Virtual circuit network và datagram o IPV6
network 4.5 Các thuật toán routing
o Các mạch ảo o Link state
o Mạng datagram o Distance vector
4.3 Cấu trúc bên trong router 4.6 Routing trong Internet
o Cổng đầu vào, chuyển đổi, cổng o Hierarchical routing
đầu ra o RIP, OSPF, BGP
o Quản lý bộ đệm, lập kế hoạch o SDN
4.4 IP: Internet Protocol o Quản lý mạng
o Định dạng datagram 4.7 Broadcast và Multicast routing
o IPv4 addressing
83
Giới thiệu

o Giao thức định tuyến


 Link state
 Distance vector
o Định tuyến nội bộ ISP: OSPF
o Định tuyến giữa các ISP: BGP
o Mức điều khiển SDN
o Quản lý mạng, cấu hình
 SNMP
 NETCONF/YANG

84
Chức năng tầng mạng

o Chuyển tiếp: di chuyển các gói từ đầu vào


của router đến đầu ra router thích hợp Mức dữ liệu và
o Định tuyến: xác định tuyến đường được thực Mức điều khiển
hiện bởi các gói từ nguồn đến đích

Hai cách tiếp cận để cấu trúc việc điều khiển mạng:
o Điều khiển trên mỗi router (truyền thống)
o Điều khiển tập trung hợp lý (mạng được xác định bằng phần mềm)

85
Mức điều khiển mạng tại mỗi router
Các thành phần thuật toán định tuyến riêng lẻ trong mỗi và mọi router tương
tác trong mức điều khiển

Giải thuật
Định tuyến
Mức
điều khiển

Mức
dữ liệu

giá trị trong header


trong gói tin đến
0111 1
2
3

86
Mức điều khiển mạng được xác định bằng phần mềm (SDN)
Bộ điều khiển từ xa tính toán, cài đặt bảng chuyển tiếp trong router

Điều khiển từ xa

Mức
điều khiển

Mức
dữ liệu

CA
CA CA CA CA
giá trị trong header
của gói tin đến

0111 1
2
3

87
Giao thức định tuyến
mobile network
national or global ISP
Định tuyến: xác định các đường dẫn
“tốt” từ host gửi đến host nhận, thông
qua mạng các router application
transport
network

o Đường dẫn: chuỗi các router đi từ link


physical
network

host nguồn ban đầu đi đến host


network
link link
physical physical

đích cuối cùng


network
link network

o “tốt”: “chi phí” thấp nhất, “nhanh physical link


physical network
link datacenter
nhất”, “ít tắc nghẽn nhất” physical network

o Định tuyến: thách thức kết nối application


transport

mạng “top 10”! enterprise


network
link
network physical

88
Trừu tượng hóa đồ thị: chi phí liên kết

5
c a,b : chi phí liên kết trực tiếp kết nối a và b
3
v w ví dụ: c w,z = 5, c u,z = ∞
2 5
u 2 1 z
3 chi phí do nhà điều hành mạng xác
1
x y
2 định: có thể luôn bằng 1 hoặc tỷ lệ
1 nghịch với băng thông hoặc tỷ lệ
nghịch với tắc nghẽn
đồ thị: G = (N,E)
N: router = { u, v, w, x, y, z }
E: tập hợp các liên kết = { ( u,v), (u,x), (v,x), (v,w), (x,w), (x,y), (w,y), (w,z), (y , z ) }

89
Phân loại thuật toán định tuyến

toàn cầu: tất cả các router có cấu trúc


liên kết hoàn chỉnh , thông tin chi phí
liên kết
• thuật toán “Link state”
động : tuyến đường thay đổi
nhanh nhanh hơn
tĩnh: tuyến đường thay
như thế đổi chậm theo thời gian • cập nhật định kỳ hoặc để
nào ? đáp ứng với thay đổi chi phí
liên kết

phi tập trung: quá trình tính toán lặp đi lặp lại, trao đổi
thông tin với hàng xóm
• router ban đầu chỉ biết chi phí liên kết đến các hàng
xóm được đính kèm
• thuật toán “Distance vector”

thông tin toàn cầu hay phi tập trung?


90
Thuật toán định tuyến Dijkstra’s link-state

ký hiệu
o Tập trung: tất cả các nút đều biết cấu
 cx ,y : chi phí liên kết trực
trúc liên kết mạng và chi phí liên kết tiếp từ nút x đến y; = ∞ nếu
 Được thực hiện thông qua gói tin “link không phải hàng xóm trực
state broadcast” tiếp
 Tất cả các nút có cùng thông tin  D(v): ước tính chi phí hiện
o Tính toán các đường dẫn có chi phí tại của đường đi có chi phí
thấp nhất từ một nút (“ nguồn”) đến tất thấp nhất từ nguồn đến
cả các nút khác đích v
 Cung cấp bảng chuyển tiếp cho nút đó  p(v): nút trước dọc theo
đường dẫn từ nguồn đến v
o Lặp đi lặp lại: sau k lần lặp lại, biết  N ' : tập hợp các nút có
đường dẫn chi phí thấp nhất đến k đích đường dẫn chi phí thấp
nhất được biết

91
Thuật toán định tuyến Dijkstra’s link-state

1 Initialization:
2 N' = {u} /* compute least cost path from u to all other nodes */
3 for all nodes v
4 if v adjacent to u /* u initially knows direct-path-cost only to direct
neighbors */
5 then D(v) = cu,v /* but may not be minimum cost!
*/
6 else D(v) = ∞
7
8 Loop
9 find w not in N' such that D(w) is a minimum
10 add w to N'
11 update D(v) for all v adjacent to w and not in N' :
12 D(v) = min ( D(v), D(w) + cw,v )
13 /* new least-path-cost to v is either old least-cost-path to v or known
14 least-cost-path to w plus direct-cost from w to v */
15 until all nodes in N'
92
Thuật toán Dijkstra: ví dụ

v w x y z
Step N' D(v),p(v) D(w),p(w) D(x),p(x) D(y),p(y) D(z),p(z)
0 u 2,u 5,u 1,u ∞ ∞
1 ux 2,u 4,x 2,x ∞
2 uxy 2,u 3,y 4,y
3 uxyv 3,y 4,y
4 uxyvw 4,y
5 uxyvwz
Initialization (step 0): For all a: if a adjacent to then D(a) = cu,a
5
3 find a not in N' such that D(a) is a minimum
v w 5 add a to N'
2
u 2 1 z update D(b) for all b adjacent to a and not in N' :
3 D(b) = min ( D(b), D(a) + ca,b )
1 2
x 1
y

93
Thuật toán Dijkstra: ví dụ

5
3
v w 5
2
u 2 1 z
3
1 2
x 1
y

Kết quả cây đường dẫn chi Bảng chuyển tiếp kết quả trong u:
phí thấp nhất từ u: điểm đến liên kết đi
v (u,v) tuyến đường từ
v w
x (u,x) u đến v trực tiếp
u z y (u,x) định tuyến từ u
w (u,x) đến tất cả các
x y x (u,x) đích khác qua x
94
Thuật toán Dijkstra: một ví dụ khác

v w x y z
D(v), D(w), D(x), D(y), D(z), x
9
Step N' p(v) p(w) p(x) p(y) p(z)

0 u 7,u 3,u 5,u ∞ ∞ 5 7


4
1 uw 6,w 5,u 11,w ∞ 8
2 uwx 6,w 11,w 14,x 3 w z
u y
2
3 uwxv 10,v 14,x
3
4 uwxvy 12,y 7 4

5 uwxvyz v

Ghi chú:
o Xây dựng cây đường đi chi phí thấp nhất bằng cách truy tìm các
nút trước
o Mối quan hệ có thể tồn tại (có thể bị phá vỡ tùy ý)
95
Thuật toán Dijkstra: thảo luận

Độ phức tạp của thuật toán: n nút


o Mỗi lần lặp n: cần kiểm tra tất cả các nút w không có trong N
o n(n +1)/2: độ phức tạp O(n2)
o Triển khai hiệu quả hơn có thể: O(nlogn)

Độ phức tạp của thông điệp:


o Mỗi router phải phát thông tin trạng thái liên kết của nó tới n router
khác
o Các thuật toán quảng bá hiệu quả (và thú vị!): O(n) liên kết chéo
để phổ biến một thông điệp quảng bá từ một nguồn
o Mỗi thông báo của router đi qua các liên kết O(n): độ phức tạp của
thông báo tổng thể: O(n2)

96
Thuật toán Dijkstra: khả năng dao động

o Khi chi phí liên kết phụ thuộc vào lưu lượng giao thông, việc định tuyến có
thể thay đổi
o Kịch bản mẫu:
 Định tuyến đến đích a, lưu lượng đi vào tại d, c, e với tốc độ 1, e (<1), 1
 Chi phí liên kết là định hướng và phụ thuộc vào khối lượng
a 2+e
a 0
a 2+e a
1 1+e 0 2+e 0
d b d 1+e 1 b d 0 0 b d 1+e 1 b
0 0
e 1 0 1 1 0
1 0
c 0 1 c 1+e 1 1 0 1
c 1 c
e e e
e
với những chi phí với những chi phí này, với những chi phí này,
ban đầu này, tìm định tuyến mới…. tìm định tuyến mới….
tìm định tuyến mới…. dẫn đến chi phí mới dẫn đến chi phí mới
dẫn đến chi phí mới
97
Thuật toán vectơ khoảng cách

Dựa trên công thức Bellman-Ford (BF) (lập trình động):

Công thức Bellman-Ford


Đặt D x (y): chi phí của đường đi có chi phí thấp nhất từ x đến y .
Sau đó:
D x (y) = min v { c x,v + D v (y) }

v 's ước tính chi phí đường đi chi phí thấp nhất đến y
min bao gồm tất cả chi phí trực tiếp của liên kết từ x đến v
các lân cận v của x
98
Ví dụ Bellman-Ford

Giả sử rằng nút lân cận của u s, x,v,w, biết rằng đối với đích z :

Dv(z) = 5 Dw(z) = 3 Công thức Bellman-Ford nói:


5
D u (z) = min { c u,v + D v (z),
3 w
v 5 c u,x + D x (z),
2
u 2 1 z c u,w + D w (z) }
3
1 2
= min { 2 + 5,
x 1
y 1 + 3,
5 + 3} = 4
Dx(z) = 3
nút đạt được giá trị cực tiểu (x) là
bước nhảy tiếp theo trên đường
ước tính có chi phí thấp nhất tới
99
đích (z)
Thuật toán vectơ khoảng cách

Ý tưởng chính:
o Theo thời gian, mỗi nút sẽ gửi ước tính vectơ khoảng cách của nó cho
các nút lân cận
o Khi x nhận được ước tính DV mới từ bất kỳ hàng xóm nào, nó sẽ cập
nhật DV của chính nó bằng phương trình BF:
Dx (y) ← min v {cx,v + Dv (y)} cho mỗi nút y ∊ N

o Trong các điều kiện bình thường, ước tính Dx (y) hội tụ đến chi phí
thực tế thấp nhất dx(y)

100
Thuật toán vectơ khoảng cách:

Mỗi nút: Lặp đi lặp lại, không đồng bộ: mỗi lần
lặp cục bộ gây ra bởi:
o Thay đổi chi phí liên kết cục bộ
Chờ đợi (thay đổi chi phí liên kết cục
bộ hoặc tin nhắn từ hàng xóm) o Tin nhắn cập nhật DV từ hàng xóm

tính toán lại các ước tính DV sử Phân phối, tự dừng: mỗi nút chỉ thông
dụng DV nhận được từ hàng xóm báo cho các nút lân cận khi DV của nó
thay đổi
o Hàng xóm sau đó thông báo cho
nếu DV từ bất kỳ điểm đến nào đã hàng xóm của nó – chỉ khi cần thiết
thay đổi, hãy thông báo cho hàng o Không nhận được thông báo, không
xóm có hành động nào được thực hiện!

101
Vectơ khoảng cách: ví dụ
DV in a:
Da(a)=0
Da(b) = 8
Da(c) = ∞ a b c
8 1
Da(d) = 1

t=0 Da(e) = ∞
Da(f) = ∞ 1 1
Da(g) = ∞
o Tất cả các nút
Da(h) = ∞
có ước tính
Da(i) = ∞ Một vài bất đối xứng
khoảng cách d e f o Liên kết bị thiếu
đến hàng xóm 1 1
gần nhất o Chi phí lớn hơn

o Tất cả các nút


gửi vectơ 1 1 1
khoảng cách cục
bộ của chúng tới
các nút lân cận g h 1
i
1

102
Ví dụ về vectơ khoảng cách: phép lặp

a b c
t=1 8 1

Tất cả các nút: 1 1


o Nhận vectơ khoảng
cách từ hàng xóm
o Tính toán vectơ d e f
1 1
khoảng cách cục bộ
mới của nó
o Gửi vectơ khoảng 1 1 1
cách cục bộ mới của
nó cho hàng xóm g h 1
u
1

103
Ví dụ về vectơ khoảng cách: phép lặp

a
compute compute
b compute
c
8 1
t=1
Tất cả các nút: 1 1
o Nhận vectơ khoảng
cách từ hàng xóm
o Tính toán vectơ d
compute e
compute compute
f
1 1
khoảng cách cục bộ
mới của nó
1 1 1
o Gửi vectơ khoảng
cách cục bộ mới của
nó cho hàng xóm g
compute h
compute i
compute
1 1

104
Ví dụ về vectơ khoảng cách: phép lặp

t=1 a
8
b
1
c

Tất cả các nút:


o Nhận vectơ khoảng 1 1

cách từ hàng xóm


o Tính toán vectơ
d
khoảng cách cục bộ 1
e
1
f
mới của nó
o Gửi vectơ khoảng
1 1 1
cách cục bộ mới của
nó cho hàng xóm
g h i
1 1

105
Ví dụ về vectơ khoảng cách: phép lặp

t=2 a
8
b
1
c

Tất cả các nút:


o Nhận vectơ khoảng 1 1

cách từ hàng xóm


o Tính toán vectơ
đ e f
khoảng cách cục bộ 1 1
mới của nó
o Gửi vectơ khoảng 1 1 1
cách cục bộ mới của
nó cho hàng xóm
g h u
1 1

106
Ví dụ về vectơ khoảng cách: phép lặp

compute
a compute
b compute
c
2 1
t=2
1 1
Tất cả các nút:
o Nhận vectơ khoảng
cách từ hàng xóm d
compute compute
e compute
f
o Tính toán vectơ 1 1

khoảng cách cục bộ


mới của nó 1 1 1
o Gửi vectơ khoảng
cách cục bộ mới của
g compute compute
nó cho hàng xóm compute
8
h 1
i

107
Ví dụ về vectơ khoảng cách: phép lặp

a b c
8 1

t=2
1 1
Tất cả các nút:
o Nhận vectơ khoảng
cách từ hàng xóm đ e f
1 1
o Tính toán vectơ
khoảng cách cục bộ
mới của nó 1 1 1
o Gửi vectơ khoảng
cách cục bộ mới của
g h u
nó cho hàng xóm 1 1

108
Ví dụ về vectơ khoảng cách: phép lặp

…. và như thế

Tiếp theo chúng ta hãy xem các phép tính lặp tại các nút

109
Ví dụ về vectơ khoảng cách: tính toán

DV in b: DV in c:
Dc(a) = ∞
Db(a) = 8 Db(f) = ∞
Db(c) = 1 Db(g) = ∞ Dc(b) = 1
DV in a: Db(d) = ∞ Db(h) = ∞ Dc(c) = 0
Da(a)=0 Db(e) = 1 Db(i) = ∞ Dc(d) = ∞
Da(b) = 8 Dc(e) = ∞
Da(c) = ∞ a b c Dc(f) = ∞
8 1
Da(d) = 1 Dc(g) = ∞
Dc(h) = ∞
t=1 Da(e) = ∞
Da(f) = ∞ 1 1 Dc(i) = ∞
 b nhận DVs từ a, Da(g) = ∞ DV in e:
c, e Da(h) = ∞ De(a) = ∞
Da(i) = ∞ De(b) = 1
d e f De(c) = ∞
1 1
De(d) = 1
De(e) = 0
De(f) = 1
1 1 1
De(g) = ∞
De(h) = 1
De(i) = ∞
110
g h i
1 1
Ví dụ về vectơ khoảng cách: tính toán DV in b: DV in c:
Dc(a) = ∞
Db(a) = 8 Db(f) = ∞
Db(c) = 1 Db(g) = ∞ Dc(b) = 1
DV in a: Db(d) = ∞ Db(h) = ∞ Dc(c) = 0
Da(a)=0 Db(e) = 1 Db(i) = ∞ Dc(d) = ∞
Da(b) = 8 Dc(e) = ∞
Da(c) = ∞ a b c Dc(f) = ∞
8 compute 1
Da(d) = 1 Dc(g) = ∞
Dc(h) = ∞
t=1 Da(e) = ∞
Da(f) = ∞ 1 1 Dc(i) = ∞
 b nhận DVs từ a, Da(g) = ∞ DV in e:
c, e, tính toán: Da(h) = ∞ De(a) = ∞
e
Da(i) = ∞ De(b) = 1
d e f De(c) = ∞
1
Db(a) = min{cb,a+Da(a), cb,c +Dc(a), cb,e+De(a)} = min{8,∞,∞} =8 1
De(d) = 1
Db(c) = min{cb,a+Da(c), cb,c +Dc(c), c b,e +De(c)} = min{∞,1,∞} = 1
De(e) = 0
Db(d) = min{cb,a+Da(d), cb,c +Dc(d), c b,e +De(d)} = min{9,2,∞} = 2
1 1 De(f) = 1
Db(e) = min{cb,a+Da(e), cb,c +Dc(e), c b,e +De(e)} = min{∞,∞,1} = 1 1
De(g) = ∞
Db(f) = min{cb,a+Da(f), cb,c +Dc(f), c b,e +De(f)} = min{∞,∞,2} = 2 DV in b: De(h) = 1
Db(g) = min{cb,a+Da(g), cb,c +Dc(g), c b,e+De(g)} = min{∞, ∞, ∞} = ∞ Db(a) = 8 Db(f) =2 De(i) = ∞
g h 1Db(c) = 1 i =∞
Db(g)
Db(h) = min{cb,a+Da(h), cb,c +Dc(h), c b,e+De(h)} = min{∞,1 ∞, 2} = 2
Db(d) = 2 Db(h) = 2
Db(i) = min{cb,a+Da(i), cb,c +Dc(i), c b,e+De(i)} = min{∞, ∞, ∞} = ∞
Db(e) = 1 Db(i) = ∞
111
Ví dụ về vectơ khoảng cách: tính toán DV in b: DV in c:
Dc(a) = ∞
Db(a) = 8 Db(f) = ∞
Db(c) = 1 Db(g) = ∞ Dc(b) = 1
DV in a: Db(d) = ∞ Db(h) = ∞ Dc(c) = 0
Da(a)=0 Db(e) = 1 Db(i) = ∞ Dc(d) = ∞
Da(b) = 8 Dc(e) = ∞
Da(c) = ∞ a b c Dc(f) = ∞
8 1
Da(d) = 1 Dc(g) = ∞
Dc(h) = ∞
t=1 Da(e) = ∞
Da(f) = ∞ 1 1 Dc(i) = ∞
 c nhận DVs từ b Da(g) = ∞ DV in e:
Da(h) = ∞ De(a) = ∞
Da(i) = ∞ De(b) = 1
d e f De(c) = ∞
1 1
De(d) = 1
De(e) = 0
De(f) = 1
1 1 1
De(g) = ∞
De(h) = 1
De(i) = ∞
g h i
1 1

112
Ví dụ về vectơ khoảng cách: tính toán DV in b: DV in c:
Dc(a) = ∞
Db(a) = 8 Db(f) = ∞
Dc(b) = 1
Db(c) = 1 Db(g) = ∞
Db(d) = ∞ Db(h) = ∞ Dc(c) = 0
Db(e) = 1 Db(i) = ∞ Dc(d) = ∞
Dc(e) = ∞
a b compute
c Dc(f) = ∞
8 1 Dc(g) = ∞
Dc(h) = ∞
t=1 1 1
Dc(i) = ∞
 c nhận DVs từ b,
tính toán:

Dc(a) = min{cc,bd+Db(a}} = 1 + 8 = 9 e f
DV in c:
Dc(b) = min{cc,b+Db(b)} = 1 + 0 = 1
Dc(a) = 9
Dc(d) = min{cc,b+Db(d)} = 1+ ∞ = ∞ Dc(b) = 1
Dc(e) = min{cc,b+Db(e)} = 1 + 1 = 2 Dc(c) = 0
Dc(f) = min{cc,b+Db(f)} = 1+ ∞ = ∞ Dc(d) = 2
Dc(g) = min{cc,b+Db(g)} = 1+ ∞ = ∞ Dc(e) = ∞ * Check out the online interactive
Dc(f) = ∞ exercises for more examples:
g +Db(h)} = 1+ ∞ = ∞ h
Dc(h) = min{cbc,b i http://gaia.cs.umass.edu/kurose_ross/interactive/
Dc(g) = ∞
Dc(i) = min{cc,b+Db(i)} = 1+ ∞ = ∞
Dc(h) = ∞
113 Dc(i) = ∞
Ví dụ về vectơ khoảng cách: tính toán DV in b:
Db(a) = 8 Db(f) = ∞
Db(c) = 1 Db(g) = ∞
Db(d) = ∞ Db(h) = ∞ DV in e:
DV in d:
Db(e) = 1 Db(i) = ∞ De(a) = ∞
Dc(a) = 1
De(b) = 1
Dc(b) = ∞ a b c De(c) = ∞
Dc(c) = ∞ 8 1
De(d) = 1
Dc(d) = 0
t=1 Dc(e) = 1 Q: DV mới được tính ra trong e De(e) = 0
De(f) = 1
Dc(f) = ∞
1 tại thời1điểm t=1?
 e nhận DVs từ b, De(g) = ∞
d, f, h Dc(g) = 1
De(h) = 1
Dc(h) = ∞
De(i) = ∞
Dc(i) = ∞ d compute
e f DV in f:
1 1
DV in h: Dc(a) = ∞
Dc(a) = ∞ Dc(b) = ∞
Dc(b) = ∞ Dc(c) = ∞
Dc(c) = ∞ 1 1 1
Dc(d) = ∞
Dc(d) = ∞ Dc(e) = 1
Dc(e) = 1 Dc(f) = 0
Dc(f) = ∞ g h i Dc(g) = ∞
1 1
Dc(g) = 1 Dc(h) = ∞
Dc(h) = 0 Dc(i) = 1
114
Vectơ khoảng cách: khuếch tán thông tin trạng thái

Giao tiếp lặp, các bước tính toán khuếch tán thông tin qua mạng:

t=0 trạng thái của c tại t=0 chỉ tại c


a b c
8 1
trạng thái của c tại t=0 đã lan truyền tới b và có
t=1 thể ảnh hưởng đến việc tính toán vectơ khoảng
cách cách xa tới 1 bước nhảy, tức là tại b 1 1 t=1
t=2
trạng thái của c tại t=0 bây giờ có thể ảnh hưởng
t=2 đến việc tính toán vectơ khoảng cách cách xa tới 2
bước nhảy, nghĩa là tại b và bây giờ tại a, e cũng d e f
vậy 1 1
trạng thái của c tại t=0 có thể ảnh hưởng đến việc
t=3 tính toán vectơ khoảng cách cách xa tới 3 bước
nhảy, tức là tại b,a,e và bây giờ tại c,f,h 1 1 1 t=3

trạng thái của c tại t=0 có thể ảnh hưởng đến việc
t=4 tính toán vectơ khoảng cách cách xa tới 4 bước
nhảy, nghĩa là tại b,a,e, c, f, h và bây giờ là cả g,i g h u
1 1
t=4
115
Vectơ khoảng cách: thay đổi chi phí liên kết

Thay đổi chi phí liên kết: 1


y
o Nút phát hiện thay đổi chi phí liên kết cục bộ 4 1
o Cập nhật thông tin định tuyến, tính toán lại DV cục bộ x z
50
o Nếu DV thay đổi, thông báo cho hàng xóm

t 0 : y phát hiện thay đổi chi phí liên kết, cập nhật DV của nó,
thông báo cho các láng giềng của nó.
t 1 : z nhận cập nhật từ y , cập nhật bảng của nó, tính toán
“ tin tốt
đi nhanh” chi phí nhỏ nhất mới cho x , gửi DV của nó cho các lân
cận.
t 2 : y nhận cập nhật của z, cập nhật bảng DV của nó. Chi phí
nhỏ nhất của y không thay đổi, vì vậy y không gửi tin
nhắn đến z.

116
Vectơ khoảng cách: thay đổi chi phí liên kết

60
Thay đổi chi phí liên kết: y
4 1
o Nút phát hiện thay đổi chi phí liên kết cục bộ
x z
o “Tin xấu lan truyền chậm” – bài toán đếm đến vô cùng: 5

 y thấy liên kết trực tiếp tới x có chi phí mới là 60, nhưng z đã nói rằng nó có
một đường dẫn với chi phí là 5. Vì vậy, y tính toán “chi phí mới của tôi tới x sẽ
là 6, thông qua z); thông báo cho z về chi phí mới từ 6 đến x.
 z biết rằng đường dẫn đến x qua y có chi phí mới là 6, vì vậy z tính toán “chi
phí mới của tôi tới x sẽ là 7 qua y), thông báo cho y về chi phí mới từ 7 đến x.
 y biết rằng đường dẫn đến x qua z có chi phí mới là 7, vì vậy y tính toán “chi
phí mới của tôi tới x sẽ là 8 qua y), thông báo cho z về chi phí mới từ 8 đến x.
 z biết rằng đường dẫn đến x qua y có chi phí mới là 8, vì vậy z tính toán “chi
phí mới của tôi tới x sẽ là 9 qua y), thông báo cho y về chi phí mới từ 9 đến x.

o Xem tài liệu cho các giải pháp. Các thuật toán phân tán rất phức tạp!

117
So sánh thuật toán LS và DV

Độ phức tạp của thông điệp Điều gì xảy ra nếu router gặp trục trặc hoặc bị
LS: n router, gửi tin nhắn O(n2) xâm phạm?
DV: trao đổi hàng xóm với nhau; thời LS:
gian hội tụ thay đổi o Router có thể quảng cáo chi phí liên kết
không chính xác
Tốc độ hội tụ o Mỗi router chỉ tính toán bảng riêng của nó
LS: Thuật toán O(n2), tin nhắn O(n2) DV:
o Có thể có dao động o Router DV có thể quảng cáo chi phí đường
DV: thời gian hội tụ thay đổi dẫn không chính xác (“Tôi có một đường
o Có thể có các vòng lặp định tuyến dẫn chi phí thực sự thấp đến mọi nơi”):
o Bài toán đếm đến vô cực black-holing
o Mỗi bảng của router được sử dụng bởi
những router khác: lỗi lan truyền qua mạng
118
Chương 4: Nội dung
4.1 Tổng quan
o Mức dữ liệu o DHCP
o NAT
o Mức điều khiển
o ICMP
4.2 Virtual circuit network và datagram
o IPV6
network
o Các mạch ảo 4.5 Các thuật toán routing
o Link state
o Mạng datagram
o Distance vector
4.3 Cấu trúc bên trong router
o Cổng đầu vào, chuyển đổi, cổng đầu 4.6 Routing trong Internet
o Hierarchical routing
ra
o Quản lý bộ đệm, lập kế hoạch o RIP, OSPF, BGP
o SDN
4.4 IP: Internet Protocol
o Định dạng datagram o Quản lý mạng
o IPv4 addressing 4.7 Broadcast và Multicast routing
119
Giúp cho việc định tuyến có thể mở rộng

Nghiên cứu định tuyến cho đến nay - lý tưởng hóa


o Tất cả các router giống hệt nhau
o Mạng “phẳng”
… không đúng trong thực tế

Quy mô: hàng tỷ điểm đến: Quản trị vùng tự quản:


o Không thể lưu trữ tất cả các o Internet: mạng của các mạng
điểm đến trong bảng định o Mỗi quản trị viên mạng có thể
tuyến! muốn kiểm soát định tuyến
o Trao đổi bảng định tuyến sẽ trong mạng riêng của mình
tràn ngập các liên kết!

120
Cách tiếp cận Internet để định tuyến có thể mở rộng

Tổng hợp các router thành các vùng được gọi là “hệ thống tự quản” (AS)
(còn gọi là “miền”)

intra-AS (hay còn gọi là “nội miền”): inter-AS (còn gọi là “liên miền”):
định tuyến giữa các router cùng AS Định tuyến giữa các AS
(“mạng”) o Cổng thực hiện định tuyến liên
o Tất cả các router trong AS phải miền (cũng như định tuyến nội
chạy cùng một giao thức nội miền)
miền
o Các router trong AS khác nhau
có thể chạy các giao thức định
tuyến nội miền khác nhau
o Router cổng: ở “cạnh” của AS
của chính nó, có (các) liên kết
đến (các) router trong các AS
khác
121
Các AS được kết nối với nhau

Bảng chuyển tiếp được định cấu hình


bởi các thuật toán định tuyến trong
Intra-AS Inter-AS
và ngoài AS
Routing Routing

forwarding
o Định tuyến trong AS xác định
table mục nhập cho các đích trong
AS
o Inter-AS & intra-AS xác định
intra-AS
mục nhập cho các điểm đến
3c bên ngoài
routing3a inter-AS intra-AS
2c
3b 2arouting
routing
1c
2b
AS3 intra-AS
1a routing 1b AS2
1d
AS1

122
Định tuyến giữa các AS: vai trò trong chuyển tiếp nội miền
o Giả sử router trong AS 1 nhận Định tuyến liên miền AS 1 phải:
được gói dữ liệu được định 1. Tìm hiểu điểm đến nào có thể truy
sẵn bên ngoài AS 1 : cập thông qua AS2, điểm đến nào
Router nên chuyển tiếp gói thông qua AS3
đến router cổng trong AS1, 2. Truyền bá thông tin khả năng tiếp
nhưng cái nào? cận này đến tất cả các router trong
AS 1

3c
3a other
2c
3b 2a networks
2b
1c
AS3
other 1a 1b AS2
networks
1d
AS1

123
Định tuyến trong một AS
Các giao thức định tuyến nội bộ AS phổ biến nhất:
o RIP: Routing Information Protocol [RFC 1723]
 DV cổ điển: DV được trao đổi cứ sau 30 giây
 Không còn được sử dụng rộng rãi
o EIGRP: Enhanced Interior Gateway Routing Protocol
 Dựa trên DV
 Trước đây là độc quyền của Cisco trong nhiều thập kỷ (được mở vào năm
2013 [RFC 7868])
o OSPF: Open Shortest Path First[RFC 2328]
 Định tuyến trạng thái liên kết
 Giao thức IS-IS (tiêu chuẩn ISO, không phải tiêu chuẩn RFC) về cơ bản
giống như OSPF
124
Định tuyến RIP ( Routing Information Protocol)
o Công bố vào năm 1982 trong BSD-UNIX
o Thuật toán distance vector
 Metric khoảng cách: số lượng hop (max = 15 hops), mỗi link có giá trị là 1
 Các DV được trao đổi giữa các neighbors mỗi 30 giây trong thông điệp
phản hồi (còn gọi là advertisement)
 Mỗi advertisement: danh sách lên đến 25 subnet đích
Từ router A đến các subnet đích:
u v subnet hops
w u 1
A B
v 2
w 2
x x 3
z C D y 3
y z 2
125
Định tuyến RIP: ví dụ
z
w x y
A D B

C
Bảng định tuyến trong router D
Subnet đích router kế tiếp số lượng hop đến đích
w A 2
y B 2
z B 7
x -- 1
…. …. ....

126
Định tuyến RIP: ví dụ
Quảng cáo từ A-tới-D
đích kế hops
w - 1
x - 1
z C 4
…. … ... z
w x y
A D B

C
Bảng định tuyến trong router D
Subnet đích router kế tiếp số lượng hop tới đích
w A 2
y B 2
A 5
z B 7
x -- 1
…. …. ....

127
Định tuyến RIP: lỗi đường kết nối và phục hồi
Nếu không có quảng cáo nào sau 180 giây --> neighbor/kết nối được
xem như đã chết
o Những đường đi qua neighbor bị vô hiệu
o Các quảng cáo mới được gởi tới các neighbor
o Các neighbor đó tiếp tục gởi ra những quảng cáo mới đó (nếu các
bảng bị thay đổi)
o Thông tin về lỗi đường kết nối nhanh chóng (?) lan truyền trên toàn
mạng
o poison reverse được dùng để ngăn chặn vòng lặp ping-pong (khoảng
cách vô hạn = 16 hops)

128
Định tuyến OSPF

o “Mở”: công khai


o Trạng thái liên kết cổ điển
 Mỗi router gởi quảng bá gói tin quảng cáo trạng thái liên kết
OSPF (trực tiếp qua IP thay vì sử dụng TCP/UDP) tới tất cả
các router khác trong toàn bộ AS
 Nhiều chỉ số chi phí liên kết có thể: băng thông, độ trễ
 Mỗi router có cấu trúc liên kết đầy đủ, sử dụng thuật toán
Dijkstra để tính toán bảng chuyển tiếp
o Bảo mật: tất cả các thông báo OSPF được xác thực (để ngăn
chặn sự xâm nhập độc hại)

129
OSPF phân cấp

o Phân cấp hai cấp: local area, backbone.


• Quảng cáo trạng thái liên kết chỉ tràn ngập trong khu vực hoặc đường trục
• Mỗi nút có cấu trúc liên kết khu vực chi tiết; chỉ biết phương hướng để đạt
được các điểm đến khác

Router ranh giới khu vực: Router ranh giới: kết


“tóm tắt” khoảng cách nối với các AS khác
backbone
đến các đích trong khu vực router đường trục:
riêng, quảng cáo trong chạy OSPF giới hạn
đường trục ở đường trục
Router cục bộ:
• Gởi LS chỉ trong khu vực khu vực 3
• Tính toán định tuyến trong
khu vực
• Chuyển tiếp các gói ra bên Router
cục bộ
ngoài thông qua router khu vực 1
khu vực 2
130 biên giới khu vực
Định tuyến giữa các AS: BGP
o BGP (Border Gateway Protocol): giao thức định tuyến liên miền thực tế
• “chất keo kết nối Internet với nhau”
o Cho phép mạng con quảng cáo sự tồn tại của nó và các điểm đến mà nó
có thể tiếp cận với phần còn lại của Internet: “ Tôi ở đây, đây là người tôi
có thể tiếp cận và bằng cách”
o BGP cung cấp cho mỗi AS một phương tiện để:
 eBGP: lấy thông tin về khả năng tiếp cận mạng con từ các AS lân cận
 iBGP: truyền thông tin về khả năng tiếp cận tới tất cả các router bên
trong AS.
 Xác định các tuyến “ tốt” đến các mạng khác dựa trên thông tin và
chính sách về khả năng tiếp cận

131
Kết nối eBGP, iBGP

2b

2a 2c

1b 3b
2d
1a 1c 3a
∂ 3c
AS 2
1d 3d

AS 1 kết nối eBGP AS 3


kết nối iBGP logic

1c Gateway router chạy cả giao thức eBGP và iBGP

132
Tại sao định tuyến Intra-AS, Inter-AS khác nhau?

Chính sách:
o Inter-AS: quản trị viên muốn kiểm soát cách lưu lượng truy cập
được định tuyến, ai định tuyến qua mạng của nó
o Intra-AS: quản trị viên duy nhất, vì vậy chính sách ít có vấn đề hơn
Tỉ lệ:
o Định tuyến phân cấp giúp tiết kiệm kích thước bảng, giảm lưu
lượng cập nhật
Hiệu suất:
o Intra-AS: có thể tập trung vào hiệu suất
o Inter-AS: chính sách chi phối hiệu suất

133
Mạng được xác định bằng phần mềm (SDN)

o Lớp mạng Internet: được triển khai theo lịch sử thông qua
phương pháp kiểm soát phân tán trên mỗi router:
 Nguyên khối chứa phần cứng chuyển mạch, chạy triển khai độc
quyền các giao thức chuẩn Internet (IP, RIP, IS-IS, OSPF, BGP)
trong hệ điều hành router độc quyền (ví dụ: Cisco IOS)
 Các “hộp trung gian” khác nhau cho các chức năng lớp mạng
khác nhau: tường lửa, bộ cân bằng tải, hộp NAT, ..
o ~2005: quan tâm mới đến việc xem xét lại mức điều khiển mạng

134
Mức điều khiển ở mỗi router
Các thành phần thuật toán định tuyến riêng lẻ trong mỗi và mọi router
tương tác trong mức điều khiển

thuật toán
định tuyến
Mức điều khiển

Mức dữ liệu

giá trị địa chỉ đích trong


header của gói tin
0111 1
2
3

135
Mức điều khiển được xác định bằng phần mềm (SDN –
Software-Defined-Networking)
Bộ điều khiển từ xa tính toán, cài đặt bảng chuyển tiếp trong router

Điều khiển từ xa

Mức điều khiển

Mức dữ liệu

CA
CA CA CA CA
giá trị địa chỉ đích trong
header của gói tin

0111 1
2
3

136
Mạng được xác định bằng phần mềm (SDN)

Tại sao mức điều khiển tập trung là hợp lý?


o Quản lý mạng dễ dàng hơn: tránh cấu hình sai router, luồng lưu lượng
linh hoạt hơn
o Chuyển tiếp dựa trên bảng (gọi lại OpenFlow API) cho phép các router
“lập trình”
 “lập trình” tập trung dễ dàng hơn: tính toán bảng tập trung và phân
phối
 “lập trình” phân tán khó hơn: tính toán các bảng do thuật toán
(giao thức) phân tán được triển khai trong từng router
o Triển khai mở (không độc quyền) của mức điều khiển
 Thúc đẩy đổi mới: hãy để 1000 bông hoa nở

137
Tương tự SDN: cuộc cách mạng từ máy tính lớn đến PC

ỨnỨnỨnỨnỨnỨnỨnỨnỨnỨn
Ứngg g g g g g g g g g
Chuyên dụng
dụ dụ dụ dụ dụ dụ dụ dụ dụ dụ
ng ng ng ng ng ng ng ng ng ng
Các ứng dụng Giao tiếp mở

Chuyên
Điều hành hoặc hoặc
Hệ thống
Windows Linux MAC OS
Chuyên Giao tiếp mở
Phần cứng
bộ vi xử lý

Tích hợp theo chiều dọc Tích hợp theo chiều ngang
Đóng cửa, độc quyền Giao tiếp mở
Chậm đổi mới Đổi mới nhanh chóng
Công nghiệp nhỏ Ngành công nghiệp khổng lồ
138
Kỹ thuật lưu lượng: khó khăn với định tuyến truyền thống

5
3
2 v w 5

u 2
3
1 z
1
2
x 1 y

Hỏi: nếu nhà điều hành mạng muốn lưu lượng truy cập từ u đến z chạy dọc
theo uvwz, thay vì uxyz thì sao?
Trả lời: cần xác định lại trọng số liên kết để thuật toán định tuyến lưu lượng
tính toán các tuyến tương ứng (hoặc cần một thuật toán định tuyến mới)!

Trọng số liên kết chỉ là “nút” điều khiển: không kiểm soát nhiều!
139
Kỹ thuật lưu lượng: khó khăn với định tuyến truyền thống

5
3
2 v w 5

u 2
3
1 z
1
2
x 1 y

Hỏi: nếu nhà điều hành mạng muốn phân chia lưu lượng u-to-z dọc theo
uvwz và uxyz (cân bằng tải) thì sao?
Trả lời: không làm được (hoặc cần thuật toán định tuyến mới)

140
Kỹ thuật lưu lượng: khó khăn với định tuyến truyền thống

5
3
2 v w 5

u 2
3
1 z
1
2
x 1 y

Hỏi: Nếu w muốn định tuyến lưu lượng màu xanh và đỏ khác nhau từ
w đến z thì sao?
Trả lời: Không thể thực hiện được (với chuyển tiếp dựa trên đích và
định tuyến LS, DV)
Chuyển tiếp tổng quát và SDN có thể được sử dụng để đạt được bất
kỳ định tuyến mong muốn nào
141
Mạng được xác định bằng phần mềm (SDN)

3. Các chức năng mức


4. Các ứng routing
access
… load
balance
control
điều khiển bên ngoài
dụng điều đến các chuyển
khiển có thể Remote Controller mạch mức dữ liệu
lập trình
được Mức
điều khiển

Mức dữ liệu

CA 2. Tách riêng giữa


CA CA CA CA
mức điều khiển và
mức dữ liệu

1. Chuyển tiếp “flow-


based” tổng quát (ví
142 dụ OpenFlow)
Mạng được xác định bằng phần mềm (SDN)

Chuyển mạch ở mức dữ liệu:


network-control
o Chuyển mạch nhanh, đơn giản triển khai applications

chuyển tiếp mức dữ liệu tổng quát trong routing



phần cứng access load
control balance
o Bảng luồng (chuyển tiếp) được tính toán,
control
cài đặt dưới sự giám sát của bộ điều northbound API plane
khiển
o API cho điều khiển chuyển đổi dựa trên SDN Controller
(network operating system)
bảng (ví dụ: OpenFlow)
• Xác định những gì có thể kiểm soát southbound API
được, cái gì không
o Giao thức để giao tiếp với bộ điều khiển data
plane
(ví dụ: OpenFlow)
SDN-controlled switches
143
Mạng được xác định bằng phần mềm (SDN)

Bộ điều khiển SDN (hệ điều hành mạng): network-control


applications
o Duy trì thông tin trạng thái mạng routing

o Tương tác với các ứng dụng điều access load
control balance
khiển mạng “ở trên” thông qua API
hướng northbound northbound API
control
plane

o Tương tác với các thiết bị chuyển


mạch mạng “bên dưới” thông qua API SDN Controller
(network operating system)
sounthbound
o Được triển khai dưới dạng hệ thống southbound API

phân tán cho hiệu suất, khả năng mở


rộng, khả năng chịu lỗi, độ bền cao data
plane

SDN-controlled switches
144
Mạng được xác định bằng phần mềm (SDN)

network-control
Ứng dụng điều khiển mạng: applications

routing

o “bộ não” điều khiển: thực hiện
access load
các chức năng điều khiển bằng control balance
các dịch vụ cấp thấp hơn, API control
do bộ điều khiển SDN cung cấp northbound API plane

o Không được nhóm: có thể được SDN Controller


cung cấp bởi bên thứ 3: khác (network operating system)
với nhà cung cấp định tuyến
hoặc bộ điều khiển SDN southbound API

data
plane

SDN-controlled switches
145
Các thành phần của bộ điều khiển SDN

routing access load


control balance
Lớp giao diện cho các ứng
dụng điều khiển mạng: API Interface, abstractions for network control apps
trừu tượng network RESTful
… intent
graph API
Quản lý trạng thái toàn
mạng : trạng thái của các statistics … flow tables
SDN
liên kết mạng, chuyển Network-wide distributed, robust state management
controller
mạch, dịch vụ: cơ sở dữ Link-state info host info … switch info
liệu phân tán
Truyền thông: giao tiếp OpenFlow … SNMP

giữa bộ điều khiển SDN và Communication to/from controlled devices

các bộ chuyển mạch được


điều khiển
146
Giao thức OpenFlow

o Hoạt động giữa bộ điều khiển, bộ chuyển đổi


Bộ điều khiển OpenFlow
o TCP dùng để trao đổi thông điệp
• Mã hóa tùy chọn
o Ba lớp thông báo OpenFlow:
 Bộ điều khiển sang bộ chuyển đổi
 Không đồng bộ (chuyển đổi sang bộ điều
khiển)
 Đối xứng
o Khác biệt với OpenFlow API
 API được sử dụng để chỉ định các hành
động chuyển tiếp tổng quát
147
OpenFlow: thông điệp từ bộ điều khiển đến bộ chuyển đổi

Tin nhắn từ bộ điều khiển đến bộ chuyển đổi Bộ điều khiển OpenFlow
o Các tính năng: các tính năng chuyển đổi
truy vấn bộ điều khiển, trả lời chuyển đổi
o Cấu hình: các truy vấn điều khiển/thiết
đặt tham số cấu hình chuyển đổi
o Trạng thái sửa đổi: thêm, xóa, sửa đổi
các mục nhập luồng trong các bảng
OpenFlow
o Packet-out: bộ điều khiển có thể gửi gói
tin ra khỏi cổng chuyển đổi cụ thể

148
OpenFlow: thông điệp từ bộ chuyển đổi sang bộ điều khiển

Thông điệp từ bộ chuyển đổi sang bộ điều Bộ điều khiển OpenFlow


khiển
o Packet-in: chuyển gói (và điều khiển của
nó) tới bộ điều khiển
o Loại bỏ luồng: mục nhập tương ứng bị
xóa tại bộ chuyển đổi
o Trạng thái cổng: thông báo cho bộ điều
khiển về sự thay đổi trên cổng

May mắn thay, các nhà khai thác mạng không "lập trình" chuyển mạch
bằng cách tạo/gửi trực tiếp các tin nhắn OpenFlow. Thay vào đó là sử dụng
trừu tượng hóa ở cấp cao hơn tại bộ điều khiển
149
SDN: ví dụ tương tác mức điều khiển/mức dữ
liệu S1, thông báo trạng thái cổng
1
Dijkstra’s link-state
routing
OpenFlow để thông báo cho bộ
điều khiển
4
network
graph
RESTful
API
… intent 2 Bộ điều khiển SDN nhận thông
báo OpenFlow, cập nhật thông
statistics
3 … flow tables tin trạng thái liên kết
Link-state info host info … switch info 3 Ứng dụng thuật toán định tuyến
2 của Dijkstra trước đây đã đăng
OpenFlow … SNMP ký để gọi khi trạng thái liên kết
thay đổi.
1 4 Thuật toán định tuyến của
s2 Dijkstra truy cập thông tin biểu
s1 đồ mạng, thông tin trạng thái liên
s4 kết trong bộ điều khiển, tính toán
s3 các tuyến mới
150
SDN: ví dụ tương tác mức điều khiển/mức dữ
liệu
Dijkstra’s link-state
routing
5
5 Ứng dụng định tuyến link
4 state tương tác với thành
network RESTful … intent
graph API phần tính toán của bảng lưu
statistics
3 … flow tables
lượng trong bộ điều khiển
SDN, tính toán các bảng lưu
Link-state info host info … switch info lượng mới cần thiết
2
OpenFlow … SNMP
6 Bộ điều khiển sử dụng
6
OpenFlow để cài đặt các
1 bảng mới trong các bộ
s2 chuyển đổi cần cập nhật
s1
s4
s3
151
Bộ điều khiển OpenDaylight (ODL)

Traffic
Engineering Firewalling Load
Balancing
… Network Orchestrations and Applications
Northbound API

REST/RESTCONF/NETCONF
APIs o Lớp trừu tượng hóa
Enhanced Basic Network Functions dịch vụ:
Services
Topolog Switch Stats  Kết nối các ứng
AAA … y mgr. mgr.
processin dụng và dịch vụ bên

gForwardin
g rules
Host
Tracker
trong, bên ngoài
mgr.
config. and
operational data messaging Service
store Abstraction Layer
(SAL)
Southbound API
OpenFlow NETCONF SNMP OVSDB …

152
Bộ điều khiển ONOS
o Ứng dụng điều khiển
Traffic
Engineering Firewalling Load
Balancing
… Network Applications tách biệt với bộ điều
Northbound API khiển
northbound
REST API Intent abstractions, o Khung ý tưởng: đặc
protocols
điểm kỹ thuật cấp cao
hosts paths flow rules topology của dịch vụ: cái gì là
ONOS
hơn và như thế nào
devices links statistics distributed o Nhấn mạnh đáng kể
core
vào lõi phân tán: độ
packet southbound
device link host flow
abstractions, tin cậy của dịch vụ,
OpenFlow Netconf OVSDB protocols nhân rộng hiệu suất
Southbound API
sao chép

153
SDN: thử thách đã chọn

o Củng cố mức điều khiển: độc lập, đáng tin cậy, có thể mở rộng hiệu
suất, bảo mật cho hệ thống phân tán
 Tận dụng lý thuyết về hệ thống phân tán tin cậy cho mức điều khiển
 Độ tin cậy, bảo mật
o Mạng, giao thức đáp ứng yêu cầu nhiệm vụ cụ thể
 Ví dụ: thời gian thực, cực kỳ đáng tin cậy, cực kỳ an toàn
o Mở rộng quy mô Internet: ngoài một AS
o SDN quan trọng trong mạng di động 5G

154
SDN và tương lai của các giao thức mạng truyền
thống
o SDN tính toán các bảng chuyển tiếp router-máy tính:
 Chỉ là một ví dụ về tính toán logic-tập trung so với tính toán giao thức
o Người ta có thể tưởng tượng kiểm soát tắc nghẽn được tính toán bằng
SDN:
 Bộ điều khiển đặt tốc độ người gửi dựa trên mức tắc nghẽn do router
báo cáo (đến bộ điều khiển)

Việc triển khai chức năng mạng


(SDN so với các giao thức) sẽ
phát triển như thế nào?

155
Quản lý mạng là gì

o Hệ thống tự quản (hay còn gọi là “mạng”): 1000 thành phần phần
cứng/phần mềm tương tác
o Các hệ thống phức tạp khác yêu cầu giám sát, cấu hình, kiểm soát:
 Máy bay phản lực, nhà máy điện hạt nhân, những thứ khác?

" Quản lý mạng bao gồm việc triển khai, tích hợp và phối hợp
của phần cứng, phần mềm và con người, các yếu tố để giám sát,
kiểm tra, thăm dò ý kiến, cấu hình, phân tích, đánh giá và kiểm
soát mạng và tài nguyên phần tử để đáp ứng thời gian thực,
hiệu suất hoạt động và chất lượng dịch vụ yêu cầu với chi phí
hợp lý.”

156
Các thành phần quản lý mạng

Quản lý máy chủ:


ứng dụng, điển hình Thiết bị được quản lý:
với người quản lý thiết bị có các thành
mạng trong vòng lặp agent data phần phần mềm, phần
managing cứng có thể quản lý,
server/controller
data managed device có thể định cấu hình

Giao thức quản lý


mạng: được sử
agent data Dữ liệu: dữ liệu cấu
dụng bởi máy chủ agent data hình “trạng thái” của
quản lý để truy vấn,
managed device thiết bị, dữ liệu vận
định cấu hình, quản managed device hành, thống kê thiết
lý thiết bị; được sử agent data bị
agent data
dụng bởi các thiết bị
để thông báo cho managed device
managed device
máy chủ quản lý dữ
liệu, sự kiện
157
Phương pháp tiếp cận cách quản lý của nhà điều hành mạng

CLI (Giao diện dòng lệnh)


o Các sự cố của nhà điều hành (loại, tập
agent data
lệnh) trực tiếp đến từng thiết bị (ví dụ:
managing
vis ssh) server/controller
managed device
SNMP/MIB data

o Người vận hành truy vấn/đặt dữ liệu


agent data
thiết bị (MIB) bằng Giao thức quản lý
mạng đơn giản (SNMP) agent data
managed device
NETCONF/YANG managed device
o Trừu tượng hơn, rộng hơn, toàn diện hơn agent data
o Nhấn mạnh vào quản lý cấu hình đa thiết bị agent data
o YANG: ngôn ngữ mô hình hóa dữ liệu
managed device
o NETCONF: giao tiếp các hành động/dữ liệu managed device

tương thích với YANG đến/từ/giữa các thiết


bị từ xa
158
Giao thức SNMP

Hai cách để truyền tải thông tin MIB, lệnh:

managing data data


managing
server/ server/
controller controller

request

response trap message

agent data agent data

managed device managed device

request/response mode trap mode


159
Giao thức SNMP: các loại thông báo

Loại thông điệp Chức năng

GetRequest manager-to-agent: “ lấy dữ liệu cho tôi ”


GetNextRequest (ví dụ dữ liệu, dữ liệu tiếp theo trong
GetBulkRequest danh sách, khối dữ liệu).

SetRequest manager-to-agent: đặt giá trị MIB

Reponse Agent-to-manager: giá trị, phản hồi Yêu


cầu

Trap Agent-to-manager: thông báo cho người


quản lý sự kiện đặc biệt

160
Giao thức SNMP: định dạng thông điệp

Get/set header Variables to get/set


PDU Error
Request Error
Thông điệp type 3 type Status Name Value Name Value ….
ID Index
(0-3) (0-5)

Trap header Trap info

PDU Trap
Thông điệp type 4 type Enterprise Agent Type
Specific Time
Name Value ….
Addr code stamp
4 (0-7)

SNMP PDU

161
SNMP: Cơ sở quản lý thông tin (MIB)

o Dữ liệu hoạt động (và một số cấu hình) của thiết bị được
quản lý agent data

o Được tập hợp vào mô-đun MIB của thiết bị


 400 mô-đun MIB được xác định trong RFC's; nhiều MIB dành riêng
cho nhà cung cấp hơn
 Cấu trúc thông tin quản lý (SMI): ngôn ngữ định nghĩa dữ liệu

162
Tổng quan về NETCONF

o Mục tiêu: chủ động quản lý/ cấu hình thiết bị trên toàn mạng
o Hoạt động giữa máy chủ quản lý và thiết bị mạng được quản lý
 Hành động: truy xuất, đặt, sửa đổi, kích hoạt cấu hình
 Hoạt động được cam kết trên nhiều thiết bị
 Truy vấn dữ liệu hoạt động và thống kê
 Đăng ký nhận thông báo từ các thiết bị
o Mô hình gọi thủ tục từ xa (RPC)
 Thông báo giao thức NETCONF được mã hóa bằng XML
 Giao thức vận chuyển an toàn, đáng tin cậy (ví dụ: TLS)

163
NETCONF khởi tạo, trao đổi, đóng phiên

managing agent data


server/controller Session initiation,
capabilities exchange: <hello>
data


<rpc>
<rpc-reply>



<rpc>
<rpc-reply>


… …
<notification>


<rpc>
<rpc-reply>


Session close: <close-session>
164
YANG

o Ngôn ngữ mô hình hóa dữ liệu dùng


để chỉ định cấu trúc, cú pháp, ngữ quản lý dữ
máy chủ/bộ liệu
nghĩa của dữ liệu quản lý mạng điều khiển
NETCONF
 Các kiểu dữ liệu tích hợp, như SMI Thông báo
NETCONF
<sửa-cấu RPC
hình>
o Tài liệu XML mô tả thiết bị, các khả XML do YANG tạo
YANG
năng có thể được tạo từ mô tả YANG </sửa-cấu hình>
được tạo ra
o Có thể thể hiện các ràng buộc giữa
các dữ liệu phải được thỏa mãn bởi
cấu hình NETCONF hợp lệ đại lý dữ liệu

 Đảm bảo các cấu hình NETCONF đáp ứng


các ràng buộc về tính chính xác, nhất quán

165
Chương 4: Nội dung
4.1 Tổng quan
o DHCP
o Mức dữ liệu
o NAT
o Mức điều khiển o ICMP
4.2 Virtual circuit network và datagram o IPV6
network
4.5 Các thuật toán routing
o Các mạch ảo
o Link state
o Mạng datagram
o Distance vector
4.3 Cấu trúc bên trong router
4.6 Routing trong Internet
o Cổng đầu vào, chuyển đổi, cổng đầu ra o Hierarchical routing
o Quản lý bộ đệm, lập kế hoạch o RIP, OSPF, BGP
4.4 IP: Internet Protocol o SDN
o Định dạng datagram o Quản lý mạng
o IPv4 addressing 4.7 Broadcast và Multicast routing
166
Broadcast routing
o Chuyển các packet từ nguồn tới tất cả các node khác
o Nguồn trùng lặp thì không có hiệu quả:

duplicate
duplicate R1 creation/transmission R1
duplicate
R2 R2

R3 R4 R3 R4

Nguồn Trùng lặp


trùng lặp trong mạng

• Nguồn trùng lặp: làm sao xác định được địa chỉ người nhận?

167
Trùng lặp trong mạng
o Flooding: khi node nhận được packet broadcast, nó gởi bản sao đến tất
cả các neighbor
 Vấn đề: lặp lại & bão broadcast
o Flooding có điều khiển: node chỉ broadcast packet nếu nó không gửi
broadcast giống như vậy trước đó
 Node theo dõi các packet đã broadcast
 Hoặc reverse path forwarding (RPF): chỉ chuyển các packet nếu nó đã
đến trên đường đi ngắn nhất giữa node và nguồn
o Spanning tree:
 Không có các packet dư thừa được nhận tại bất cứ node nào

168
Multicast routing: phát biểu vấn đề
Mục tiêu: tìm một cây (hoặc các cây) kết nối các router có các thành viên trong
nhóm multicast
o Cây (tree): không phải tất cả các đường đi giữa các router đều được sử dụng
 Cây chia sẻ (shared-tree): cây giống nhau được sử dụng bởi các thành viên trong
nhóm
 Cây dựa trên nguồn(source-based): cây khác nhau từ nơi gửi tới nơi nhận
Ký hiệu
Group member

not group member

Router with a
Group member

Router without
Cây chia sẻ Cây dựa trên nguồn group member
169
Hướng tiếp cận để xây dựng các cây multicast
Các hướng tiếp cận:
o Cây dựa trên nguồn (source-based tree): một cây cho mỗi nguồn
 Các cây đường đi ngắn nhất
 Cây đường đi ngược
o Cây chia sẻ nhóm: nhóm dùng 1 cây
 Mở rộng tối thiểu (Steiner)
 Các cây dựa trên trung tâm (center-based trees)

… tìm hiểu các cách tiếp cận cơ bản, sau đó các giao thức cụ thể áp
dụng cho các hướng tiếp cận này

170
Lớp mạng: Tóm tắt

Chúng ta đã học được rất nhiều!


o Tiếp cận mức điều khiển mạng
 Điều khiển trên mỗi router (truyền thống)
 Điều khiển tập trung hợp lý (mạng được xác định bằng phần
mềm)
o Thuật toán định tuyến truyền thống
 Triển khai trên Internet: OSPF , BGP
o Bộ điều khiển SDN
 Triển khai trong thực tế: ODL, ONOS
o Quản lý mạng

điểm dừng tiếp theo: lớp liên kết!


171
Danh sách từ Anh – Việt trong chương 4

o Broadcast: quảng bá o Multicast: đa hướng


o Control plane: mức điều khiển o Neighbor: hàng xóm lân cận
o Datagram: gói tin o Network layer: tầng mạng
o Data plane: mức dữ liệu o Packet: gói tin
o Fabric: cấu tạo, tổ chức o Router: bộ định tuyến
o Forwarding: chuyển tiếp o Routing: định tuyến
o Flooding: làm tràn ngập o Switching: chuyển mạch
o Interface: giao tiếp, cổng o Virtual circuit network: mạng mạch ảo

172

You might also like