Xem mẫu
- Chương 4.
Giao thức tầng mạng (network layer)
Trần Quang Hải Bằng
Faculty of Information Technology
University of Communication and Transport (Branch 2)
Office location: Administration building, Block D3, Room 6
Office phone: 38962018
Cell phone: N/A
Email: tqhbang@utc2.edu.vn
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.
23/08 - 10/10/2010 Chương 4. Giao th c t ng m ng 2
- Chức năng của tầng mạng
Truyền các gói tin (packets) từ sending
application
host tới receiving host. transport
network
segment packets (datagrams). data link
physical
network
network data link network
physical
Network layer được cài đặt tại router data link
physical
data link
physical
và cả end system. network
data link
physical network
Chức năng: data link
physical
chọn đường (path selection): có nhiều network
network data link
đường đi, gói tin sẽ đi theo đường nào? data link physical
physical
chuyển mạch (switching, forwarding): network
data link application
chuyển gói tin từ cổng vào tới cổng ra của physical transport
network
router một cách thích hợp. data link
physical
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.
23/08 - 10/10/2010 Chương 4. Giao th c t ng m ng 3
Routing & switching in routers
routing algorithm
local forwarding table
header value output link
0100 3
0101 2
0111 2
1001 1
value in arriving
packet’s header
0111 1
3 2
23/08 - 10/10/2010 Chương 4. Giao th c t ng m ng 4
- 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.
23/08 - 10/10/2010 Chương 4. Giao th c t ng m ng 5
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)
23/08 - 10/10/2010 Chương 4. Giao th c t ng m ng 6
- Virtual Circuit
Thiết lập liên kết trước khi truyền dữ liệu và huỷ bỏ liên
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
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ó.
23/08 - 10/10/2010 Chương 4. Giao th c t ng m ng 7
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
6. Receive data application
transport 5. Data flow begins
network 4. Call connected 3. Accept call transport
data link 1. Initiate call 2. incoming call network
data link
physical
physical
23/08 - 10/10/2010 Chương 4. Giao th c t ng m ng 8
- application application
transport transport
network network
data link
host A
physical
server B
data link
physical
S khác bi t gi a liên k t t i t ng Transport và Network?
application
application
transport
transport
network
network
data link
data link
physical
physical
23/08 - 10/10/2010 Chương 4. Giao th c t ng m ng 9
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
application
transport
transport
network
data link 1. Send data 2. Receive data network
data link
physical
physical
23/08 - 10/10/2010 Chương 4. Giao th c t ng m ng 10
- Network taxonomy (review)
communication
networks
switched broadcast
networks networks
(vd. Radio,
Broadcast TV)
circuit-switched packet-switched
networks networks
(vd. telephone)
datagram virtual circuit-
networks switched
FDM TDM networks
(vd. Internet)
(vd. ATM)
23/08 - 10/10/2010 Chương 4. Giao th c t ng m ng 11
Datagram or VC network: why?
Internet ATM
Mạng máy tính: Mạng điện thoại (chuyển mạch kênh).
dịch vụ nhạy cảm. Tương tác người-người đòi hỏi:
không giới hạn thời gian. thời gian truyền.
Các hệ thống cuối “thông minh” độ tin cậy.
(computer): dịch vụ phải được đảm bảo.
có khả năng thích nghi, kiểm Các thiết bị cuối đơn giản, dường như
soát, khôi phục lỗi. cố định:
kiến trúc bên trong mạng đơn điện thoại.
giản nhưng kết nối các mạng mức độ phức tạp nằm bên trong
phức tạp. mạng.
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.
23/08 - 10/10/2010 Chương 4. Giao th c t ng m ng 12
- 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.
23/08 - 10/10/2010 Chương 4. Giao th c t ng m ng 13
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.
23/08 - 10/10/2010 Chương 4. Giao th c t ng m ng 14
- Input ports
Physical layer:
bit-level reception
Data link layer: Decentralized switching:
e.g., Ethernet sử dụng forwarding table có trong input
port memory để tra cứu output port
queuing: nếu các gam dữ liệu
(datagram) đến nhanh quá, cần phải xếp
hàng chờ xử lý.
23/08 - 10/10/2010 Chương 4. Giao th c t ng m ng 15
Các cơ cấu chuyển mạch (switching fabrics)
23/08 - 10/10/2010 Chương 4. Giao th c t ng m ng 16
- 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.
23/08 - 10/10/2010 Chương 4. Giao th c t ng m ng 17
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.
23/08 - 10/10/2010 Chương 4. Giao th c t ng m ng 18
- The Internet (TCP/IP) network layer
Network layer được thực thi tại end system cũng như tại router!
Transport layer: TCP, UDP
Routing protocols IP protocol
•path selection •addressing conventions
•RIP, OSPF, BGP •datagram format
Network •packet handling conventions
layer routing
table ICMP protocol
•error reporting
•router “signaling”
Link layer
physical layer
23/08 - 10/10/2010 Chương 4. Giao th c t ng m ng 19
IP datagram format
IP protocol version 32 bits
number total datagram
header length type of length (bytes)
ver head. length
(bytes) len service for
“type” of data fragment
16-bit identifier flgs fragmentation/
offset reassembly
max number time to upper Internet
remaining hops live layer checksum
(decremented at
32 bit source IP address
each router)
32 bit destination IP address
upper layer protocol
to deliver payload to Options (if any) E.g. timestamp,
6 = TCP; 17 = UDP record route
data taken, specify
(variable length, list of routers
typically a TCP to visit.
or UDP segment)
23/08 - 10/10/2010 Chương 4. Giao th c t ng m ng 20
- IP datagram - example
Sender’s MAC address
Receiver’s MAC address
Type of upper layer’s protocol
( 0x0800 = IP )
23/08 - 10/10/2010 Chương 4. Giao th c t ng m ng 21
Id IP version: 4 TOS IP’s Header
Total length:
Header length: 20 bytes
72 bytes
Flags & Fragment’s offset
TTL Transport’s protocol: UDP Checksum Source’s IP: 192.168.1.10
23/08 - 10/10/2010 Chương 4. Giao th c t ng m ng 22
- IP’s Header
Dest’s IP: 203.162.4.190
23/08 - 10/10/2010 Chương 4. Giao th c t ng m ng 23
Phân tích gói tin tầng Internet - Transport
Địa chỉ MAC của sender & receiver ?
Địa chỉ IP của sender và receiver ?
Độ dài tổng của IP datagram ?
What are your
TTL của IP datagram?
Source’s IP, destination’s IP ?
answers ?
Giao thức sử dụng ở tầng Application ?
23/08 - 10/10/2010 Chương 4. Giao th c t ng m ng 24
- IP Fragmentation & Reassembly
Fragmentation: gam dữ liệu
(datagram) lớn được chia
thành nhiều gam dữ liệu
nhỏ. fragmentation:
in: one large datagram
Do mỗi đường truyền giữa out: 3 smaller datagrams
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
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
23/08 - 10/10/2010 Chương 4. Giao th c t ng m ng 25
Example length ID fragflag offset
=4000 =x =0 =0
4000 byte datagram
gam dữ liệu lớn được chia thành
MTU = 1500 bytes
nhiều gam dữ liệu nhỏ hơn
length ID fragflag offset
=1500 =x =1 =0
1480 bytes in
data field length ID fragflag offset
=1500 =x =1 =185
offset =
1480/8 length ID fragflag offset
=1040 =x =0 =370
23/08 - 10/10/2010 Chương 4. Giao th c t ng m ng 26
- 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
từ nút mạng tới mạng.
host interface: mỗi máy tính thường có một NIC, cho phép nối vào một đường
liên kết.
router interface: router thường có nhiều giao diện mạng.
223.1.1.1
223.1.2.1
223.1.1.2
223.1.1.4 223.1.2.9
223.1.2.2
32-bit = 4 s 8-bit d ng th p phân d nh : 223.1.1.3 223.1.3.27
223.1.1.1 = 11011111 00000001 00000001 00000001 223.1.3.2
223.1.3.1
223 1 1 1
23/08 - 10/10/2010 Chương 4. Giao th c t ng m ng 27
Mạng & mạng con (subnet)
Internet = network of networks. 223.1.1.1
Địa chỉ IP bao gồm 2 phần: 223.1.2.1
Các bit cao dành cho network. 223.1.1.2
Các bit thấp dành cho host. 223.1.1.4 223.1.2.9
223.1.2.2
223.1.1.3 223.1.3.27
Network: LAN
Mạng tạo bởi các interface có 223.1.3.1 223.1.3.2
phần network trong IP addr
giống nhau.
Các host cùng network có thể network = 3 IP networks
trao đổi dữ liệu không cần
thông qua router.
23/08 - 10/10/2010 Chương 4. Giao th c t ng m ng 28
- IP addressing: Class-full
23/08 - 10/10/2010 Chương 4. Giao th c t ng m ng 29
Subnet
Đôi khi cần chia nhỏ một mạng thành các mạng
nhỏ hơn (subnet)
Ví dụ:
23/08 - 10/10/2010 Chương 4. Giao th c t ng m ng 30
- 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?
23/08 - 10/10/2010 Chương 4. Giao th c t ng m ng 31
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.
Loopback ip: 127.x.x.x
các gói tin được coi như được gửi tới từ nút khác.
thường dùng 127.0.0.1
23/08 - 10/10/2010 Chương 4. Giao th c t ng m ng 32
- 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):
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
addr.
network host
part part
11001000 00010111 00010000 00000000
200.23.16.0/23
23/08 - 10/10/2010 Chương 4. Giao th c t ng m ng 33
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.
23/08 - 10/10/2010 Chương 4. Giao th c t ng m ng 34
- Phân cấp địa chỉ Internet - ISP
ISP's block 11001000 00010111 00010000 00000000 200.23.16.0/20
ICANN: Internet
Corporation for Organization 0 11001000 00010111 00010000 00000000 200.23.16.0/23
Organization 1 11001000 00010111 00010010 00000000 200.23.18.0/23
Assigned Names Organization 2 11001000 00010111 00010100 00000000 200.23.20.0/23
and Numbers ... .. . .
Organization 7 11001000 00010111 00011110 00000000 200.23.30.0/23
Organization 0
200.23.16.0/23
Organization 1
“Send me anything
200.23.18.0/23 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
beginning
199.31.0.0/16”
23/08 - 10/10/2010 Chương 4. Giao th c t ng m ng 35
NAT: Network Address Translation
rest of local network
Internet (e.g., home network)
10.0.0/24 10.0.0.1
10.0.0.4
10.0.0.2
138.76.29.7
10.0.0.3
All datagrams leaving local Datagrams with source or
network have same single source destination in this network
NAT IP address: 138.76.29.7, have 10.0.0/24 address for
different source port numbers source, destination (as usual)
23/08 - 10/10/2010 Chương 4. Giao th c t ng m ng 36
- 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ừ đó:
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
tới mạng ngoài.
Thay đổi ISP mà không cần thay đổi địa chỉ các thiết bị
mạng trong.
Các thiết bị mạng trong không “nhìn thấy” được từ
mạng ngoài.
23/08 - 10/10/2010 Chương 4. Giao th c t ng m ng 37
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
23/08 - 10/10/2010 Chương 4. Giao th c t ng m ng 38
- NAT example
NAT translation table
2: NAT router 1: host 10.0.0.1
WAN side addr LAN side addr
changes datagram sends datagram to
138.76.29.7, 5001 10.0.0.1, 3345 128.119.40, 80
source addr from
…… ……
10.0.0.1, 3345 to
138.76.29.7, 5001, S: 10.0.0.1, 3345
updates table 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
D: 138.76.29.7, 5001 3 10.0.0.3
4: NAT router
3: Reply arrives changes datagram
dest. address: dest addr from
138.76.29.7, 5001 138.76.29.7, 5001 to 10.0.0.1, 3345
23/08 - 10/10/2010 Chương 4. Giao th c t ng m ng 39
ICMP (Internet Control Message Protocol)
Giao tiếp ở mức mạng giữa các Type Code description
hosts, routers 0 0 echo reply (ping)
thông báo lỗi (vd: không tìm được 3 0 dest. network unreachable
đường đi, không gửi tin được tới 3 1 dest host unreachable
host, port…).
3 2 dest protocol unreachable
echo request/reply. 3 3 dest port unreachable
ICMP có thể coi là một thành 3 6 dest network unknown
phần của IP 3 7 dest host unknown
về mặt kiến trúc, ICMP thuộc về 4 0 source quench (congestion
tầng ứng dụng. control - not used)
sử dụng UDP. 8 0 echo request (ping)
ICMP msg 9 0 route advertisement
10 0 router discovery
được đóng gói trong IP
datagrams/packet. 11 0 TTL expired
12 0 bad IP header
type + code + 8 bytes of IP
datagram.
23/08 - 10/10/2010 Chương 4. Giao th c t ng m ng 40
nguon tai.lieu . vn