Professional Documents
Culture Documents
Tầng mạng
ThS. Cấn Thị Phượng
forwarding
Routing
Algorithm
control
plane
data
plane
values in arriving
packet header
0111 1
2
3
control
plane
data
plane
CA
CA CA CA CA
values in arriving
packet header
0111 1
2
3
Internet i. Phân
Intserv phát datagram
Guaranteed yes tới đích yes yes yes
ii. 1633
(RFC Thời) gian hoặc thứ tự
Internet Diffserv
iii. Băng 2475) sẵnpossible
(RFCthông có cho luồng end-end
possibly possibly no
physical layer:
bit-level reception
Chuyển mạch phi tập trung:
link layer:
e.g., Ethernet ▪ Dùng giá trị trong các trường của header, tìm output port
dùng forwarding table trong bộ nhớ của cổng input port
(chapter 6)
“match plus action”
▪ Mục tiêu: hoàn thành xử lý ở tại ‘line speed’
▪ input port queuing: nếu datagrams đến nhanh hơn tốc độ
forwarding vào switch fabric Network Layer: 4-17
Chức năng Input port
lookup,
link
layer forwarding
line switch
termination protocol fabric
(receive)
queueing
physical layer:
bit-level reception
Chuyển mạch phi tạp trung:
link layer:
e.g., Ethernet ▪ Dùng giá trị trong các trường của header, tìm output port
dùng forwarding table trong bộ nhớ của cổng input port
(chapter 6)
“match plus action”
▪ destination-based forwarding: chuyển tới đich dựa vào IP
đích (truyển thống)
▪ generalized forwarding: chuyển dựa vào bất kì tập giá trị của
Network Layer: 4-18
Destination-based forwarding
otherwise 3
11001000 match!
00010111 00011*** ******** 2
otherwise 3
otherwise 3
match!
11001000 00010111 00010110 10100001 which interface?
examples:
11001000 00010111 00011000 10101010 which interface?
Network Layer: 4-22
Longest prefix matching
longest prefix match
when looking for forwarding table entry for given
destination address, use longest address prefix that
matches destination address.
otherwise 3
match!
11001000 00010111 00010110 10100001 which interface?
examples:
11001000 00010111 00011000 10101010 which interface?
Network Layer: 4-23
Longest prefix matching
▪ Chúng ta sẽ nghiên cứu chi tiết trong phần địa chỉ
▪ longest prefix matching: thường được thực thi sử dụng bộ
nhớ TCAM (ternary content addressable memories)
(TCAMs)
• content addressable: đặt địa chỉ trong TCAM: truy xuất địa chỉ
trong 1 chu kì đồng hồ bất kể kích thứơc của bảng
• Cisco Catalyst: ~1tỉ entry tuyến đường (routing table) trong TCAM
R (rate: NR, R
ideally)
...
...
R R
memory
system bus
. . .. . .
. . .. . .
fabric plane 2
switching planes fabric plane 3
. . .. . .
. . .. . .
fabric plane 4
▪ Mỗi plane: 3-stage fabric plane 5
. . .. . .
. . .. . .
fabric plane 6
interconnection fabric plane 7
network
. . .. . .
. . .. . .
▪ Lên tới 100’s Tbps
switching capacity
switch switch
fabric fabric
Tranh chấp ở đầu ra: chỉ có một Một thời gian sau: gói xanh lá
datagram màu đỏ được truyền, cây sẽ trải qua HOL
datagram màu đỏ còn lại bị khóa
Network Layer: 4-31
Output port queuing
datagram This is a really important slide
switch buffer link
layer line
fabric termination
protocol
(rate: NR) queueing (send) R
switch
switch
fabric
fabric
▪ buffering khi tốc độ đến theo switch vượt quá tốc độ link đầu ra
▪ queueing (delay) and loss phụ thuộc vào bộ đệm cổng ra!
Abstraction: queue
R packet
departures
packet
arrivals queue link
(waiting area) (server)
có độ ưu tiên departures
1 3 2 4 5
IP protocol
Path-selection
• datagram format
algorithms: • addressing
network implemented in • packet handling conventions
• routing protocols forwarding
layer (OSPF, BGP) table ICMP protocol
• SDN controller • error reporting
• router “signaling”
link layer
physical layer
223 1 1 1
Network Layer: 4-46
IP addressing: introduction
223.1.1.1
223 1 1 1
Network Layer: 4-47
IP addressing: giới thiệu
223.1.1.1
223.1.3.1 223.1.3.2
For now: don’t need to worry
about how one interface is
connected to another (with no
intervening router) A: Interface không dây kết nối với
trạm thu phát song Wifi
subnet 223.1.1/24
223.1.1.1
▪ Có Các mạng 223.1.1.4
con? 223.1.1.3
223.1.9.1 223.1.7.1
223.1.8.1 223.1.8.0
223.1.1.3
223.1.3.27 arriving DHCP client needs
223.1.2.2 address in this network
223.1.3.1 223.1.3.2
DHCP offer
src: 223.1.2.5, 67
Broadcast: I’m a DHCP
dest: 255.255.255.255, 68
server!
yiaddrr:Here’s an IP
223.1.2.4
address youID:can
transaction 654 use
Hai bước ở trên có thể bị
lifetime: 3600 secs
DHCP request bỏ qua nếu client sử dụng
src: 0.0.0.0, 68 lại địa chỉ trước đó [RFC
2131]
Broadcast: OK. I would
dest:: 255.255.255.255, 67
yiaddrr: 223.1.2.4
like totransaction
use this ID:IP655
address!
lifetime: 3600 secs
DHCP ACK
src: 223.1.2.5, 67
Broadcast: OK. You’ve
dest: 255.255.255.255, 68
yiaddrr: 223.1.2.4
got that IPID:
transaction address!
655
lifetime: 3600 secs
Network Layer: 4-56
DHCP: cung cấp nhiều thông tin hơn bên cạnh địa
chỉ
DHCP có thể cấp phát nhiều thông tin hơn bên cạnh địa chỉ:
▪ Địa chỉ gateway
▪ Tên và địa chỉ DNS server
▪ Mặt nạ mạng (xác định phần mạng trong địa chỉ)
DHCP Eth
Phy Router có chức năng của FFFFFFFFFFFF) được nhận tại router
DHCP
Organization 0
200.23.16.0/23
“Send me anything
with addresses
Organization 2 beginning
200.23.20.0/23 . Fly-By-Night-ISP 200.23.16.0/20”
.
. . Internet
.
Organization 7 .
200.23.30.0/23
“Send me anything
ISPs-R-Us
with addresses
Organization 1 beginning
199.31.0.0/16”
200.23.18.0/23 “or 200.23.18.0/23”
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 datagramsdời mạng cục bộ với datagrams với nguồn hoặc đích trong
cùng địa chỉ IP nguồn đã được NAT. : mạng này có địa chỉ trong mạng 10.0.0/24
138.76.29.7, nhưng khác địa chỉ cổng
nguồn Network Layer: 4-66
NAT: network address translation
▪ Tất cả các thiết bị trong mạng cục bộ có địa chỉ 32-bit trong không
gian địa chỉ riêng tư (10/8, 172.16/12, 192.168/16 prefixes) chỉ
dùng cục bộ
▪ Ưu điểm:
▪ Chỉ cần 1 địa chỉ từ ISP cho tất cả các thiết bị
▪ Có thể thay đổi địa chỉ của host trong mạng cục bộ không cần
thông tin với thế giới bên ngoài
▪ Có thể thay đổi ISP mà không cần thay đổi địa chỉ các thiết bị
trong mạng
▪ Bảo mật: thiết bị bên trong mạng cục bộ không được xác định
trực tiếp, không hiển thị với thế giới bên ngoài.
payload (data)
So với IPv4:
▪ no checksum (tăng tốc độ tại router)
▪ no fragmentation/reassembly
▪ no options (Tầng trên sẽ có trường này nếu cần thiết)
Network Layer: 4-72
Từ IPv4 đến IPv6
▪ Không phải tất cả các router được nâng cấp đồng thời
• no “flag days”
• Mạng sẽ xử lý việc tồn tại cả IPv4 và IPv6 như thế nào
▪ Tunneling (đường hầm): IPv6 datagram được coi như payload trong
IPv4 datagram tại các router IPv4 (“packet within a packet”)
• Đường hầm được định nghĩa trong các kiểu mạng khác (4G/5G)
IPv6 datagram
IPv4 datagram
Network Layer: 4-73
Đường hầm và đóng gói (Tunneling and
encapsulation
A B Ethernet connects two E F
Ethernet connecting IPv6 routers
two IPv6 routers: IPv6 IPv6 IPv6 IPv6
IPv6 datagram
Link-layer frame The usual: datagram as payload in link-layer frame
IPv4 network A B E F
connecting two
IPv6 routers IPv6 IPv6/v4 IPv6/v4 IPv6
IPv4 network
IPv6 datagram
Link-layer frame The usual: datagram as payload in link-layer frame
IPv6 datagram
IPv4 datagram tunneling: IPv6 datagram as payload in a IPv4 datagram
Network Layer: 4-75
Tunneling
A B IPv4 tunnel E F
connecting IPv6 routers
logical view:
IPv6 IPv6/v4 IPv6/v4 IPv6
A B C D E F
physical view:
IPv6 IPv6/v4 IPv4 IPv4 IPv6/v4 IPv6
A-to-B: E-to-F:
B-to-C: B-to-C: B-to-C:
IPv6 IPv6
IPv6 inside IPv6 inside IPv6 inside
IPv4 IPv4 IPv4
Network Layer: 4-76
IPv6: triển khai
▪ Google1: ~ 30% dịch vụ khách hàng là IPv6
▪ NIST: 1/3 domain của chính phủ Mỹ là có khả năng IPv6
https://www.google.com/intl
/en/ipv6/statistics.html
Network Layer: 4-77
IPv6: triển khai
▪ Google1: ~ 30% dịch vụ khách hàng là IPv6
▪ NIST: 1/3 domain của chính phủ Mỹ là có khả năng IPv6
▪ Thời gian rất dài để triển khai
• 25 năm và hơn nữa!
• Trong 25 có thể các dịch vụ tầng ứng dụng sẽ thay đổi rất nhiều:
WWW, social media, streaming media, gaming, telepresence, …
• Thực sự việc thay đổi giao thức tầng mạng là một câu chuyện
quá khó …
• Why?
1 https://www.google.com/intl/en/ipv6/statistics.html
Network Layer: 4-78
Network layer: “data plane” roadmap
▪ Network layer: overview
• data plane
• control plane
▪ What’s inside a router
• input ports, switching, output ports
• buffer management, scheduling
▪ IP: the Internet Protocol
• datagram format ▪ Generalized Forwarding, SDN
• addressing • Match+action
• network address translation • OpenFlow: match+action in action
• IPv6 ▪ Middleboxes
Network Layer: 4-79
Generalized forwarding (chuyển tiếp tập chung):
match plus action
Review: mỗi router có một bảng forwarding table (aka: flow table)
▪ “match plus action” : khớp bit trong gói tin đến, có hành động tương ứng
• destination-based
values in arriving
forwarding: chuyển đi dựa vào địa chỉ IP đích
packet header
0111 1
• generalized forwarding: 3
2
forwarding table
(aka: flow table)
Firewall:
Switch MAC MAC Eth VLAN VLAN IP IP IP IP TCP TCP
Port src dst type ID Pri Src Dst Prot ToS s-port d-port Action
* * * * * * * * * * * 22 drop
Chặn (không forward) tất cả datagrams trên cổng TCP port 22 (ssh port #)
Router Firewall
• match: so khớp số bit • match: so khớp địa chỉ IP và
dài nhất trong IP prefix địa chỉ cổng
• action: forward out a • action: permit or deny
link
Switch NAT
• match: so khớp MAC • match: địac chỉ IP và địa chỉ
đích cổng
• action: forward or flood • action: thay đổi địa chỉ IP
và địa chỉ cổng
Network Layer: 4-86
OpenFlow example
Host h6 Các bảng được tổ chức tốt có
10.3.0.6
1 s3 controller
thể tạo hành vi cho một mạng
2
4
rộng lớn e.g.,:
3
Host h5
▪ datagrams từ host h5 và h6
10.3.0.5 nên gửi tới h3 hoặc h4, theo
s2 và từ đó tới s2
1 s1 1 s2
Host h1 2 Host h4
10.1.0.1 4 2 4
10.2.0.4
3 3
Host h3
Host h2
10.2.0.3
10.1.0.2
providers,
institutional, Caches: service
CDN enterprise
provider, mobile, CDNs
network
Middleboxes
▪ Ban đầu: là các giải pháp phần cứng độc quyền
▪ Chuyển sang phần cứng “whitebox” thực thi các open API
▪ Thoát khỏi các giải pháp phần cứng độc quyền
▪ Hành động cục bộ có thể lập trình được bằng cách match+action
▪ Hướng tới sự cải tiến/khác biệt trong phần mềm
▪ SDN: (logically) kiểm soát tập trung và quản lý cấu hình trong
private/public cloud
▪ network functions virtualization (NFV): Các dịch vụ và chức năng
mạng có thể lập trình được
The IP hourglass (đồng hồ cát)
application
application
transport
transport
network hop-by-hop (in-network) implementation of reliable data transfer network
data link
data link
physical network
physical
network network network network network link
link link link link link physical
physical physical physical physical physical
Tranh luận end-end
▪ Một số chức năng của mạng ví dụ truyền tin cậy, xử lý tắc nghẽn có
thể thực thi tại trong mạng hoặc biên mạng
We call this line of reasoning against low-level function implementation the “end-
to-end argument.”
Saltzer, Reed, Clark 1981
Thông minh ở đâu?
…
link-level frame in: one large datagram
• link khác nhau, MTU khác nhau out: 3 smaller datagrams
…
• “reassembled” chỉ tại đích
• Các bit trong IP header dùng định
danh các mảnh theo thứ tự