5/22/2011

LOGO

C4

TẦNG MẠNG

(cid:61558) Giới thiệu

(cid:61558)Giao thức IP

(cid:61558)Định tuyến

Biên soạn : Lê Minh

LOGO

I

Giới thiệu

application transport network data link physical

(cid:61558)Chuyển các segment từ máy tính gởi tới máy tính nhậ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

(cid:61558)Các giao thức tầng mạng hoạt động trên tính máy cả gởi/nhận và các thiết bị mạng trung gian ( router)

application transport network data link physical

Biên soạn : Lê Minh

1

5/22/2011

LOGO

I

Giới thiệu

application transport network data link physical

network data link physical

network data link physical

network data link physical

(cid:61558)Máy tính gởi: nhận các segment từ tầng giao vận, đóng gói thành datagram

network data link physical

(cid:61558)Máy

network data link physical

network data link physical

network data link physical

network data link physical

nhận: tính chuyển các segment lên tầng giao vận (cid:61558)Router: kiểm tra và các

tiếp

application transport network data link physical

chuyển datagram

Biên soạn : Lê Minh

LOGO

I

Giới thiệu

(cid:61558)Chức năng cơ bản của tầng mạng:

(cid:61607) Định tuyến (routing): xác định đường đi cho các gói tin để có thể đi từ nơi gởi tới nơi nhận • Chạy các thuật toán định tuyến ở các router để

xác định “đường đi”

(cid:61607) Chuyển tiếp (forwarding): chuyển các gói tin từ ngõ vào của router đến ngõ ra tương ứng của nó

Biên soạn : Lê Minh

2

5/22/2011

LOGO

I

Giới thiệu

(cid:61558)Các giao thức của tầng mạng:

Giao thức định tuyến •Lựa chọn đường đi •RIP, OSPF, BGP

Giao thức IP •Định địa chỉ IP •Định dạng gói tin datagram •Nguyên tắc xử lý datagram

Network layer

Transport layer: TCP, UDP

Giao thức ICMP •Thông báo lỗi •Trao đổi thông tin

forwarding table

Link layer

Biên soạn : Lê Minh

physical layer

LOGO

II

Giao thức IP

(cid:61558)Đặc điểm:

(cid:61607) Là giao thức không hướng kết nối (cid:61607) Là giao thức không tin cậy

(cid:61558)Quy định:

(cid:61607) Định dạng gói

tin của tầng mạng (IP

datagram)

(cid:61607) Cách thức đánh địa chỉ IP cho hệ thống (cid:61607) Cơ chế phân mảnh và hợp nhất các datagram

Biên soạn : Lê Minh

3

5/22/2011

LOGO

1

Định dạng IP datagram

32 bits Chiều dài cả datagram (bytes) type of head. length ver len Phiên bản Giao thức IP Chiều dài header (bytes) Kiểu dữ liệu flgs Dùng đề Phân mảnh/ hợp nhất gói tin Thời gian sống service 16-bit identifier upper time to layer live fragment offset Internet checksum

32 bit source IP address

Dữ liệu (độ lớn không cố định, Thường là một TCP hay UDP segment)

Biên soạn : Lê Minh

32 bit destination IP address Kiểu giao thức của tầng trên Tùy chọn Options (if any)

LOGO

1

Định dạng IP datagram

32 bits

type of head. length ver len flgs

service 16-bit identifier upper time to layer live fragment offset Internet checksum

32 bit source IP address

32 bit destination IP address

Dữ liệu (độ lớn không cố định, Thường là một TCP hay UDP segment)

Biên soạn : Lê Minh

Options (if any)

4

5/22/2011

LOGO

2

Phân mảnh và hợp nhất các datagram

(cid:61558)Mỗi đường truyền có MTU khác nhau: độ dài của lớn nhất frame dữ liệu

(cid:61558)Các IP datagram lớn được chia nhỏ bên trong mạng: (cid:61607) Mỗi datagram trở nhiều

thành datagram nhỏ hơn

(cid:61607) Hợp

Biên soạn : Lê Minh

các nhất datagram ở đích cuối cùng

LOGO

2

Phân mảnh và hợp nhất các datagram

(cid:61558)Ví dụ: IP datagram có chiều dài 4000 byte

trên đường truyền có MTU 1500 byte

length =4000 ID =x fragflag =0 offset =0

chia ra thành các

(cid:61607) Datagram này được datagram nhỏ hơn:

length =1500 ID =x fragflag =1 offset =0

length =1500 ID =x fragflag =1 offset =1480

Biên soạn : Lê Minh

length =1040 ID =x fragflag =0 offset =2960

5

5/22/2011

LOGO

3

Địa chỉ IP V.4

223.1.1.1

223.1.2.1

223.1.1.2

223.1.1.4 223.1.2.9

223.1.2.2

223.1.3.27

223.1.1.3

(cid:61558)Địa chỉ IP: 1 con số 32 bit dùng để định danh cho cổng (interface) của các thiết bị trên mạng (cid:61558)Cổng: kết nối các thiết bị với đường truyền vật lý

223.1.3.2

223.1.3.1

Biên soạn : Lê Minh

LOGO

3

Địa chỉ IP v.4

(cid:61558)Thành phần của địa chỉ IP v.4:

(cid:61607) Cách viết: 32 bit được chia thành 4 octet, mỗi octet cách nhau một dấu chấm. Thường được viết dạng thập phân xxx.xxx.xxx.xxx

(cid:61607) Gồm 3 thành phần chính:

• Class bit: bit nhận dạng lớp • Net ID: phần nhận dạng mạng • Host ID: phần nhận dạng máy

Biên soạn : Lê Minh

6

5/22/2011

LOGO

3

Địa chỉ IP v.4

(cid:61558)Phân lớp địa chỉ IPv4: chia thành 5 lớp

Host (24 bits)

0

A,B,C,D và E (cid:61607) Lớp A:

Network (7 bits)

0 1

(cid:61607) Lớp B:

Host (16bits)

Network( 14 bits)

110

(cid:61607) Lớp C:

Host (8bits)

Network( 21 bits)

Multicast address

1110

(cid:61607) Lớp D:

Future use addresses

(cid:61607) Lớp E:

Biên soạn : Lê Minh

1111

LOGO

3

Địa chỉ IP v.4

(cid:61558) Nguyên tắc: không dùng các IP có tất cả các bit của phần host id bằng 1 và bằng 0 để đánh địa chỉ (cid:61558)Lớp A:

(cid:61607) Net id: phạm vi 1 - 126 (cid:61607) Host id: phạm vi 0.0.1 – 255.255.254 (cid:61607) Ví dụ: 110.10.3.5

• Địa chỉ mạng? Địa chỉ máy?

(cid:61607) Số lượng mạng lớp A? Số lượng máy trên mỗi

Biên soạn : Lê Minh

mạng?

7

5/22/2011

LOGO

3

Địa chỉ IP v.4

(cid:61558)Lớp B:

(cid:61607) Net id: phạm vi 128.0 – 191.255 (cid:61607) Host id: phạm vi 0.1 – 255.254 (cid:61607) Ví dụ: 151.2.255.4

• Địa chỉ mạng? Địa chỉ máy? • 1 IP khác cùng địa chỉ mạng với IP trên?

(cid:61607) Số lượng mạng lớp B? Số lượng máy trên mỗi

mạng?

Biên soạn : Lê Minh

LOGO

3

Địa chỉ IP v.4

(cid:61558)Lớp C:

(cid:61607) Net id: phạm vi 192.0.0 – 223.255.255 (cid:61607) Host id: phạm vi 1 – 254 (cid:61607) Ví dụ: 203.0.1.254

• Địa chỉ mạng? Địa chỉ máy? • 1 IP khác cùng địa chỉ mạng với IP trên?

(cid:61607) Số lượng mạng lớp C? Số lượng máy trên mỗi

mạng?

Biên soạn : Lê Minh

8

5/22/2011

LOGO

3

Địa chỉ IP v.4

(cid:61558)Các thiết bị (máy tính, router…) xác định địa

chỉ mạng và địa chỉ máy như thế nào? (cid:61607) Mặt nạ mạng (net mask): (cid:61607) Vd:

• IP: 154.210.2.65 • net mask: 255.255.0.0

(cid:61558)Quy định viết địa chỉ: IP/số bit 1 của mask

(cid:61607) Vd: 154.210.2.65/16

Biên soạn : Lê Minh

LOGO

3

Địa chỉ IP V.4

(cid:61558)Mạng con (subnet):

(cid:61607) Lấy thêm một số bit của phần host id làm net

id (subnet id)

(cid:61607) Xác định bằng mặt nạ mạng con (subnet mask)

• Vd: 223.2.5.129/ 26 • Địa chỉ mạng? Địa chỉ máy (host)? Mặt nạ

Biên soạn : Lê Minh

mạng con (subnet mask)?

9

5/22/2011

LOGO

3

Địa chỉ IP V.4

(cid:61558)Mạng con (subnet):

(cid:61607) Số lượng mạng con tạo ra được từ 1 địa chỉ

mạng gốc: (2n) mạng • n : số bit lấy từ phần host id ban đầu • Vd:

– địa chỉ mạng lớp C gốc 223.2.5.0/24, lấy 2 bit của

phần host id để chia subnet.

– Số lượng mạng con có thể thành lập từ địa chỉ mạng

này là 22 = 4 mạng

Biên soạn : Lê Minh

LOGO

3

Địa chỉ IP v.4

(cid:61558)Một số địa chỉ IP đặc biệt:

(cid:61607) Địa chỉ loopback: 127.0.0.1 (cid:61607) Địa chỉ mạng : địa chỉ có tất cả các bit của

phần host id bằng 0

(cid:61607) Địa chỉ quảng bá (broadcast) địa chỉ có tất cả

các bit của phần host id bằng 1

(cid:61607) 255.255.255.255 : địa chỉ quảng bá cục bộ (local

broadcast)

Biên soạn : Lê Minh

10

5/22/2011

LOGO

3

Địa chỉ IP v.4

(cid:61558)IP riêng (private) và IP chung (puplic):

(cid:61607) IP riêng: dành riêng cho các mạng nội bộ

• Mạng riêng lớp A: 10.0.0.0 /8 • Mạng riêng lớp B: 172.16.0.0 /12 • Mạng riêng lớp C: 192.168.0.0 /16

(cid:61607) IP chung: được quản lý bởi tổ chức InterNic

Biên soạn : Lê Minh

LOGO

III

Định tuyến

(cid:61558)Mục tiêu: xác định đường đi “tốt nhất” trên

mạng từ nút gởi đến nút nhận

v

w

u

z

y

5 3 5 2 1 3 1 2 2 x 1

(cid:61558)Việc định tuyến được thực hiện bởi các router (cid:61607) Chạy các thuật toán định tuyến để xác định

đường đi

(cid:61607) Mỗi router sẽ có 1 bảng định tuyến (routing

table)

Biên soạn : Lê Minh

11

5/22/2011

LOGO

III

Định tuyến

(cid:61558)Dùng đồ thị để xây dựng các thuật toán định

tuyến

v

w

u

z

y

5 3 5 2 1 3 1 2 2 x 1

(cid:61607) Nút : các router (cid:61607) Đường liên kết (link): kết nối trực tiếp các nút

với nhau

Biên soạn : Lê Minh

LOGO

III

Định tuyến

v

w

u

z

y

5 3 5 2 1 3 1 2 2 x 1

(cid:61607) Chi phí đường liên kết (cost of link, ký hiệu c(a, b) ): phụ thuộc vào băng thông, mức độ tắt nghẽn, thời gian trễ … • Ví dụ: c(u,w) = 5

(cid:61607) Chi phí đường đi (cost of path) : tổng chi phí

của các đường liên kết từ nguồn tới đích (cid:61558)Định tuyến : xác định đường đi có tổng chi phí

Biên soạn : Lê Minh

đường đi nhỏ nhất từ nguồn tới đích

12

5/22/2011

LOGO

1

Phân loại thuật toán định tuyến

(cid:61558)Theo quy mô: định tuyến toàn cục (global routing) hay phân tán (decentralized routing) (cid:61607) Toàn cục:

• Các router phải có đầy đủ thông tin về topology

của mạng cũng như link cost

• Thuật toán Link State

(cid:61607) Phân tán:

• Router chỉ biết các thông tin về router láng

giềng (kết nối trực tiếp) tới nó

• Thuật toán Distance vector

Biên soạn : Lê Minh

LOGO

1

Phân loại thuật toán định tuyến

(cid:61558)Theo tính chất: định tuyến tĩnh (static routing) hay định tuyến động (dynamic routing) (cid:61607) Tĩnh:

• Thông số định tuyến thường ít thay đổi theo

thời gian

(cid:61607) Động:

• Thông số định tuyến thay đổi nhanh chóng theo chu kỳ hoặc theo sự thay đổi cấu trúc đường truyền

Biên soạn : Lê Minh

13

5/22/2011

LOGO

2

Định tuyến tĩnh

(cid:61558)Bảng định tuyến (routing table) của mỗi router trên hệ thống được thiết lập bởi người quản trị

(cid:61558)Không tự động cập nhật bảng định tuyến khi

có sự thay đổi về cấu trúc mạng

(cid:61558)Thiết lập bảng định tuyến cho router: dùng

câu lệnh (cid:61607) ip route địa chỉ mạng đích netmask exit interface (cid:61607) ip route địa chỉ mạng đích netmask next-hoop interface address

Biên soạn : Lê Minh

LOGO

2

Định tuyến tĩnh

(cid:61558)Ví dụ: cho hệ thống mạng

(cid:61607) Định tuyến tĩnh cho các router?? (cid:61607) Kết quả: mophong\static_routing.pkt

Biên soạn : Lê Minh

14

5/22/2011

LOGO

3

Thuật toán định tuyến Link state

(cid:61558)Thuật toán Dijkstra

(cid:61607) Tất cả các nút mạng đều biết được topo mạng

và chi chí các đường liên kết của cả mạng

(cid:61607) Tính toán chi phí đường đi thấp nhất từ một

nút (nguồn) đến tất cả các nút còn lại

(cid:61607) Sau một vài bước tính toán sẽ xác định được

chi phí đường đi thấp nhất tới nút đích

(cid:61607) Ký hiệu:

• c(x,y) : chi phí đường liên kết từ nút x tới nút y, = ∞ nếu

nút y không kết nối trực tiếp tới x

• D(v): chi phí đường đi hiện tại từ nguồn tới v • p(v): nút kế cận trước v trên đường đi tới v • N: tập hợp các nút đã xác định được đường đi

Biên soạn : Lê Minh

LOGO

3

Thuật toán định tuyến Link state

(cid:61558)Hoạt động: khởi tạo: N' = {u} for( tất cả các nút v)

if (v kết nối trực tiếp với u ) then ( D(v) = c(u,v) )

else D(v) = ∞

Lặp :

Tìm nút w không ở trong N' có D(w) nhỏ nhất thêm w vào N' Cập nhật D(v) cho tất cả các nút v

kết nối trực tiếp tới w và không ở trong N' :

D(v) = min( D(v), D(w) + c(w,v) )

dừng lại khi tất cả các nút đều có trong N'

Biên soạn : Lê Minh

15

5/22/2011

LOGO

3

Thuật toán định tuyến Link state

(cid:61558)Ví dụ:

5

v

w

u

z

y

x

D(x),p(x) 1,u

D(y),p(y) ∞ 2,x

D(v),p(v) 2,u 2,u 2,u

D(w),p(w) 5,u 4,x 3,y 3,y

D(z),p(z) ∞ ∞ 4,y 4,y 4,y

Bước 0 1 2 3 4 5

N' u ux uxy uxyv uxyvw uxyvwz

Biên soạn : Lê Minh

3 5 2 2 1 3 1 2 1

LOGO

4

Thuật toán định tuyến Distance Vector

(cid:61558)Ý tưởng:

5

v

w

u

z

y

x

3 5 2 2 1 3 1 2

(cid:61607) Gọi dv(z): chi phí đường đi thấp nhất từ v tới z (cid:61607) c(u,v) : chi phí đường liên kết từ u tới nút v kế cận với nó

(cid:61607) Khi đó: (cid:61607) du(z) = min{c(u,v)+ dv(z)

1

,c(u,x) + dx(z), c(v,w) + dw(z)} = min{ 2 + 5, 1 + 3, 5 + 3 } = 4

Biên soạn : Lê Minh

16

5/22/2011

LOGO

4

Thuật toán định tuyến Distance Vector

(cid:61558)Thuật toán D-V:

(cid:61607) Mỗi nút:

5

v

w

u

z

y

x

3 5 2 2 1 3 1 2

• Biết chi phí đường link (c ) từ nó tới các nút kế cận • Biết chi phí đường đi (d ) nhỏ nhất từ các nút kế cận tới nút đích

1 (cid:61607) Việc gởi ( quảng bá) thông số được tiến hành theo chu kỳ

• Tính toán đươc chi phí đường đi nhỏ nhất từ nó tới đích

(cid:61607) Mỗi nút sẽ gởi thông số chi phí đường đi nhỏ nhất từ nó tới đích cho các nút kế cận

Biên soạn : Lê Minh

LOGO

4

Thuật toán định tuyến Distance Vector

(cid:61558)Ví dụ:

y

x

z

2 1

Biên soạn : Lê Minh

7

17

5/22/2011

LOGO

5

Định tuyến phân cấp

(cid:61558)Chia các router thành các vùng nhỏ, gọi là các

miền tự quản (AS: Autonomous System)

3c

3a

2c

3b

2a

AS3

2b

1c

1a

1b

AS1

AS2

1d (cid:61558)Các router trong cùng một miền AS chạy cùng một thuật toán định tuyến nội miền ( intra-AS routing protocol)

(cid:61558)Các router trong các miền AS khác nhau có thể chạy các thuật toán định tuyến khác nhau

Biên soạn : Lê Minh

LOGO

5

Định tuyến phân cấp

(cid:61558)Gateway Router : nối các miền AS lại với

Gateway Router

nhau

3c

3a

2c

3b

2a

AS3

2b

1c

1a

1b

AS1

1d

Intra-AS Routing algorithm

Inter-AS Routing algorithm

Routing table

AS2

(cid:61607) Chạy các thuật toán: • Định tuyến nội miền (Intra-AS routing) • Định tuyến liên miền (Inter-AS routing)

Biên soạn : Lê Minh

18

5/22/2011

LOGO

6

Giao thức định tuyến động

(cid:61558)Các giao thức định tuyến nội miền : RIP,

OSPF, EIGRP

(cid:61558)Giao thức định tuyến liên miền : BGP (cid:61558)RIP (Routing Information Protocol) (cid:61607) Dùng thuật toán Distance Vector (cid:61607) Chi phí đường đi : số lượng router sẽ phải qua

để tới đích (hoop-count)

(cid:61607) Trao đổi bảng định tuyến theo chu kỳ 30s

(cid:61558)OSPF (Open Shortest Path First)

(cid:61607) Dùng thuật toán định tuyến Link State

Biên soạn : Lê Minh

19