Professional Documents
Culture Documents
Chuong 4 - Tang Mang
Chuong 4 - Tang Mang
Chương 4
Tầng mạng Mục tiêu:
Hiểu được nguyên lý của các dịch vụ tầng
mạng:
Computer Các mô hình dịch vụ tầng mạng
Networking: A Chuyển tiếp (forwarding) và định tuyến (routing)
Top Down Bộ định tuyến làm việc như thế nào
Approach Định tuyến (chọn đường)
7th edition
Tài liệu được dịch cho mục đích giảng dạy (được sự đồng ý của tác giả).
Jim Kurose, Keith Ross
Addison-Wesley
Cài đặt hiện thực trong mạng Internet
March 2017
All material copyright 1996-2012
J.F Kurose and K.W. Ross, All Rights Reserved
4.1 Giới thiệu 4.5 Các giải thuật định gửi sang host nhận data link
physical
network network
4.2 Các mạng mạch ảo và tuyến Bên gửi sẽ đóng gói các network
data link
physical
data link
physical
data link
mạng chuyển gói Link state segment vào trong các physical network network
data link data link
Distance vector datagram physical
4.3 Kiến trúc của bộ định
physical
4.6 Định tuyến trong mạng segment đến tầng giao vận data link
physical
network
data link
physical
4.4 IP: Internet Protocol Các giao thức tầng mạng
data link
RIP
được cài đặt trong mỗi host và network
application
transport
Định địa chỉ IPv4 router network
data link
physical
network
data link
network
data link
OSPF physical
ICMP Router kiểm tra các trường
data link
physical
physical
BGP
IPv6 trong tiêu đề của tất cả các gói
tin IP datagram để chuyển nó
đi tiếp
Tầng mạng 4-3 Tầng mạng 4-4
chuyển các gói tin từ đầu Bảng chuyển tiếp cục bộ Bảng chuyển tiếp xác định
Định tuyến: tiến trình lập Giá trị tiêu đề Liên kết ra việc chuyển tiếp cục bộ tại bộ
vào tới đầu ra phù hợp
định tuyến này
của router kế hoạch chuyến đi từ 0100
0101
3
2
3 2
Các thuật toán định tuyến
1
Thiết lập kết nối Mô hình dịch vụ tầng mạng
Chức năng quan trọng thứ 3 trong một số kiến trúc Hỏi: Mô hình dịch vụ nào cho “kênh” vận chuyển các
mạng: datagram từ bên gửi đến bên nhận?
ATM, frame relay, X.25
Trước khi các datagram chuyển đi, hai host đầu cuối và Ví dụ các dịch vụ cho các Ví dụ các dịch vụ cho một
các router trung gian thiết lập kết nối ảo datagram riêng: luồng datagram:
Giao nhận đảm bảo Giao nhận datagram theo
Các router cũng liên quan
Giao nhận đảm bảo với trễ đúng thứ tự
Dịch vụ kết nối tầng mạng và tầng giao vận: nhỏ hơn 40 msec Đảm bảo băng thông tối
Tầng mạng: giữa hai host (cũng có thể chứa các router trung thiểu cho luồng
gian trong trường hợp kết nối ảo) Hạn chế những thay đổi
Tầng giao vận: giữa hai tiến trình trong khoảng trống giữa các
gói tin
Dịch vụ hướng kết nối và không kết nối Mạch ảo (Virtual circuit - VC)
“Cách xử lý đường từ nguồn đến đích giống như
Mạng chuyển gói (datagram network) cung cấp dịch mạch điện thoại”
vụ hướng không kết nối tầng mạng Hiệu suất tốt
Mạng hoạt động theo đường từ nguồn đến đích
Mạng mạch ảo (virtual-circuit network) cung cấp dịch
vụ hướng kết nối tầng mạng
Thiết lập cuộc gọi, chia nhỏ mỗi cuộc gọi trước khi dữ liệu được
Tương tự với các dịch vụ hướng kết nối/không kết truyền đi
nối TCP/UDP tầng giao vận, nhưng: Mỗi gói tin mang định danh mạch ảo (không phải là địa chỉ của
Dịch vụ: host-to-host host đích)
Mỗi router trên đường đi từ nguồn đến đích duy trì “trạng thái”
Không lựa chọn: tầng mạng chỉ cung cấp hoặc cho mỗi kết nối qua.
dịch vụ này, hoặc dịch vụ kia Kết nối, các tài nguyên router (băng thông, đệm) có thể được
Cài đặt: bên trong phần lõi của mạng cấp phát cho mạch ảo (Các tài nguyên dành riêng = dịch vụ dự
đoán trước được).
2
Cài đặt mạch ảo Bảng chuyển tiếp mạch ảo
12 22 32
Mạch ảo: Các giao thức báo hiệu Mạng chuyển gói
Không có thiết lập cuộc gọi tại tầng mạng
Được sử dụng để thiết lập, duy trì phân mạch ảo
Các router: Không lưu giữ trạng thái về các kết nối giữa
Được dùng trong ATM, frame-relay, X.25 các đầu cuối (end-to-end)
Không được dùng trong mạng Internet ngày nay Không có khái niệm “kết nối” mức mạng
Các gói tin được chuyển tiếp bằng cách sử dụng địa
chỉ host đích
application application
transport 5. Bắt đầu truyền dữ liệu 6. Nhận dữ liệu
application application
transport
network 4. Cuộc gọi đã được kết nối transport transport
3. Chấp nhận cuộc gọi network
data link 1. Khởi tạo cuộc gọi network network
data link
data link 1. Gửi các datagram
2. Cuộc gọi đến 2. Nhận các datagram
physical physical data link
physical physical
khác 3
Hỏi: Nhưng điều gì sẽ xảy ra khi các dãy không được phân chia hợp lý?
Tầng mạng 4-17 Tầng mạng 4-18
3
So khớp tiền tố dài nhất Chuyển mạch gói hay chuyển mạch ảo: Tại sao?
So khớp tiền tố dài nhất
Internet (datagram) ATM (VC)
Khi tìm kiếm mục vào trong bảng chuyển tiếp cho một
Dữ liệu trao đổi giữa các máy Phát triển từ hệ thống điện
địa chỉ đích xác định, dùng tiền tố địa chỉ dài nhất giống tính thoại
với địa chỉ đích. Dịch vụ “mềm dẻo”, không Hội thoại của con người:
giới hạn yêu cầu thời gian Giới hạn thời gian, yêu cầu
Dãy địa chỉ đích Giao diện liên kết Nhiều loại liên kết độ tin cậy
11001000 00010111 00010*** ********* 0 Các đặc tính khác nhau Cần dịch vụ đảm bảo
Khó khăn khi đồng nhất dịch Các hệ thống đầu cuối “ít
11001000 00010111 00011000 ********* 1
vụ thông minh”
11001000 00010111 00011*** ********* 2 Các hệ thống đầu cuối “thông Máy điện thoại
3 minh” (máy tính) Sự phức tạp ở bên trong
khác
Có thể đáp ứng, điều thực thi mạng
Ví dụ: khiển, khôi phục lỗi
DA: 11001000 00010111 00010110 10100001 Giao diện nào? Mạng bên trong đơn giản,
sự phức tạp nằm ở “phần
DA: 11001000 00010111 00011000 10101010 Giao diện nào?
cạnh”
Tầng mạng 4-19 Tầng mạng 4-20
Chương 4: Nội dung Khái quát kiến trúc của bộ định tuyến
Hai chức năng chính của bộ định tuyến:
Chạy các giải thuật/giao thức định tuyến (RIP, OSPF, BGP)
4.1 Giới thiệu 4.5 Các giải thuật định
Chuyển tiếp các datagram từ liên kết vào tới liên kết ra
4.2 Các mạng mạch ảo và tuyến
mạng chuyển gói Link state
Distance vector
Các bảng định tuyến được tính toán Bộ xử lý
Định tuyến, kiểm soát
4.3 Kiến trúc của bộ định và được đẩy tới các cổng vào
định tuyến
quản lý (phần mềm)
tuyến Hierarchical routing
Chuyển tiếp dữ
4.4 IP: Internet Protocol 4.6 Định tuyến trong mạng liệu (phần cứng)
Định dạng gói tin
Internet
RIP
Định địa chỉ IPv4 Fabric
OSPF chuyển mạch
ICMP tốc độ cao
BGP
IPv6
4
Chuyển mạch qua memory Chuyển mạch qua bus
Các bộ định tuyến thế hệ đầu tiên:
Các máy tính truyền thống với các bộ chuyển mạch Datagram từ bộ nhớ cổng vào tới bộ
được điều khiển trực tiếp bởi CPU nhớ cổng ra thông qua một bus
chung
Gói tin được sao chép vào trong bộ nhớ của hệ thống
Tranh chấp bus: tốc độ chuyển
Tốc độ bị giới hạn bởi băng thông bộ nhớ
mạch bị giới hạn bởi băng thông của
bus
bus
Cổng vào Cổng ra 32 Gbps bus, Cisco 5600: tốc độ đủ
(Ví dụ: memory (Ví dụ: cho các router truy nhập và các
Ethernet) Ethernet)
router của tổ chức.
Bus hệ thống
Chuyển mạch thông qua mạng kết nối nội bộ Các cổng ra
Vượt qua các giới hạn về băng thông
Đệm
của bus Chuyển mạch datagram Giao thức
tầng Đầu cuối
Các mạng ban đầu được phát triển để fabric
liên kết dòng
két nối các bộ vi xử lý thành một bộ đa Xếp hàng
(gửi)
xử lý
Thiết kế nâng cao: phân mảnh
datagram thành các cell có độ dài cố crossbar
định, chuyển mạch các cell qua fabric. Việc đệm được yêu cầu khi các datagram đến từ
fabric nhanh hơn tốc độ truyền đi
Cisco 12000: chuyển mạch 60 Gbps
qua mạng kết nối nội bộ Lịch truyền sẽ lựa chọn các datagram trong hàng đợi
để truyền
5
Xếp hàng tại cổng vào
Chương 4: Nội dung
Nếu fabric chậm hơn so với các cổng vào được kết nối, thì cần
phải xếp hàng tại hàng đợi vào.
Trễ xếp hàng và mất mát là do tràn bộ đệm vào! 4.1 Giới thiệu 4.5 Các giải thuật định
Khóa đầu hàng (Head-of-the-Line - HOL): datagram đã được xếp 4.2 Các mạng mạch ảo và tuyến
hàng tại phía trước của hàng đợi ngăn cản các datagram khác mạng chuyển gói Link state
trong hàng di chuyển về phía trước Distance vector
4.3 Kiến trúc của bộ định
tuyến Hierarchical routing
Phân mảnh và tập hợp lại gói tin IP Phân mảnh và tập hợp lại gói tin IP
Các liên kết mạng có MTU
(max.transfer unit) – kích thước length ID fragflag offset
khung (frame) lớn nhất có thể Ví dụ: =4000 =x =0 =0
được truyền trên liên kết.
Phân mảnh: Datagram 4000 byte
…
Các loại liên kết khác nhau Vào: một datagram lớn Một datagram lớn được chia thành một số
MTU = 1500 byte datagram nhỏ hơn
sẽ có MTU khác nhau Ra: 3 datagram nhỏ hơn
6
Chương 4: Nội dung Định địa chỉ IP: giới thiệu
223.1.1.1
4.4 IP: Internet Protocol 4.6 Định tuyến trong mạng Một router thường có
nhiều giao diện
Định dạng gói tin
Internet
Một host có một hoặc hai
RIP giao diện (Ví dụ: Ethernet
223.1.3.1 223.1.3.2
Định địa chỉ IPv4
OSPF có dây, 802.11 không dây)
ICMP
BGP Địa chỉ IP được gắn với
IPv6
từng giao diện 223.1.1.1 = 11011111 00000001 00000001 00000001
223 1 1 1
223.1.2.6 223.1.3.27
7
Định địa chỉ IP: Phân lớp địa chỉ IPv4 Định địa chỉ IP: CIDR
Phần Phần
subnet host
11001000 00010111 00010000 00000000
Hạn chế: lãng phí không gian địa chỉ 200.23.16.0/23
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ỉ
Làm thế nào để có được một địa chỉ IP? DHCP: Dynamic Host Configuration Protocol
Hỏi: Làm thế nào để một host lấy được một địa chỉ IP? Mục đích: cho phép host có được địa chỉ IP một cách tự động từ
server mạng khi kết nối vào mạng
Mã hóa cứng trong một tệp bởi người quản trị hệ thống Có thể làm mới địa chỉ đang dùng
Cho phép dùng lại địa chỉ (chỉ giữ địa chỉ khi đang kết nối)
Windows: control-panel->network->configuration->tcp/ip
->properties Hỗ trợ cho người dùng di động khi muốn kết nối vào mạng
UNIX: /etc/rc.config Khái quát DHCP:
DHCP: Dynamic Host Configuration Protocol: tự động Host gửi thông điệp quảng bá “DHCP discover” [optional]
lấy địa chỉ từ server DHCP server trả lời bằng thông điệp “DHCP offer” [optional]
Host yêu cầu địa chỉ IP bằng thông điệp “DHCP request”
“plug-and-play”
DHCP server gửi địa chỉ bằng thông điệp “DHCP ack”
223.1.3.1 223.1.3.2
DHCP ACK
src: 223.1.2.5, 67
dest: 255.255.255.255, 68
yiaddrr: 223.1.2.4
223.1.3.0/24 transaction ID: 655
lifetime: 3600 secs
8
DHCP: Ví dụ
DHCP: có nhiều địa chỉ IP hơn Laptop đang kết nối cần một địa
chỉ IP, địa chỉ IP của router của
DHCP DHCP hop đầu tiên, địa chỉ của DNS
DHCP UDP server: dùng DHCP
DHCP có thể cho phép có nhiều địa chỉ IP hơn DHCP IP
Eth DHCP yêu cầu sẽ được đóng
số địa chỉ IP được phân bổ cho subnet:
DHCP
Phy gói trong UDP, UDP được đóng
Địa chỉ của router của hop đầu tiên cho client
DHCP
gói trong IP, và IP được đóng
gói trong 802.1 Ethernet
Tên và địa chỉ IP của DNS sever
DHCP 168.1.1.1
DHCP
Gửi quảng bá khung Ethernet
Mặt nạ mạng (chỉ ra phần host và phần mạng của DHCP UDP
IP (đích: FFFFFFFFFFFF) trên mạng
một địa chỉ)
DHCP
DHCP Eth router với DHCP LAN, được router đang chạy
Phy
server được đặt DHCP server nhận
bên trong router
Ethernet được cắt bỏ phần tiêu
đề thành IP, IP được cắt bỏ
phần tiêu đề thành UDP, UDP
được cắt bỏ phần tiêu đề thành
DHCP.
Tầng mạng 4-49 Tầng mạng 4-50
Làm thế nào có được một địa chỉ IP? Định địa chỉ phân cấp: tích hợp định tuyến
Hỏi: Làm thế nào để mạng có được phần subnet của địa chỉ IP? Định địa chỉ phân cấp cho phép quảng bá hiệu quả thông
Trả lời: Lấy theo phần được phân bổ từ không gian địa chỉ của tin định tuyến:
nhà cung cấp ISP.
Tổ chức 0
200.23.16.0/23
Khối của ISP 11001000 00010111 00010000 00000000 200.23.16.0/20 Tổ chức 1
“Gửi cho tôi bất cứ địa
200.23.18.0/23 chỉ nào bắt đầu là
Tổ chức 0 11001000 00010111 00010000 00000000 200.23.16.0/23 Tổ chức 2 200.23.16.0/20”
Tổ chức 1 11001000 00010111 00010010 00000000 200.23.18.0/23 200.23.20.0/23 . Fly-By-Night-ISP
.
Tổ chức 2 11001000 00010111 00010100 00000000 200.23.20.0/23 . . Internet
... ….. …. …. Tổ chức 7
.
.
Tổ chức 7 11001000 00010111 00011110 00000000 200.23.30.0/23 200.23.30.0/23
“Gửi cho tôi bất cứ địa
ISPs-R-Us
chỉ nào bắt đầu là
199.31.0.0/16”
9
Định địa chỉ phân cấp: định tuyến cụ thể hơn Định địa chỉ IP...
ISPs-R-Us có nhiều cách định tuyến cụ thể hơn đến
Tổ chức 1 Hỏi: Làm thế nào một ISP có thể lấy được khối địa chỉ?
Trả lời: ICANN: Internet Corporation for Assigned
Tổ chức 0
Names and Numbers http://www.icann.org/
200.23.16.0/23
Phân bổ địa chỉ
“Gửi cho tôi bất cứ địa
chỉ nào bắt đầu là Quản lý DNS
Tổ chức 2 200.23.16.0/20”
200.23.20.0/23 . Fly-By-Night-ISP Gán các tên miền, giải quyết tranh chấp
.
. . Internet
Tổ chức 7
.
.
200.23.30.0/23
“Gửi cho tôi bất cứ địa
ISPs-R-Us
chỉ nào bắt đầu là
Tổ chức 1 199.31.0.0/16
hoặc 200.23.18.0/23”
200.23.18.0/23
10
NAT: network address translation Vấn đề đi qua NAT
Client muốn kết nối tới server
Trường số hiệu cổng gồm 16-bit :
có địa chỉ 10.0.0.1 10.0.0.1
60.000 kết nối đồng thời chỉ với một địa chỉ phía Địa chỉ 10.0.0.1 của server client
LAN! được đặt trong mạng LAN ?
NAT hiện vẫn còn đang gây tranh cãi (client không thể sử dụng địa 10.0.0.4
chỉ này là địa chỉ đích)
Các router chỉ nên xử lý đến tầng 3 Từ bên ngoài, client chỉ nhìn 138.76.29.7 Router
Vi phạm thỏa thuận end-to-end thấy địa chỉ NAT là 138.76.29.7 NAT
• Các nhà thiết kế ứng dụng phải xem xét đến khả năng
NAT, ví dụ ứng dụng P2P Giải pháp 1: Cấu hình tĩnh NAT để chuyển
Việc thiếu địa chỉ nên được thay bằng cách giải tiếp các yêu cầu kết nối đến tới cổng đã xác
quyết là dùng IPv6 định của server
Ví dụ: (138.76.29.7, cổng 2500) sẽ luôn được
chuyển tiếp tới (10.0.0.1, cổng 25000)
11
Traceroute và ICMP
IPv6: Lý do
Nguồn gửi chuỗi UDP Khi thông điệp ICMP đến,
segments tới đích nguồn tính toán các RTT
Segment đầu tiên được thiết Động lực thúc đẩy ban đầu: không gian địa chỉ 32-bit
lập TTL=1 sắp được cấp phát hết.
Segment thứ hai TTL=2, ...
Điều kiện dừng:
Không giống với số hiệu UDP segment cuối cùng đến Động lực bổ sung:
cổng được host đích. Định dạng tiêu đề (header) giúp tăng tốc độ xử lý/chuyển
Khi datagram thứ n tới router Đích trả lại thông điệp ICMP tiếp
n: “port unreachable” (type 3, Tiêu đề thay đổi giúp tạo điều kiện cho QoS
Router bỏ qua các datagram code 3) → cổng không có
Và gửi đến nguồn thông điệp Nguồn dừng lại
ICMP (type 11, code 0) Định dạng IPv6 datagram:
Thông điệp ICMP có chứa Phần tiêu đề có chiều dài cố định 40 byte
tên của router & địa chỉ IP
Không cho phép phân mảnh gói tin
3 gói 3 gói
thăm dò thăm dò
3 gói
thăm dò
Tầng mạng 4-67 Tầng mạng 4-68
Định dạng IPv6 datagram Những thay đổi của IPv6 so với IPv4
Priority (ưu tiên): xác định ưu tiên giữa các datagram trong
luồng Checksum: bỏ hoàn toàn, nhằm giảm thời gian xử lý tại
Flow Label (nhãn luồng): xác định các datagram trong cùng mỗi hop
một “luồng”. Options: được phép, nhưng nằm ngoài phần tiêu đề,
Next header: xác định giao thức tầng cao hơn cho dữ liệu được xác định trong trường “Next Header”
ICMPv6: phiên bản mới của ICMP
ver pri flow label
payload len next hdr hop limit Các loại thông điệp bổ sung, ví dụ: “Packet Too Big”
source address Các chức năng quản lý nhóm multicast
(128 bits)
destination address
(128 bits)
data
32 bits
Tầng mạng 4-69 Tầng mạng 4-70
IPv6 datagram
IPv4 datagram
12
Tunneling Chương 4: Nội dung
A B Đường hầm IPv4 E F
kết nối các router IPv6
Cách nhìn logic: 4.1 Giới thiệu 4.5 Các giải thuật định
IPv6 IPv6 IPv6 IPv6
4.2 Các mạng mạch ảo và tuyến
Cách nhìn thực
A B C D E F mạng chuyển gói Link state
(vật lý): 4.3 Kiến trúc của bộ định Distance vector
IPv6 IPv6 IPv4 IPv4 IPv6 IPv6
tuyến Hierarchical routing
flow: X
src: A
src:B src:B flow: X
src: A 4.4 IP: Internet Protocol 4.6 Định tuyến trong mạng
dest: E dest: E
dest: F
Flow: X
dest: F
Định dạng gói tin
Internet
Flow: X
Src: A Src: A RIP
data Dest: F Dest: F data
Định địa chỉ IPv4
OSPF
ICMP
BGP
data data IPv6
Tác động qua lại giữa định tuyến và chuyển tiếp Mô hình đồ thị
Thuật toán định tuyến xác định
Thuật toán định tuyến đường đi từ đầu cuối này đến 5
đầu cuối kia trên mạng
v 3 w
2 5
Bảng chuyển tiếp cục bộ Bảng chuyển tiếp xác định
Địa chỉ đích Liên kết ra việc chuyển tiếp cục bộ tại bộ u 2 z
định tuyến này
1
Dãy địa chỉ 1 3 3
Dãy địa chỉ 2 2 1
Dãy địa chỉ 3 2 x y 2
Dãy địa chỉ 4 1 Đồ thị: G = (N,E) 1
Mô hình đồ thị: Các chi phí Phân loại giải thuật định tuyến
Hỏi: Thông tin là tập trung hay Hỏi: Động hay tĩnh?
5 không tập trung?
c(x,x’) = chi phí của kết nối (x,x’)
3 ví dụ: c(w,z) = 5 Tập trung: Tĩnh:
v w
2 5 Tất cả các router đều có thông tin Việc định tuyến thay đổi
u Chi phí có thể luôn bằng 1, hoặc đầy đủ về cấu trúc mạng và chi phí
2 1 z chậm theo thời gian
3 có thể liên quan đến băng thông,
của các liên kết Động:
1 hoặc liên quan đến tắc nghẽn
x y 2
Giải thuật “link state” (trạng thái
1 Việc định tuyến thay đổi
kết nối) nhanh hơn:
Không tập trung: Cập nhật định kỳ
Chi phí của đường đi (x1, x2, x3,…, xp) = c(x1,x2) + c(x2,x3) + … + c(xp-1,xp) Router biết về các hàng xóm có kết
Phản ứng với những
nối vật lý với nó và chi phí liên kết thay đổi chi phí liên kết
tới các hàng xóm này.
Hỏi: Chi phí thấp nhất đường đi từ u đến z là bao nhiêu? Lặp lại quá trình tính toán, trao đổi
Giải thuật định tuyến: giải thuật tìm đường đi có chi phí thấp nhất thông tin với các hàng xóm
Giải thuật “distance vector” (véc-tơ
khoảng cách)
Tầng mạng 4-77 Tầng mạng 4-78
13
Chương 4: Nội dung Một giải thuật định tuyến Link-State
Giải thuật Dijkstra Ký hiệu:
4.1 Giới thiệu 4.5 Các giải thuật định
Tất cả các nút đều biết được cấu c(x,y): chi phí liên kết từ nút x
4.2 Các mạng mạch ảo và tuyến trúc mạng và chi phí của các liên tới y; = ∞ nếu không có kết
mạng chuyển gói Link state kết trên mạng nối trực tiếp đến nút lân cận
4.3 Kiến trúc của bộ định Distance vector Được thực hiện bằng cách
Hierarchical routing “quảng bá trạng thái liên kết” D(v): giá trị hiện tại của chi
tuyến Tất cả các nút có thông tin giống phí đường đi từ nguồn đến
4.4 IP: Internet Protocol 4.6 Định tuyến trong mạng nhau đích
Định dạng gói tin
Internet Tính toán chi phí thấp nhất p(v): nút trước nằm trên
RIP đường đi từ một nút (“nguồn”) đường đi từ nguồn đến v
Định địa chỉ IPv4
OSPF đến tất cả các nút khác.
ICMP N': tập các nút mà chi phí
BGP Cho bảng chuyển tiếp của nút đó đường đi thấp nhất đã được
IPv6
Lặp: sau k lần duyệt, sẽ biết xác định
được chi phí thấp nhất tới k đích
14
Giải thuật Dijkstra: Thảo luận Chương 4: Nội dung
Độ phức tạp của giải thuật: n nút
Mỗi lần duyệt: cần kiểm tra lại tất cả các nút w không thuộc N 4.1 Giới thiệu 4.5 Các giải thuật định
n(n+1)/2 phép so sánh: O(n2)
4.2 Các mạng mạch ảo và tuyến
Có thể cài đặt hiệu quả hơn: O(nlogn)
mạng chuyển gói Link state
Có thể dao động: Distance vector
Ví dụ: chi phí kết nối bằng tổng lưu lượng mang:
4.3 Kiến trúc của bộ định
tuyến Hierarchical routing
min được tính trên tất cả các lân cận v của x Giá trị nhỏ nhất đạt được của nút là hop kế tiếp trong
đường đi ngắn nhất, được dùng trong bảng chuyển tiếp.
15
Dx(z) = min{c(x,y) +
Dx(y) = min{c(x,y) + Dy(y), c(x,z) + Dz(y)}
Giải thuật distance vector = min{2+0 , 7+1} = 2 Dy(z), c(x,z) + Dz(z)}
= min{2+1 , 7+0} = 3
Bảng Chi phí tới Chi phí tới
nút x x y z x y z
Lặp, không đồng bộ: mỗi Mỗi nút:
x 0 2 7 x 0 2 3
lần lặp cục bộ có nguyên
y ∞∞ ∞ y 2 0 1
từ
từ
nhân từ:
Chờ cho (thay đổi trong chi phí z ∞∞ ∞ z 7 1 0
Thay đổi chi phí liên kết cục
liên kết cục bộ hoặc thông báo
bộ từ nút lân cận) Bảng Chi phí tới
Thông báo cập nhật DV từ nút y x y z y
2 1
nút lân cận x ∞ ∞ ∞
Tính toán lại các ước lượng
x z
y 2 0 1
Phân bố:
từ
7
z ∞∞ ∞
Mỗi nút chỉ thông báo đến
các nút lân cận khi DV của Nếu DV tới bất kỳ đích nào có Bảng Chi phí tới
nó thay đổi thay đổi, thì thông báo cho các nút z x y z
Các lân cận sau đó sẽ nút lân cận x ∞∞ ∞
thông báo đến các lân cận y ∞∞ ∞
từ
khác của nó nếu cần z 7 1 0
Thời gian
Tầng mạng 4-91 Tầng mạng 4-92
Dx(z) = min{c(x,y) +
Dx(y) = min{c(x,y) + Dy(y), c(x,z) + Dz(y)}
= min{2+0 , 7+1} = 2 Dy(z), c(x,z) + Dz(z)} Distance vector: Chi phí kết nối thay đổi
= min{2+1 , 7+0} = 3
Bảng Chi phí tới Chi phí tới
nút x x y z x y z
Chi phí tới
x y z
Chi phí kết nối thay đổi:
x 0 2 7 x 0 2 3 Nút kiểm tra thay đổi chi phí kết nối 1
x 0 2 3
cục bộ y
y ∞∞ ∞ y 2 0 1 4
từ
1
từ
y 2 0 1
từ
từ
z ∞∞ ∞ z 7 1 0 z 3 1 0 tốt truyền
đi nhanh” t1 : z nhận thông tin cập nhật từ y, cập nhật lại bảng của nó, tính
Bảng Chi phí tới Chi phí tới Chi phí tới toán chi phí thấp nhất mới tới x, và gửi DV của nó tới các lân cận.
nút z x y z x y z x y z
x 0 2 7 x 0 2 3 t2 : y nhận cập nhật của z, cập nhật lại bảng khoảng cách của nó.
x ∞∞ ∞
y 2 0 1 y 2 0 1 Chi phí thấp nhất của y không thay đổi, nên y không cần gửi thông
từ
từ
y ∞∞ ∞
từ
z 3 1 0 z 3 1 0 báo tới z.
z 7 1 0
Thời gian
Tầng mạng 4-93 Tầng mạng 4-94
Distance vector: Chi phí kết nối thay đổi So sánh các giải thuật LS và DV
Chi phí kết nối thay đổi: Độ phức tạp thông báo Sự linh hoạt: điều gì sẽ xảy ra
60 LS: với n nút, E liên kết, nếu router hoạt động sai
Nút kiểm tra thay đổi chi phí cục bộ y
16
Chương 4: Nội dung Hierarchical routing (Định tuyến phân cấp)
Những vấn đề định tuyến được học cho đến
4.1 Giới thiệu 4.5 Các giải thuật định lúc này là với môi trường lý tưởng hóa
4.2 Các mạng mạch ảo và tuyến Tất cả các bộ định tuyến là đồng nhất
mạng chuyển gói Link state Mạng “phẳng”
Distance vector … không đúng trong thực tế!
4.3 Kiến trúc của bộ định
tuyến Hierarchical routing
4.6 Định tuyến trong mạng Quy mô: với 600 triệu Tự quản
4.4 IP: Internet Protocol
Internet đích: Internet = mạng của các mạng
Định dạng gói tin
RIP Không thể lưu tất cả các Mỗi nhà quản trị mạng có thể
Định địa chỉ IPv4
OSPF đích trong các bảng định muốn điều hành định tuyến
ICMP tuyến! riêng trong mạng của họ
BGP
IPv6 Việc trao đổi bảng định
tuyến sẽ làm tràn các liên
kết!
Nhiệm vụ của Inter-AS Ví dụ: thiết lập bảng chuyển tiếp trong router 1d
Giả sử router trong AS1 AS1 phải: Giả sử AS1 học (qua giao thức inter-AS) được là subnet x có
thể đến được qua AS3 (gateway 1c), nhưng không qua AS2
nhận datagram có đích 1. Học xem có thể đến được
ở bên ngoài AS1: đích nào qua AS2, và AS3 Giao thức inter-AS lan truyền thông tin đi được cho tất cả
2. Lan truyền thông tin này các router nội mạng
Router nên chuyển tiếp
gói tin đến gateway đến tất cả các router trong Router 1d biết được từ thông tin định tuyến intra-AS là giao
router, nhưng mà là cái AS1 diện I của nó thuộc đường đi có chi phí thấp nhất tới 1c
nào? Đây là nhiệm vụ của định tuyến
Đưa giá trị (x,I) vào bảng chuyển tiếp
inter-AS!
3c 3c
x
3a 3a
3b 3b
AS3 2c Các mạng AS3 2c Các mạng
1c 2a khác 1c 2a khác
Các mạng 1a 2b Các mạng 1a 2b
khác 1b AS2 khác 1b AS2
AS1 1d AS1 1d
17
Ví dụ: lựa chọn giữa nhiều AS Ví dụ: lựa chọn giữa nhiều AS
Bây giờ, giả sử AS1 học từ giao thức inter-AS là subnet x
Bây giờ, giả sử AS1 học từ giao thức inter-AS là subnet x có thể đến được từ AS3 và từ AS2.
có thể đến được từ AS3 và từ AS2.
Để cấu hình bảng chuyển tiếp, router 1d cần phải xác định
Để cấu hình bảng chuyển tiếp, router 1d cần phải xác định gateway nào mà nó nên chuyển tiếp các gói tin đến để tới
gateway nào mà nó nên chuyển tiếp các gói tin đến để tới được đích x
được đích x
Đây là nhiệm vụ của giao thức định tuyến inter-AS!
Đây là nhiệm vụ của giao thức định tuyến inter-AS!
Định tuyến hot potato: gửi gói tin đến router gần nhất trong
hai router
3c
x
Dùng thông tin định Xác định từ bảng chuyển
Học từ giao thức Định tuyến hot tiếp là giao diện I dẫn
3a tuyến từ giao thức
inter-AS là subnet potato: chọn đến được gateway có
3b x có thể đến được
intra-AS để xác định
AS3 2c Các mạng chi phí đường đi gateway có chi phí chi phí thấp nhất. Nhập
1c 2a khác qua nhiều gateway
thấp nhất tới mỗi thấp nhất (x,I) vào trong bảng
Các mạng 1a 2b gateway chuyển tiếp.
khác 1b AS2
AS1 1d
?
Tầng mạng 4-103 Tầng mạng 4-104
4.1 Giới thiệu 4.5 Các giải thuật định Còn được gọi là các giao thức cổng nội mạng
4.2 Các mạng mạch ảo và tuyến (interior gateway protocols - IGP)
mạng chuyển gói Link state Các giao thức định tuyến intra-AS phổ biến nhất:
4.3 Kiến trúc của bộ định Distance vector
RIP: Routing Information Protocol
tuyến Hierarchical routing
OSPF: Open Shortest Path First
4.4 IP: Internet Protocol 4.6 Định tuyến trong mạng
Internet IGRP: Interior Gateway Routing Protocol (Cisco
Định dạng gói tin độc quyền)
RIP
Định địa chỉ IPv4
OSPF
ICMP
BGP
IPv6
18
RIP: Ví dụ RIP: Lỗi liên kết và khôi phục
Thông báo từ A tới D
đích kế tiếp hop
w - 1
x - 1 Nếu không thấy có thông báo sau khoảng 180s thì lân
z
….
C
…
4
... z cận/liên kết được coi là “đã chết”.
w y Các tuyến đường qua lân cận là không còn dùng được
x
A D B Các thông báo mới được gửi tới các lân cận
Các lân cận tiếp tục gửi các thông báo mới (nếu các bảng
C bị thay đổi)
Bảng định tuyến trong router D Thông báo lỗi liên kết lan truyền nhanh chóng (?) trên toàn
Subnet đích Router kế tiếp Số hop đến đích bộ mạng
w A 2 Poison reverse được dùng để ngăn chặn các vòng lặp
y B 2 ping-pong (khoảng cách vô hạn = 16 hop)
A 5
z B 7
x -- 1
…. …. ....
Tầng mạng 4-109 Tầng mạng 4-110
Các đặc tính “cải tiến” trong OSPF (không có trong RIP) OSPF phân cấp
Router biên
Bảo mật: Tất cả các thông điệp OSPF đều được chứng
thực (để ngăn chặn những xâm nhập xấu) Router xương sống
19
OSPF phân cấp Định tuyến inter-AS trên Internet: BGP
Phân cấp 2 mức: vùng cục bộ, vùng xương sống. BGP (Border Gateway Protocol): Giao thức định
Chỉ dùng thông báo link-state bên trong vùng tuyến liên miền thực tế
Mỗi nút có cấu trúc vùng chi tiết; chỉ biết hướng “gắn kết mọi người lại với nhau trên Internet”
(đường đi ngắn nhất) đến các mạng trong các vùng BGP cung cấp cho mỗi AS:
khác. eBGP: lấy thông tin đi đến subnet từ các AS lân cận.
Các router biên của vùng: “tổng hợp” khoảng cách đến iBGP: lan truyền thông tin đến tất cả các router bên trong
các mạng trong vùng của nó, thông báo tới các router AS.
biên của vùng khác. Xác định đường đi “tốt” tới các mạng khác dựa trên thông
tin đường đi và chính sách
Các router xương sống: chạy định tuyến OSPF hạn chế
đến mạng xương sống Cho phép subnet thông báo sự tồn tại của nó đến
Các router biên: kết nối tới các router biên của các AS phần còn lại của Internet.
khác.
Tầng mạng 4-115 Tầng mạng 4-116
Các cơ sở của BGP Các cơ sở của BGP: phân phối thông tin đường đi
Phiên BGP: Hai router BGP (“các peer”) trao đổi các Dùng phiên eBGP giữa 3a và 1c, AS3 gửi thông tin
thông điệp BGP: đường đi (prefix) cho AS1.
Thông báo đường đi tới các tiền tố (prefix) mạng đích khác nhau Tiếp theo,1c có thể dùng iBGP để phân phối thông tin prefix
(giao thức “path vector” (véc-tơ đường)) mới cho tất cả các router trong AS1
Được trao đổi qua các kết nối TCP bán bền vững Sau đó,1b có thể thông báo thông tin đường đi mới tới AS2
qua phiên eBGP từ 1b-đến-2a.
Khi AS3 thông báo một prefix đến AS1: Khi router học được prefix mới, nó sẽ tạo ra điểm
AS3 hứa hẹn nó sẽ chuyển tiếp các datagram hướng tới prefix đó
truy nhập cho prefix trong bảng chuyển tiếp của nó.
AS3 có thể tổng hợp các prefix trong thông báo của mình
3c Phiên eBGP
Thông điệp BGP
3a 3a Phiên iBGP
3b 3b
AS3 2c Các mạng AS3 2c Các mạng
1c 2a khác 1c 2a khác
Các mạng 1a 2b Các mạng 1a 2b
khác 1b AS2 khác 1b AS2
AS1 1d AS1 1d
Các thuộc tính đường và định tuyến BGP Chọn định tuyến BGP
Prefix được thông báo chứa các thuộc tính BGP Router có thể học được nhiều đường đi đến AS đích,
Prefix + các thuộc tính = “định tuyến” và việc chọn tuyến đường được dựa trên:
Hai thuộc tính quan trọng: 1. Thuộc tính giá trị ưu tiên cục bộ: quyết định chính sách
AS-PATH: chứa các AS qua đó thông báo prefix nào được 2. AS-PATH ngắn nhất
truyền. Ví dụ: AS 67, AS 17 3. Router NEXT-HOP gần nhất: định tuyến hot potato
NEXT-HOP: xác định router AS nội vùng nào là AS kế tiếp. (Có 4. Tiêu chuẩn bổ sung
thể có nhiều liên kết từ AS hiện tại tới AS kế tiếp).
Gateway router nhận thông báo định tuyến bằng cách
dùng import policy (chính sách nhập) để chấp nhận/từ
chối
Ví dụ: không bao giờ định tuyến qua AS x
Định tuyến dựa trên chính sách.
20
Các thông điệp BGP Chính sách định tuyến BGP
Ký hiệu: Nhà cung
Các thông điệp BGP được trao đổi giữa các peer qua kết nối TCP B cấp mạng
Các thông điệp BGP: X
W A
OPEN: Mở kết nối TCP tới peer và xác thực bên gửi Khách hàng
UPDATE: thông báo đường đi mới (hoặc xóa bỏ đường cũ) C
KEEPALIVE: giữ kết nối tồn tại khi UPDATES thiếu; cũng có thể Y
yêu cầu ACKs OPEN
NOTIFICATION: báo cáo lỗi trong thông điệp trước; cũng được A, B, C là các nhà cung cấp mạng
dùng để đóng kết nối.
X, W, Y là khách hàng (của nhà cung cấp mạng)
X là dual-homed: được gắn vào hai mạng
X không muốn định tuyến từ B đến C qua X
.. .do vậy, X sẽ không thông báo tới B về đường đi đến C
Chính sách định tuyến BGP Tại sao định tuyến Intra-, Inter-AS khác nhau?
Ký hiệu: Nhà cung
B cấp mạng
Chính sách:
W A
X
Inter-AS: nhà quản trị muốn điều hành định tuyến lưu
Khách hàng lượng và ai định tuyến qua mạng của họ.
C
Intra-AS: Quản trị riêng, vì vậy không cần các quyết định
Y
chính sách
A thông báo đường đi AW đến B Quy mô:
B thông báo đường đi BAW đến X Định tuyến phân cấp tiết kiệm kích thước bảng, giảm lưu
B sẽ thông báo đường đi BAW đến C? lượng cập nhật
Không! B không nhận “thu thập” cho định tuyến CBAW vì W và Hiệu năng:
C đều không phải là khách hàng của B
Intra-AS: có thể tập trung vào hiệu năng
B muốn buộc C phải định tuyến tới w qua A
Inter-AS: chính sách quan trọng hơn hiệu suất
B chỉ muốn định tuyến từ/tới khách hàng của nó!
Hiểu được các nguyên lý bên trong các dịch vụ tầng mạng:
Các mô hình dịch vụ tầng mạng, tác động qua lại giữa định
tuyến và chuyển tiếp, cách router hoạt động, định tuyến (chọn
đường).
Cài đặt, hiện thực trên mạng Internet
21