36
TNG ĐI HC NG NGH THÔNG TIN ĐHQG-HCM
BAN HC TP NG NGH PHN MM
Chương 4: Tng Network
4.1 Gii thiu
4.1.1 Giao thc dch v tng Network
Đm bo vic truyn tng logic gia các host
o n gi: Đóng gói các segment vào trong các Datagram
o n nhn: M gói Datagram thành các segment gi lên tng
Transport
Hot đng mi host, router
Routers
o Xem xét các trưng ca header trong tt c các gói IP datagram đi
qua
o Chuyn packet t cng vào đến cng ra php
4.1.2 Chc năng chính ca tng Network
Forwarding: Chuyn các gói tin t đu vào đến đu ra thích hp ca Router
Routing: Xác đnh đưng đi cho các gói t ngun đến đích
Tác đng qua li gia Routing Forwarding
37
TNG ĐI HC NG NGH THÔNG TIN ĐHQG-HCM
BAN HC TP NG NGH PHN MM
4.1.3 Thiết lp kết ni
S dng trong mt s kiến trúc mng: ATM, frame relay, X.25
Dch v kết ni tng Transport so vi tng Network
o Network: Gia 2 hosts (cũng th bao gm các router trung gian
trong trưng hp kết ni o)
o Transport: Gia 2 tiến trình
4.1.4 Mô hình dch v mng
Kiến trúc
mng
nh
dch v
Đm bo băng
thông
Đm bo
không mt
d liu
Th t
Báo hiu nghn
Internet
Best
effort
Không
Không
Bt k th t
nào
Không
ATM
CBR
Tc đ luôn
đưc gi vng
Theo th t
Không xy ra
nghn
ATM
ABR
Đm bo tc đ
thp nht
Không
Theo th t
Báo hiu khi xy ra
nghn
4.2 Mng mch o (virtual circuit) và mng chuyn gói (datagram)
4.2.1 Dch v connection (ng kết ni) và connection-less (phi kết ni)
Datagram network cung cp dch v connection-less ti tng network
Virtual-circuit network cung cp dch v connection ti tng network
4.2.2 Các mng mch o (virtual-circuits network)
Thiết lp kết ni o. Mt kết ni o bao gm:
Đưng đi (path) t ngun ti đích
S hiu kết ni o (VC numbers), mt s cho mt kết ni dc theo đưng
đi
Các mc trong các bng forwarding trong các router dc theo đưng đi
Các giao thc gi tín hiu:
Đưc dùng đ thiết lp, duy trì kết ni o
Đưc dùng trong ATM, frame-relay, X.25
Kng đưc s dng trong Internet ngày nay
38
TỜNG ĐẠI HC CÔNG NGH THÔNG TIN ĐHQG-HCM
BAN HC TP CÔNG NGH PHN MM
4.2.3 Mng chuyn gói (datagram network)
Không thiết lp cuc gi ti tng Network
Mi mt ln bên gi mun gi mt gói tin đi, bên gi s thêm vào gói tin
đa ch ngun gi và đa ch đích sau đó s đy gói tin đi trên mng (không
duy trì trng thái mng o nào)
Mi gói tin đu có đa ch ngun và đích, b đnh tuyến nh đó chuyn
gói tin đi
4.3 IP: Internet Protocol
4.3.1 Tng Internet network
Các chc năng tng
network ca host router:
39
TNG ĐI HC NG NGH THÔNG TIN ĐHQG-HCM
BAN HC TP NG NGH PHN MM
V trí ca IP:
4.3.2 Đnh dng IP Datagram
4.3.3 Phân mnh và tng hp IP
Các đon kết ni mng MTU (Max Transfer Size)-frame ln nht th
truyn trên kết ni
o Các kiu kết ni khác nhau các MTU khác nhau
Các gói IP datagram ln đưc chia (fragmented”) bên trong mng
o 1 datagram thành mt vài datagram
40
TNG ĐI HC NG NGH THÔNG TIN ĐHQG-HCM
BAN HC TP NG NGH PHN MM
o “Tng hpch đưc thc hin đích
cui cùng
o Các bit ca IP header đưc s dng
đ xác đnh, xếp th t các fragment
liên quan
4.3.4 IPv4 addressing
Đa ch IP: 32-bit nhn dng cho host, router
interface
Interface: Kết ni gia host/router đưng
kết ni vt
o Router tng nhiu interface
o Host tng 1 hoc 2 interface
Mi đa ch IP đưc liên kết vi mi interface
4.3.5 Các subnet (mng con)
Đa ch IP
o Phn subnet: Các bit trng s cao
o Phn host: Các bit trng s thp
Subnet gì ?
o Các interface ca thiết b phn
subnet ca đa ch IP ging nhau
o th giao tiếp vt vi nhau mà
không cn router trung gian can thip
Pơng pháp
o Đ xác đnh các subnet, tách mi
interface t host hoc router ca ,
to vùng các mng đc lp
o Mi mng đc lp đưc gi mt
subnet
41
TNG ĐI HC NG NGH THÔNG TIN ĐHQG-HCM
BAN HC TP NG NGH PHN MM
4.3.6 Phân lp đa ch IPv4
4.3.7 Đnh đa ch IP: CIDR(Classless InterDomain Routing)
Phn subnet: Đ dài bt k
Đnh dng đa ch: a.b.c.d/x, trong đó x
s các bits trong phn subnet ca đa ch
4.3.8 Phân loi đa ch IP
Phân loi theo phm vi hot đng
Private IP: S dng trong mng LAN, th s dng lp li c mng
LAN khác nhau
o Lp A: t 10.0.0.0 -> 10.255.255.255
o Lp B: t 172.16.0.0 -> 172.31.255.255
o Lp C: t 192.168.0.0 -> 192.168.255.255
Public IP: S dng trong mng WAN, dùng đ đnh tuyến trên Internet,
duy nht cho mi host tham gia vào Internet
Loopback IP
o Di đa ch: 127.0.0.1 -> 127.255.255.254
Phân loi trong qtrình truyn tng
Đa ch mng (network): Tt c bit HostID = 0
Đa ch qung bá (broadcast): Tt c bit HostID = 1
Đa ch dùng cho host: Trưng hp còn li
42
TNG ĐI HC NG NGH THÔNG TIN ĐHQG-HCM
BAN HC TP NG NGH PHN MM
4.3.9 Chia mng con
Thc hin 3 bưc:
c 1: Xác đnh class subnet mask mc nhiên ca đa ch
c 2: Xác đnh s bit cn n và subnet mask mi, tính s ng mng
con, s host thc s đưc
c 3: Xác đnh các vùng đa ch host chn mng con mun dùng
Subnet mask: Tt c bit HostID = 0, c phn còn li = 1
d: Cho đa ch IP sau: 172.16.0.0/16. Hãy chia thành 8 mng con và 1000
host trên mi mng con
Gii:
c 1: Xác đnh class subnet mask mc nhiên



Octect th 1: 172 => Lp B
Subnet mask mc nhiên: 16 bit => 225.225.0.0
c 2: Xác đnh s bit cn n
S bit cn n:
N = 3 vì:
o S mng con có th
o S host ca mi mng con th:

> 1000
Subnet mask mi: 11111111.11111111.11100000.00000000 (hay 255.255.224.0)
c 3: Xác đnh ng đa
ch host
43
TNG ĐI HC NG NGH THÔNG TIN ĐHQG-HCM
BAN HC TP NG NGH PHN MM
4.3.10 DHCP (Dynamic Host Configuration Protocol)
Đ 1 host ly đưc đa ch IP:
Ngưi qun tr h thng u đa ch trong cu hình h thng
DHCP: t đng ly đa ch IP t server
o Plug and Play
Mc tu:
Cho pp host (máy) t đng ly đa ch IP ca t server trong mng
khi host đó tham gia vào mng
th gia hn đa ch IP host đó va đưc cp
Cho pp tái s dng các đa ch IP (ch gi đa ch trong khi đưc kết ni)
H tr cho ngưi dùng di đng mun tham gia vào mng(trong thi gian
ngn)
Tng quan v DHCP:
Host qung bá (broadcasts) tng đip
“DHCP discover [tùy chn]
DHCP server đáp ng bng tng đip
“DHCP offer[tùy chn]
Host yêu cu đa ch IP: “DHCP request
msg
DHCP server gi đa ch: “DHCP ackmsg
DHCP cung cp nhiu tng tin: DHCP không
ch tr v đa ch IP, th tr v nhiu tng tin
như sau:
Đa ch ca router ca ngõ kết ni ra ngoài mng ca client (default
gateway)
Tên và đa ch IP ca DNS server
Network mask (cho biết phn ca mng phn host ca đa ch IP)
Ng cnh DHCP client-server
44
TNG ĐI HC NG NGH THÔNG TIN ĐHQG-HCM
BAN HC TP NG NGH PHN MM
4.3.11 NAT (Network Address Translation)
Đưc thiết kế đ tiết kim đa ch IP
Cho pp mng ni b s dng đa ch IP rng
Đa ch IP rng s đưc chuyn đi sang đa ch công cng đnh tuyến
đưc
Mng rng đưc tách bit giu kín IP ni b
Tng s dng trên router biên ca mng mt ca
4.3.12 ICMP (Internet Control Message Protocol)
Đưc s dng bi các host router đ truyn
tng tin tng Mng
Tng Mng “trên” IP
o Các tng đip ICMP đưc gi trong các IP
datagram
Traceroute ICMP
Ngun gi mt chui các segment UDP đến đích
Khi datagram th n đến router th n:
o Router hy datagram
o gi đến ngun mt tng đip ICMP (loi 11, 0)
o Tng đip ICMP bao gm tên và đa ch IP ca router
45
TNG ĐI HC NG NGH THÔNG TIN ĐHQG-HCM
BAN HC TP NG NGH PHN MM
4.4 Các thut toán Routing
4.4.1 Mô hình đ th: chi p
Đ th G = (N,E)
N = Tp hp các router = {u,v,w,x,y,z}
E = Tp hp các kết ni = {(u,v), (u,x),…}
4.4.2 Phân loi thut toán Routing
Toàn cc
Phân cp
- Tt c các router toàn b tng
tin v chi pkết ni, cu trúc mng
Thut toán “link state
- Router biết các router đưc kết ni
vt trc tiếp vi (neighbor),
chi pkết ni đến neighbor đó
- Lp li qua qtrình tính toán, trao
đi tng tin vi các neighbor
Thut toán “distance vector”
Tĩnh
Đng
- Các đưng đi đưc cp nht chm
theo thi gian
- Các đưng đi thay đi nhanh
o Cp nht theo chu k
o Cp nht khi nhng thay đi
v chi pkết ni
4.4.3 Link State:
Thut toán Dijkstra
Biết chi pkết ni, cu trúc mng ca tt c các node
o Đưc thc hin tng qua link state broadcast
o Tt c các nodes cùng tng tin vi nhau
Tính toán đưng đi có chi pthp nht t mt node(“ngun”) đến tt c
các node khác
o Cho trưc bng forwarding ca node đó
u
y
x
w
v
z
2
2
1
3
1
1
2
5
3
5
Chi phí đưng đi (x
1
, x
2
, x
3
,…, x
p
) = c(x
1
,x
2
) + c(x
2
,x
3
) + + c(x
p-1
,x
p
)
46
TNG ĐI HC NG NGH THÔNG TIN ĐHQG-HCM
BAN HC TP NG NGH PHN MM
Lp li: sau k ln lp li, biết đưc đưng đi có chi pthp nht ca k đích
d:
4.4.4 Thut toán Distance vector(DV)
Ý tưng:
Mi node đnh k gi ưc ng distance vector ca cho các neighbor
Sau khi nhn DV mi, cp nht li DV cũ dùng công thc Bellman-Ford:
󰇛󰇜 󰇝󰇛 󰇜
󰇛󰇜󰇞
Vi:
o
󰇛󰇜: Chi phí đưng đi nh nht t x đến y
o 󰇛 󰇜: Chi phí t x đến v (lân cn ca x)
o
󰇛󰇜: Chi phí đưng đi nh nht t v đến y(lân cn ca v)
w
3
4
v
x
u
5
3
7
4
y
8
z
2
7
9
47
TNG ĐI HC NG NGH THÔNG TIN ĐHQG-HCM
BAN HC TP NG NGH PHN MM
Mi node thông báo đến các neighbor ch khi DV ca nó thay đi
Các node lp đi lp li quá trình này cho đến khi không n thông tin
trao đi gia các neighbor
4.5 Routing trong Internet
4.5.1 Đnh tuyến Intra-AS
Còn gi interior gateway protocols(IGP)
Các giao thc đnh tuyến intra-AS ph biến:
RIP: Routing Information Protocol
OSPF: Open Shortest Path First
IGRP: Interior Gateway Routing Protocolc quyn ca Cisco)
4.5.2 RIP
Công b vào năm 1982 trong BSD-UNIX
Thut toán Distance Vector
o Metric khong cách: s ng hop (max = 15 hops), mi link g
tr 1
o Các DV đưc trao đi gia các neighbors mi 30 giây trong tng
đip phn hi (còn gi advertisement)
o Mi advertisement: danh sách n đến 25 subnet đích
4.5.3 OSPF
“Open”: Công khai cho mi đi tưng s dng
Dùng thut toán Link State
o Ph biến packet LS
o Bn đ cu trúc mng ti mi node
o Tính toán đưng đi dùng thut toán Dijkstra
Tng đip qung bá OSPF cha 1 mc tng tin cho mi router lân cn
Các tng đip này đưc phát tán đến tn b AS
Giao thc đnh tuyến IS-IS: gn ging vi OSPF
48
TNG ĐI HC NG NGH THÔNG TIN ĐHQG-HCM
BAN HC TP NG NGH PHN MM
Chương 5: Tng link
5.1 Mt vài thut ng
Node: Là hosts routers
Links: các nh truyn tng kết ni các nút k nhau theo đưng truyn
o Wired links: Kết ni có dây
o Wireless links: Kết ni kng dây
o LANs
Frame: các gói tin tng liên kết cha datagram
5.2 Các dch v ca tng liên kết
Đóng gói, truy cp nh truyn
o Đóng gói datagram vào các frame, b sung header, trailer
o Truy cp nh truyn nếu môi trưng truyn dn dùng chung
o Đa ch MAC đưc s dng trong các frame header đ xác ngun
gi, đích nhn
Khác vi đa ch IP
Truyn tin cy gia các node lân cn(adjacent nodes)
o Đã đ cp trong chương 3 (giao thc rdt)
o Ít khi đưc s dng trên các đưng truyn ít li bit (cáp quang, cáp
xon đôi)
o Kết ni kng dây: T l li cao
Điu khin lung(flow control): Điu khin tc đ truyn gia các node gi
nhn lin k nhau
Phát hin li(error detection):
Sa li(error correction)
Half-duplex full-duplex
o Vi half-duplex, các nút đu liên kết th truyn cho nhau,
nhưng không th cùng lúc
5.3 Phát hin và sa li
EDC: Error Detection and Correction bits (redundancy)
D = Data protected by error checking, many include header fields
49
TỜNG ĐẠI HC CÔNG NGH THÔNG TIN ĐHQG-HCM
BAN HC TP CÔNG NGH PHN MM
Chức năng phát hin lỗi không hoàn toàn đáng tin cậy 100%
Dù rt hiếm, nhưng giao thức vn có th sót li
Field EDC càng ln thì càng d phát hin và sa lỗi hơn
Kim tra chn l (parity checking)
Là k thut dùng thêm mt s bit đ đánh dấu tính chn l
Parity 1 chiu: Th hiện dưới dng 1 ma trận có kích thước 1xM
Parity 2 chiu: Th hiện dưới dng 1 ma trận có kích thước MxN
Parity bit 1 chiu
S bit parity: 1 bit
Có 2 mô hình cho parity bit:
o Mô hình chn: S bit 1 trong d liu gửi đi là một s chn
o Mô hình l: S bit 1 trong d liu gi đi là một s l
Bên gi
Bên nhn
1. Xác định mô hình parity
2. Thêm 1 bit parity vào d liu
cn gửi đi
3. Tiến hành gi d liu đi
1. Nhận D’ có (d+1) bits
2. Đếm s bits 1 trong D’
3. Đưa ra kết lun cho d liu trên
Ví d: Parity bit 1 chiu:
Bên gi: d = 0111000110101011 theo mô hình parity l
Bên nhn: Nhn D’ = 01110001101010110 => accept
50
TỜNG ĐẠI HC CÔNG NGH THÔNG TIN ĐHQG-HCM
BAN HC TP CÔNG NGH PHN MM
Parity bit 2 chiu
S bit parity: (N+M+1)
Có hai mô hình cho parity bit
o Mô hình chn: S bit 1 trong d liu gửi đi là một s chn
o Mô hình l: S bit 1 tron d liu gửi đi là một s l
Bên gi
Bên nhn
1. Xác định mô hình parity
2. Biu din d liu cn gi thành
ma trn MxN
3. Tính giá tr bit parity trên tng
dòng, tng cột. Sau đó gửi d
liu
1. Biu din d liu nhận được
thành ma trn (M+1)(N+1)
2. Kiểm tra tính đúng đắn ca
tng dòng và ct. Và đánh
du các dòng,ct b li
3. Đưa ra kết lun cho d liu
trên
Ví d:
Internet checksum
Mc tiêu: Phát hin “các lỗi” (ví dụ, các bit b đo) trong packet được truyn
o Ch đưc dùng ti tng vn chuyn
51
TỜNG ĐẠI HC CÔNG NGH THÔNG TIN ĐHQG-HCM
BAN HC TP CÔNG NGH PHN MM
Bên gi
Bên nhn
- X lý các ni dung của segment như
mt chui các s nguyên 16-bit
- Checksum: thêm(tng bù 1) vào
các ni dung ca segment
- Bên gi đặt các giá tr checksum vào
trong trường checksum ca UDP
- Tính toán checksum ca segment
va nhn
- Kim tra xem giá tr ca checksum
vừa đưc tính có bng vi giá tr ca
trưng checksum:
+ Không: phát hin li
+ Có: Không có li phát hin. Nhưng
có th còn có li khác không ?
CRC (Cyclic Redundancy Check)
Khái nim: Là một phương pháp để phát hin li bit bng cách gn thêm 1 khi
bit phía sau khi d liu
Khi bit CRC: Th hin các bit b sung vào sau khi d liu
Mã CRC: Th hin phần dư của phép chia nh phân không nh
Mô hình:
Bên gi
Bên nhn
1. Chn mu dài r+1 làm b sinh (hay
còn gi là G). Thng nht vi bên nhn
2. Chn r bit CRC, gi là R sao cho cm
<D,R> chia G dư 0 theo module 2
3. Tính gtr d liu cn gi gi d
liệu đã tính toán đi
1. Tiếp nhn d liu
2. Tiến hành ly d liệu đã nhận và
thc hin phép chia cho G
3. Da vào kết qu ớc 2, đưa ra
kết lun cho d liu trên

Preview text:

TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN – ĐHQG-HCM
BAN HỌC TẬP CÔNG NGHỆ PHẦN MỀM
Chương 4: Tầng Network 4.1 Giới thiệu
4.1.1 Giao thức và dịch vụ tầng Network
• Đảm bảo việc truyền thông logic giữa các host
o Bên gửi: Đóng gói các segment vào trong các Datagram
o Bên nhận: Mở gói Datagram thành các segment và gửi lên tầng Transport
• Hoạt động ở mọi host, router • Routers
o Xem xét các trường của header trong tất cả các gói IP datagram đi qua nó
o Chuyển packet từ cổng vào đến cổng ra phù hợp
4.1.2 Chức năng chính của tầng Network
• Forwarding: Chuyển các gói tin từ đầu vào đến đầu ra thích hợp của Router
• Routing: Xác định đường đi cho các gói từ nguồn đến đích
Tác động qua lại giữa Routing và Forwarding 36
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN – ĐHQG-HCM
BAN HỌC TẬP CÔNG NGHỆ PHẦN MỀM
4.1.3 Thiết lập kết nối
• Sử dụng trong một số kiến trúc mạng: ATM, frame relay, X.25
• Dịch vụ kết nối tầng Transport so với tầng Network
o Network: Giữa 2 hosts (cũng có thể bao gồm các router trung gian
trong trường hợp kết nối ảo)
o Transport: Giữa 2 tiến trình
4.1.4 Mô hình dịch vụ mạng
Kiến trúc Mô hình Đảm bảo băng Đảm bảo Thứ tự Đảm Báo hiệu nghẽn mạng dịch vụ thông không mất bảo thời dữ liệu gian Internet Best Không Không Bất kỳ thứ tự Không Không effort nào ATM CBR Tốc độ luôn Có Theo thứ tự Có Không xảy ra được giữ vững nghẽn ATM ABR Đảm bảo tốc độ Không Theo thứ tự
Không Báo hiệu khi xảy ra thấp nhất nghẽn
4.2 Mạng mạch ảo (virtual circuit) và mạng chuyển gói (datagram)
4.2.1 Dịch vụ connection (hướng kết nối) và connection-less (phi kết nối)
• Datagram network cung cấp dịch vụ connection-less tại tầng network
• Virtual-circuit network cung cấp dịch vụ connection tại tầng network
4.2.2 Các mạng mạch ảo (virtual-circuits network)
Thiết lập kết nối ảo. Một kết nối ảo bao gồm:
• Đường đi (path) từ nguồn tới đích
• Số hiệu kết nối ảo (VC numbers), một số cho một kết nối dọc theo đường đi
• Các mục trong các bảng forwarding ở trong các router dọc theo đường đi
Các giao thức gửi tín hiệu:
• Được dùng để thiết lập, duy trì kết nối ảo
• Được dùng trong ATM, frame-relay, X.25
• Không được sử dụng trong Internet ngày nay 37
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN – ĐHQG-HCM
BAN HỌC TẬP CÔNG NGHỆ PHẦN MỀM
4.2.3 Mạng chuyển gói (datagram network)
• Không thiết lập cuộc gọi tại tầng Network
• Mỗi một lần bên gửi muốn gửi một gói tin đi, bên gửi sẽ thêm vào gói tin
địa chỉ nguồn gửi và địa chỉ đích sau đó sẽ đẩy gói tin đi trên mạng (không
duy trì trạng thái mạng ảo nào)
• Mỗi gói tin đều có địa chỉ nguồn và đích, bộ định tuyến nhờ đó mà chuyển gói tin đi
4.3 IP: Internet Protocol 4.3.1 Tầng Internet network • Các chức năng tầng
network của host và router: 38
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN – ĐHQG-HCM
BAN HỌC TẬP CÔNG NGHỆ PHẦN MỀM • Vị trí của IP:
4.3.2 Định dạng IP Datagram
4.3.3 Phân mảnh và tổng hợp IP
• Các đoạn kết nối mạng có MTU (Max Transfer Size)-frame lớn nhất có thể truyền trên kết nối
o Các kiểu kết nối khác nhau có các MTU khác nhau
• Các gói IP datagram lớn được chia (“fragmented”) bên trong mạng
o 1 datagram thành một vài datagram 39
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN – ĐHQG-HCM
BAN HỌC TẬP CÔNG NGHỆ PHẦN MỀM
o “Tổng hợp” chỉ được thực hiện ở đích cuối cùng
o Các bit của IP header được sử dụng
để xác định, xếp thứ tự các fragment liên quan 4.3.4 IPv4 addressing
• Địa chỉ IP: 32-bit nhận dạng cho host, router interface
• Interface: Kết nối giữa host/router và đường kết nối vật lý
o Router thường có nhiều interface
o Host thường có 1 hoặc 2 interface
• Mỗi địa chỉ IP được liên kết với mỗi interface
4.3.5 Các subnet (mạng con) • Địa chỉ IP
o Phần subnet: Các bit có trọng số cao
o Phần host: Các bit có trọng số thấp • Subnet là gì ?
o Các interface của thiết bị có phần
subnet của địa chỉ IP giống nhau
o Có thể giao tiếp vật lý với nhau mà
không cần router trung gian can thiệp • Phương pháp
o Để xác định các subnet, tách mỗi
interface từ host hoặc router của nó,
tạo vùng các mạng độc lập
o Mỗi mạng độc lập được gọi là một subnet 40
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN – ĐHQG-HCM
BAN HỌC TẬP CÔNG NGHỆ PHẦN MỀM
4.3.6 Phân lớp địa chỉ IPv4
4.3.7 Định địa chỉ IP: CIDR(Classless InterDomain Routing)
• Phần subnet: Độ dài bất kỳ
• Định dạng địa chỉ: a.b.c.d/x, trong đó x là
số các bits trong phần subnet của địa chỉ
4.3.8 Phân loại địa chỉ IP
Phân loại theo phạm vi hoạt động
• Private IP: Sử dụng trong mạng LAN, có thể sử dụng lặp lại ở các mạng LAN khác nhau
o Lớp A: từ 10.0.0.0 -> 10.255.255.255
o Lớp B: từ 172.16.0.0 -> 172.31.255.255
o Lớp C: từ 192.168.0.0 -> 192.168.255.255
• Public IP: Sử dụng trong mạng WAN, dùng để định tuyến trên Internet, và
là duy nhất cho mỗi host tham gia vào Internet • Loopback IP
o Dải địa chỉ: 127.0.0.1 -> 127.255.255.254
Phân loại trong quá trình truyền thông
• Địa chỉ mạng (network): Tất cả bit HostID = 0
• Địa chỉ quảng bá (broadcast): Tất cả bit HostID = 1
• Địa chỉ dùng cho host: Trường hợp còn lại 41
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN – ĐHQG-HCM
BAN HỌC TẬP CÔNG NGHỆ PHẦN MỀM 4.3.9 Chia mạng con Thực hiện 3 bước:
• Bước 1: Xác định class và subnet mask mặc nhiên của địa chỉ
• Bước 2: Xác định số bit cần mượn và subnet mask mới, tính số lượng mạng
con, số host thực sự có được
• Bước 3: Xác định các vùng địa chỉ host và chọn mạng con muốn dùng
Subnet mask: Tất cả bit HostID = 0, các phần còn lại = 1
Ví dụ: Cho địa chỉ IP sau: 172.16.0.0/16. Hãy chia thành 8 mạng con và có 1000 host trên mỗi mạng con Giải:
Bước 1: Xác định class và subnet mask mặc nhiên 172.16.0.0
10 = 10101100.00010000.00000000.000000002
Octect thứ 1: 172 => Lớp B
Subnet mask mặc nhiên: 16 bit => 225.225.0.0
Bước 2: Xác định số bit cần mượn … Số bit cần mượn: N = 3 vì:
o Số mạng con có thể 23 = 8
o Số host của mỗi mạng con có thể: 216−3 − 2 > 1000
Subnet mask mới: 11111111.11111111.11100000.00000000 (hay 255.255.224.0)
Bước 3: Xác định vùng địa chỉ host 42
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN – ĐHQG-HCM
BAN HỌC TẬP CÔNG NGHỆ PHẦN MỀM
4.3.10 DHCP (Dynamic Host Configuration Protocol)
Để 1 host lấy được địa chỉ IP:
• Người quản trị hệ thống lưu địa chỉ trong cấu hình hệ thống
• DHCP: tự động lấy địa chỉ IP từ server o Plug and Play Mục tiêu:
• Cho phép host (máy) tự động lấy địa chỉ IP của nó từ server trong mạng
khi host đó tham gia vào mạng
• Có thể gia hạn địa chỉ IP mà host đó vừa được cấp
• Cho phép tái sử dụng các địa chỉ IP (chỉ giữ địa chỉ trong khi được kết nối)
• Hỗ trợ cho người dùng di động muốn tham gia vào mạng(trong thời gian ngắn) Tổng quan về DHCP:
• Host quảng bá (broadcasts) thông điệp
“DHCP discover” [tùy chọn]
• DHCP server đáp ứng bằng thông điệp “DHCP offer”[tùy chọn]
• Host yêu cầu địa chỉ IP: “DHCP request” msg
• DHCP server gởi địa chỉ: “DHCP ack” msg
DHCP cung cấp nhiều thông tin: DHCP không
Ngữ cảnh DHCP client-server
chỉ trả về địa chỉ IP, mà nó có thể trả về nhiều thông tin như sau:
• Địa chỉ của router ở cửa ngõ kết nối ra ngoài mạng của client (default gateway)
• Tên và địa chỉ IP của DNS server
• Network mask (cho biết phần của mạng và phần host của địa chỉ IP) 43
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN – ĐHQG-HCM
BAN HỌC TẬP CÔNG NGHỆ PHẦN MỀM
4.3.11 NAT (Network Address Translation)
• Được thiết kế để tiết kiệm địa chỉ IP
• Cho phép mạng nội bộ sử dụng địa chỉ IP riêng
• Địa chỉ IP riêng sẽ được chuyển đổi sang địa chỉ công cộng định tuyến được
• Mạng riêng được tách biệt và giấu kín IP nội bộ
• Thường sử dụng trên router biên của mạng một cửa
4.3.12 ICMP (Internet Control Message Protocol)
• Được sử dụng bởi các host và router để truyền thông tin tầng Mạng
• Tầng Mạng “trên” IP
o Các thông điệp ICMP được gửi trong các IP datagram Traceroute và ICMP
• Nguồn gửi một chuỗi các segment UDP đến đích
• Khi datagram thứ n đến router thứ n: o Router hủy datagram
o Và gửi đến nguồn một thông điệp ICMP (loại 11, mã 0)
o Thông điệp ICMP bao gồm tên và địa chỉ IP của router 44
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN – ĐHQG-HCM
BAN HỌC TẬP CÔNG NGHỆ PHẦN MỀM
4.4 Các thuật toán Routing
4.4.1 Mô hình đồ thị: chi phí 5 v w Đồ thị G = (N,E) 3 u 2 5 z
• N = Tập hợp các router = {u,v,w,x,y,z} 2 1
• E = Tập hợp các kết nối = {(u,v), (u,x),…} 3 y 1 x 2 1
Chi phí đường đi (x , x , x ,…, x ) = c(x ,x ) + c(x ,x ) + … + c(x ,x ) 1 2 3 p 1 2 2 3 p-1 p
4.4.2 Phân loại thuật toán Routing Toàn cục Phân cấp
- Tất cả các router có toàn bộ thông
- Router biết các router được kết nối
tin về chi phí kết nối, cấu trúc mạng
vật lý trực tiếp với nó (neighbor), và
 Thuật toán “link state”
chi phí kết nối đến neighbor đó
- Lặp lại qua quá trình tính toán, trao
đổi thông tin với các neighbor
 Thuật toán “distance vector” Tĩnh Động
- Các đường đi được cập nhật chậm - Các đường đi thay đổi nhanh theo thời gian o Cập nhật theo chu kỳ
o Cập nhật khi có những thay đổi về chi phí kết nối 4.4.3 Link State: Thuật toán Dijkstra
• Biết chi phí kết nối, cấu trúc mạng của tất cả các node
o Được thực hiện thông qua “link state broadcast”
o Tất cả các nodes có cùng thông tin với nhau
• Tính toán đường đi có chi phí thấp nhất từ một node(“nguồn”) đến tất cả các node khác
o Cho trước bảng forwarding của node đó 45
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN – ĐHQG-HCM
BAN HỌC TẬP CÔNG NGHỆ PHẦN MỀM
• Lặp lại: sau k lần lặp lại, biết được đường đi có chi phí thấp nhất của k đích Ví dụ: x 9 5 7 4 u w y z 3 8 2 3 7 v 4
4.4.4 Thuật toán Distance vector(DV) Ý tưởng:
• Mỗi node định kỳ gởi ước lượng distance vector của nó cho các neighbor
• Sau khi nhận DV mới, nó cập nhật lại DV cũ dùng công thức Bellman-Ford:
𝑑𝑥(𝑦) = 𝑚𝑖𝑛 {𝑐(𝑥, 𝑣) + 𝑑𝑣(𝑦)} Với:
o 𝑑𝑥(𝑦): Chi phí đường đi nhỏ nhất từ x đến y
o 𝑐(𝑥, 𝑣): Chi phí từ x đến v (lân cận của x)
o 𝑑𝑣(𝑦): Chi phí đường đi nhỏ nhất từ v đến y(lân cận của v) 46
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN – ĐHQG-HCM
BAN HỌC TẬP CÔNG NGHỆ PHẦN MỀM
• Mỗi node thông báo đến các neighbor chỉ khi DV của nó thay đổi
• Các node lặp đi lặp lại quá trình này cho đến khi không còn thông tin
trao đổi giữa các neighbor
4.5 Routing trong Internet
4.5.1 Định tuyến Intra-AS
Còn gọi là interior gateway protocols(IGP)
Các giao thức định tuyến intra-AS phổ biến:
• RIP: Routing Information Protocol
• OSPF: Open Shortest Path First
• IGRP: Interior Gateway Routing Protocol(độc quyền của Cisco) 4.5.2 RIP
• Công bố vào năm 1982 trong BSD-UNIX
• Thuật toán Distance Vector
o Metric khoảng cách: số lượng hop (max = 15 hops), mỗi link có giá trị là 1
o Các DV được trao đổi giữa các neighbors mỗi 30 giây trong thông
điệp phản hồi (còn gọi là advertisement)
o Mỗi advertisement: danh sách lên đến 25 subnet đích 4.5.3 OSPF
• “Open”: Công khai cho mọi đối tượng sử dụng
• Dùng thuật toán Link State o Phổ biến packet LS
o Bản đồ cấu trúc mạng tại mỗi node
o Tính toán đường đi dùng thuật toán Dijkstra
• Thông điệp quảng bá OSPF chứa 1 mục thông tin cho mỗi router lân cận
• Các thông điệp này được phát tán đến toàn bộ AS
• Giao thức định tuyến IS-IS: gần giống với OSPF 47
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN – ĐHQG-HCM
BAN HỌC TẬP CÔNG NGHỆ PHẦN MỀM
Chương 5: Tầng link
5.1 Một vài thuật ngữ
• Node: Là hosts và routers
• Links: Là các kênh truyền thông kết nối các nút kề nhau theo đường truyền
o Wired links: Kết nối có dây
o Wireless links: Kết nối không dây o LANs
• Frame: Là các gói tin ở tầng liên kết – chứa datagram
5.2 Các dịch vụ của tầng liên kết
• Đóng gói, truy cập kênh truyền
o Đóng gói datagram vào các frame, bổ sung header, trailer
o Truy cập kênh truyền nếu môi trường truyền dẫn là dùng chung
o Địa chỉ MAC được sử dụng trong các frame header để xác nguồn gửi, đích nhận
▪ Khác với địa chỉ IP
• Truyền tin cậy giữa các node lân cận(adjacent nodes)
o Đã đề cập trong chương 3 (giao thức rdt)
o Ít khi được sử dụng trên các đường truyền ít lỗi bit (cáp quang, cáp xoắn đôi)
o Kết nối không dây: Tỷ lệ lỗi cao
• Điều khiển luồng(flow control): Điều khiển tốc độ truyền giữa các node gửi và nhận liền kề nhau
• Phát hiện lỗi(error detection):
• Sửa lỗi(error correction)
• Half-duplex và full-duplex
o Với half-duplex, các nút ở đầu liên kết có thể truyền cho nhau,
nhưng không thể cùng lúc
5.3 Phát hiện và sửa lỗi
EDC: Error Detection and Correction bits (redundancy)
D = Data protected by error checking, many include header fields 48
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN – ĐHQG-HCM
BAN HỌC TẬP CÔNG NGHỆ PHẦN MỀM
Chức năng phát hiện lỗi không hoàn toàn đáng tin cậy 100%
• Dù rất hiếm, nhưng giao thức vẫn có thể sót lỗi
• Field EDC càng lớn thì càng dễ phát hiện và sửa lỗi hơn
Kiểm tra chẵn lẻ (parity checking)
Là kỹ thuật dùng thêm một số bit để đánh dấu tính chẵn lẻ
• Parity 1 chiều: Thể hiện dưới dạng 1 ma trận có kích thước 1xM
• Parity 2 chiều: Thể hiện dưới dạng 1 ma trận có kích thước MxN Parity bit 1 chiều • Số bit parity: 1 bit
• Có 2 mô hình cho parity bit:
o Mô hình chẵn: Số bit 1 trong dữ liệu gửi đi là một số chẵn
o Mô hình lẻ: Số bit 1 trong dữ liệu gửi đi là một số lẻ Bên gửi Bên nhận
1. Xác định mô hình parity 1. Nhận D’ có (d+1) bits
2. Thêm 1 bit parity vào dữ liệu
2. Đếm số bits 1 trong D’ cần gửi đi
3. Đưa ra kết luận cho dữ liệu trên
3. Tiến hành gửi dữ liệu đi
Ví dụ: Parity bit 1 chiều:
• Bên gửi: d = 0111000110101011 theo mô hình parity lẻ
• Bên nhận: Nhận D’ = 01110001101010110 => accept 49
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN – ĐHQG-HCM
BAN HỌC TẬP CÔNG NGHỆ PHẦN MỀM Parity bit 2 chiều • Số bit parity: (N+M+1)
• Có hai mô hình cho parity bit
o Mô hình chẵn: Số bit 1 trong dữ liệu gửi đi là một số chẵn
o Mô hình lẻ: Số bit 1 tron dữ liệu gửi đi là một số lẻ Bên gửi Bên nhận
1. Xác định mô hình parity
1. Biểu diễn dữ liệu nhận được
2. Biểu diễn dữ liệu cần gửi thành thành ma trận (M+1)(N+1) ma trận MxN
2. Kiểm tra tính đúng đắn của
3. Tính giá trị bit parity trên từng
từng dòng và cột. Và đánh
dòng, từng cột. Sau đó gửi dữ
dấu các dòng,cột bị lỗi liệu
3. Đưa ra kết luận cho dữ liệu trên Ví dụ: Internet checksum
Mục tiêu: Phát hiện “các lỗi” (ví dụ, các bit bị đảo) trong packet được truyền
o Chỉ được dùng tại tầng vận chuyển 50
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN – ĐHQG-HCM
BAN HỌC TẬP CÔNG NGHỆ PHẦN MỀM Bên gửi Bên nhận
- Xử lý các nội dung của segment như - Tính toán checksum của segment
một chuỗi các số nguyên 16-bit vừa nhận
- Checksum: thêm(tổng bù 1) vào
- Kiểm tra xem giá trị của checksum
các nội dung của segment
vừa được tính có bằng với giá trị của
- Bên gửi đặt các giá trị checksum vào trường checksum:
trong trường checksum của UDP + Không: phát hiện lỗi
+ Có: Không có lỗi phát hiện. Nhưng
có thể còn có lỗi khác không ?
CRC (Cyclic Redundancy Check)
Khái niệm: Là một phương pháp để phát hiện lỗi bit bằng cách gắn thêm 1 khối
bit phía sau khối dữ liệu
Khối bit CRC: Thể hiện các bit bổ sung vào sau khối dữ liệu
Mã CRC: Thể hiện phần dư của phép chia nhị phân không nhớ Mô hình: Bên gửi Bên nhận
1. Chọn mẫu dài r+1 làm bộ sinh (hay 1. Tiếp nhận dữ liệu
còn gọi là G). Thống nhất với bên nhận 2. Tiến hành lấy dữ liệu đã nhận và
2. Chọn r bit CRC, gọi là R sao cho cụm thực hiện phép chia cho G
chia G dư 0 theo module 2
3. Dựa vào kết quả ở bước 2, đưa ra
3. Tính giá trị dữ liệu cần gửi và gửi dữ kết luận cho dữ liệu trên liệu đã tính toán đi 51