The Network Layer 4.1 - Giới thiệu và chức năng của tầng mạng.. network data link physical network data link physical network data link physical network data link physical network data l
Trang 1Chương 4.
Giao thức tầng mạng (network layer)
Mạng Máy Tính
Nguyễn Duy Khoa Mạng Máy Tính và Truyền Thông Trường ĐH Công Nghệ Thông Tin
Ch4 The Network Layer
4.1 - Giới thiệu và chức năng của tầng mạng.
4.2 - Network service model (VC and Datagram).
4.3 - Thiết bị tầng mạng - Bộ định tuyến (router).
4.4 - Giao thức IP (Internet Protocol).
4.5 - Giải thuật chọn đường (Routing Algorithms).
4.6 - Chọn đường trong mạng Internet.
Trang 2duyn@uit.edu.vn 9/30/2011
Chức năng của tầng mạng
Truyền các gói tin (packets) từ sending host tới receiving host.
segment packets (datagrams).
Network layer được cài đặt tại router
và cả end system.
Chức năng:
chọn đường (path selection): có nhiều đường đi, gói tin sẽ đi theo đường nào?
chuyển mạch (switching, forwarding):
chuyển gói tin từ cổng vào tới cổng ra của router một cách thích hợp.
thiết lập liên kết (call setup): một số kiến trúc mạng cần thiết lập kênh truyền trước khi truyền.
network data link physical
network data link physical
network data link physical
network data link physical
network data link physical
network data link physical
network data link physical
network data link physical
application transport network data link physical
application transport network data link physical
3 of 71
Routing & switching in routers
1 2 3 0111
value in arriving packet’s header
routing algorithm
local forwarding table header value output link
0100 0101 0111 1001
3 2 2 1
Trang 3duyn@uit.edu.vn 9/30/2011
Ch4 The Network Layer
4.1 - Giới thiệu và chức năng của tầng mạng.
4.2 - Network service model (VC and Datagram).
4.3 - Thiết bị tầng mạng - Bộ định tuyến (router).
4.4 - Giao thức IP (Internet Protocol).
4.5 - Giải thuật chọn đường (Routing Algorithms).
4.6 - Chọn đường trong mạng Internet.
5 of 71
Network service model
Tầng mạng cung cấp dịch vụ cho tầng Transport:
Hai model cơ bản của tầng mạng:
Trang 4duyn@uit.edu.vn 9/30/2011
Data transfer: dữ liệu được truyền qua VC.
VC teardown: một khi sender hoặc receiver muốn ngắt VC, nó thông báo cho network layer biết, network layer sẽ huỷ bỏ VC.
Còn được gọi là connection-oriented
Mỗi gói tin chứa thêm thông tin về kênh mà nó sẽ đi qua (VC identifier number)
Các routers/packet switches trên kênh ảo (VC) luôn nắm giữ trạng thái của kênh đi qua nó
7 of 71
Virtual Circuit: Signaling protocol
Giao thức truyền các thông điệp giữa end system và network layer để yêu cầu thiết lập, huỷ bỏ VC; giữa các thiết bị chuyển mạch (switches) để thiết lập VC
Được sử dụng trong mạng ATM, Frame Relay, X.25
application transport
network
data link physical
application transport
network
data link physical
1 Initiate call 2 incoming call
3 Accept call
4 Call connected
5 Data flow begins 6 Receive data
Trang 5duyn@uit.edu.vn 9/30/2011
Sự khác biệt giữa liên kết tại tầng Transport và Network?
application transport
network
data link physical
application transport
network
data link physical
application transport network data link physical
application transport network data link physical
9 of 71
Datagram network
Không thiết lập kênh truyền
Các thiết bị chuyển mạch không cần nắm giữ trạng thái các kênh
Gói tin được truyền dựa trên địa chỉ của receiving host
Đường đi của các gói tin giữa hai host có thể khác nhau
application transport
network
data link physical
application transport
network
data link physical
1 Send data 2 Receive data
Trang 6duyn@uit.edu.vn 9/30/2011
Network taxonomy (review)
circuit-switched networks (vd telephone)
communication networks switched
networks
broadcast networks (vd Radio, Broadcast TV) packet-switched
networks
datagram networks (vd Internet)
virtual switched networks (vd ATM)
không giới hạn thời gian.
Các hệ thống cuối “thông minh”
Nhiều dạng liên kết mạng dẫn đến một dịch vụ thuần nhất (kênh) là không thích hợp.
ATM
Mạng điện thoại (chuyển mạch kênh).
Tương tác người-người đòi hỏi:
thời gian truyền.
độ tin cậy.
dịch vụ phải được đảm bảo.
Các thiết bị cuối đơn giản, dường như
cố định:
điện thoại.
mức độ phức tạp nằm bên trong mạng.
Trang 7duyn@uit.edu.vn 9/30/2011
Ch4 The Network Layer
4.1 - Giới thiệu và chức năng của tầng mạng.
4.2 - Network service model (VC and Datagram).
4.3 - Thiết bị tầng mạng - Bộ định tuyến (router).
4.4 - Giao thức IP (Internet Protocol).
4.5 - Giải thuật chọn đường (Routing Algorithms).
4.6 - Chọn đường trong mạng Internet.
13 of 71
Bộ định tuyến – router
Thực thi các giải thuật chọn đường (routing algorithms)
Chuyển tiếp (forwarding) các gói tin từ cổng vào tới cổng
ra thích hợp
Trang 8duyn@uit.edu.vn 9/30/2011
Trang 9duyn@uit.edu.vn 9/30/2011
Output ports
Buffering: khi datagram được gửi ra nhanh hơn tốc độ xử
lý, cần đưa vào bộ đệm
Scheduling discipline: cơ chế lựa chọn datagram từ bộ đệm
để tiếp tục gửi đi
17 of 71
Ch4 The Network Layer
4.1 - Giới thiệu và chức năng của tầng mạng.
4.2 - Network service model (VC and Datagram).
4.3 - Thiết bị tầng mạng - Bộ định tuyến (router).
4.4 - Giao thức IP (Internet Protocol).
4.5 - Giải thuật chọn đường (Routing Algorithms).
4.6 - Chọn đường trong mạng Internet.
Trang 10duyn@uit.edu.vn 9/30/2011
The Internet (TCP/IP) network layer
routing table
Network layer được thực thi tại end system cũng như tại router!
Network layer
or UDP segment)
16-bit identifier
Internet checksum
time to live
32 bit source IP address
IP protocol version
number header length (bytes)
max number remaining hops (decremented at each router)
for fragmentation/
reassembly
total datagram length (bytes)
upper layer protocol
offset upper
layer
32 bit destination IP address Options (if any) E.g timestamp,
record route taken, specify list of routers
to visit.
Trang 11duyn@uit.edu.vn 9/30/2011
IP Fragmentation & Reassembly
Fragmentation: gam dữ liệu (datagram) lớn được chia thành nhiều gam dữ liệu nhỏ.
Do mỗi đường truyền giữa các nút (link) có tốc độ giới hạn, chỉ cho phép truyền đơn
vị dữ liệu có kích thước tối đa
là MTU (Max Transfer Unit)
Reassembly: Các gam dữ liệu nhỏ được hợp nhất thành gam dữ liệu lớn (ngược lại) tại điểm đến cuối cùng
offset = 1480/8
Trang 12duyn@uit.edu.vn 9/30/2011
IPv4 Addressing: introduction
IP address: Số 32-bit định danh giao diện mạng (interface).
Interface (NIC - Network Interface Card): giao diện kết nối mạng
223.1.3.2 223.1.3.1
Mạng & mạng con (subnet)
Internet = network of networks.
Địa chỉ IP bao gồm 2 phần:
Các bit cao dành cho network.
Các bit thấp dành cho host.
Network:
Mạng tạo bởi các interface có phần network trong IP addr giống nhau.
Các host cùng network có thể trao đổi dữ liệu không cần thông qua router.
223.1.3.2 223.1.3.1
223.1.3.27
network = 3 IP networks
LAN
Trang 13duyn@uit.edu.vn 9/30/2011
Trang 14duyn@uit.edu.vn 9/30/2011
Subnet mask
Một interface trong mạng cần có:
IP address
Mặt nạ mạng con (subnet mask):
Là một số 32 bit bao gồm các bit cao = 1 và các bit thấp = 0 Các bit 1 quy định subnet, các bit 0 quy định địa chỉ host.
từ subnet mask có thể xác định ranh giới giữa địa chỉ mạng và địa chỉ của interface (host).
Ví dụ: Subnet gồm các host 192.168.10.x, một host có thể
có thông số như sau:
IP = 192.168.10.1
SM = 255.255.255 0 ( 111111111.11111111.11111111 00000000)
Kiểm tra xem hai IP có cùng một subnet không?
(IP1 XOR IP2) AND SM = 0?
27 of 71
Network addr, Broadcast và loopback
Để ám chỉ một mạng, thay địa chỉ host bằng các bit
0, ví dụ: 192.168.10.0
Broadcast:
mọi host trong mạng
Loopback ip: 127.x.x.x
Trang 15duyn@uit.edu.vn 9/30/2011
IP addressing: CIDR
Class-full addressing: sự phân lớp cứng nhắc, không còn thích hợp nữa.
CIDR (Classless InterDomain Routing):
addr
11001000 00010111 0001000 0 00000000
network part
host part
200.23.16.0/23
29 of 71
IP addresses: how to get one?
Làm thế nào để có địa chỉ IP cho host?
Người quản trị hệ thống thiết lập (TCP/IP properties trong Windows 2000/XP).
RARP (Reverse Address Resolution Protocol):
RARP server cung cấp IP cho client dựa trên bảng cấu hình sẵn có (từ địa chỉ vật lý (MAC) IP).
BOOTP (BOOTstrap Protocol):
BOOTP server cung cấp IP cho client dựa trên bảng cấu hình sẵn có.
DHCP (Dynamic Host Configuration Protocol):
Giao thức cấp phát địa chỉ IP động.
DHCP server phụ trách việc cấp phát/thu hồi IP cho/từ các DHCP client
Client có thể nhận IP khác nhau tuỳ thời điểm kết nối.
Trang 16duyn@uit.edu.vn 9/30/2011
Phân cấp địa chỉ Internet - ISP
“Send me anything with addresses beginning 200.23.16.0/20”
200.23.16.0/23 200.23.18.0/23
200.23.30.0/23
Fly-By-Night-ISP Organization 0
Organization 1
ISPs-R-Us “Send me anythingwith addresses
beginning 199.31.0.0/16”
Organization 7 11001000 00010111 00011110 00000000 200.23.30.0/23
ICANN : I nternet
C orporation for
A ssigned N ames and N umbers
local network (e.g., home network) 10.0.0/24
rest of Internet
Datagrams with source or destination in this network have 10.0.0/24 address for source, destination (as usual)
Alldatagrams leavinglocal network have same single source NAT IP address: 138.76.29.7, different source port numbers
Trang 17duyn@uit.edu.vn 9/30/2011
NAT: Network Address Translation (cont)
Một LAN chỉ sử dụng một IP duy nhất khi giao tiếp với mạng ngoài.
Từ đó:
mạng trong (máy trạm) vì chỉ dùng 1 IP
remember (in NAT translation table)every (source IP address, port
#) to (NAT IP address, new port #) translation pair
incoming datagrams: replace(NAT IP address, new port #) in dest fields of every incoming datagram with corresponding (source IP address, port #) stored in NAT table
Trang 18duyn@uit.edu.vn 9/30/2011
1
10.0.0.4 138.76.29.7
1: host 10.0.0.1 sends datagram to 128.119.40, 80
NAT translation table WAN side addr LAN side addr
138.76.29.7, 5001 10.0.0.1, 3345
…… ……
S: 128.119.40.186, 80 D: 10.0.0.1, 3345 4
S: 138.76.29.7, 5001 D: 128.119.40.186, 80
2
2: NAT router changes datagram source addr from 10.0.0.1, 3345 to 138.76.29.7, 5001, updates table
S: 128.119.40.186, 80 D: 138.76.29.7, 5001 3 3: Reply arrives dest address:
138.76.29.7, 5001
4: NAT router changes datagram dest addr from 138.76.29.7, 5001 to 10.0.0.1, 3345
35 of 71
ICMP (Internet Control Message Protocol)
Giao tiếp ở mức mạng giữa các hosts, routers
thông báo lỗi (vd: không tìm được đường đi, không gửi tin được tới host, port…).
echo request/reply.
ICMP có thể coi là một thành phần của IP
về mặt kiến trúc, ICMP thuộc về tầng ứng dụng.
Type Code description
0 0 echo reply (ping)
3 0 dest network unreachable
3 1 dest host unreachable
3 2 dest protocol unreachable
3 3 dest port unreachable
3 6 dest network unknown
3 7 dest host unknown
4 0 source quench (congestion
control - not used)
8 0 echo request (ping)
9 0 route advertisement
10 0 router discovery
11 0 TTL expired
12 0 bad IP header
Trang 19duyn@uit.edu.vn 9/30/2011
IPv6
IPv4: sử dụng 32-bit địa chỉ IP sẽ là không đủ???
IPv6:
hơn, chất lượng hơn (QoS)
Trang 20duyn@uit.edu.vn 9/30/2011
Chuyển đổi tất cả các hosts, routers sang sử dụng IPv6: không thể!!!
Chuyển đổi dần dần:
(payload) của IPv4 khi đi qua các nút mạng IPv4
data
Flow: X Src: A Dest: F
data
Flow: X Src: A Dest: F
data
Src:B Dest: E
Flow: X Src: A Dest: F
data
Src:B Dest: E
A-to-B:
IPv6
E-to-F:
IPv6 B-to-C:
IPv6 inside IPv4
B-to-C:
IPv6 inside IPv4
Trang 21duyn@uit.edu.vn 9/30/2011
Ch4 The Network Layer
4.1 - Giới thiệu và chức năng của tầng mạng.
4.2 - Network service model (VC and Datagram).
4.3 - Thiết bị tầng mạng - Bộ định tuyến (router).
4.4 - Giao thức IP (Internet Protocol).
4.5 - Giải thuật chọn đường (Routing Algorithms).
4.6 - Chọn đường trong mạng Internet.
41 of 71
Forwarding & routing
1 2 3 0111
value in arriving packet’s header
routing algorithm
local forwarding table header value output link
0100 0101 0111 1001
3 2 2 1
Trang 22duyn@uit.edu.vn 9/30/2011
Network: graph abstraction
Network = Graph = G(N,E)
N = tập hợp các routers = { u, v, w, x, y, z }
E = tập các đường nối giữa các routers
= { (u,v), (u,x), (v,x), (v,w), (x,w), (x,y), (w,y), (w,z), (y,z) }
Trọng số = chi phí (cost): độ trễ, độ nghẽn mạng, cước phí…
Đường đi tốt = đường đi có “chi phí” thấp nhất
u
y
x
w v
z
2 2
1
1 2
5 3
5
43 of 71
Routing Algorithm classification
Thông tin tập trung hay phân tán?
Tập trung:
mỗi router phải nắm giữ thông tin toàn
bộ mạng (topology, link cost…)
“link state” algorithms
Phân tán:
router nắm được chi phí truyền tin tới các router được nối trực tiếp với mình (hàng xóm)
quá trình tính toán mang tính chất lặp đi lặp lại, trao đổi thông tin giữa các routers.
“distance vector” algorithms
link cost thay đổi.
Trang 23duyn@uit.edu.vn 9/30/2011
A Link-State Routing Algorithm
Giải thuật Dijkstra:
tất cả các nút mạng có thông tin như nhau về các liên kết của toàn
bộ mạng.
cho phép tìm đường đi từ một nút tới tất cả các nút còn lại.
Ký hiệu:
c(i,j):chi phí phải trả để đi từ i tới j (trực tiếp)
tới đỉnh v.
N:tập hợp đỉnh mà đường đi ngắn nhất đã được xác định.
Trang 24duyn@uit.edu.vn 9/30/2011
Dijkstra’s algorithm: example
Step 0 1 2 3 4 5
N A AD ADE ADEB ADEBC ADEBCF
D(B),p(B) 2,A 2,A 2,A
D(C),p(C) 5,A 4,D 3,E 3,E
D(D),p(D) 1,A
D(E),p(E)
∞ 2,D
D(F),p(F)
∞
∞ 4,E 4,E 4,E
A
E D
C B
F
2 2
1
1 2
5 3
5
47 of 71
Distance Vector Routing Algorithm
Distance Table data structure
chi phí cho đường đi (XZ…Y)
Z là nút kế tiếp cần đi tới c(X,Z) + min {D (Y,w)}Z
w
=
=
Trang 25duyn@uit.edu.vn 9/30/2011
Distance Table: example
A
C B
7 8 1
2
1 2
D () A B C D
A 1 7 6 4
B 14 8 9 11
D 5 5 4 2
E cost to destination via
A 1 7 6 4
B 14 8 9 11
D 5 5 4 2
E cost to destination via
A B C D
A,1 D,5 D,4 D,4
Outgoing link
to use, cost
Trang 26duyn@uit.edu.vn 9/30/2011
DV Algorithm: Initialization
1 Initialization:
2 for all adjacent nodes v:
3 D (*,v) = infinity /* the * operator means "for all rows" */
4 D (v,v) = c(X,v)
5 for all destinations, y
6 send min D (y,w) to each neighbor /* w over all X's neighbors */
X X
X w
At all nodes, X:
51 of 71
DV Algorithm: Loop
8 loop
9 wait (until I see a link cost change to neighbor V
10 or until I receive update from neighbor V)
11
12 if (c(X,V) changes by d)
13 /* change cost to all dest's via neighbor v by d */
14 /* note: d could be positive or negative */
15 for all destinations y: D (y,V) = D (y,V) + d
16
17 else if (update received from V wrt destination Y)
18 /* shortest path from V to some Y has changed */
19 /* V has sent a new value for its min DV(Y,w) */
20 /* call this received new value is "newval" */
21 for the single destination y: D (Y,V) = c(X,V) + newval
22
23 if we have a new min D (Y,w)for any destination Y
24 send new value of min D (Y,w) to all neighbors
w
X X
Trang 27duyn@uit.edu.vn 9/30/2011
Trang 28duyn@uit.edu.vn 9/30/2011
Một vài so sánh (LS và DV)Link-State
Cần nắm được thông tin toàn
bộ mạng
n nút, E links, nE msgs được gửi mỗi lần
O(n 2 ), nE msgs
Mỗi nút chỉ tính toán bảng dẫn đường cho riêng mình.
Thông tin dẫn đường của nút này được sử dụng bởi nút khác.
Một nút gặp sự cố có thể gây ảnh hưởng tới các nút khác.
55 of 71
Hierarchical Routing
Dẫn đường theo từng mức mạng, do:
(routing) trong mạng họ quản lý