18/08/2014
Mạng máy tính
Giảng viên: Bùi Trọng Tùng
Bộ môn Truyền thông và Mạng máy tính
Viện Công nghệ thông tin và Truyền thông
Đại học Bách khoa Hà Nội
1
Về môn học này
Mã HP: IT3080
Tên học phần: Mạng máy tính
Khối lượng: 3(3-1-0-6)
Đánh giá:
Quá trình (30%): bài tập lớn, chuyên cần, thảo luận...
Cuối kỳ (70%): thi viết
Thực hành: 3 bài, không bắt buộc (cộng 0-1 điểm vào điểm thi
cuối kỳ cho mỗi bài )
Website: http://soict.hust.edu.vn/~tungbt/it3080
Hạn đăng ký bài tập lớn: trước ngày 13/09/2014
2
1
18/08/2014
Tài liệu tham khảo
[KR] Networking: a top-down approach featuring the
Internet, 6th Edition, James F. Kurose, Keith W. Ross,
Addison Wesley 2012
[PB] TCP/IP tutorial and technical overview, Lydia
Parziale, David T.Britt, IBM Redbooks 2006
[WS] Data and Computer Communications, 8th Edition
William Stallings, Pearson Prentice Hall 2007
3
Giảng viên
Bùi Trọng Tùng, Viện CNTT&TT - BK HN
Email : tungbt@soict.hust.edu.vn
Địa chỉ : phòng 801 – nhà B1 – BKHN
Website: http://soict.hust.edu.vn/~tungbt
FB: /groups/QA.TungBT
4
2
18/08/2014
Chương 1. Tổng quan về mạng
máy tính và truyền thông
5
1. Cơ bản về mạng máy tính
6
3
18/08/2014
1.1. Lịch sử Internet
Bắt đầu từ một thí nghiệm của
dự án của ARPA
Một liên kết giữa hai nút mạng
(IMP tại UCLA và IMP tại SRI)
ARPA:
UCLA:
SRI:
IMP:
Source: http://www.cybergeography.org/atlas/historical.html
Advanced Research Project Agency
University California Los Angeles
Stanford Research Institute
Interface Message Processor
7
3 tháng sau, 12/1969
SRI
UCSB
UTAH
UCLA
Một mạng hoàn chỉnh với 4 nút,
56kbps
UCSB:University of California, Santa Barbara
UTAH:University of Utah
source: http://www.cybergeography.org/atlas/historical.html
8
4
18/08/2014
ARPANET thời kỳ đầu, 1971
Source:
http://www.cybergeography.org/
atlas/historical.html
Mạng phát triển với tốc độ thêm mỗi nút một tháng
9
Thập niên 70: Kết nối liên mạng, kiến
trúc mạng mới và các mạng riêng
10
5
18/08/2014
Sự mở rộng của ARPANET, 1974
source:
http://www.cybergeography.org/
atlas/historical.html
Lưu lượng mỗi ngày vượt quá 3.000.000 gói tin
11
Thập niên 70
Từ đầu 1970 xuất hiện các mạng riêng:
ALOHAnet tại Hawaii
DECnet, IBM SNA, XNA
1974: Cerf & Kahn – nguyên lý kết nối
các hệ thống mở (Turing Awards)
1976: Ethernet, Xerox PARC
Cuối 1970: ATM
12
6
18/08/2014
Thập niên 80: Các giao thức
mới, kết nối thêm mạng mới
13
1981: Xây dựng mạng NSFNET
NSF: National Science Foundation
Phục vụ cho nghiên cứu khoa học, do sự quá tải của ARPANET
14
7
18/08/2014
1986: Nối kết USENET& NSFNET
15
Source: http://www.cybergeography.org/atlas/historical.html
Thêm nhiều mạng và giao thức
mới
Thêm nhiều mạng mới nối vào: MFENET,
HEPNET (Dept. Energy), SPAN (NASA),
BITnet, CSnet, NSFnet, Minitel …
TCP/IP được chuẩn hóa và phổ biến vào
1980
Berkeley tích hợp TCP/IP vào BSD Unix
Dịch vụ: FTP, Mail, DNS …
16
8
18/08/2014
Thêm nhiều mạng và giao thức
mới
Thêm nhiều mạng mới nối vào: MFENET,
HEPNET (Dept. Energy), SPAN (NASA),
BITnet, CSnet, NSFnet, Minitel …
TCP/IP được chuẩn hóa và phổ biến vào
1980
Berkeley tích hợp TCP/IP vào BSD Unix
Dịch vụ: FTP, Mail, DNS …
17
Thập niên 90: Web và thương
mại hóa Internet
18
9
18/08/2014
Thập niên 90
Đầu 90: ARPAnet chỉ là
một phần của Internet
Đầu 90: Web
HTML, HTTP:
Berners-Lee
1994: Mosaic,
Netscape
Cuối 90: Thương mại
hóa Internet
Cuối 1990’s – 2000’s:
Nhiều ứng dụng mới: chat,
chia sẻ file P2P…
E-commerce, Yahoo,
Amazon, Google…
> 50 triệu máy trạm, > 100
triệu NSD
Vấn đề an toàn an ninh
thông tin!
Internet dành cho tất cả mọi
người
Tất cả các dịch vụ phải
quan tâm tới vấn đề này 19
Lược sử Internet Việt Nam
1991: Nỗ lực kết nối Internet không thành.
(Vì một lý do nào đó)
1996: Giải quyết các cản trở, chuẩn bị hạ
tầng Internet
ISP: VNPT
64kbps, 1 đường kết nối quốc tế, một số NSD
1997: Việt Nam chính thức kết nối Internet
1 IXP: VNPT
4 ISP: VNPT, Netnam (IOT), FPT, SPT
2007: “Mười năm Internet Việt Nam”
20 ISPs, 4 IXPs
19 triệu NSD, 22.04% dân số
20
10
18/08/2014
Thống kê gần đây
Số người dùng Internet ở Việt Nam
Số người dùng
Tỉ lệ dân số
Triệu người
40
35.0
35.03
30.0
35.58
31.11
25.0
20.0
24.4
25
26.8
30.5
31.3
10
5.0
0.0
20
15
22.8
10.0
35
30
26.55
15.0
%
5
2008
2009
2010
2011
2012
0
21
Source: Vnnic, http://www.thongkeinternet.vn
Băng thông kết nối đi quốc tế
(Mbps), Tháng 7/2013
Tháng 6/2014:
790003 Mbps
Tổng cộng: 486173.0 Mbps
22
11
18/08/2014
Băng thông kết nối đi quốc tế
23
1.2. Các khái niệm cơ bản
24
12
18/08/2014
Mạng máy tính là gì?
Tập hợp các máy tính kết nối với
nhau dựa trên một kiến trúc nào
đó để có thể trao đổi dữ liệu
Máy tính: máy trạm, máy chủ, bộ
định tuyến
Kết nối bằng một phương tiện
truyền
Theo một kiến trúc mạng
25
Đường truyền vật lý
Là các phương tiện vật lý có khả năng truyền dẫn
tín hiệu
Phân loại:
Hữu tuyến: cáp xoắn, cáp đồng trục, cáp quang,…
Vô tuyến: sóng radio, viba, sóng hồng ngoại,…
Một số yếu tố đặc trưng:
Băng tần
Độ tin cậy : tỉ lệ bít lỗi khi truyền
Độ suy hao
26
13
18/08/2014
Kiến trúc mạng
Các nút mạng kết nối với nhau như thế nào? (Hình trạng
– Topology)
Topology vật lý: hình trạng dựa trên cáp kết nối
Bus
Ring (Vòng)
Star (Sao) Mesh (Lưới)
Topology logic: hình trạng dựa trên cách thức truyền tín hiệu:
điểm điểm, điểm-đa điểm
…và trao đổi dữ liệu với nhau như thế nào? (Giao thức –
Protocol)
27
Một vài ví dụ
Mạng Internet
Mạng nội bộ cơ quan, trường học
Mạng gia đình
Hệ thống ATM của ngân hàng
Mạng điện thoại
...
28
14
18/08/2014
Mạng Internet
Trên
5 tỉ thiết bị kết nối
server
2.5 tỉ người dùng
wireless Đường truyền: cáp
laptop
smartphone quang, cáp đồng,
Wimax, 3G…
Truyền tải hàng nghìn
TeraByte/s
wireless
links
Dịch vụ: Web, email,
wired
links
mạng xã hội, Skype
PC
router
mobile network
global ISP
home
network
regional ISP
institutional
network
29
Internet of things
30
15
18/08/2014
Mạng Internet
Mạng của các mạng (Network of networks)
Internet
Làm thế nào để kết nối
hàng triệu hệ thống
mạng với nhau?
31
Kiến trúc Internet: Mạng của
các mạng
Kết nối một mạng với tất cả các mạng khác?
access
net
access
net
access
net
access
net
access
net
access
net
access
net
Không có khả năng
mở rộng: Số lượng
kết nối O(n2)
access
net
access
net
access
net
access
net
access
net
access
net
access
net
access
net
access
net
32
16
18/08/2014
Kiến trúc Internet: Mạng của các
mạng
Kết nối mỗi mạng vào một trạm chuyển tiếp của một nhà
cung cấp toàn cầu (global ISP)
access
net
access
net
access
net
access
net
access
net
access
net
access
net
global
ISP
access
net
access
net
access
net
access
net
access
net
access
net
access
net
access
net
access
net
33
Kiến trúc Internet: Mạng của
các mạng
Thêm nhiều ISP...
access
net
access
net
access
net
Trạm trung chuyển Internet
access
net
access
net
access
net
IXP
ISP A
IXP
access
net
access
net
access
net
access
net
ISP B
ISP C
Kết nối ngang hàng
access
net
access
net
access
net
access
net
access
net
access
net
34
17
18/08/2014
Kiến trúc Internet: Mạng của
các mạng
Thêm các mạng khu vực (regional network)...
access
net
access
net
access
net
access
net
access
net
access
net
IXP
ISP A
IXP
access
net
access
net
access
net
ISP B
ISP C
access
net
access
net
regional net
access
net
access
net
access
net
access
net
access
net
35
Kiến trúc Internet: Mạng của
các mạng
Mạng lõi và mạng biên
access
net
access
net
access
net
access
net
access
net
access
net
IXP
ISP A
IXP
access
net
access
net
access
net
access
net
ISP B
ISP C
access
net
regional net
access
net
access
net
access
net
access
net
access
net
36
18
18/08/2014
Kiến trúc mạng
Mạng biên (network edge):
mobile network
Nút mạng đầu cuối (endsystem, host): PC, điện thoại,
máy chủ, máy tính nhúng...
Mạng truy nhập (access
network): đường truyền, thiết bị
kết nối (router, switch, hub, tổng
đài...)
global ISP
home
network
regional ISP
Mạng lõi (network core):
đường truyền, thiết bị kết nối
Mạng của các mạng
Mới chỉ đề cập đến khía
cạnh “Kết nối như thế nào?”
institutional
network
37
2. Chuyển mạch kênh và
chuyển mạch gói
Chuyển tiếp dữ liệu qua các kết nối
như thế nào?
38
19
18/08/2014
2.1. Đặt vấn đề
Kết nối điểm-điểm giữa 2 host
A
Thông số của kết nối:
B
Băng thông (bandwith - R): lượng dữ liệu truyền tối đa
trong một đơn vị thời gian (bps – bit per second)
Trễ (Latency): thời gian truyền dữ liệu từ A đến B
Trễ truyền tải: Kích thước dữ liệu / Băng thông
Trễ truyền dẫn: Độ dài liên kết / Tốc độ tín hiệu (~2x108 m/sec)
39
Kết nối điểm-điểm giữa 2 host
Truyền 100B từ A đến B
A
1Mbps, 1ms
time=0
Thời gian truyền
1 bit = 1/106s
Thời gian truyền
800 bits=800x1/106s
100Byte packet
Time
B
Thời điểm bit
đầu tiên tới B
= 1/106+1/103s
Thời điểm bit
cuối cùng tới B
(800x1/106)+1/103s
= 1.8ms
40
20
18/08/2014
Kết nối giữa nhiều host
Điểm-điểm giữa mọi cặp
Hạn chế?
41
Kết nối giữa nhiều nút mạng
Điểm-đa điểm: Sử dụng 1 đường truyền chung
cho tất cả truyền thông “quảng bá”
Hạn chế?
42
21
18/08/2014
Kết nối giữa nhiều nút mạng
Giải pháp: mạng chuyển mạch
Mỗi host kết nối với 1 thiết bị chuyển mạch
Các thiết bị chuyển mạch kết nối điểm-điểm
Chia sẻ tài nguyên đường truyền
G
A
C
D
Câu hỏi: Làm thế
nào để xác định
được tuyến đường?
Trả lời: Định tuyến
3
1
E
B
5
2
F
4
43
2.2. Chuyển mạch kênh
Circuit switching network: cấp phát tài nguyên đường
truyền (vật lý) dành riêng cho từng kết nối (logic) giữa 2
nút mạng
A
10Mb/s?
10Mb/s?
1
3
10Mb/s?
10Mb/s?
5
2
B
4
(1) A phát yêu cầu xin thiết lập kênh
(2) Các thiết bị chuyển mạch thiết lập kênh (và cấp phát tài nguyên)
(3) A bắt đầu truyền dữ liệu
(4) A truyền xong: phát yêu cầu hủy kênh (giải phóng tài nguyên)
44
22
18/08/2014
Chia sẻ tài nguyên
Chia kênh theo thời
gian: mỗi kết nối sử
dụng tài nguyên trong
khe thời gian được
phân
Chia kênh theo tần số:
mỗi kết nối sử dụng
một dải tần tín hiệu
riêng
f
t
t
45
Giản đồ thời gian
A
Sw1
Sw2
B
Thiết lập
kênh
Truyền
dữ liệu
Hủy kênh
Information
t
46
23
18/08/2014
Ưu điểm và nhược điểm
Ưu điểm:
Kênh được thiết lập sẵn Trễ khi chuyển mạch rất thấp
Tài nguyên dành riêng cho kênh và không đổi trong quá trình
truyền đảm bảm chất lượng dịch vụ
Nhược điểm?
47
Nhược điểm
Sw1
Sw2
Thiết lập
kênh
Truyền
dữ liệu
Transfer
Information
t
Hủy kênh
48
24
18/08/2014
Nhược điểm
Sw2
Sw1
Thiết lập
kênh
Truyền dữ liệu
Information
Hủy kênh
t
49
Nhược điểm
A
3
1
5
2
B
4
Bắt đầu lại quá trình nếu lỗi trên thiết bị
chuyển mạch khi truyền
50
25
18/08/2014
2.3. Chuyển mạch gói
Dữ liệu được chia thành các gói tin (packet)
Phần tiêu đề (header): địa chỉ, số thứ tự
Phần dữ liệu (payload)
Thiết bị chuyển mạch chuyển tiếp gói tin dựa trên tiêu đề
Data
01000111100010101001110100011001
payload
Header
header
51
Chuyển tiếp gói tin
NEU
switch#4
111010010
FTU
HUST
switch#1
switch#2
tới FTU
Forwarding Table
Destination
Next Hop
NEU
4
NUCE
5
FTU
2
HUBT
3
NUCE switch#5
switch#3
tới HUBT
52
26
18/08/2014
Giản đồ thời gian
Thiết bị chuyển mạch
chỉ chuyển tiếp khi
nhận được đầy đủ gói
tin (store and forward)
Thiết bị chuyển mạch
cần thời gian để xử lý
gói tin (dproc):
Kiểm tra lỗi trên gói tin
Quyết định gói tin gửi
đến đâu
Thường rất nhỏ so với
trễ truyền tin
A
Sw
payl
oad
B
h
d
r
dproc
t
53
Chuyển mạch gói
Mỗi gói tin có thể được xử lý độc lập
Các gói tin có thể tới đích theo các đường khác nhau, không còn
đúng thứ tự
Tài nguyên dùng chung cho tất cả các kết nối
Nếu còn tài nguyên, bất kỳ nút nào cũng có thể sử dụng
54
27
18/08/2014
Chuyển mạch gói vs Chuyển
mạch kênh
Ví dụ:
Băng thông đi 10 Mb/s
Mỗi kết nối của người
dùng tới:
• Được cấp phát 1 Mb/s
• Thời gian sử dụng để truyền
dữ liệu: 10% tổng thời gian
Mạng
chuyển mạch kênh:
Mạng
chuyển mạch gói:
Tối đa 10 người dùng đồng
thời xin cấp phát
Giả sử có 30 người dùng sử
dụng chung
Xác suất để >10 người dùng
đồng thời truyền dữ liệu là
bao nhiêu? (~0.0001)
N
users
10 Mbps
• Phân phối nhị thức:
P(x = k) = Cnk pk (1-p)n-k
• Nếu số người dùng tăng
lên?
55
Hàng đợi
Hàng đợi (FIFO)
1 Mbps
56
28
18/08/2014
Hàng đợi
Hàng đợi (FIFO)
1
1
57
Hàng đợi
Hàng đợi (FIFO)
2 2
1 1
58
29
18/08/2014
Hàng đợi
Hàng đợi (FIFO)
2 2 1 1
59
Hàng đợi
Hàng đợi (FIFO)
60
30
18/08/2014
Mất gói tin
Kích thước hàng đợi có hạn
Gói tin tới khi hàng đợi đã đầy sẽ bị mất
61
Tổng kết
Chuyển mạch kênh:
Chuyển mạch gói
Mỗi kênh chỉ dùng cho duy nhất 1 liên kết
Bảo đảm băng thông (cần cho các ứng dụng audio/video)
Lãng phí nếu liên kết đó không sử dụng hết khả năng của
kênh
Tăng hiệu quả sử dụng băng thông
Tốt cho các dạng dữ liệu đến ngẫu nhiên, không định trước
Hạn chế: tăng trễ và mất gói tin, không bảo đảm băng
thông
Mạng Internet dùng kỹ thuật chuyển mạch nào?
62
31
18/08/2014
3. Một số thông số cơ bản
trong mạng
63
Các thông số cơ bản
Băng thông ≡ Tốc độ truyền tin ≡ Dung lượng
Thông lượng
Độ trễ
Trễ trên thiết bị đầu cuối
Trễ trên thiết bị trung gian
Trễ truyền tin
Trễ lan truyền
Độ mất gói tin
64
32
18/08/2014
Thông lượng (throughput)
Thông lượng: tốc độ (bits/sec) truyền tin giữa
nút gửi và nút nhận tại một điểm nào đó
Tức thời: thông lượng tại một thời điểm
Trung bình: thông lượng tính trung bình trong một
khoảng thời gian
Bên gửi: gửi
dữ liệu lên
kênh
Kênh có
khả năng truyền
Rs bits/sec
Kênh có
khả năng truyền
Rc bits/sec
65
Thông lượng (tiếp)
Rs < Rc Thông lượng trung bình là bao nhiêu?
Rs bits/sec
Rc bits/sec
Rs > Rc Thông lượng trung bình là bao nhiêu?
Rs bits/sec
Rc bits/sec
Nút thắt cổ chai (bottleneck)
Là điểm tại đó làm giới hạn thông lượng trên đường truyền
66
33
18/08/2014
Nút thắt cổ chai
Xác định nút thắt
cổ chai?
67
Độ trễ
truyền tin
A
lan truyền
B
xử lý tại nút
đợi trong hàng đợi
dnodal = dproc + dqueue + dtrans + dprop
dtrans: trễ truyền tin:
L: kích thước dữ liệu (bits)
R: băng thông (bps)
dtrans = L/R
dprop: trễ lan truyền (truyền dẫn)
d: độ dài đường truyền
s: tốc độ lan truyền tín hiệu (~2x108
m/sec)
dprop = d/s
68
34
18/08/2014
Độ trễ (tiếp)
truyền tin
A
lan truyền
B
xử lý tại nút
đợi trong hàng đợi
dnodal = dproc + dqueue + dtrans + dprop
dproc: trễ xử lý
Kiểm tra lỗi bit
Xác định liên kết ra
Thường < μsec
dqueue: trễ hàng đợi
Phụ thuộc vào số lượng
dữ liệu trong hàng đợi
69
R: băng thông (bps)
L: kích thước gói tin
(bits)
a: tốc độ đến của gói tin
Trễ trung bình trong
hàng đợi
Trễ hàng đợi
La/R ~ 0: trễ hàng đợi nhỏ
La/R 1: trễ hàng đợi lớn
La/R > 1: trễ vô cùng (mất gói tin)
La/R
La/R ~ 0
La/R -> 1
70
35
18/08/2014
4. Kiến trúc phân tầng
Tiếp tục với chủ đề “Làm thế nào để
các nút mạng trao đổi thông tin?”
71
Nguyên tắc “chia để trị”
Xác định các nhiệm vụ cần thực hiện
Tổ chức, điều phối thứ tự thực hiện các nhiệm vụ
Phân định ai làm nhiệm vụ gì
Ví dụ: CEO công ty A gửi công văn cho CEO của công
ty B
CEO A: viết công văn và chuyển cho thư ký
Thư ký:
Cho thư vào phong bì và điền tên đầy đủ CEO B, địa chỉ
Đem đến bưu điện VNPT
Bưu điện VNPT:
Đóng gói bưu kiện
Ghi địa chỉ bưu cục nhận
Chuyển bưu kiện lên xe thư
Đưa bưu kiện đến bưu cục nhận
72
36
18/08/2014
Bức thư được gửi và nhận như
thế nào?
Các bộ phận đồng cấp:
Phương tiện trao đổi thông tin giống nhau
Ngôn ngữ giống nhau
CEO
Thư ký
VNPT
Công văn
Ngôn ngữ tự nhiên
Phong bì
Địa chỉ
Bưu kiện
Mã bưu cục
CEO
Thư ký
VNPT
73
Trao đổi thông tin giữa các nút
mạng
Dữ liệu được tổ chức như thế nào?
Định danh – đánh địa chỉ: Phân biệt các máy với nhau
trên mạng?
Tìm đường đi cho dữ liệu qua hệ thống mạng như thế
nào?
Làm thế nào để phát hiện lỗi dữ liệu (và sửa)?
Làm thế nào để dữ liệu gửi đi không làm quá tải đường
truyền, quá tải máy nhận?
Làm thế nào để chuyển dữ liệu thành tín hiệu?
Làm thế nào để biết dữ liệu đã tới đích?...
Phân chia nhiệm vụ cho các thành phần, tổ chức các
thành phần thành các tầng (layer)
74
37
18/08/2014
Phân tầng
Mỗi tầng:
Có thể có một hoặc nhiều chức năng
Triển khai dịch vụ để thực hiện các chức năng
Cung cấp dịch vụ cho tầng trên
Sử dụng dịch vụ tầng dưới
Độc lập với các tầng còn lại
Mỗi dịch vụ có thể có một hoặc nhiều cách triển khai
khác nhau, cho phép tầng trên lựa chọn dịch vụ phù
hợp
Lợi ích:
Dễ dàng thiết kế, triển khai
Dễ dàng tái sử dụng
Dễ dàng nâng cấp
75
Điểm truy cập dịch vụ
Service Access Point: là một điểm trừu tượng, tại đó
tầng trên sử dụng dịch vụ tầng dưới
Tầng trên chỉ cần quan tâm cách sử dụng dịch vụ tầng dưới
...không quan tâm tới cách thức thực hiện
Quan điểm lập trình: lời gọi hàm (function)
Tên hàm và các thức truyền đối số không đổi
Nội dung hàm có thể thay đổi
function doMyWork(){
//do anything
lowerService(parameters);
//do anything
}
76
38
18/08/2014
4.1. Truyền thông trong
kiến trúc phân tầng
77
Truyền thông trong kiến trúc
phân tầng
Các nguyên lý chung:
Tầng trên sử dụng dịch vụ tầng dưới
Các tầng ngang hàng sử dụng chung “ngôn ngữ” và
phương tiện trao đổi dữ liệu
Dữ liệu được xử lý tại mỗi tầng như thế nào?
Chia thành các đơn vị dữ liệu giao thức - PDU
(Protocol Data Unit) gồm có
Header: chứa địa chỉ, thông tin khác để hệ thống mạng xử lý
Payload: dữ liệu cần truyền tải
Chức năng mỗi tầng khác nhau, cách thức xử lý dữ
liệu khác nhau cần phối hợp chức năng giữa các
tầng trong quá trình truyền tải
78
39
18/08/2014
Truyền thông trong kiến trúc
phân tầng
Bên gửi: thêm tiêu đề chứa thông tin phục vụ cho việc
xử lý dữ liệu tại tầng tương ứng và chuyển cho tầng
dưới (Đóng gói dữ liệu – Encapsulation)
Bên nhận: xử lý dữ liệu theo thông tin trong phần tiêu
đề, tách tiêu đề và chuyển dữ liệu cho tầng trên
PDUN
HN-1
...
Gửi
Tầng (N-1)
Tầng (N-1)
...
H1
Tầng N
...
H2 ...
Tầng N
Tầng 2
Tầng 2
Tầng1
Tầng1
PDUN
HN-1
H2 ...
H1
Nhận
...
79
Truyền thông trong kiến trúc
phân tầng (tiếp)
Nhận xét:
PDU tại các tầng đồng cấp của hai bên giống nhau truyền
thông giữa các tầng ngang hàng (truyền thông logic)
Phía nhận phải hiểu nội dung PDU của phía gửi
Phía nhận xử lý PDU nhận được với các tham số là thông tin
trong tiêu đề mà phía gửi đã thiết lập
Phía nhận trả lời/không trả lời cho phía gửi
Các PDU phải truyền đúng theo thứ tự
cần có bộ quy tắc cho hai bên
Giao thức (Network protocol)
Là tập hợp các quy tắc quy định khuôn dạng, ngữ
nghĩa, thứ tự các thông điệp được gửi và nhận giữa các
nút mạng và các hành vi khi trao đổi các thông điệp đó
80
40
18/08/2014
Chồng giao thức (Protocol stack)
•
•
Gọi dịch vụ nào của giao thức tầng dưới
Và cung cấp dịch vụ cho giao thức tầng
trên như thế nào
Các giao thức
tầng N
Các giao thức
tầng N-1
...
Các chức năng được phân chia cho
các tầng
Mỗi tầng có nhiều cách thức để thực
hiện các chức năng sinh ra các
giao thức khác nhau
chồng giao thức: ngăn xếp các giao
thức truyền thông trên kiến trúc phân
tầng
Giao thức mỗi tầng bao gồm:
Các giao thức
tầng 2
Các giao thức
tầng 1
81
Truyền thông trong kiến trúc
phân tầng (tiếp)
Tầng N
Tầng (N-1)
Tầng1
Giao thức PN-1
Giao thức P2
Giao thức P1
Tầng N
Tầng (N-1)
...
...
Tầng 2
Giao thức PN
Tầng 2
Tầng1
Các tầng đồng cấp ở mỗi bên sử dụng chung giao thức
để điều khiển quá trình truyền thông logic giữa chúng
2 cách thức để giao thức điều khiển truyền thông logic giữa các
tầng đồng cấp: hướng liên kết hoặc hướng không liên kết
82
41
18/08/2014
Truyền thông hướng liên kết vs
Truyền thông hướng không liên kết
Truyền thông hướng liên kết (connection
oriented):
Dữ liệu được truyền qua một liên kết đã được thiết lập
Ba giai đoạn: Thiết lập liên kết, Truyền dữ liệu, Hủy
liên kết
Tin cậy
Truyền thông hướng không liên kết
(conectionless)
Không thiết lập liên kết, chỉ có giai đoạn truyền dữ liệu
Không tin cậy
“Best effort”: truyền ngay với khả năng tối đa
83
Giao thức
Unicast, Multicast, Broadcast
Unicast: giao thức điều khiển truyền dữ liệu
tới 1 đích
Multicast: giao thức điều khiển truyền dữ liệu
tới nhiều đích
Broadcast: giao thức điều khiển truyền dữ
liệu tới mọi đích
84
42
18/08/2014
4.2. Mô hình OSI và TCP/IP
Kiến trúc phân tầng trên thực tế (Bao
nhiêu tầng? Chức năng cụ thể?...)
Kiến trúc phân tầng triển khai trên
các nút mạng như thế nào?
85
Mô hình OSI/ISO
Tầng Ứng dụng (Application): cung cấp các ứng
dụng trên mạng (web, email, truyền file…)
Tầng Trình diễn (Presentation): biểu diễn dữ liệu
của ứng dụng, e.g., mã hóa, nén, chuyển đổi…
Tầng Phiên(Session): quản lý phiên làm việc, đồng
bộ hóa phiên, khôi phục quá trình trao đổi dữ liệu
Tầng Giao vận (Transport): Xử lý việc truyền-nhận
dữ liệu cho các ứng dụng chạy trên nút mạng đầucuối
Tầng Mạng (Network): Chọn đường (định tuyến),
chuyển tiếp gói tin từ nguồn đến đích
Tầng Liên kết dữ liệu (Data link): Truyền dữ liệu trên
các liên kết vật lý giữa các nút mạng kế tiếp nhau
Tầng Vật lý (Physical): Chuyển dữ liệu (bit) thành tín
hiệu và truyền
Application
Preentation
Session
Transport
Network
Data link
Physical
86
43
18/08/2014
Mô hình OSI và TCP/IP
Trong mô hình TCP/IP (Internet), chức năng3
tầng trên được phân định cho một tầng duy nhất
Application layer
Presentation layer
Application
HTTP, FTP, SMTP…
Session layer
Transport layer
Transport layer
Network layer
Network layer
Datalink layer
Datalink layer
Physical layer
Physical layer
87
Mô hình OSI và TCP/IP
Mô hình OSI:
Mô hình tham chiếu chức năng: Các mô hình khác
phải tham chiếu từ mô hình OSI
Cung cấp đầy đủ các chức năng mô hình OSI đã chỉ ra
Đảm bảo thứ tự các tầng chức năng
Có ý nghĩa lớn về mặt cơ sở lý thuyết
Không sử dụng trên thực tế
Mô hình TCP/IP: mô hình Internet
Sử dụng trên hầu hết các hệ thống mạng
88
44
18/08/2014
Triển khai kiến trúc phân tầng
Application
Transport
Application
Transport
Network
Network
Network
Datalink
Datalink
Datalink
Physical
Physical
Physical
Nút mạng
đầu cuối
Nút mạng
trung gian
Nút mạng
đầu cuối
Nút mạng đầu cuối (end-system): PC, server,
smartphone...
Nút mạng trung gian: các thiết bị mạng chuyển
tiếp dữ liệu
89
Triển khai kiến trúc phân tầng
Nút mạng đầu cuối (server,
PC, smartphone...)
Ứng dụng mạng cung cấp
dịch vụ cho người dùng
Điều khiển truyền dữ liệu
giữa các ứng dụng
PC
Chọn đường, chuyển tiếp dữ
liệu
Điều khiển truyền dữ liệu trên
các liên kết vật lý
Chuyển dữ liệu thành tín hiệu
và truyền đi
Server
90
45
18/08/2014
Triển khai kiến trúc phân tầng
Nút mạng trung gian
Ứng dụng mạng cung cấp
dịch vụ cho người dùng
PC
Điều khiển truyền dữ liệu
giữa các ứng dụng
Chọn đường, chuyển tiếp dữ
liệu
Điều khiển truyền dữ liệu trên
các liên kết vật lý
Chuyển dữ liệu thành tín hiệu
và truyền đi
Server
91
Chồng giao thức TCP/IP
Aplication
DNS
DHCP
Transport
Network
Data link
Physical
SNMP
HTTP
UDP
RIP
IP
FDDI
Copper
FTP
...
OSPF
...
TCP
ICMP
Ethernet
SMTP
PPP
Optical
DSL
Radio
...
ARP
PSTN
Sử dụng duy nhất một giao thức liên mạng là IP
...
92
46
18/08/2014
Chồng giao thức TCP/IP
Dạng “đồng hồ cát”: sử dụng duy nhất một giao thức
liên mạng (IP – Internet Protocol) tại tầng mạng:
Cho phép một hệ thống mạng mới sử dụng công nghệ truyền
dẫn bất kỳ kết nối với hệ thống mạng hiện tại
Tách rời phát triển ứng dụng ở tầng cao với công nghệ
truyền dẫn các tầng thấp
IP-based application: Ứng dụng trên nền tảng IP (VoIP...)
Hỗ trợ thay đổi song song các công nghệ ở trên và dưới IP
Tuy nhiên, rất khó để nâng cấp bản thân giao thức IP
(vấn đề chuyển đổi IPv4 sang IPv6)
93
Cài đặt TCP/IP trên hệ thống
mạng
• Trên các hệ thống đầu cuối
• Khác nhau trên các ứng
dụng khác nhau
• Như nhau trên mọi nút
IP
• Trên mọi nút
• Khác nhau trên các liên
kết khác nhau
94
47
18/08/2014
Đóng gói trên chồng giao thức
TCP/IP
FTP
FTP
TCP
TCP
IP
IP
Ethernet/10M
CAT5
Nút mạng
đầu cuối
10M
IP
100M
10G
10G
CAT5 WDM
IP
Ethernet/100M
WDM CAT5
Các nút mạng trung gian
CAT5
Nút mạng
đầu cuối
Dữ liệu - payload
95
Đóng gói trên chồng giao thức
TCP/IP
FTP
FTP
TCP
TCP
IP
Ethernet/10M
CAT5
Nút mạng
đầu cuối
IP
10M
IP
IP
10G
10G
CAT5 WDM
100M
WDM CAT5
Các nút mạng trung gian
TCP header
Ethernet/100M
CAT5
Nút mạng
đầu cuối
Dữ liệu - payload
96
48
18/08/2014
Đóng gói trên chồng giao thức
TCP/IP
FTP
FTP
TCP
TCP
IP
IP
Ethernet/10M
CAT5
Nút mạng
đầu cuối
10M
IP
10G
CAT5 WDM
IP
100M
10G
Ethernet/100M
WDM CAT5
Các nút mạng trung gian
IP header TCP header
CAT5
Nút mạng
đầu cuối
Dữ liệu - payload
97
Đóng gói trên chồng giao thức
TCP/IP
FTP
FTP
TCP
TCP
IP
Ethernet/10M
CAT5
Nút mạng
đầu cuối
IP
10M
IP
IP
10G
CAT5 WDM
10G
100M
WDM CAT5
Các nút mạng trung gian
Ethernet header IP header TCP header
Ethernet/100M
CAT5
Nút mạng
đầu cuối
Dữ liệu - payload
98
49
18/08/2014
Đóng gói trên chồng giao thức
TCP/IP
FTP
FTP
TCP
TCP
IP
IP
Ethernet/10M
CAT5
Nút mạng
đầu cuối
10M
IP
10G
CAT5 WDM
IP
100M
10G
Ethernet/100M
WDM CAT5
Các nút mạng trung gian
IP header TCP header
CAT5
Nút mạng
đầu cuối
Dữ liệu - payload
99
Đóng gói trên chồng giao thức
TCP/IP
FTP
FTP
TCP
TCP
IP
IP
Ethernet/10M
CAT5
Nút mạng
đầu cuối
WDM header
10M
IP
IP
10G
CAT5 WDM
10G
100M
WDM CAT5
Các nút mạng trung gian
IP header TCP header
Ethernet/100M
CAT5
Nút mạng
đầu cuối
Dữ liệu - payload
100
50
18/08/2014
Đóng gói trên chồng giao thức
TCP/IP
FTP
FTP
TCP
TCP
IP
IP
Ethernet/10M
CAT5
Nút mạng
đầu cuối
10M
IP
10G
CAT5 WDM
IP
100M
10G
Ethernet/100M
WDM CAT5
Các nút mạng trung gian
IP header TCP header
CAT5
Nút mạng
đầu cuối
Dữ liệu - payload
101
Đóng gói trên chồng giao thức
TCP/IP
FTP
FTP
TCP
TCP
IP
Ethernet/10M
CAT5
Nút mạng
đầu cuối
IP
10M
IP
IP
10G
CAT5 WDM
Ethernet/100M
10G
WDM CAT5
Các nút mạng trung gian
Ethernet header IP header TCP header
CAT5
Nút mạng
đầu cuối
Dữ liệu - payload
102
51
18/08/2014
Đóng gói trên chồng giao thức
TCP/IP
FTP
FTP
TCP
TCP
IP
IP
Ethernet/10M
CAT5
Nút mạng
đầu cuối
10M
IP
10G
CAT5 WDM
IP
100M
10G
Ethernet/100M
WDM CAT5
Các nút mạng trung gian
IP header TCP header
CAT5
Nút mạng
đầu cuối
Dữ liệu - payload
103
Đóng gói trên chồng giao thức
TCP/IP
FTP
FTP
TCP
TCP
IP
Ethernet/10M
CAT5
Nút mạng
đầu cuối
IP
10M
IP
IP
10G
CAT5 WDM
10G
100M
WDM CAT5
Các nút mạng trung gian
TCP header
Ethernet/100M
CAT5
Nút mạng
đầu cuối
Dữ liệu - payload
104
52
18/08/2014
Đóng gói trên chồng giao thức
TCP/IP
FTP
FTP
TCP
TCP
IP
IP
Ethernet/10M
CAT5
Nút mạng
đầu cuối
10M
IP
10G
CAT5 WDM
10G
IP
100M
Ethernet/100M
WDM CAT5
Các nút mạng trung gian
CAT5
Nút mạng
đầu cuối
Dữ liệu - payload
105
4.3. Định danh trong TCP/IP
Tên miền
Số hiệu cổng
Địa chỉ IP
Địa chỉ MAC
106
53
18/08/2014
Định danh
Các định danh cho phép xác định một người hay
một đối tượng
Tên
Bui Trong Tung
Địa chỉ
1 Dai Co Viet, Hai Ba Trung, Ha Noi
Số điện thoại
8680896
Email
tungbt@soict.hut.edu.vn
107
Định danh và cây phân cấp
Các định danh xác định địa chỉ có tính phân cấp
Cho phép quản lý một các logic và hiệu quả một không gian địa
chỉ khổng lồ
Tính mở rộng
Ví dụ về tính phân cấp
Địa chỉ
Số điện thoại
Hanoi
1 Dai Co Viet, Hai Ba Trung, Ha Noi
+84-(4) 868-08-96
Hai Ba Trung
Dai Co Viet
So 1
108
54
18/08/2014
Định danh trên kiến trúc phân tầng
Định danh trong hệ thống mạng máy tính: gán cho mỗi
đối tượng (dịch vụ, máy trạm, thiết bị mạng) một giá trị
riêng.
Tại sao phải định danh?
Phân biệt các đối tượng trong hệ thống
Xác định dữ liệu xuất phát từ đâu
Xác định dữ liệu đi đến đâu
Mỗi tầng có nhiệm vụ khác nhau để điều khiển việc
truyền thông tin giữa những đối tượng khác nhau mỗi
tầng có cơ chế định danh khác nhau
Cùng một đối tượng có thể mang nhiều định danh có thể cần
cơ chế “phân giải” để tìm kiếm một định danh của đối tượng trên
tầng này khi biết định danh của đối tượng đó ở tầng khác
109
Định danh trên TCP/IP
application
Domain name (tên miền)
TCP/UDP
Port number (Số hiệu cổng ƯD)
IP
IP address, e.g. 203.12.15.165
data link
physical
Physical address / MAC address
e.g. 00:11:24:79:8e:82
110
55
18/08/2014
Tên miền (Domain name)
Định danh sử dụng trên tầng ứng dụng
Là một chuỗi ký tự gợi nhớ
Do người dùng sử dụng khi truy cập dịch vụ
trên tầng ứng dụng
Không có ý nghĩa khi truyền dữ liệu giữa các
nút mạng
Phân cấp
Ví dụ: soict.hust.edu.vn
111
Số hiệu cổng ứng dụng
Định danh sử dụng trên tầng giao vận
16 bit
Một chỉ số phụ, dùng kèm theo địa chỉ IP
Các ứng dụng được dịnh danh bởi một địa chỉ IP và
một số hiệu cổng
Tương tự như số phòng trong một tòa nhà
Địa chỉ nhà : Nhà C1, 1 Dai Co Viet, Ha Noi => Địa chỉ IP
Phòng số 325 => Số hiệu cổng
E.g. HTTP cổng 80, FTP cổng 20, 21 …
112
56
18/08/2014
Địa chỉ IP
Định danh dùng trên tầng mạng
Dùng trong giao thức IP - Internet Protocol (tầng mạng)
Giá trị phụ thuộc từng mạng, mỗi card mạng được gán một
địa chỉ IP
Sử dụng để đinh danh một máy tính trong một mạng IP, ví
dụ:
133.113.215.10 (ipv4)
2001:200:0:8803::53 (ipv6)
113
Địa chỉ dùng trên tầng
liên kết dữ liệu
48 bit
Địa chỉ vật lý / địa chỉ MAC
HEX
BIN
Sử dụng trong tầng liên kết dữ liệu
Cố định trên card mạng NIC ( Network Interface Card)
Sử dụng để định danh máy tính trong mạng cục bộ
00:11:24:79:8e:82
00000000
00010001 00100100 01111001
OUI
10001110 10000010
Gán bới nhà sản xuất
OUI (Organizationally Unique Identifier): Mã nhà sản xuất
Mỗi nhà sản xuất có các giá trị OUI riêng
Mỗi nhà sản xuất có thể có nhiều OUI
114
57
18/08/2014
Tổng kết về phân tầng và
chồng giao thức
Lợi ích?
Hạn chế?
115
Khả năng cộng tác
Rất nhiều công nghệ được triển khai theo nhiều cách rất
khác nhau trên các nút mạng:
Phần cứng của những NSX khác nhau: IBM, Dell, Fujitsu,
Apple...
HĐH khác nhau: Linux, Windows, MacOS, Android, iOS...
Người dùng sử dụng các ứng dụng khác nhau: Firefox, Chrome,
Cốc Cốc...
Thiết bị mạng của những NSX khác nhau: Cisco, TP-Link...
Và luôn luôn thay đổi
Phew!
Nhưng tất cả đều có thể nói chuyện với nhau vì
chúng sử dụng chung giao thức
116
58
18/08/2014
Trừu tượng và tái sử dụng
Mỗi tầng có nhiều lựa chọn giao thức để sử dụng:
Tầng vật lý: cáp quang, ADSL, 3G, LTE...
Tầng liên kết dữ liệu: Ethernet, Token Ring, SONET, FDDI...
Giao vận: TCP, UDP
Nhưng ở góc nhìn của tầng ứng dụng: Mozilla (và tất
cả NSX khác) không phải viết trình duyệt Firefox (và tất
cả ứng dụng khác) với 1 phiên bản cho mạng LAN, 1
cho mạng cáp quang, 1 cho mạng WiFi...
Các giao thức cung cấp API chuẩn để phát triển ứng dụng
Các tầng thấp “trong suốt” với tầng ứng dụng
117
Trong suốt
Công nghệ trên mỗi tầng thực hiện các
phương thức truyền thông khác nhau
Thay thế công nghệ ở các tầng có thể thực
hiện song song
Miễn là giữ nguyên điểm truy cập dịch vụ SAP
Thay thế công nghệ ở một tầng không ảnh
hưởng đến các tầng khác
118
59
18/08/2014
Hạn chế
Một số thông tin ở tầng dưới bị “ẩn” (do tính trong suốt)
đối với tầng trên có thế làm giảm hiệu năng hoạt động
của tầng trên (và do đó làm giảm hiệu năng hoạt động
của mạng)
Ví dụ: TCP phải kiểm soát tắc nghẽn trên đường truyền
Phần tiêu đề có kích thước đáng kể trong gói tin
Một số công nghệ tầng dưới có thể làm giao thức tầng
trên thực hiện khó khăn hơn:
Ví dụ: TCP trên mạng không dây
TCP/IP không có các cơ chế an toàn bảo mật thông tin
119
Tài liệu tham khảo
Keio University
“Computer Networking: A Top Down Approach”,
J.Kurose
“Computer Network”, Berkeley University
120
60