The Network Layer 4.1 - Giới thiệu và chức năng của tầng mạng.. The Network Layer 4.1 - Giới thiệu và chức năng của tầng mạng.. Giao thức tầng mạng 8 1-6/2006 Virtual Circuit: Signaling
Trang 1Chương 4.
Giao thức tầng mạng (network layer)
Đặng Xuân Hà Computer Networking 2006 Dept of CS, HAU1.
Chương 4 Giao thức tầng mạng 2
1-6/2006
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.
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 linkphysical
network
data linkphysical
network
data linkphysical
network
data linkphysical
network
data linkphysical
network
data linkphysical
network
data linkphysical
network
data linkphysical
applicationtransport
network
data linkphysical
applicationtransport
network
data linkphysical
Trang 2Chương 4 Giao thức tầng mạng 4
1-6/2006
Routing & switching in routers
1 2 3
0111
value in arriving packet’s header
routing algorithm
local forwarding tableheader value output link
0100011132
Chương 4 Giao thức tầng mạng 5
1-6/2006
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.
Network service model
Tầng mạng cung cấp dịch vụ cho tầng Transport:
tin cậy vào tầng network?
các gói tin có đến đích đúng thứ tự đã gửi?
thời gian truyền có được đảm bảo?
có phản hồi về tình trạng nghẽn mạng?
Hai model cơ bản của tầng mạng:
kênh ảo (virtual circuit)
lược đồ (gam) dữ liệu (datagram)
Trang 3Chương 4 Giao thức tầng mạng 7
1-6/2006
Virtual Circuit
kết sau khi truyền xong.
VC setup: trước khi truyền, tầng mạng phải thiết lập một kênh
truyền ảo (VC) từ sender tới receiver (đã biết địa chỉ).
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
(VC identifier number).
giữ trạng thái của kênh đi qua nó.
Chương 4 Giao thức tầng mạng 8
1-6/2006
Virtual Circuit: Signaling protocol
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.
network
data link physical
1 Initiate call 2 incoming call 3 Accept call
4 Call connected 5 Data flow begins
network
data link physical
Trang 4Chương 4 Giao thức tầng mạng 10
1-6/2006
Datagram network
kênh.
network
data link physical
communication networks switched
(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”
(computer):
có khả năng thích nghi, kiểm
soát, khôi phục lỗi.
kiến trúc bên trong mạng đơn
giản nhưng kết nối các mạng
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 5Chương 4 Giao thức tầng mạng 13
1-6/2006
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.
Chương 4 Giao thức tầng mạng 14
1-6/2006
Bộ định tuyến – router
Physical layer:
bit-level reception
Data link layer:
e.g., Ethernet
Trang 6 Scheduling discipline : cơ chế lựa chọn datagram từ bộ đệm
để tiếp tục gửi đi.
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 7Chương 4 Giao thức tầng mạng 19
1-6/2006
The Internet (TCP/IP) network layer
routing table
Network layer được thực thi tại end system cũng như tại router!
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
to deliver payload to
6 = TCP; 17 = UDP
head.
len type of service
offset upper
layer
32 bit destination IP address Options (if any) E.g timestamp,
record route taken, specify list of routers
to visit.
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)
Trang 8=x fragflag =1 offset =185
length
=1500 ID
Chương 4 Giao thức tầng mạng 23
1-6/2006
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.1.3
223.1.1.4 223.1.2.9
223.1.2.2 223.1.2.1
223.1.3.2 223.1.3.1
223.1.3.27 223.1.1.1 = 11011111 00000001 00000001 00000001
32-bit = 4 số 8-bit Æ dạng thập phân dễ nhớ:
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.
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.1.1 223.1.1.2
223.1.1.3
223.1.1.4 223.1.2.9
223.1.2.2 223.1.2.1
223.1.3.2 223.1.3.1
223.1.3.27
network = 3 IP networks
LAN
Trang 9Mặ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).
có thông số như sau:
IP = 192.168.10.1
SM = 255.255.255 0
( 111111111.11111111.11111111 00000000)
(IP1 XOR IP2) AND SM = 0?
Trang 10Chương 4 Giao thức tầng mạng 28
1-6/2006
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:
Địa chỉ host thay bằng các bit 1, vd: 192.168.10.255
Các gói tin có ip đích dạng broadcast sẽ được gửi cho
mọi host trong mạng.
CIDR (Classless InterDomain Routing):
Vị trí ngăn cách giữa net addr và host addr tuỳ ý.
addr format: a.b.c.d/x, với x là số lượng bit dành cho net
IP addresses: how to get one?
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 11Chương 4 Giao thức tầng mạng 31
1-6/2006
Phân cấp địa chỉ Internet - ISP
“Send me anythingwith 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-ISPOrganization 0
Organization 1
ISPs-R-Us “Send me anythingwith addresses
beginning 199.31.0.0/16”
10.0.0.4 138.76.29.7
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)
All datagrams leaving local
network have same single source
NAT IP address: 138.76.29.7,
different source port numbers
NAT: Network Address Translation (cont)
Giả sử một LAN chỉ sử dụng một IP duy nhất khi
giao tiếp với mạng ngoài.
Lợi điểm:
Không cần tìm dải IP từ ISP để cấp phát cho các thiết bị
mạng trong (máy trạm) vì chỉ dùng 1 IP.
Thay đổi IP của máy trạm nội bộ mà không ảnh hưởng
Trang 12Chương 4 Giao thức tầng mạng 34
1-6/2006
NAT: Implementation
NAT router:
outgoing datagrams: replace (source IP address, port #) of every
outgoing datagram to (NAT IP address, new port #)
remote clients/servers will respond using (NAT IP address, new
port #) as destination addr.
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
Chương 4 Giao thức tầng mạng 35
1-6/2006
NAT example
10.0.0.1 10.0.0.2 10.0.0.3
S: 10.0.0.1, 3345D: 128.119.40.186, 801
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
4: NAT router changes datagram dest addr from 138.76.29.7, 5001 to 10.0.0.1, 3345
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
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 13phần tiêu đề (header) cung cấp khả năng xử lý nhanh
hơn, chất lượng hơn (QoS).
ứng dụng không đòi hỏi chất
lượng Æ không được coi là flow.
trên.
IPv6: chuyển đổi IPv4 Æ IPv6
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:
tồn tại các nút mạng IPv4 và IPv6.
IPv6 có khả năng xử lý gói tin IPv4.
Tunneling: gói tin IPv6 được coi như phần data
(payload) của IPv4 khi đi qua các nút mạng IPv4.
Trang 14Flow: XSrc: ADest: F
data
Flow: XSrc: ADest: F
data
Src:B Dest: E
Flow: XSrc: ADest: F
data
Src:B Dest: E
Chương 4 Giao thức tầng mạng 41
1-6/2006
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.
Forwarding & routing
1 2 3
0111
value in arriving packet’s header
routing algorithm
local forwarding tableheader value output link
0100011132
Trang 15Chương 4 Giao thức tầng mạng 43
1-6/2006
Network: graph abstraction
= { (u,v), (u,x), (v,x), (v,w), (x,w), (x,y), (w,y), (w,z), (y,z) }
phí…
u
y x
w v
z
2 2
1
1 2
5 3 5
Chương 4 Giao thức tầng mạng 44
1-6/2006
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
link cost thay đổi.
A Link-State Routing Algorithm
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)
D(v): giá trị hiện tại của chi phí phải trả để đi từ đỉnh xuất phát
tới đỉnh v.
p(v): đỉnh trước đỉnh v trên đường đi ngắn nhất
N: tập hợp đỉnh mà đường đi ngắn nhất đã được xác định.
Trang 16D(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
Distance Vector Routing Algorithm
Distance Table data structure
chi phí cho đường đi (XÆZÆ…ÆY)
Z là nút kế tiếp cần đi tới c(X,Z) + min {D (Y,w)} Z
w
=
=
Trang 171 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,1 D,5 D,4 D,4
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:
Trang 18Chương 4 Giao thức tầng mạng 52
1-6/2006
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
26 forever
w
X X
X X
X w w
7 Y
D (Y,Z) X = c(X,Z) + min {D (Y,w)} w
7 Y
Trang 19 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.
Chương 4 Giao thức tầng mạng 56
1-6/2006
Hierarchical Routing
Dẫn đường theo từng mức mạng, do:
một nút không thể chứa tất cả các bản ghi cho mọi đích!
việc cập nhật bảng dẫn đường tốn kém!
Internet = network of networks
người quản trị mạng muốn điều khiển việc dẫn đường
(routing) trong mạng họ quản lý.
Hierarchical Routing (cont)
(AS)
gọi là “intra-AS” routing protocol.
routers tại các AS khác nhau có thể sử dụng intra-AS routing
protocol khác nhau.
router đặc biệt trong AS
sử dụng intra-AS routing protocol với các routers khác trong AS
sử dụng inter-AS routing protocol với các gateway
routers khác.
Trang 20•perform intra-AS routers with other routers in their AS
inter-AS, intra-AS
routing in gateway A.c
network layer link layer physical layer
A.a A.c
C.b
B.a c b c
Chương 4 Giao thức tầng mạng 59
1-6/2006
Hierarchical Routing (cont)
Host h2 a
b
b
C A
B
A.a A.c
C.b
B.a c b Host
h1
Intra-AS routing within AS A
Inter-AS routing between
A and B
Intra-AS routing within AS B
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.