Professional Documents
Culture Documents
COMPUTER
NETWORKING
mobile network
local or
Introduction
Internet
regional ISP
enterprise
network
Chương1: Giới thiệu
Mục tiêu: Overview:
! Làm quen với thuật ! Internet là gì?
ngữ ! Giao thức là gì?
! Mạng biên; hosts, mạng truy
! Tìm hiểu sâu hơn
nhập, phương tiện truyền dẫn
trong khóa học này vật lý
! Cách tiếp cận: ! Mạng lõi: chuyển mạch gói/
chuyển mạch kênh, cấu trúc
" Sử dụng Internet Internet
làm ví dụ ! Hiệu suất: sự mất mát, độ trễ,
thông lượng
! Bảo mật
! Các lớp giao thức, các mô hình
dịch vụ
! Lịch sử Introduction 1-2
Chương 1: Nội dung
1.1 Internet là gì?
1.2 Mạng biên
" Các hệ thống đầu cuối, mạng truy nhập, các liên
kết
1.3 Mạng lõi
" Chuyển mạch gói, chuyển mạch kênh, cấu trúc
mạng
1.4 Độ trễ, độ trễ, thông lượng trong mạng
1.5 Các lớp giao thức, các mô hình dịch vụ
1.6 Mạng bị tấn công: bảo mật
1.7 Lịch sử
Giới thiệu 1-3
Internet là gì: nuts and bolts
! Hàng triệu các thiết bị
PC
máy tính được kết nối: mạng di động
wireless
laptop cuối ISP toàn cầu
Khung hình IP
http://www.ceiva.com/
Tweet-a-watt:
Máy giám sát
sử dụng năng lượng
mạng tổ chức
DSL splitter
modem DSLAM
ISP
Thoại, dữ liệu được truyền ở
các tần số khác nhau DSL access
qua đường dây dành riêng multiplexer
đến văn phòng trung tâm
! Dùng đường dây điện thoại kết nối đến các DSLAM của
văn phòng trung tâm
" dữ liệu qua đường dây điện thoại DSL đi ra Internet
" tín hiệu thoại trên đường dây điện thoại DSL đi đến
mạng điện thoại
! < 2.5 Mbps tốc độ truyền dữ liệu lên (thường < 1 Mbps)
! < 24 Mbps tốc độ truyền dữ liệu xuống (thường< Giới
10thiệu 1-13
Mạng truy cập: mạng cáp
cable headend
cable splitter
modem
C
O
V V V V V V N
I I I I I I D D T
D D D D D D A A R
E E E E E E T T O
O O O O O O A A L
1 2 3 4 5 6 7 8 9
Channels
institutional link to
ISP (Internet)
institutional router
to Internet
to Internet
Introduction 1-22
Chương 1: nội dung
1.1 Internet là gì?
1.2 Mạng biên
" hệ thống đầu cuối, mạng truy cập, các liên kết
1.3 Mạng lõi
" Chuyển mạch gói, chuyển mạch kênh, cấu trúc
mạng
1.4 Độ trễ, sự mất mát, thông lượng trong
mạng
1.5 Các lớp giao thức, các mô hình dịch vụ
1.6 Mạng bị tấn công: bảo mật
1.7 Lịch sử
Giới thiệu 1-23
Mạng lõi
! Lưới các bộ định tuyến
được kết nối với nhau
! Chuyển mạch gói: hosts
chia nhỏ dữ liệu từ tầng
ứng dụng (application-
layer messages) thành
các packets
" Chuyển tiếp các gói từ
một bộ định tuyến này
đến bộ định tuyến tiếp
theo qua các đường link
trên đường đi từ nguồn
tới đích.
" Mỗi packet được truyền
tải với công suất lớn nhất
của đường link
Giới thiệu 1-24
Chuyển mạch gói: store-and-forward
L&bits&
mỗi&packet&
routing algorithm
frequency
time
TDM
frequency
time
Giới thiệu 1-29
So sách chuyển mạch gói với
chuyển mạch kênh
Chuyển mạch gói cho phép nhiều người dùng ược
sử dụng mạng!
Ví dụ:
" Đường link 1 Mb/s
N
…..
" Mỗi user: users
• 100 kb/s khi kích hoạt Đường liên kết
• Thời gian kích hoạt 10% 1 Mbps
access
… access
net
access
net …
net
access
access net
net
access
access net
net
…
access access
net net
access
net
access
net
access
net
access
net
… access
net
access
net
…
access
net
Kiến trúc Internet: mạng của các
mạng*
Tùy chọn: kết nối từng access ISP ến các access ISP
khác?
access
… access
net
access
net …
net
access
access net
net
… access
access net
net
access
ISP đến từng access ISP access
…
net
khác sẽ không phát triển net
access
net
access
net
… access
net
access
net
…
access
net
Kiến trúc Internet: mạng của các mạng
Tùy chọn: kết nối từng access ISP ến một ISP chuyển
tiếp toàn cầu? Khách hàng và nhà cung cấp dịch vụ ISP phải
thoải thuận về kinh tế.
access
… access
net
access
net …
net
access
access net
net
access
access net
net
…
ISP
access
net
toàn cầu access
net
access
net
access
net
access
net
access
net
… access
net
access
net
…
access
net
Kiến trúc Internet: mạng của các mạng
Nhưng nếu một IPS toàn cầu là khả thì, thì sẽ có nhiều
đối thủ cạnh tranh
access
… access
net
access
net …
net
access
access net
net
access
access net
net
ISP A
…
access access
net ISP B net
access
ISP C
net
access
net
access
net
access
net
… access
net
access
net
…
access
net
Kiến trúc Internet: mạng của các mạng
Nhưng nếu một ISP toàn cầu là khả thi, thì sẽ có các đối
thủ cạnh tranh được kết nối với nhau
Internet exchange point
access
access
…
access
net net …
net
access
access net
net
access
IXP access
net
net
ISP A
…
access
ISP C
net
access
net
access
net
peering link
access
net
… access
net
access
net
…
access
net
Kiến trúc Internet: mạng của các mạng
… và các mạng khu vực có thể phát sinh để kết nối các
mạng lưới truy cập này đến các ISP
access
… access
net
access
net …
net
access
access net
net
access
IXP access
net
net
ISP A
…
access
ISP C
net
access
net
access
net Mạng khu vực
access
net
… access
net
access
net
…
access
net
Kiến trúc Internet: mạng của các
mạng
… và các mạng cung cấp nội dung (như là Google,
Microsoft, Akamai ) có thể chạy mạng riêng của họ để
mạng lại các dịch vụ và nội dung gần sát với người dùng
cuối … access
net
access
net …
access
net
access
access net
net
access
IXP access
net
net
ISP A
…
access
ISP B
net
access
net
access
net Mạng khu vực
access
net
… access
net
access
net
…
access
net
Kiến trúc Internet: mạng của các mạng
ISP cấp 1 ISP cấp 1 Google
! Tại trung tâm: một số lượng nhỏ các mạng lớn được kết nối với
nhau
" ISPs thương mại lớp-1 (như là Level 3, Sprint, AT&T, NTT), bao
trùm các quốc gia và toàn thế giới
" content provider network (như là Google): mạng riêng kết nối các
trung tâm dữ liệu của nó với Internet, thường bỏ qua các IPS vùng
Giới thiệu 1-40 và
ISP cấp 1: như là Sprint
POP: point-of-presence
đến/từbackbone
peering
… … …
…
B
packets đang đợi (trễ)
Bộ đêm rãnh rỗi (sẵn sàng): các gói tin đến sẽ bị bỏ (mất mát)
nếu không có bộ đệm còn trống
B
xử lý
tai nút xếp hàng
B
xử lý
tại nút xếp hàng
average queueing
! R: băng thông đường link (bps)
delay
! L: độ dài gói tin (bits)
! a: tỷ lệ trung bình gói tin đến
* Check out the Java applet for an interactive animation on queuing and loss La/R -> 1
Giới thiệu 1-48
Độ trễ và định tuyến trên Internet
“thực tế”
! Độ trễ và sự mất mát trên Internet thực
tế trông như thế nào
! Chương trình traceroute: giúp đo lường độ
trễ từ nguồn tới thiết bị định tuyến cái mà
dọc theo con đường Internet từ đầu cuối
này đến đầu cuối kia đến đích. Với tất cả i:
" Gởi 3 gói tin sẽ đến bộ định tuyến I trên đường
tới đích
" Router i sẽ trả về các gói tin cho người gởi
" Khoảng thời gian lần gửi giữa truyền và trả lời
3 probes 3 probes
3 probes
Giới thiệu 1-49
Độ trễ và định tuyến trên
Internet “thực tế”
traceroute: gaia.cs.umass.edu đến www.eurecom.fr
3 giá trị trễ từ
gaia.cs.umass.edu đến cs-gw.cs.umass.edu
1 cs-gw (128.119.240.254) 1 ms 1 ms 2 ms
2 border1-rt-fa5-1-0.gw.umass.edu (128.119.3.145) 1 ms 1 ms 2 ms
3 cht-vbns.gw.umass.edu (128.119.3.130) 6 ms 5 ms 5 ms
4 jn1-at1-0-0-19.wor.vbns.net (204.147.132.129) 16 ms 11 ms 13 ms
5 jn1-so7-0-0-0.wae.vbns.net (204.147.136.136) 21 ms 18 ms 18 ms
6 abilene-vbns.abilene.ucaid.edu (198.32.11.9) 22 ms 18 ms 22 ms
7 nycm-wash.abilene.ucaid.edu (198.32.8.46) 22 ms 22 ms 22 ms trans-oceanic
8 62.40.103.253 (62.40.103.253) 104 ms 109 ms 106 ms
9 de2-1.de1.de.geant.net (62.40.96.129) 109 ms 102 ms 104 ms link
10 de.fr1.fr.geant.net (62.40.96.50) 113 ms 121 ms 114 ms
11 renater-gw.fr1.fr.geant.net (62.40.103.54) 112 ms 114 ms 112 ms
12 nio-n2.cssi.renater.fr (193.51.206.13) 111 ms 114 ms 116 ms
13 nice.cssi.renater.fr (195.220.98.102) 123 ms 125 ms 124 ms
14 r3t2-nice.cssi.renater.fr (195.220.98.110) 126 ms 126 ms 124 ms
15 eurecom-valbonne.r3t2.ft.net (193.48.50.54) 135 ms 128 ms 133 ms
16 194.214.211.25 (194.214.211.25) 126 ms 128 ms 126 ms
17 * * *
18 * * * * Không có phản hồi (thăm dò bị mất, router không trả lời)
19 fantasia.eurecom.fr (193.55.113.142) 132 ms 128 ms 136 ms
* Do some traceroutes from exotic countries at www.traceroute.org
Giới thiệu 1-50
Sự mất gói
! Hàng đợi (còn gọi là bộ đệm) trước đường link
trong bộ đệm có khả năng hữu hạn.
! Gói tin đến hàng đợi đầy thì sẽ bị bỏ (còn gọi là
sự mất mát)
! Gói tin bị mất có thể được truyền lại bởi nút
mạng trước đó, hay bởi hệ thống đầu cuối
nguồn hoặc không truyền gì cả
Bộ đệm
A (vùng đang đợi) gói tin đang được truyền lại
B
Gói tin đến hàng đợi đầy thì sẽ bị bỏ
* Check out the Java applet for an interactive animation on queuing and loss Giới thiệu 1-51
Thông lượng
! Thông lượng: tốc độ(bits/time unit) mà các
bit được truyền giữa người gởi và nhận
" tức thời: tốc độ tại thời điểm được cho
" trung bình: tốc độ trong thời gian dài hơn
Máyserver,
chủ with
gởi các link capacity
đường ống có thể link capacity
Đường ống có thể mang
bit (chấtbits
file of F lỏng) Rs bits/sec
mang chất lỏng với R
chấtbits/sec
c lỏng với tốc độ
to send to
vào đường ốngclient tốc độ Rc bits/sec
Rs bits/sec
Rs bits/sec Rc bits/sec
Rs bits/sec Rc bits/sec
Rc
! Các bước
airplane routing airplane routing airplane routing airplane routing Lộ trình bay
Sân bay Trung tâm điều hành trung chuyển Sân bay đến
khởi hành
Bộ
Chuyển mạch
đích Hn Ht M network
M application
Hl Hn Ht M link Hn Ht M
Ht M transport physical
Hn Ht M network
Hl Hn Ht M link Bộ
định tuyến
physical
Introduction 1-71
Lịch sử Internet
1980-1990: new protocols, a proliferation of networks
END OF LECTURE
mobile network
enterprise
network
Hong Bang International University
Department of Information Technology
COMPUTER
NETWORKING
mobile network
local or
Application Layer
Internet
regional ISP
enterprise
network
Chương 2: Nội dung
2.1 Các nguyên lý của 2.6 Các ứng dụng P2P
các ứng dụng mạng 2.7 Lập trình socket
2.2 Web và HTTP với UDP và TCP
2.3 FTP
2.4 E-Mail
" SMTP, POP3,IMAP
2.5 DNS
người dùng
! Các ứng dụng trên các hệ
thống đầu cuối cho phép
quảng bá và phát triển ứng
dụng nhanh chóng Tầng Application 2-5
Các kiến trúc ứng dụng
Cấu trúc có thể của các ứng dụng:
! Client-Server
! peer-to-peer (P2P) (Mạng ngang hàng)
! Lai giữa Client-Server và P2P
clients:
client/server ! Giao tiếp với server
! Có thể kết nối không liên
tục
! Có thể dùng địa chỉ IP
động
! Không giao tiếp trực tiếp
với các client khác
Tầng Application 2-7
Kiến trúc P2P (ngang hàng)
! Không có server peer-peer
! Các hệ thống đầu cuối bất kỳ
truyền thông trực tiếp với
nhau
! Các peer yêu cầu dịch vụ từ
các peer khác và cung cấp
dịch vụ ngược lại cho các
peer khác
" Có khả n ng tự mở rộng –
các peer mới mang lại
năng lực dịch vụ mới, cũng
như các nhu cầu về dịch
vụ mới
! Các peer được kết nối không
liên tục và có thể thay đổi
địa chỉ IP
" Quản lý phức tạp Tầng Application 2-8
Các tiến trình liên lạc
Tiến trình (process):
chương trình chạy clients, servers
trong một host. Tiến trình client: tiến
! Trong cùng một host, trình khởi tạo
hai tiến trình giao tiếp truyền thông
với nhau bằng cách sử Tiến trình server: tiến
dụng truyền thông liên
tiến trình (inter- trình chờ đợi để
process communication) được liên lạc
được định nghĩa bởi hệ
điều hành. ! Chú ý: các ứng dụng với
! Các tiến trình trong các kiến trúc P2P có cả các
host khác nhau truyền tiến trình client và
thông với nhau bởi trao server
đổi các thông điệp
(message) Tầng Application 2-9
Sockets
! Tiến trình gửi/nhận thông điệp đến/ từ socket của nó
! Socket tương tự như cổng ra vào
" Tiến trình gởi đẩy thông điệp ra khỏi cửa
" Tiến trình gởi dựa trên cổng của hạ tầng truyền
thông bên kia để phân phối thông điệp đến socket
tại tiến trình nhận
application application
socket Được kiểm soát
process process Bởi nhà phát triển
ứng dụng
transport transport
network network Được điều khiển
link
bởi hệ điều hành
link Internet
physical physical
2: Application Layer 26
Thông điệp yêu cầu HTTP
~
~ entity body ~
~ thân
3. Xem thông điệp đáp ứng được gửi bởi HTTP server!
(hoặc dùng Wireshark để xem thông điệp
yêu cầu và đáp ứng của HTTP được bắt lại) Tầng Application 2-33
Trạng thái User-server: cookies
Nhiều Web site dùng cookies Ví dụ:
4 thành phần: ! Susan thường truy cập
1) cookie header line của Internet từ một PC
thông điệp đáp ứng ! Vào trang thương mại
HTTP điện tử cho lần đầu tiên
2) cookie header line ! Khi yêu cầu khởi tạo
trong thông điệp đáp HTTP đến trang web đó,
ứng HTTP kế tiếp thì trang đó tạo:
3) File cookie được lưu " ID duy nhất
trữ trên host của người " Một entry trong cơ
dùng, được quản lý mởi sở dữ liệu backend
trình duyệt của người cho ID đó
sử dụng
4) Cở sở dữ liệu back-end
tại Web site
Tầng Application 2-34
Cookies: lưu trữ trạng thái (tt.)
client server
! FTP client liên hệ với FTP Kết nối điều khiển TCP,
server port 21
server tại port 21, dùng
TCP
Kết nối dữ liệuTCP,
! client được cấp phép trên FTP server port 20 FTP
kết nối điều khiển client server
Lệnh ở trên cho phép bạn gửi email không cần dùng
email client (reader)
(authorization)
C: pass hungry
S: +OK user successfully logged on
! Các lệnh phía client:
C: list
" user: khai báo username
S: 1 498
" pass: password S: 2 912
! Đáp ứng phía server S: .
" +OK C: retr 1
" -ERR S: <message 1 contents>
… …
gaia.cs.umass.edu
type=A type=CNAME
" Name là tên host " Name là bí danh của một số
" Value là địa chỉ IP tên chuẩn (tên thực)
www.ibm.com is really
type=NS servereast.backup2.ibm.com
" Name là tên miền " Value là tên chuẩn (tên thật)
(e.g., foo.com)
" Value là tên host của
name server có thẩm type=MX
quyền cho tên miền " Value là tên của mail server
này được liên kết với name
2 bytes 2 bytes
identification flags
Ví dụ:
" P h â n p h ố i f i l e
(BitTorrent)
" Streaming (KanKan)
" VoIP (Skype)
3.5
P2P
Minimum Distribution Time
3
Client-Server
2.5
1.5
0.5
0
0 5 10 15 20 25 30 35
N
Tầng Application 2-79
Phân phối file P2P: BitTorrent
! File được chia thành các khối 256Kb
! Các peer trong in torrent gởi/nhận các khối file
Alice đến…
… có được danh sách
của các peer từ tracker
… và bắt đầu trao đổi các
khối fileexchanging với
các peer trong torrent
Tầng Application 2-80
Phân phối file P2P: BitTorrent
! Peer tham gia torrent:
" Không có các khối, nhưng
sẽ tích lũy chúng theo thời
gian từ các peer khác
" Đăng ký với tracker để lấy
danh sách các peer, kết nối
với tập hợp của các peer
( các láng giềng )
! Trong khi tải xuống, peer tải lên các khối dữ liệum mà
mình đang có tới các peer khác
! Peer có thể thay đổi các peer mà nó đang trao đổi các
khối dữ liệu
! churn: peers có thể đến và đi
! Một khi peer có toàn bộ file, nó có thể rời khỏi hoặc ở
lại trong torrent
Tầng Application 2-81
BitTorrent: yêu cầu, gởi các khối file
! Mô hình DHT
! Peer churn
Cơ sở dữ liệu đơn giản
Cơ sở dữ liệu đơn giản với cặp(key, value):
• key: tên người: số an sinh xã hội
Key Value
John Washington 132-54-3570
Diana Louise Jones 761-55-3791
Xiaoming Liu 385-41-0902
Rakesh Gopal 441-89-1956
Linda Cohen 217-66-5609
……. ………
Lisa Kobayashi 177-23-0199
12"
60"
13"
48"
25"
40"
32" overlay network
Giải quyết một truy vấn
1" Giá"trị"nào"được""
kết"hợp"với"key"53"?"
value" 12"
60"
13"
48"
O(N) các thông điệp 25"
trung bình để giải quyết
truy vấn, khi có N peer 40"
32"
DHT vòng tròn với đường tắt
1" Giá"trị"nào"cho"
value"
key"53"
12"
60"
13"
48"
25"
40"
32"
• Mỗi peer theo dõi đại chỉ IP của người tiền nhiệm,
người kế nhiệm, đường tắt.
• Giảm từ 6 còn 3 thông điệp.
• Có thể thiết kế các đường tắt với O(log N) láng giềng,
O(log N) thông điệp trong truy vấn
Peer churn Xử lý peer churn:
1"
! Các peer có thể đến và đi
(churn)
3" ! Mỗi peer biết địa chỉ của hai
15"
kế nhiệm của nó
4" ! Mỗi peer định kỳ ping hai
kế nhiệm của nó để kiểm tra
12" sự tồn tại
5"
! Nếu người vừa kế nhiệm bỏ
10" đi, thì chọn kế nhiệm kế tiếp
8"
Ví dụ: peer 5 ột ngột rời khỏinhư là người kế nhiệm tức
thời mới
Peer churn Xử lý peer churn:
! Các peer có thể đến và đi
1"
(churn)
! Mỗi peer biết địa chỉ của hai
3" kế nhiệm của nó
15"
! Mỗi peer định kỳ ping hai
4" kế nhiệm của nó để kiểm tra
sự tồn tại
12"
! Nếu người vừa kế nhiệm bỏ
đi, thì chọn kế nhiệm kế tiếp
10" như là người kế nhiệm tức
8"
thời mới
Ví dụ: peer 5 ột ngột rời khỏi
! peer 4 phát hiện sự rời khỏi của peer 5; peer 8
trở thành người kế nhiệm ngay lập tức của nó
! 4 yêu cầu 8 là người kế nhiệm tức thời của nó;
người kế nhiệm tức thời của 8 trở thành người kế
nhiệm thứ 2 của 4.
Chương 2: Nội dung
Application 2-98
Ví dụ ứng dụng: UDP client
Python UDPClient
Bao gồm thư viện socket
của Python’ from socket import *
serverName = ‘hostname’
serverPort = 12000
Tạo socket UDP cho
server
clientSocket = socket(socket.AF_INET,
write reply to
connectionSocket read reply from
clientSocket
close
connectionSocket close
clientSocket
END OF LECTURE
mobile network
enterprise
network
Socket Programming
2: Application Layer 1
Socket-programming using TCP
Socket: a door between application process and end-
end-transport protocol (UCP or TCP)
TCP service: reliable transfer of bytes from one
process to another
controlled by
controlled by process application
application process
developer
developer socket socket
controlled by TCP with TCP with controlled by
buffers, operating
operating buffers, internet variables system
system variables
host or host or
server server
2: Application Layer 2
Socket programming with TCP
Client must contact server r When contacted by client,
r server process must first server TCP creates new
be running socket for server process to
r server must have created communicate with client
socket (door) that m allows server to talk with
welcomes client’s contact multiple clients
m source port numbers
Client contacts server by:
used to distinguish
r creating client-local TCP
clients (more in Chap 3)
socket
r specifying IP address, port application viewpoint
number of server process
TCP provides reliable, in-order
r When client creates
transfer of bytes (“pipe”)
socket: client TCP
between client and server
establishes connection to
server TCP
2: Application Layer 3
Stream jargon
keyboard monitor
r A stream is a sequence
of characters that flow
inFromUser
into or out of a process. input
stream
inFromServer
outToServer
output input
attached to an output
stream stream
2: Application Layer 4
Socket programming with TCP
keyboard monitor
Example client-server app:
1) client reads line from
inFromUser
standard input (inFromUser input
stream
stream) , sends to server via Client
socket (outToServer Process
process
stream)
2) server reads line from socket
3) server converts line to
uppercase, sends back to
inFromServer
outToServer
output input
client stream stream
2: Application Layer 5
Client/server socket interaction: TCP
Server (running on hostid) Client
create socket,
port=x, for
incoming request:
welcomeSocket =
ServerSocket()
write reply to
connectionSocket read reply from
clientSocket
close
connectionSocket close
clientSocket
2: Application Layer 6
Example: Java client (TCP)
import java.io.*;
import java.net.*;
class TCPClient {
sentence = inFromUser.readLine();
Send line
to server outToServer.writeBytes(sentence + '\n');
clientSocket.close();
}
}
2: Application Layer 8
Example: Java server (TCP)
import java.io.*;
import java.net.*;
class TCPServer {
2: Application Layer 9
Example: Java server (TCP), cont
Create output
stream, attached DataOutputStream outToClient =
to socket new DataOutputStream(connectionSocket.getOutputStream());
Read in line
from socket clientSentence = inFromClient.readLine();
2: Application Layer 10
Socket programming with UDP
2: Application Layer 11
Client/server socket interaction: UDP
Server (running on hostid) Client
write reply to
serverSocket
specifying client read reply from
clientSocket
host address,
port number close
clientSocket
2: Application Layer 12
Example: Java client (UDP)
keyboard monitor
inFromUser
input
stream
Client
Process
Input: receives
process
packet (TCP
Output: sends
received “byte
packet (TCP sent stream”)
receivePacket
sendPacket
“byte stream”) UDP UDP
packet packet
client UDP
clientSocket
socket UDP
socket
2: Application Layer 13
Example: Java client (UDP)
import java.io.*;
import java.net.*;
class UDPClient {
public static void main(String args[]) throws Exception
{
Create
input stream BufferedReader inFromUser =
new BufferedReader(new InputStreamReader(System.in));
Create
client socket DatagramSocket clientSocket = new DatagramSocket();
Translate
InetAddress IPAddress = InetAddress.getByName("hostname");
hostname to IP
address using DNS byte[] sendData = new byte[1024];
byte[] receiveData = new byte[1024];
2: Application Layer 15
Example: Java server (UDP)
import java.io.*;
import java.net.*;
class UDPServer {
public static void main(String args[]) throws Exception
Create {
datagram socket
DatagramSocket serverSocket = new DatagramSocket(9876);
at port 9876
byte[] receiveData = new byte[1024];
byte[] sendData = new byte[1024];
while(true)
{
Create space for
DatagramPacket receivePacket =
received datagram
new DatagramPacket(receiveData, receiveData.length);
Receive serverSocket.receive(receivePacket);
datagram
2: Application Layer 16
Example: Java server (UDP), cont
String sentence = new String(receivePacket.getData());
Get IP addr
InetAddress IPAddress = receivePacket.getAddress();
port #, of
sender int port = receivePacket.getPort();
sendData = capitalizedSentence.getBytes();
Create datagram
DatagramPacket sendPacket =
to send to client new DatagramPacket(sendData, sendData.length, IPAddress,
port);
Write out
datagram serverSocket.send(sendPacket);
to socket }
}
} End of while loop,
loop back and wait for
another datagram
2: Application Layer 17
Building a simple Web server
r handles one HTTP r after creating server,
request you can request file
r accepts the request using a browser (eg IE
explorer)
r parses header
r see text for details
r obtains requested file
from server’s file
system
r creates HTTP response
message:
m header lines + file
r sends response to client
2: Application Layer 18
Hong Bang International University
Department of Information Technology
COMPUTER
NETWORKING
mobile network
local or
Transport Layer
Internet
regional ISP
enterprise
network
Chương 3: Tầng Transport
Mục tiêu:
! Hiểu về các nguyên lý ! Tìm hiểu về các giao
đằng sau các dịch vụ thức tầng transport
tầng transport: trên Internet:
" multiplexing/ " UDP: vận chuyển phi
demultiplexing kết nối
" Truyền dữ liệu tin cậy " TCP: vận chuyển tin cậy
" Điều khiển luồng (flow hướng kết nối
control) (connection-oriented
" Điều khiển tắt nghẽn reliable transport)
(congestion control) " Điều khiển tắt nghẽn
TCP
Application
! Có nhiều hơn 1 giao thức tầng
transport dành cho các ứng dụng
" Internet: TCP và UDP
Tầng Transport 3-4
Tầng Transport với tầng network
! Tầng network: Tình huống tương tự:
truyền thông 12 ứa trẻ ở nhà Ann gửi
logic giữa các những bức thư ến 12
host ứa trẻ ở nhà Bill:
! hosts = nhà
! Tầng transport : ! Các tiến trình
truyền thông (processes) = những
logic giữa các đứa trẻ
tiến trình ! Thông điệp tầng ứng
dụng = các bức thư
" Dựa vào và tăng trong các phong bì
cường các dịch ! Giao thức tầng
vụ tầng network transport = Ann and Bill
! Giao thức tầng
network= dịch vụ bưu
điện
Tầng Transport 3-5
Các giao thức tầng transport trên
Internet
Tin cậy, truyền theo
application
transport
! network
network
UDP
physical
network
data link application
effort) của IP
! Không có các dịch vụ:
" Bảo đảm độ trễ
" Bảo đảm băng thông Tầng Transport 3-6
Chương 3 Nội dung
3.1 các dịch vụ tầng 3.5 vận chuyển hướng
Transport kết nối: TCP
3.2 multiplexing và " Cấu trúc segment
demultiplexing " Truyền dữ liệu tin cậy
3.3 vận chuyển phi " Điều khiển luồng (flow
control)
kết nối: UDP
" Quản lý kết nối
3.4 các nguyên lý
truyền dữ liệu tin 3.6 các nguyên lý về
cậy điều khiển tắc nghẽn
3.7 điều khiển tắc nghẽn
TCP
application
application P4 P5 P6 application
P3 P2 P3
transport
transport transport
network
network link network
link physical link
physical server: physical
địa chỉ IP
B
bit dư 1 1 0 1 1 1 0 1 1 1 0 1 1 1 0 1 1
tổng 1 1 0 1 1 1 0 1 1 1 0 1 1 1 1 0 0
checksum 1 0 1 0 0 0 1 0 0 0 1 0 0 0 0 1 1
Lưu ý: khi cộng các số, bit nhớ ở phía cao nhất cần
được thêm vào kết quả
! Các đặc điểm của kênh truyền không tin cậy sẽ xác
định sự phức tạp của giao thức truyền dữ liệu
(data transfer protocol) (rdt) Tầng Transport 3-21
Các nguyên lý truyền dữ liệu tin
cậy
! quan trọng trong các tầng application,
transport và link
" Top 10 danh sách các chủ đề mạng quan trọng
! Các đặc điểm của kênh truyền không tin cậy sẽ xác
định sự phức tạp của giao thức truyền dữ liệu
(data transfer protocol) (rdt) Tầng Transport 3-22
Các nguyên lý truyền dữ liệu tin
cậy
! quan trọng trong các tầng application,
transport và link
" Top 10 danh sách các chủ đề mạng quan trọng
! Các đặc điểm của kênh truyền không tin cậy sẽ xác
định sự phức tạp của giao thức truyền dữ liệu data
transfer protocol (rdt) Transport Layer 3-23
Truyền dữ liệu tin cậy: bắt đầu
rdt_send(): được gọi bởi tầng trên, deliver_data(): được gọi bởi rdt
(tầng applicaiton). Chuyển dữ liệu để chuyển dữ liệu đến tầng cao
cần truyền đến lớp cao hơn ở bên hơn
nhận
Bên Bên
gửi nhận
udt_send(): được gọi bởi rdt, rdt_rcv(): được gọi khi gói dữ liệu
để truyền các gói trên kênh đến kênh của bên nhận
không tin cậy đến nơi nhận
rdt_rcv(rcvpkt) &&
notcorrupt(rcvpkt)
extract(rcvpkt,data)
deliver_data(data)
udt_send(ACK)
rdt_rcv(rcvpkt) &&
notcorrupt(rcvpkt)
extract(rcvpkt,data)
deliver_data(data)
udt_send(ACK)
rdt_rcv(rcvpkt) &&
notcorrupt(rcvpkt)
extract(rcvpkt,data)
deliver_data(data)
udt_send(ACK)
extract(rcvpkt,data)
deliver_data(data)
sndpkt = make_pkt(ACK, chksum)
udt_send(sndpkt)
U L/R .008
sender = = = 0.00027
RTT + L / R 30.008
U L/R .008
sender = = = 0.00027
RTT + L / R 30.008
U 3L / R .0024
sender = = = 0.00081
RTT + L / R 30.008
! Gửi lại packet n, khởi độnglại ! Thứ tự: truyền (cũng truyền
bộ định thì các gói đã đệm, có thứ tự),
ACK(n) trong [sendbase,sendbase dịch chuyển cửa sổ đến gói
+N]: chưa nhận kế tiếp
! Đánh dấu packet n là đã được Packet n trong [rcvbase-
nhận N,rcvbase-1]
! Nếu gói không ACK có n nhỏ ! ACK(n)
tình huống
(sau khi nhận) (sau khi nhận)
User
Nhập
C Seq=42, ACK=79, data = C
host báo nhận thành công C ,
phản hồi ngược lại C
300
250
RTT (milliseconds)
RTT
200
sampleRTT
150
EstimatedRTT
100
1 8 15 22 29 36 43 50 57 64 71 78 85 92 99 106
time (seconnds)
Tầng Transport 3-62
time (seconds)
SampleRTT Estimated RTT
TCP round trip time và timeout
! Khoảng thời gian timeout (timeout interval):
EstimatedRTT cộng với biên an toàn
" Sự thay đổi lớn trong EstimatedRTT -> an toàn biên lớn hơn
! Ước lượng độ lệch SampleRTT từ EstimatedRTT:
DevRTT = (1-β)*DevRTT +
β*|SampleRTT-EstimatedRTT|
(typically, β = 0.25)
if (y > SendBase) {
SendBase = y
/* SendBase–1: last cumulatively ACKed byte */
if (there are currently not-yet-acked segments)
start timer
else stop timer
} Tầng Transport 3-67
TCP: tình huống truyền lại
Host A Host B Host A Host B
SendBase=92
Seq=92, 8 bytes of data Seq=92, 8 bytes of data
timeout
ACK=100
X
ACK=100
ACK=120
SendBase=120
X
ACK=120
ACK tích l y
Tầng Transport 3-69
Sự phát sinh TCP ACK [RFC 1122, RFC 2581]
Sự kiện tại bên nhận Hành động bên nhận TCP
segment đến theo thứ tự với số ACK bị trễ. Đợi đến 500ms cho segment
thứ tự được mong đợi. Tất cả kế tiếp. Nếu không có segment kế tiếp, gửi
dữ liệu đến đã được ACK ACK
segment đến theo thứ tự với số Lập tức gởi lại một ACK tích lũy, thông báo
thứ tự mong muốn. 1 segment nhận thành công cho cả segment theo thứ
khác có ACK đang treo tự
Segment đến không theo thứ tự Lập tức gởi lại ACK trùng, chỉ ra số thứ tự
với số thứ tự lớn hơn số được của byte được mong đợi kế tiếp
mong đợi. Có khoảng trống
segment đến lắp đầy từng phần Lập tức gửi ACK, với điều kiện là segment
hoặc toàn bộ khoảng trống đó bắt đầu ngay điểm có khoảng trống
IP
iều khiển luồng code
network network
choose x choose x
req_conn(x) req_conn(x)
ESTAB ESTAB
retransmit acc_conn(x) retransmit acc_conn(x)
req_conn(x) req_conn(x)
ESTAB ESTAB
data(x+1) accept
req_conn(x)
retransmit data(x+1)
data(x+1)
connection connection
client x completes server x completes server
client
terminates forgets x terminates forgets x
req_conn(x)
ESTAB ESTAB
data(x+1) accept
Kết nối mở một nữa! data(x+1)
(không có client!)
Tầng Transport 3-79
TCP bắt tay 3-way
closed
Socket connectionSocket =
welcomeSocket.accept();
Λ Socket clientSocket =
SYN(x) newSocket("hostname","port
number");
SYNACK(seq=y,ACKnum=x+1)
Tạo socket mới để giao tiếp SYN(seq=x)
ngược lại với client listen
SYN SYN
rcvd sent
SYNACK(seq=y,ACKnum=x+1)
ESTAB ACK(ACKnum=y+1)
ACK(ACKnum=y+1)
Λ
LAST_ACK
FINbit=1, seq=y
TIMED_WAIT Có thể không còn
gửi dữ liệu
ACKbit=1; ACKnum=y+1
timed wait
for 2*max CLOSED
segment lifetime
CLOSED
R/2
delay
λout
Host A
λout
! Bên gửi chỉ gửi khi bộ
nhớ đệm của router sẵn
sàng λin R/2
Host B
Tầng Transport 3-89
Nguyên nhân/Chi phí của tắc nghẽn:
tình huống 2
Lý tưởng hóa: các packet bị R/2
mất được biết đến có thể bị
mất hoặc bị loại bỏ tại Khi gửi tại R/2, một
số packet được
router bởi vì bộ nhớ đệm bị
λout
truyền lại, nhưng
đầy tiệm cân goodput vẫn
là R/2 (tại sao?)
! Bên gửi chỉ gởi lại packet
được biết đến (known λin R/2
packet) đã bị mất
λin : data gốc
λout
λ'in: data gốc, cộng với
dữ liệu được truyền lại
Host B
Tầng Transport 3-90
Nguyên nhân/Chi phí của tắc nghẽn:
tình huống 2
Thực tế: trùng lặp R/2
! Các packet có thể bị mất , bị bỏ
Khi gửi tại R/2, một
tại router bởi vì bộ nhớ đệm số packet được
λout
đầy truyền lại, bao gồm
packet bị trùng mà
! Thời gian time out bên gửi hết đã được gửi đi!
sớm, gởi 2 bản giống nhau, cả 2 R/2
đều được gửi đi λin
λin
timeout
copy λout
λ'in
Host B
Tầng Transport 3-91
Nguyên nhân/Chi phí của tắc nghẽn:
tình huống 2
Thực tế: trùng lặp R/2
! Các packet có thể bị mất , bị bỏ
tại router bởi vì bộ nhớ đệm Khi gửi tại R/2, một
số packet được
đầy
λout
truyền lại, bao gồm
! Thời gian time out bên gửi hết
packet bị trùng mà
đã được gửi đi!
sớm, gởi 2 bản giống nhau, cả 2
đều được gởi đi λin R/2
Host D
Host C
λin C/2
time
Tầng Transport 3-99
TCP điều khiển tắt nghẽn: chi
tiết
sender sequence number space
cwnd
TCP tốc ộ gửi:
! Ước lượng: gửi các
byte cwnd, đợi ACK
trong khoảng thời
last byte
ACKed
last byte
sent, not- sent gian RTT, sau đó gởi
yet ACKed
( in- thêm các byte
flight ) cwnd
! Bên gửi giới hạn truyền rate ~
~
RTT
bytes/sec
tải:
LastByteSent- < cwnd
LastByteAcked
RTT
" initially cwnd = 1 MSS two segm
ents
" Gấp đôi cwnd mỗi RTT
" Được thực hiện bằng
cách tăng cwnd cho mỗi four segm
ents
ACK nhận được
! Tóm lại: tốc độ ban đầu
chậm, nhưng nó sẽ tăng
lên theo cấp số nhân time
W/2
Router cổ chai
Khả năng R
Kết nối TCP 2
Connection 1 throughput R
END OF LECTURE
mobile network
enterprise
network
Hong Bang International University
Department of Information Technology
COMPUTER
NETWORKING
mobile network
local or
Network Layer
Internet
regional ISP
enterprise
network
Ch ng 4: t ng network
M c tiêu:
Hi u các nguyên lý n n t ng c a các d nh v
t ng network:
Các mô hình d ch v t ng network
forwarding so v i routing
Cách mà router ho t ng
routing (ch n ng)
broadcast, multicast
Hi n th c trong Internet
4-2
Ch ng 4: N i dung
4.1 Gi i thi u 4.5 các thu t toán routing
4.2 virtual circuit link state
network (M ng m ch distance vector
o) và datagram hierarchical routing
network 4.6 routing trong Internet
4.3 C u trúc bên trong RIP
router OSPF
4.4 IP: Internet Protocol BGP
nh d ng datagram 4.7 broadcast và multicast
IPv4 addressing routing
ICMP
IPv6
4-3
T ng Network
V n chuy n Segment t
application
transport
network
tr ng c a header trong
t tc
qua nó
4-4
2 ch c chính c a t ng network
forwarding: di chuy n T ng t :
các packet t u vào
u ra thích h p routing: ti n trình l p
c a router k ho ch cho chuy n
a packet t
routing: nh ngu n t
4-5
ng qua l i gi a routing và forwarding
trong header
0111 1
3 2
4-6
Thi t l p k t n i
Ch ng th 3 trong m t s ki n
trúc m ng:
ATM, frame relay, X.25
Tr c khi các datagram di chuy u
cu i và router trung gian (intervening routers)
thi t l p k t n i o
D ch v k t n i t ng transport so v i t ng
network :
network: gi bao g m các
router trung gian trong tr ng h p k t n i o)
transport: gi a 2 ti n trình
4-7
Mô hình d ch v Network
H i: mô hình d ch v n
các datagram t bên g n bên nh n?
4-8
Các mô hình d ch v t ng Network:
B m?
Ki n trúc Mô hình Ph n h i
Network d ch v M t Th t nh thì t t ngh n
T ng Network 4-9
Ch ng 4: N i dung
4.1 Gi i thi u 4.5 các thu t toán routing
4.2 virtual circuit link state
network (M ng m ch distance vector
o) và datagram hierarchical routing
network 4.6 routing trong Internet
4.3 C u trúc bên trong RIP
router OSPF
4.4 IP: Internet Protocol BGP
nh d ng datagram 4.7 broadcast và multicast
IPv4 addressing routing
ICMP
IPv6
4-10
D ch v connection (h ng k t n i) và
connection-less (phi k t n i)
M ng datagram cung c p d ch v
connectionless t i t ng network
M ng m ch o (virtual-circuit network)
cung c p dich v connection t i t ng
network
T ng t nh các d ch v k t n i nh
h ng và không nh h ng c a t ng
transport, nh ng:
D ch v : host-to-host
Không l a ch n: network ch cung c p 1
d ch v
Th c hi n: trong m ng lõi
4-11
Các m ch o (Virtual circuits)
ng t ngu i t i t ng t nh
m ng n tho i (telephone circuit)
Hi u qu
Các ho t ng c a m ng d c theo ng t
ngu n t i
Thi t l p cu c g i, chia nh m i cu c g i tr c khi
d li u có th truy n
M nh d ng c a k t n i o (VC
identifier) (không ph a ch c
M i ngu n t
trì tr ng thái cho m i k t n
nh m) có th c c p phát cho k t n i o
4-12
S th c hi n k t n i o (VC)
M t k t n i o bao g m:
1. ng (path) t ngu n t i
2. S hi u k t n i o (VC numbers), m t s cho
m t k t n i d c theo ng
3. Các m c trong các b ng forwarding trong các
router d c theo ng
packet thu c v k t n i o mang s hi u
(ch không ph i là m n)
S hi u c a k t n i o có th c thay
i trên m i k t n i.
S hi u m i c a k t n i o c c p phát t
b ng forwarding
4-13
B ng forwarding c a k t n i o
12 22 32
1 3
2
VC number
interface
B ng forwarding trong router number
góc trái trên cùng:
1 12 3 22
2 63 1 18
3 7 2 17
1 97 3 87
4-14
Các m ch o: các giao th c g i tín hi u
thi t l p, duy trì k t n i o
c dùng trong ATM, frame-relay, X.25
c s d ng trong Internet ngày
nay
application
5. B u dòng d li u 6. Nh n d li u application
transport transport
network 4. Cu c g ck tn i 3. Ch p nh n cu c g i
1. Kh i t o cu c g i network
data link 2. Cu c g n
data link
physical physical
4-15
M ng Datagram
Không thi t l p cu c g i t i t ng network
Các router: không có tr ng thái v các k t n i
gi m cu i
Không có khái ni m v m c network c a k t n i
c chuy a ch c a host
application application
transport transport
network network
data link data link
physical physical
4-16
B ng Datagram forwarding
4t a ch IP, vì li t
a ch
h n là li t kê ra t ng
local forwarding table
a ch (các m c t ng
dest address output link
h p)
address-range 1 3
address-range 2 2
address-range 3 2
address-range 4 1
1
3 2
4-17
B ng Datagram forwarding
Q: nh ng cái gì s x y ra n a ch này
c chia h p lý? 4-18
So trùng prefix dài nh t
So trùng prefix dài nh t
Khi tìm ki m 1 m c trong b ng forwarding
a ch t
c a ch cái mà trùng v a ch
otherwise 3
4-19
M ng datagram ho c m ch o:
t i sao?
Internet (datagram) ATM (m ch o)
D li i gi a các c phát tri n t h
máy tính th n tho i
D ch v m m d o, không i c a con
nh thì ch t ch . ng i:
nh ch t ch , yêu
Nhi u ki u link c uv tin c y
c tính khác nhau C n cho các d ch v có
ng nh t d ch v yêu c u b m cao
Các h th u cu i Các h th u cu i
thông minh (các máy
n tho i
tính) Bên trong m ng ph c
Có th thích u t p
khi n và s a l i
M n
gi n, ph c t p t ng
4-20
Ch ng 4: N i dung
4.1 Gi i thi u 4.5 các thu t toán routing
4.2 virtual circuit link state
network (m ng m ch distance vector
o) và datagram hierarchical routing
network 4.6 routing trong Internet
4.3 C u trúc bên trong RIP
router OSPF
4.4 IP: Internet Protocol BGP
nh d ng datagram 4.7 broadcast và multicast
IPv4 addressing routing
ICMP
IPv6
4-21
T ng quan ki n trúc Router
2 ch c chính c a router:
Ch y các giao th c/thu t toán routing (RIP, OSPF, BGP)
Chuy n ti p các datagram t ng link vào t i ng
link ra
forwarding tables computed, routing
pushed to input ports routing, management
processor
control plane (software)
forwarding data
plane (hardware)
high-seed
switching
fabric
decentralized switching:
V a datagram bi t tr c., tìm
output port (c ng ra) b ng cách dùng
b ng forwarding trong b nh c a input
port (c ng vào) ( match plus action )
M c tiêu: hoàn t t x lý input port t i
line speed )
X p hàng: n n nhanh h n
t chuy n ti p bên trong switch
4-23
Switching fabrics
(outputs)
N inputs: switching rate N times line rate desirable
memory
4-24
Switching thông qua b nh (memory)
Các router th h u tiên:
Các máy tính c n v i switching d is u
khi n c a CPU
n b nh c a h th ng
T b gi i h n b a b nh (2 bus
qua m i datagram)
input output
port memory port
Ethernet) Ethernet)
4-25
Switching thông qua 1 bus
datagram t b nh c a port
vào n b nh c a port ra
thông qua m t bus c chia
s
S tranh ch p bus: t c
switching b gi i h b i
thông c a bus bus
32 Gbps bus, Cisco 5600: t c
cho truy c p và các
enterprise router
4-26
Switching thông qua interconnection
network
V t qua các gi i h n c a
thông bus
m ng, crossbar, các m ng k t
n i n i b khác lúc u c
phát tri n k t n i các b vi
x lý trong b x lý
Thi t k c nâng cao: phân crossbar
m nh datagram vào các ô có
dài c nh, chuy n các ô thông
qua fabric.
Cisco 12000: chuy n 60 Gbps
thông qua interconnection
network
4-27
Các c ng ra (Output)
datagram
switch buffer link
fabric layer line
protocol termination
(send)
queueing
4-28
S p hàng t i c ng ra
switch
switch
fabric
fabric
4-30
S p hàng t i c ng vào
fabric ch m h n s ph i h p c a các c ng vào -> s p hàng
có th x y ra t i các hàng vào
S p hàng ch m tr vào m t gói do tràn b u
vào!
Head-of-the-Line (HOL) blocking: cs p
hàng t i phía tr n các datagram khác
i di chuy n lên tr c
switch switch
fabric fabric
4-32
T ng Internet network
Các ch c t ng network c a host và router:
4-33
nh d ng IP datagram
32 bits
datagram(byte)
ver head. type of length
(bytes) len service Dành cho
fragment
16-bit identifier flgs
offset
time to upper header
live layer checksum
32 bit source IP address
32 bit destination IP address
4-34
Phân m nh và t ng h p IP
ng link m ng có MTU
(max.transfer size) frame
l n nh t có th m ck t
n i
Các ki ng link khác vào:
nhau, các MTU khác nhau ra:
IP datagram l c chia
( fragmented ) bên trong
m ng reassembly
1 datagram thành 1 vài
datagram
t ng h p ch c th c
hi n i cùng
Các bit c a IP header
cs d xác
nh, s t các
fragment liên quan 4-35
Phân m nh và t ng h p IP
length ID fragflag offset
Ví d : =4000 =x =0 =0
4000 byte datagram
MTU = 1500 bytes
4-36
Ch ng 4: N i dung
4.1 Gi i thi u 4.5 các thu t toán routing
4.2 virtual circuit link state
network và datagram distance vector
network hierarchical routing
4.3 C u trúc bên trong 4.6 routing trong Internet
router RIP
4.4 IP: Internet Protocol OSPF
nh d ng datagram BGP
IPv4 addressing 4.7 broadcast và multicast
ICMP routing
IPv6
4-37
a ch IP: gi i thi u
223.1.1.1
a ch IP: 32-bit
nh n d ng cho host,
223.1.2.1
wired Ethernet,
wireless 802.11)
M a ch c 223.1.1.1 = 11011111 00000001 00000001 00000001
liên k t v i m i
interface 223 1 1 1
4-38
a ch IP: gi i thi u
223.1.1.1
H i: các interface
th t s ck tn i
223.1.2.1
nh th nào? 223.1.1.2
223.1.1.4 223.1.2.9
s tìm hi u
trong ch ng 5, 6. 223.1.1.3
223.1.3.27
223.1.2.2
223.1.3.1 223.1.3.2
4-39
Các Subnet (m ng con)
ch IP: 223.1.1.1
Ph n subnet các bit
có tr ng s cao 223.1.1.2 223.1.2.1
223.1.1.4 223.1.2.9
Ph n host các bit
có tr ng s th p 223.1.2.2
subnet là gì? 223.1.1.3 223.1.3.27
gi ng nhau
Có th giao ti p v t
lý v i nhau mà không M ng g m 3 subnet
c n router trung gian
can thi p
T ng Network 4-40
Các m ng con (subnet)
223.1.1.0/24
223.1.2.0/24
Ph ng pháp 223.1.1.1
c g i là m t
subnet 223.1.3.0/24
223.1.1.3
223.1.9.2 223.1.7.0
223.1.9.1 223.1.7.1
223.1.8.1 223.1.8.0
223.1.2.6 223.1.3.27
4-42
nh a ch IP: CIDR
CIDR: Classless InterDomain Routing
Ph n subnet c a a ch có dài b t
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
subnet host
11001000 00010111 00010000 00000000
200.23.16.0/23
4-43
a ch l ym t
a ch ?
H i: làm th nào m t host l a ch IP?
Mã hóa c ng b i ng i qu n tr h th ng
trong 1 file
Windows: control-panel->network->configuration-
>tcp/ip->properties
UNIX: /etc/rc.config
DHCP: Dynamic Host Configuration Protocol:
t ng l a ch IP t server
plug-and-play
T ng Network 4-44
DHCP: Dynamic Host Configuration Protocol
M c tiêu: cho phép host t ng l a ch IP c a nó t
server trong m ng
Có th gia h a ch cc p
Cho phép tái s d a ch IP (ch gi a ch
ck tn
H tr cho ng ng mu n tham gia vào m ng
(trong th i gian ng n)
T ng quan DHCP :
host qu p DHCP discover
[tùy ch n]
ng b p DHCP offer [tùy
ch n]
host yêu c a ch IP: DHCP request msg
DHCP server g a ch : DHCP ack msg
4-45
Ng c nh DHCP client-server
DHCP
223.1.1.0/24
server
223.1.1.1 223.1.2.1
223.1.2.2
223.1.1.3 223.1.3.27
223.1.2.0/24
223.1.3.1 223.1.3.2
223.1.3.0/24
4-46
Ng c nh DHCP client-server
DHCP server: 223.1.2.5 DHCP discover arriving
client
src : 0.0.0.0, 68
dest.: 255.255.255.255,67
yiaddr: 0.0.0.0
transaction ID: 654
DHCP offer
src: 223.1.2.5, 67
dest: 255.255.255.255, 68
yiaddrr: 223.1.2.4
transaction ID: 654
lifetime: 3600 secs
DHCP request
src: 0.0.0.0, 68
dest:: 255.255.255.255, 67
yiaddrr: 223.1.2.4
transaction ID: 655
lifetime: 3600 secs
DHCP ACK
src: 223.1.2.5, 67
dest: 255.255.255.255, 68
yiaddrr: 223.1.2.4
transaction ID: 655
lifetime: 3600 secs
T ng Network 4-47
DHCP: nhi u thông tin
DHCP không ch tr v a ch IP c ch
nh trên subnet, mà nó còn có th tr v
nhi u thông tin nh sau:
a ch c a router first-hop c a client
Tên và a ch IP c a DNS sever
network mask (cho bi t ph n c a m ng so v i
ph n ph n host c a a ch IP)
4-48
DHCP: ví d
laptop tham gia vào
DHCP DHCP m ng c n a ch IP
UDP
c a nó, a ch c a
DHCP
DHCP IP
DHCP Eth router first-hop, a
Phy ch c a : dùng DHCP
DHCP
DHCP Eth
Phy (dest: FFFFFFFFFFFF) trên
vào trong router c nh n t i router
y DHCP server
Ethernet demuxed to IP
demuxed, UDP demuxed to
DHCP
4-49
DHCP: ví d
DHCP DHCP DHCP server l a ch
DHCP UDP IP c a client ch a DHCP
DHCP IP a ch IP c a
DHCP Eth router first-hop cho
Phy a ch IP
c a DNS server
DHCP
a DHCP
c
DHCP
DHCP UDP
DHCP IP chuy n cho client, tách
DHCP Eth DHCP t i client
Phy
Bây gi , client bi a
DHCP
vào router
ch IP c a
ch IP c a DSN server,
a ch IP c a router
first-hop c a nó
4-50
DHCP: Wireshark Message type: Boot Reply (2)
4-51
a ch l c
a ch IP?
H i: làm sao m ng l c ph n subnet c a
ch IP?
l y ph c c p phát c a không gian
a ch IP do ISP cung c p
T ng Network 4-52
a ch phân c p: route tích h p
a ch phân c p cho phép qu ng cáo hi u qu
nh tuy n
200.23.16.0/23
200.23.18.0/23
200.23.16.0/20
200.23.20.0/23 . Fly-By-Night-ISP
.
. . Internet
.
.
200.23.30.0/23
ISPs-R-Us
199.31.0.0/16
4-53
nh a ch phân c p: các route c th h n
ISPs-R-Us có 1 route c th h n t i t ch c 1
T ch c 0
200.23.16.0/23
T ng Network 4-54
a ch IP: the last word...
4-55
NAT: network address translation
Internet
10.0.0/24 10.0.0.1
10.0.0.4
10.0.0.2
138.76.29.7
10.0.0.3
thay th a ch IP ngu n, s hi u
c ng ngu n) m a
ch IP NAT, s hi u port m i)
. . . Các client/server xa s a ch a
ch IP NAT, s hi u port m i) nh a ch
n: thay th a ch IP NAT, s hi u
port m i) trong các tr a m i datagram
n v i giá tr t ng a ch IP và s hi u c ng
ngu n) trong b ng NAT
4-58
NAT: network address translation
2: NAT router 1: host 10.0.0.1
WAN side addr LAN side addr
138.76.29.7, 5001 10.0.0.1, 3345 128.119.40.186, 80
138.76.29.7, 5001,
S: 10.0.0.1, 3345
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:
138.76.29.7, 5001
4-59
NAT: network address translation
Tr ng s hi u port 16-bit:
60,000 k t n ng th i v i m a ch
phía LAN!
NAT gây ra tranh lu n:
Các router ch nên x n t ng 3
Vi ph m th a thu n end-to-end
Nh ng nhà thi t k ng d ng ph n
kh a NAT, ví d ng d ng P2P
Vi c thi a ch IP s c gi i quy t
khi dùng IPv6
4-60
V n NAT traversal
Các client mu n k t n i t i
a ch 10.0.0.1
a ch 10.0.0.1 c a server là client
10.0.0.1
trong m ng LAN (client không
th dùng nó nh a ch IP ?
) 10.0.0.4
Ch a ch có th c
nhìn th y t a ch 138.76.29.7 NAT
c NAT: 138.76.29.7 router
Gi i pháp 1: c u hình NAT
chuy n các yêu c u
k tn nt c
cho tr c t i server
Ví d (123.76.29.7, port 2500)
c chuy n t i
10.0.0.1 port 25000
4-61
V n NAT traversal
Gi i pháp 2: Giao th c
Universal Plug and Play (UPnP)
Internet Gateway Device 10.0.0.1
c IGD
NAT:
H a ch IP public
(138.76.29.7)
thêm/g b các port NAT
router
mapping (th i gian thuê)
4-62
Các v n NAT traversal
Gi i pháp 3: chuy n ti c s d ng
trong Skype)
c NAT thi t l p k t n chuy n
ti p
client bên ngoài k t n chuy n ti p
S chuy n ti p này b c c u các packet gi a các
2. Kk t tn ni i
chuy n ti p 1. K t n i 10.0.0.1
c kh i t o chuy n ti p
b i client c kh i t o
3. Chuy n ti p t c
client c thi t l p NAT
138.76.29.7 NAT
router
4-63
Ch ng 4: N i dung
4.1 Gi i thi u 4.5 các thu t toán routing
4.2 virtual circuit link state
network và datagram distance vector
network hierarchical routing
4.3 C u trúc bên trong 4.6 routing trong Internet
router RIP
4.4 IP: Internet Protocol OSPF
nh d ng datagram BGP
IPv4 addressing 4.7 broadcast và multicast
ICMP routing
IPv6
4-64
ICMP: internet control message protocol
c s d ng b i các
truy n
mã
thông thông tin t ng 0 0 echo reply (ping)
network 3 0 dest. network unreachable
Thông báo: host, network, 3 1 dest host unreachable
port, giao th c không có 3 2 dest protocol unreachable
th c 3 3 dest port unreachable
Ph n h i request/reply 3 6 dest network unknown
c dùng b i ping) 3 7 dest host unknown
T ng network trên IP: 4 0 source quench (congestion
control - not used)
c
mang trong các IP 8 0 echo request (ping)
datagram 9 0 route advertisement
10 0 router discovery
p ICMP: lo i, 11 0 TTL expired
mã c u 12 0 bad IP header
tiên c a IP datagram gây
ra l i
4-65
Traceroute và ICMP
Ngu n g i m t chu i các Khi thông p ICMP
segment UDP n n, ngu n ghi l i RTTs
Cái u tiên có TTL =1
Cái th 2 có TTL=2, t ng
t . Tiêu chu n d ng:
Không gi ng s port Segment UDP l n l t
Khi datagram th n n nt
router th n: v p
router h y datagram ICMP port không có
Và g i n ngu n m t thông th c (lo i 3, mã 3)
p ICMP (lo i 11, mã 0)
Thông p ICMP bao g m Ngu n d ng
tên và a ch IP c a router
3 probes 3 probes
3 probes
4-66
IPv6: ng l c
ng l u: a ch
32-bit s c c p phát c n ki t.
ng l c khác:
nh d ng c c x lý/chuy n
gói
t u ki n thu n l i cho QoS
nh d ng datagram IPv6 :
dài c nh 40 byte
Không cho phép phân m nh
4-67
nh d ng datagram IPv6
u tiên (priority): u tiên c a các
datagram trong lu ng
Nhãn lu ng (flow Label): nh các datagram
(khái ni ).
Header k ti p (next header): nh giao th c
T ng trên cho d li u.
ver pri flow label
payload len next hdr hop limit
source address
(128 bits)
destination address
(128 bits)
data
32 bits 4-68
Nh ng thay i khác so v i IPv4
checksum: c b toàn b gi m th i gian
x lý t i m i hop
options: c cho phép, nh ng n m ngoài
c ch ra b i tr ng Next
Header
ICMPv6: phiên b n m i c a ICMP
Các ki p b sung. Ví d Packet Too Big
Các ch n lý nhóm multicast
4-69
Chuy n t IPv4 sang IPv6
Không ph i t t c u có th c nâng
c ng th i
Không có flag days
M ng s ho ng nh th nào v i các
router dùng c IPv4 và IPv6?
tunneling: c mang nh là
payload trong datagram c a IPv4 gi a các
router IPv4
IPv4 payload
UDP/TCP payload
IPv6 datagram
IPv4 datagram
4-70
Tunneling
A B IPv4 tunnel E F
Cách nhìn logic:
IPv6 IPv6 IPv6 IPv6
A B C D E F
4-71
Tunneling
A B IPv4 tunnel E F
Cách nhìn logic:
IPv6 IPv6 IPv6 IPv6
A B C D E F
data data
A- -B: E- -F:
IPv6 B- -C: B- -C: IPv6
IPv6 bên trong IPv6 bên trong
IPv4 IPv4 4-72
Ch ng 4: N i dung
4.1 Gi i thi u 4.5 các thu t toán routing
4.2 virtual circuit link state
network và datagram distance vector
network hierarchical routing
4.3 C u trúc bên trong 4.6 routing trong Internet
router RIP
4.4 IP: Internet Protocol OSPF
nh d ng datagram BGP
IPv4 addressing 4.7 broadcast và multicast
ICMP routing
IPv6
4-73
Tác ng l n nhau gi a routing và
forwarding
1
3 2
4-74
Mô hình th
5
v 3 w
2 5
u 2 1 z
3
1 2
x 1
y
Ghi chú:
N E
4-75
Mô hình th : Chi phí
5
c(x,x )
3 e.g., c(w,z) = 5
v w 5
2
u Chi phí có th luôn luôn là 1, ho c
2
3
1 z ng c l
1 2 ho n t c ngh n
x 1
y
H i: p nh t t u t i z?
Thu t toán routing: thu ng
có chi phí th p nh t
4-76
Phân lo i thu t toán Routing
Q: thông tin toàn c c hay phân Q: hay ng?
c p (global or decentralized)?
:
Toàn c c: Các route thay i
T t c các router có toàn b ch m theo th i gian
thông tin v chi phí k t n i, ng:
c u trúc m ng
Các route thay i
Thu t toán link state nhanh
Phân c p: C p nh t theo chu
router bi c
k t n i v t lý v i nó, và chi phí Ph n ng v i nh ng
k tn thay i v chi phí
L p l i qua trình tính toán, k tn i
i thông tin v i các
neighbor
Thu t toán distance vector
4-77
Ch ng 4: N i dung
4.1 Gi i thi u 4.5 các thu t toán routing
4.2 virtual circuit link state
network và datagram distance vector
network hierarchical routing
4.3 C u trúc bên trong 4.6 routing trong Internet
router RIP
4.4 IP: Internet Protocol OSPF
nh d ng datagram BGP
IPv4 addressing 4.7 broadcast và multicast
ICMP routing
IPv6
4-78
Thu t toán routing Link-State
Thu t toán Dijkstra Ký hi u:
Bi t chi phí k t n i, c u c(x,y): chi phí k t n i
trúc m ng c a t t c các t
node n u không k t n i tr c
c th c hi u thông qua ti n neighbor
link state broadcast D(v): giá tr ch phí
T t c các nodes có cùng hi n t i c
thông tin v i nhau t ngu n t
p(v): node tr c n m
phí th p nh t t 1 node ngu n
n t t c các t iv
node khác N': t p các node mà
Cho tr c b ng forwarding p
c nh nh
L p l i: sau k l n l p l i,
bi
phí th p nh t c 4-79
Thu t toán Dijsktra
1 :
2 N' = {u}
3 for all nodes v
4 if v adjacent to u
5 then D(v) = c(u,v)
6 else D(v) =
7
8
9 find w not in N' such that D(w) is a minimum
10 add w to N'
11 update D(v) for all v adjacent to w and not in N' :
12 D(v) = min( D(v), D(w) + c(w,v) )
13 /* chi phí v là chính nó chi phí
14 chi phí w v*/
15 until all nodes in N'
4-80
Thu t toán Dijkstra : ví d
D(v) D(w) D(x) D(y) D(z)
N' p(v) p(w) p(x) p(y) p(z)
0 u 7,u 3,u 5,u
1 uw 6,w 5,u 11,w
2 uwx 6,w 11,w 14,x
3 uwxv 10,v 14,x
4 uwxvy 12,y
5 uwxvyz x
9
Ghi chú: 5 7
4
Xây d n
nh t b ng cách l n theo các 8
predecessor node 3
u w y z
ng có chi phí b ng 2
nhau có th t n t i (có th
3
b chia tùy ti n) 4
7
v
4-81
Thu t toán Dijkstra: ví d
v 3 w
2 5
u 2 1 z
3
1 2
x 1
y
4-82
Thu t toán Dijkstra: ví d (2)
K t qu n nh t t u:
v w
u z
x y
K t qu b ng forwarding trong u:
link
v (u,v)
x (u,x)
y (u,x)
w (u,x)
z (u,x)
4-83
Thu t toán Dijkstra, th o lu n
ph c t p c a thu t toán: n nodes
M i l n duy t: c n ki m tra t t c các node, w, không có
trong N
n(n+1)/2 phép so sánh: O(n2)
Có nhi u cách th c hi n hi u qu h n: O(nlogn)
Có th dao ng:
Ví d : chi phí k t n i b ng v i s l ng l u thông c
mang
1
A 1+e A A A
2+e 0 0 2+e 2+e 0
D 0 0 B D 1+e 1 B D B D 1+e 1 B
0 0
0 e 0 0
1
C C 0 1
C 1+e C 0
1
e
Cho các chi phí, Cho các chi phí, Cho các chi phí,
nh tuy n m nh tuy t m nh tuy t m
K t qu trong chi phí K t qu trong chi K t qu trong chi
m i phí m i phí m 4-84
i
Ch ng 4: N i dung
4.1 Gi i thi u 4.5 các thu t toán routing
4.2 virtual circuit link state
network và datagram distance vector
network hierarchical routing
4.3 C u trúc bên trong 4.6 routing trong Internet
router RIP
4.4 IP: Internet Protocol OSPF
nh d ng datagram BGP
IPv4 addressing 4.7 broadcast và multicast
ICMP routing
IPv6
4-85
Thu t toán Distance vector
Công th c Bellman-Ford (dynamic programming)
cho
dx(y) := chi phí c tt
xt iy
thì
dx(y) = minv{c(x,v) + dv(y) }
v
min
Chi phí t neighbor v t
Chi phí t i neighbor v
4-88
Thu t toán Distance vector
Ýt ng chính:
M i node nh g i c l ng distance
vector c a nó cho các neighbor
Khi x nh n c l ng DV m i t neighbor,
nó c p nh t DV c a nó dùng công th c B-
F:
Dx v{c(x,v) + Dv N
D i nh u khi
kiệnn t nhiên, c l ng
Dx(y) h i t t i chi phí dx th c s nh nh t
dx(y)
4-89
Thu t toán Distance vector
L ng b : M i node:
m il pc cb c
gây ra b i:
Chi phí k t n i c c b
i
neighbor)
p c p nh t
DV t neighbor
Phân b :
M i node thông báo
n các neighbor ch
khi DV c i
n các
neighbor c a nó n u c n
thi t
4-90
Dx(z) = min{c(x,y) +
Dx(y) = min{c(x,y) + Dy(y), c(x,z) + Dz(y)}
= min{2+0 , 7+1} = 2 Dy(z), c(x,z) + Dz(z)}
= min{2+1 , 7+0} = 3
node x x y z x y z
x 0 2 7 x 0 2 3
y y 2 0 1
z z 7 1 0
node y x y z y
2 1
x
x z
y 2 0 1 7
z
node z x y z
x
y
z 7 1 0
4-91
Dx(z) = min{c(x,y) +
Dx(y) = min{c(x,y) + Dy(y), c(x,z) + Dz(y)}
= min{2+0 , 7+1} = 2 Dy(z), c(x,z) + Dz(z)}
= min{2+1 , 7+0} = 3
node x x y z x y z x y z
x 0 2 7 x 0 2 3 x 0 2 3
y y 2 0 1 y 2 0 1
z z 7 1 0 z 3 1 0
node y x y z x y z x y z y
2 1
x x 0 2 7 x 0 2 3 x z
y 2 0 1 y 2 0 1 y 2 0 1 7
z z 7 1 0 z 3 1 0
node z x y z x y z x y z
x x 0 2 7 x 0 2 3
y y 2 0 1 y 2 0 1
z 7 1 z 3 1 0 z 3 1 0
0
4-92
Distance vector: chi phí k t n i
Chi phí k t n i:
node phát hi n s i chi phí 1
k tn ic cb y
4 1
C p nh nh tuy n, tính x z
toán l i distance vector 50
tin t0 : y
t t
t1 : z
nhanh
t2 : y z
y không y
z.
4-93
Distance vector: Chi phí k t n i
Chi phí k t n i: 60
node phát hi n s i chi 4
y
1
phí k t n i c c b
x z
Tin x m- n vô 50
cùng v !
44 l n duy t tr c khi thu t
toán nh
ng x u ng c l i:
N t iX:
Z nói v i Y kho ng cách c n X là không xác
nh (vì v y Y s i X thông qua Z)
u này s gi i quy cv n vô
t n hay không?
4-94
So sánh gi a thu t toán LS va DV
ph c t p c a thông S linh ho t: u gì x y ra
p n u router g p s c ?
LS: v i n nodes, E k t n i, thì có LS:
cg i node có th qu ng cáo sai
DV: ch i gi a các neighbor chi phí k t n i
Th i gian h i t khác nhau M i node ch tính toán
b ng riêng c a nó
T h it DV:
LS: thu t toán O(n2) yêu c u DV node có th qu ng cáo
p sai v chi phí
Có th ng B ng c a m c
DV: th i gian h i t khác nhau s d ng b i các node
Có th là routing loop khác
V n vô h n (count- L c lan truy n
to-infinity) thông qua m ng
T ng Network 4-95
Ch ng 4: N i dung
4.1 Gi i thi u 4.5 các thu t toán routing
4.2 virtual circuit link state
network và datagram distance vector
network hierarchical routing
4.3 C u trúc bên trong 4.6 routing trong Internet
router RIP
4.4 IP: Internet Protocol OSPF
nh d ng datagram BGP
IPv4 addressing 4.7 broadcast và multicast
ICMP routing
IPv6
4-96
nh tuy n có c u trúc
(Hierarchical routing)
Cho t u v routing c a chúng ta
th c hi n trong môi tr ng lý t ng hóa
T tc ng nh t
M ng ph ng
ct
Quy mô: v i 600 tri u Qu n tr
n: internet = m ng c a các
Không th l u tr t t m ng
c n trong M i qu n tr m ng có th
các b nh tuy n mu n u hành nh
Vi ib nh tuy n trong m ng c a
s làm tràn ng p các riêng h
liên k t!
T ng Network 4-97
nh tuy n có c u trúc
4-98
K t n i các AS
3c
3a 2c
3b 2a
AS3 2b
1c AS2
1a 1b AS1
1d B ng forwarding c
c u hình b i c thu t
toán nh tuy n intra- và
inter-AS
Intra-AS Inter-AS
intra-AS thi t l p các
m c cho các n
Forwarding
n i m ng
inter-AS & intra-AS
thi t l p các m c cho
các n ngo i
4-99
Tác v Inter-AS
Gi s router trong AS1 ph i:
AS1 nh n c 1. H c các n nào
datagram v i n có th t i c thông
n m ngoài AS1: qua AS2 và AS3
router nên chuy n 2. Lan truy n thông tin
packet n router này n t t c các
gateway , nh ng là router trong AS1
cái nào? Công vi c c a nh tuy n
inter-AS!
3c
3a
3b
AS3 2c other
1c 2a networks
other 1a 2b
networks 1b AS2
AS1 1d
4-100
Ví d : thi t l p b ng forwarding trong router
1d
Gi s AS1 h c (thông qua giao th c inter-AS) mà
subnet x có th ch m t i thông qua AS3 (gateway 1c),
nh ng không qua AS2
Giao th c inter-AS lan truy nt t
c các router n i m ng
nh t nh tuy n intra-AS mà
interface I c a nó n p
nh t t i 1c
a giá tr (x,I) vào b ng forwarding
3c
x
3a
3b
AS3 2c other
1c 2a networks
other 1a 2b
networks 1b AS2
AS1 1d
4-101
Ví d : ch n gi a nhi u AS
Bây gi , gi s AS1 h c t giao th c inter-AS mà
subnet x có th ch m t i t AS3 và t AS2.
c u hình b ng forwarding, router 1d ph nh
chuy n các packet
x
c c a giao th nh tuy n
inter-AS!
3c
x
3a
3b
AS3 2c other
1c 2a networks
other 1a 2b
networks 1b AS2
AS1 1d
?
4-102
Ví d : ch n gi a nhi u AS
Bây gi , gi s AS1 h c t giao th c inter-AS mà
subnet x có th ch m t c t AS3 và t AS2.
c u hình b ng forwarding, router 1d ph nh
chuy n packet t
c c a giao th nh tuy n
inter-AS!
hot potato routing: g i packet t i 2 router g n nh t
I
hot potato routing:
inter-AS mà subnet
intra- gateway có chi
x
gateway (x,I)
forwarding
4-103
Ch ng 4: N i dung
4.1 Gi i thi u 4.5 các thu t toán routing
4.2 virtual circuit link state
network và datagram distance vector
network hierarchical routing
4.3 C u trúc bên trong 4.6 routing trong Internet
router RIP
4.4 IP: Internet Protocol OSPF
nh d ng datagram BGP
IPv4 addressing 4.7 broadcast và multicast
ICMP routing
IPv6
4-104
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-105
RIP ( Routing Information Protocol)
Công b -UNIX
Thu t toán distance vector
Metric kho ng cách: s l ng hop (max = 15 hops), m i link có
giá tr là 1
i gi a các neighbors m i 30 giây trong
p ph n h i (còn g i là advertisement)
M n 25 subnet
subnet :
u v subnet hops
w u 1
A B
v 2
w 2
x x 3
z C D y 3
y z 2
4-106
RIP: ví d
z
w x y
A D B
w A 2
y B 2
z B 7
x -- 1
....
4-107
RIP: ví d
- -D
w - 1
x - 1
z C 4
z
w x y
A D B
w A 2
y B 2
A 5
z B 7
x -- 1
....
4-108
RIP: l i ng k t n i và ph c h i
4-109
RIP: x lý b ng
Các b ng nh tuy n c qu n lý b i ti n
trình m c application c g i là route-d
(daemon)
Các qu ng cáo c g i trong các packet UDP,
c l p l i theo chu
routed routed
transport transprt
(UDP) (UDP)
network forwarding forwarding network
(IP) table table (IP)
link link
physical physical
4-110
OSPF (Open Shortest Path First)
open : s n sàng công khai
Dùng thu t toán link state
Ph bi n packet LS
B c u trúc m ng t i m i node
t toán Dijkstra
Qu ng cáo OSPF mang 1 entry cho m i
neighbor
Các qu n toàn b AS
p OSPF tr c ti p trên
IP (ch không ph i là TCP ho c UDP)
Giao th c nh tuy n IS-IS : g n gi ng v i
OSPF
4-111
c tính ti n b c a OSPF
(không có trong RIP)
B o m t: t t c c ch ng
th ch ng l i s xâm nh p có h i)
Cho phép có nhi có chi phí nh nhau
(RIP ch cho 1)
V im ng k t n i, nhi u s li u chi phí (cost
metrics) cho TOS khác nhau (ví d ng
k tn iv c thi t l
l c t t nh t; cao cho ToS th i gian th c)
H tr uni- và multicast tích h p:
Multicast OSPF (MOSPF) dùng cùng c s d
li u c u trúc m ng nh OSPF
OSPF phân c p trong các mi n l n (large domains).
4-112
OSPF phân c p
Router biên (boundary )
backbone router
backbone
area
border
routers
area 3
internal
routers
area 1
area 2
4-113
OSPF phân c p
Phân c p m c 2: vùng c c b (local area), backbone.
Các qu ng cáo link-state ch trong vùng
M i node có chi ti t c u trúc c a vùng; ch bi t
h ng ng n nh n các m ng trong các
vùng khác.
Các router area border: tóm t t các kho ng cách
n các m ng trong vùng c a nó, qu n các
router Area Border c a các vùng khác.
Các backbone router: ch nh tuy c
gi i h n backbone.
boundary routers: k t n n các AS khác.
4-114
nh tuy n Internet inter-AS : BGP
BGP (Border Gateway Protocol): giao th c
nh tuy n liên mi n (inter-domain ) trên th c
t
g n k t Internet l i v i nhau
p cho m i AS m t ph ng ti :
eBGP: l y thông tin có th ch m t i subnet t các
AS neighbor.
iBGP: lan truy n t t c các router
bên trong AS.
t t n các m ng khác d a
trên thông tin kh m t i và chính sách.
Cho phép subnet qu ng cáo s t n t i c a nó
n ph n còn l i c a Internet: I am here
4-115
BGP c b n
BGP session: 2 router BGP ( c p i các thông
p BGP:
Qu ng cáo n các ti n t (prefixes) m
khác nhau (Giao th c path vector )
i trên các k t n i semi-permanent TCP
3c
3a BGP
3b
AS3 2c other
1c 2a networks
other 1a 2b
networks 1b AS2
AS1 1d
4-116
BGP c b n: phân ph i thông tin ng
S d ng phiên eBGP gi a 3a và 1c, AS3 g i prefix
v thông tin kh ch m (prefix reachability
info) t i AS1.
1c sau có th dùng iBGP phân ph i thông tin prefix m i
t i t t c các router trong AS1
1b sau có th qu ng cáo l i thông tin v kh ch m
m i t i AS2 trên phiên eBGP t 1b-t i-2a
Khi router h c prefix m i, thì nó s t o m c cho
prefix trong b ng forwarding c a nó.
Phiên eBGP
3a Phiên iBGP
3b
AS3 2c other
1c 2a networks
other 1a 2b
networks 1b AS2
AS1 1d
4-117
Các thu c tính ng và các
route BGP
c qu ng cáo bao g m các thu c tính
BGP
prefix + attributes = route
2 thu c tính quan tr ng:
AS-PATH: ch ng cáo
prefix v : AS 67, AS 17
NEXT-HOP: ch ra router bên trong AS c th t i AS
hop k ti p. (có th có nhi ng k t n i t AS hi n
t i t i AS hop k ti p)
router gateway mà nh n qu ng cáo route s d ng
chính sách quan tr ng (import policy) ch p
nh n/t ch i
Ví d : không bao gi
nh tuy n d a trên chính (sách policy-based routing)
4-118
S l a ch n BGP route
router có th h c h n 1 route t i AS ,
ch n route d a trên:
1. Thu c tính giá tr u tiên c c b : quy t nh
chính sách
2. AS-PATH ng n nh t
3. NEXT-HOP router g n nh t: nh tuy n hot
potato
4. Tiêu chu n b sung
4-119
p BGP
i gi a các peer trên k t
n i TCP
p BGP:
OPEN: m k t n n peer và ch ng th c ng i
g i
UPDATE: qu i(ho c là l y l i cái
4-120
t các giao th c nh tuy n
l i v i nhau:
Làm th nào m t entry a vào
trong b ng forwarding c a 1
router?
Câu tr l i r t ph c t p!
prefix
là trong AS khác.
entry prefix output port
138.16.64/22 3
124.12/16 2
212/8 4
Dest IP
1
3 2
Làm th nào entry c a vào
b ng forwarding?
1. Router nh n th c prefix
2. nh port ra (output port) cho
prefix
3. ac
b ng forwarding
Router nh n th c c prefix
3c
3a BGP
3b
AS3 2c other
1c 2a networks
other 1a 2b
networks 1b AS2
AS1 1d
p BGP ch
c tính: AS-PATH,
NEXT-
Ví d : route:
Prefix:138.16.64/22 ; AS-PATH: AS3 AS131 ;
NEXT-HOP: 201.44.13.125
Router có th nh n c nhi u
route
3c
p
3a BGP
3b
AS3 2c other
1c 2a networks
other 1a 2b
networks 1b AS2
AS1 1d
Ví d :
u gì s x y ra n u có m i ràng bu c?
Chúng ta s bàn sau!
Tìm route n i b t t nh t n
route BGP
Dùng thu c tính NEXT-HOP c cl a
ch n
Thu c tính NEXT-HOP c a ch IP c a
interface c
Ví d :
AS-PATH: AS2 AS17 ; NEXT-HOP: 111.99.86.55
Router s d n nh t
t 1c t i 111.99.86.55
3c 111.99.86.55
3a
3b
AS3 2c other
1c 2a networks
other 1a 2b
networks 1b AS2
AS1 1d
Router xác nh port cho route
3c router
3a port
3b
AS3 1 2c other
1c 4 2a networks
2 3
other 1a 2b
networks 1b AS2
AS1 1d
nh tuy n Hot Potato
Gi s có 2 ho c nhi u route liên tuy n t t
nh t (best inter-routes).
Sau ch n route v i NEXT-HOP g n nh t
Dùng OSPF xác nh c ng nào là g n nh t
H i: t 1c, ch n AS3 AS131 ho c AS2 AS17?
: route AS3 AS201 vì nó g n h n
3c
3a
3b
AS3 2c other
1c 2a networks
other 1a 2b
networks 1b AS2
AS1 1d
Làm th nào entry c a vào
b ng forwarding?
Tóm t t
1. Router có nh n th c v prefix
Thông qua các qu ng cáo route BGP t các router khác
2. Xác nh port ra c a router cho prefix
Dùng route BGP v a ch n tìm ra route liên AS
(inter-AS ) t t nh t
Dùng OSPF tìm ra route t t nh t trong n i b AS
(intra-AS ) cái mà d n n route liên AS t t nh t
(inter-AS route)
Router xác nh port c a router cho route t t nh t
3. a prefix-port entry vào trong b ng forwarding
Chính sách BGP routing
:
B
X
W A
C khách hàng
Y
4-131
Chính sách BGP routing (2)
:
B
X
W A
C khách hàng
A qu
B qu
B có nên qu
Không nên! B không nh nh tuy n
CBAW vì c W và C không ph i là khách hàng c a B
B mu n b t bu i w thông A
B ch mu n d n các khách hàng c a nó!
4-132
T i sao ph i nh tuy n Intra-,
Inter-AS khác nhau?
Chính sách:
inter-AS: ng i qu n tr mu n ki m soát cách
mà traffic c nh tuy nh
tuy n thông qua m ng c a nó .
intra-AS: 1 ng i qu n tr , vì v y không c n
các quy nh chính sách
Linh ho t:
nh tuy n phân c p làm gi m kích th c b ng
nh tuy n, gi m l u l ng c p nh t
Hi u su t:
intra-AS: có th t p trung vào hi u su t
inter-AS: chính sách quan tr ng h n hi u su t
4-133
Ch ng 4: N i dung
4.1 Gi i thi u 4.5 các thu t toán routing
4.2 virtual circuit link state
network và datagram distance vector
network hierarchical routing
4.3 C u trúc bên trong 4.6 routing trong Internet
router RIP
4.4 IP: Internet Protocol OSPF
nh d ng datagram BGP
IPv4 addressing 4.7 broadcast và multicast
ICMP routing
IPv6
4-134
Broadcast routing
Chuy n các packet t ngu n t i t t c các node
khác
Ngu n trùng l p thì không có hi u qu :
duplicate
duplicate R1 creation/transmission R1
duplicate
R2 R2
R3 R4 R3 R4
Ngu n trùng l a
ch ng i nh n?
4-135
Trùng l p trong m ng
flooding: khi node nh c packet
broadcast, nó g i b n t t c các
neighbor
V : l p l i & bão broadcast
u khi n: node ch broadcast
packet n u nó không g i broadcast gi ng
nh v y tr
A A
B B
c c
D D
F E F E
G G
4-137
Spanning tree: t o
Node trung tâm
M i node g i thông p gia nh p unicast
(unicast join message) n node trung tâm
Thông p này c chuy n ti p cho n khi nó
n t i m t node n m trên spanning tree
A A
3
B B
c c
4
2
D D
F E F E
1 5
G G
(a)
spanning tree (center: E)
4-138
Multicast routing: phát bi u v n
M c tiêu: tìm m t cây (ho c các cây) k t n i các router
có các thành viên trong nhóm multicast
Cây (tree): không ph i t t c các ng gi a các
router u c s d ng
Cây chia s (shared-tree): cây gi ng nhau c s d ng b i
các thành viên trong nhóm
Cây d a trên ngu n(source-based): cây
khác nhau t n i g i t i n i nh n group
member
not group
member
router
with a
group
member
router
without
group
member
4-139
Các cách ti p c n x y d ng các
cây multicast
Các h ng ti p c n:
Cây d a trên ngu n (source-based tree): m t
cây cho m i ngu n
Các cây ng ng n nh t
Cây ng ng c
Cây chia s nhóm: nhóm dùng 1 cây
M r ng t i thi u (Steiner)
Các cây d a trên trung tâm (center-based trees)
4-140
Cây ng ng n nh t
Cây chuy n ti p multicast (mcast forwarding
n nh t d ng t
ngu n t i t t c các n i nh n
Thu t toán Dijkstra
R1 2
1 R4
4-141
Reverse path forwarding
D a vào ki n th c c a router c
ng n nh t unicast t nn ig i
M i router có cách x n gi n:
4-142
Reverse path forwarding: ví d
R1
R4
R2
router không có các thành
R5
R3
R6 R7
K t qu là m o ng c
Có th là m t l a ch n không t t v i các
k tn ng b
4-143
Reverse path forwarding:
c t gi m (pruning)
Cây forwarding ch a các cây con không có các thành
viên trong nhóm multicast
Không c n forward các datagram xu ng cây con
c t gi m c g i lên trên b i
router không có các thành viên nhóm downstream
R1
R4
R2
P
router không có các
R5
P
R3 P
R6
R7 forward
4-144
Cây chia s (Shared-tree): cây steiner
4-145
Cây d a vào trung tâm
(Center-based trees)
M t cây truy n nh c chia s cho t t
c
M nh nh là trung
tâm c a cây
gia nh p:
router biên (edge ) g p gia nh p
n router trung tâm
p gia nh p (join-msg ) cx i
các router trung gian và chuy n các router
trung tâm
p gia nh p, ho n nhánh cây c a
trung tâm này, ho n ngay trung tâm
c th c hi u b i p gia nh p
tr thành nhánh cây m i c a router này 4-146
Cây d a vào trung tâm: ví d
LEGEND
R1
R4
3
R2 router không có các
2
1
R5
R3
1 sinh ra
R6
R7
4-147
Internet Multicasting Routing: DVMRP
4-149
Tunneling
Q: k tn a các
router muticast trong m a các
router unicast?
(không có multicast)
datagram IP thông th cg ng
h tunnel ) n router muticast
nh n (xem l ng h m IPv4)
router mcast nh n m l y datagram multicast
4-150
PIM: Protocol Independent Multicast
Không ph thu c vào b t thu t toán nh
tuy n unicast bên d i nào (underlying
unicast routing algorithm) (làm vi c v i t t
c )
2 ng c nh phân ph i multicast khác nhau:
D c: Th a th t:
Các thành viên nhóm S l ng các m ng v i các
c, thành viên nhóm ít
trong kho ng cách Các thành viên nhóm
. c phân b th a th
th a th a
4-151
K t qu c a s phân chia th a th t-dày
c:
c Th a th t:
Nhóm các thành viên b i Không có thành viên cho
c gi nh n khi các router th c
n khi các router s gia nh p
c t gi m th c s Ki n trúc receiver- driven
Ki n trúc data-driven c a cây mcast (ví d cây
trên cây mcast (ví d d a vào trung tâm)
RPF) thông và router
không thu c nhóm x lý
không thu c nhóm x lý v a ph i
phung phí
T ng Network 4-152
PIM- ki u dày c
flood-and-prune RPF: t ng t nh
DVMRP nh
Giao th c bên d i cung c p thông tin RPF
n
flood xu ng d i (downstream) ít ph c
t p (ít hi u qu ) h n so v i DVMRP gi m s
ph thu c vào thu nh tuy n c
b n
Có c ch giao th phát
hi n có ph i là router node lá (leaf-
node)
4-153
PIM ki u th a th t
Ti p c n d a vào trung
tâm (center-based)
router g p gia R1
R4
nh p (join n join
rendezvous point (RP) R2
join
Các router trung gian
c p nh t tr ng thái và R5
p gia join
R3
nh p R6
Sau khi gia nh p thông qua T t c d li u R7
RP, router có th chuy n rendezvous
nt point
nh ngu n rendezvous
(source-specific tree) point
Hi u xu p
ng n h n T ng Network 4-154
PIM ki u th a th t
(Các) Bên g i:
R1
D li n RP, R4
join
RP phân ph i xu ng cây
có nút g c là RP R2
join
RP có th m r ng cây R5
nR3 join
ngu n R6
RP có th g i thông T t c d li u R7
rendezvous
p d ng (stop msg) rendezvous
nt point
n u không có bên nh n point
c ng n vào
ng
nghe! T ng Network 4-155
Chapter 4: Hoàn thành!
4.1 Gi i thi u
4.2 M ng m ch o và 4.5 các thu nh tuy n
m ng datagram (virtual link state, distance vector,
circuit and datagram nh tuy n phân c p
networks) nh tuy n trong Internet
4.3 bên trong router RIP, OSPF, BGP
4.4 IP: Internet Protocol 4.7 broadcast and multicast
nh d ng, routing
a ch IPv4, ICMP,
IPv6
Hi u v các nguyên t ng sau các d ch v t ng
network:
Các mô hình d ch v t ng network, so sánh cách
mà router forwarding và routing d li nh
tuy n(ch
Hi n th c trên Internet
T ng Network 4-156
Hong Bang International University
Department of Information Technology
END OF LECTURE
mobile network
enterprise
network
Hong Bang International University
Department of Information Technology
COMPUTER
NETWORKING
mobile network
local or
Link Layer
Internet
regional ISP
enterprise
network
Chương 5: tầng Link
Mục tiêu:
! Hiểu về các nguyên tắc của các dịch vụ
tầng link:
" Phát hiện lỗi và sửa lỗi
" Chia sẽ kênh broadcast: đa truy cập
" Định địa chỉ tầng link
" local area networks: Ethernet, VLANs
! Khởi tạo và hiện thực một số công nghệ
tầng link
card; Ethernet
chipset
host
bus
controller (e.g., PCI)
" Thực hiện tầng link
physical
physical và tầng link physical
transmission
datagram datagram
controller controller
frame
otherwise
0 0
<D,R> =
Tầng Link 5-17
Cyclic Redundancy Check (CRC): example
Sender wants to compute R G
such that: 1 0 0 1 1 0 1 1 1 0
D . 2r XOR R = nG
D
... or equivalently (XOR R both sides):
D . 2r = nG XOR R
... which says:
if we divide D . 2r by G, we
want remainder R to satisfy:
R = remainder [ D . 2r
] algorithm for
G computing R
Cyclic Redundancy Check (CRC): example
Sender wants to compute R G 1 0 1 0 1 1
such that: 1 0 0 1 1 0 1 1 1 0 0 0 0
D . 2r XOR R = nG 1 0 0 1
1 0 1 D * 2r (here, r=3)
0 0 0
... or equivalently (XOR R both sides): 1 0 1 0
D . 2r = nG XOR R 1 0 0 1
1 1 0
... which says: 0 0 0
1 1 0 0
if we divide D . 2r by G, we 1 0 0 1
want remainder R to satisfy: 1 0 1 0
D . 2r 1 0 0 1
R = remainder [ ] algorithm for 0 1 1
G computing R
R
Tầng Link và mạng LAN: Nội dung
5.1 Giới thiệu và các 5.5 link virtualization:
dịch vụ MPLS
5.2 phát hiện lỗi và 5.6 mạng trung tâm dữ
sửa lỗi liệu
5.3 các giao thức đa 5.7 một ngày trong
truy cập cuộc sống của một
5.4 mạng LAN yêu cầu web
" Định địa chỉ, ARP
" Ethernet
" switches
" VLANS
frequency bands
FDM cable
C E C S E C E S S
!
! Xác suất để node
truyền thành công hữu dụng trong
trong 1 slot = p(1-p)N-1 khoảng 37%
! Xác suất mà bất kỳ thời gian!
node nào truyền thành
công = Np(1-p)N-1 Tầng Link 5-29
Pure (unslotted) ALOHA
! unslotted Aloha: đơn giản, không đồng bộ
! Khi frame đến đầu tiên
" truyền lập tức
! Khả năng đụng độ tăng:
" frame được truyền tại thời điểm t0 đụng độ với các
frame khác được truyền trong thời điểm [t0-1,t0+1]
= p . (1-p)N-1 . (1-p)N-1
= p . (1-p)2(N-1)
= 1/(2e) = .18
đần độn
! Quan tâm:
" polling overhead slaves
" latency
" Chỉ có 1 điểm chịu lỗi
(master)
data
Tầng Link 5-40
Mạng truy cập cáp (Cable access network)
Các frame Internet và kênh TV ược truyền xuống với các tầng
số khác nhau
cable headend
CMTS
…
splitter cable
cable modem … modem
termination system
ISP Các frame Internet của luồng dữ liệu lên, tín hiệu iều khiển TV,
ược truyền lên tại các tầng số khác nhau trong các slot thời
gian
Downstream channel i
CMTS
Upstream channel j
1A-2F-BB-76-09-AD
LAN
(wired or adapter
wireless)
71-65-F7-2B-08-53
58-23-D7-FA-20-B0
0C-C4-11-6F-E3-98
A B
R
111.111.111.111
222.222.222.222
74-29-9C-E8-FF-55
49-BD-D2-C7-56-2A
222.222.222.220
1A-23-F9-CD-06-9B
IP
Eth
Phy
A B
R
111.111.111.111
222.222.222.222
74-29-9C-E8-FF-55
49-BD-D2-C7-56-2A
222.222.222.220
1A-23-F9-CD-06-9B
IP IP
Eth Eth
Phy Phy
A B
R
111.111.111.111
222.222.222.222
74-29-9C-E8-FF-55
49-BD-D2-C7-56-2A
222.222.222.220
1A-23-F9-CD-06-9B
A B
R
111.111.111.111
222.222.222.222
74-29-9C-E8-FF-55
49-BD-D2-C7-56-2A
222.222.222.220
1A-23-F9-CD-06-9B
A B
R
111.111.111.111
222.222.222.222
74-29-9C-E8-FF-55
49-BD-D2-C7-56-2A
222.222.222.220
1A-23-F9-CD-06-9B
IP
Eth
Phy
A B
R
111.111.111.111
222.222.222.222
74-29-9C-E8-FF-55
49-BD-D2-C7-56-2A
222.222.222.220
1A-23-F9-CD-06-9B
switch
star
bus: cáp đồng trục
Tầng Link 5-58
Cấu trúc frame Ethernet
adapter gửi sẽ đóng gói IP datagram (hoặc
packet giao thức khác của tầng mạng)
trong Ethernet frame
type
dest. source
preamble address address data CRC
(payload)
preamble:
! 7 byte với mẫu 10101010 được theo sau bởi
1 byte với mẫu 10101011
! được sử dụng để đồng bộ tốc độ đồng hồ
của người gửi và nhận
A AA
! switch học các host có
thể tới được thông qua B
C
các interface kết nối
với các host đó
6 1 2
" Khi frame được
nhận, switch học vị 5 4 3
trí của bên gửi:
incoming LAN B C
segment
" Ghi lại cặp bên gửi/vị A
trí trong bảng switch
MAC addr interface TTL
A 1 60 Bảng Switch
(ban ầu trống)
1. Ghi lại đường kết nối vào, địa chỉ MAC của host gửi
2. Ghi vào mục lục bảng switch với địa chỉ MAC đích
3. Nếu entry được thì thấy cho đích đến đó
thì {
nếu đích đến nằm trên phân đoạn mạng từ cái mà
frame đã đến
thì bỏ frame
ngược lại chuyển tiếp frame trên interface
được chỉ định bởi entry
}
ngược lại flood /* chuyển tiếp trên tất cả
interface ngoại trừ interface mà dữ liệu đó đã đến
từ đó*/
Tầng Link 5-69
Tự học, chuyển tiếp: ví dụ Nguồn: A
đích: A
A AA
! frame có đích đến là
B
A’, vị trí của A C
khôngflood
biết: 6 1 2
AA
! Đích A có vị trí đã 5 4 3
được biết trước: B C
gửi chọn lọc chỉ trên 1 A A
ường kết nối duy nhất A
S1
S3
A S2
F
D I
B C
G H
E
S4
S1
S3
A S2
F
D I
B C
G H
E
IP subnet
LAN.
… …
… …
! trunk port: mang các frame giữa các VLAN được định
nghĩa trên nhiều switch vật lý
" Các frame được chuyển tiếp bên trong VLAN giữa các switch
không thể là các frame 802.1 (phải mang thông tin VLAN ID)
" Giao thức 802.1q thêm/gỡ bỏ các trường header được thêm
vô cho các frame được chuyển tiếp giữa các trunk port
type
dest. source
preamble
address address
data (payload) CRC 802.1Q frame
20 3 1 5
Tầng Link 5-81
Router có khả năng MPLS
! Còn gọi là Router chuyển mạch nhẵn (label-
switched router)
! Chuyển tiếp các packet tới interface đầu ra
chỉ dựa trên giá trị nhãn (label value) (không
kiểm tra ịa chỉ IP)
" Bảng chuyển tiếp MPLS (MPLS forwarding table)
khác với bảng chuyển tiếp IP (IP forwarding tables)
! Linh hoạt: các quyết định chuyển tiếp MPLS có
thể khác với IP của chúng
" Dùng địa chỉ đích và nguồn để định tuyến các luồng
dữ liệu tới cùng đích đến một cách khác nhau (same
destination differently) (traffic engineering)
" Định tuyến lại các luồng dữ liệu nhanh chóng nếu
đường liên kết hỏng: các đường dẫn dự phòng được
tính toán trước (hữu dụng cho VoIP)
Tầng Link 5-82
So sánh đường đi MPLS và IP
R6
D
R4 R3
R5
A
R2
RSVP-TE
R6
D
R4
R5
modified
link state A
flooding
Tầng Link 5-85
Bảng chuyển tiếp MPLS
in out out
label label dest interface
10 A 0 in out out
label label dest interface
12 D 0
8 A 1 10 6 A 1
12 9 D 0
R6
0 0
D
1 1
R4 R3
R5
0 0
A
R2 in outR1 out
label label dest interface
in out out
label label dest interface 6 - A 0
8 6 A 0
Tầng Link 5-86
Tầng Link và mạng LAN: Nội dung
5.1 Giới thiệu và các 5.5 link virtualization:
dịch vụ MPLS
5.2 phát hiện lỗi và 5.6 mạng trung tâm dữ
sửa lỗi liệu
5.3 các giao thức đa 5.7 một ngày trong
truy cập cuộc sống của một
5.4 mạng LAN yêu cầu web
" Định địa chỉ, ARP
" Ethernet
" switches
" VLANS
! Thách thức:
" Nhiều ứng dụng, mỗi cái
phục vụ số lượng lớn
client
" Quản lý/cân bằng tải,
tránh tắc nghẽn dữ liệu,
mạng và tiến trình
Inside a 40-ft Microsoft container,
Chicago data center
Tầng Link 5-88
Mạng trung tâm dữ liệu
Cân bằng tải: ịnh tuyến tầng application
" Nhận các yêu cầu client bên ngoài
" Hướng dẫn khối lượng công việc trong
trung tâm dữ liệu
" Trả về kết quả cho client bên ngoài
Internet%
(trung tâm dữ liệu ẩn bên trong đối với
client)
Border%router%
Load%% Load%%
balancer% Access%router% balancer%
Tier11%switches%
B%
A% C% Tier12%switches%
TOR%switches%
Server%racks%
1% 2% 3% 4% 5% 6% 7% 8%
Tầng Link 5-89
Mạng trung tâm dữ liệu
! Rất nhiều kết nối giữa các switch và rack:
" Thông lượng được tăng lên giữa các rack (nhiều
đường định tuyến có thể dùng được)
" Độ tin cậy và khả năng dự phòng tăng lên
Tier11%switches%
Tier12%switches%
TOR%switches%
Server%racks%
1% 2% 3% 4% 5% 6% 7% 8%
Tầng Link và mạng LAN: Nội dung
5.1 Giới thiệu và các 5.5 link virtualization:
dịch vụ MPLS
5.2 phát hiện lỗi và 5.6 mạng trung tâm dữ
sửa lỗi liệu
5.3 các giao thức đa 5.7 một ngày trong
truy cập cuộc sống của một
5.4 mạng LAN yêu cầu web
" Định địa chỉ, ARP
" Ethernet
" switches
" VLANS
web page
DHCP Eth
Phy first-hop, địa chỉ của DNS
DHCP server: dùng DHCP
! Yêu cầu DHCP được đóng
gói trong UDP, được đóng
DHCP
DHCP
DHCP UDP
gói trong IP, được đóng gói
DHCP IP trong 802.3 Ethernet
DHCP Eth router
Phy (chạy DHCP) ! Ethernet frame broadcast
(dest: FFFFFFFFFFFF) trên
LAN, được nhận tại router
chạy DHCP server
! Ethernet demuxed to IP
demuxed, UDP demuxed to
DHCP
Tầng Link 5-94
Một ngày trong cuộc sống … kết nối tới Internet
DHCP DHCP ! DHCP server lập DHCP
DHCP UDP ACK chứa địa chỉ IP của
DHCP IP client, địa chỉ IP của
DHCP Eth router first-hop cho
Phy client đó, tên và địa chỉ
IP của DNS server
! Đóng gói tại DHCP server,
DHCP DHCP frame được chuyển tiếp
DHCP UDP (sự học của switch) thông
DHCP IP qua mạng LAN, tách ra tại
DHCP Eth router client
Phy (chạy DHCP)
DHCP ! DHCP client nhận DHCP
ACK reply
Tầng Link5-100
Chương 5: let s take a breath
! Tìm hiểu ầy ủ chồng giao thức từ trên
xuống dưới (ngoại trừ PHY)
! Hiểu về các nguyên tắt mạng và hiện thực
! ….. Có thể dừng tại đây …. Nhưng có một số
chủ đề thú vị!
" wireless
" multimedia
" security
" network management
Tầng Link5-101
Hong Bang International University
Department of Information Technology
END OF LECTURE
mobile network
enterprise
network
Hong Bang International University
Department of Information Technology
COMPUTER
NETWORKING
mobile network
Wireless and
local or
Internet
regional ISP Mobile Networks
home network content
provider
Instructor: MSc. Hoang Ngoc Long
network datacenter
network
enterprise
network
Wireless and Mobile Networks: context
§ more wireless (mobile) phone subscribers than fixed (wired) phone
subscribers (10-to-1 in 2019)!
§ more mobile-broadband-connected devices than fixed-broadband-
connected devices devices (5-1 in 2019)!
• 4G/5G cellular networks now embracing Internet protocol stack,
including SDN
§ two important (but different) challenges
• wireless: communication over wireless link
• mobility: handling the mobile user who changes point of attachment to
network
§ Introduction
Wireless Mobility
§ Wireless Links and network § Mobility management: principles
characteristics § Mobility management: practice
§ WiFi: 802.11 wireless LANs • 4G/5G networks
§ Cellular networks: 4G and 5G • Mobile IP
§ Mobility: impact on higher-layer
protocols
Wireless and Mobile Networks: 7- 3
Elements of a wireless network
wired network
infrastructure
14 Gbps 802.11ax
10 Gbps 5G
§ Introduction
Wireless Mobility
§ Wireless links and network § Mobility management: principles
characteristics § Mobility management: practice
§ WiFi: 802.11 wireless LANs • 4G/5G networks
§ Cellular networks: 4G and 5G • Mobile IP
§ Mobility: impact on higher-layer
protocols
Link Layer: 6-12
Wireless link characteristics (1)
important differences from wired link ….
§ decreased signal strength: radio signal attenuates
as it propagates through matter (path loss)
§ interference from other sources: wireless network
frequencies (e.g., 2.4 GHz) shared by many devices
(e.g., WiFi, cellular, motors): interference
§ multipath propagation: radio signal reflects off
objects ground, arriving at destination at slightly
different times
…. make communication across (even a point to point) wireless link
much more “difficult”
Wireless and Mobile Networks: 7- 13
Wireless link characteristics (2)
§ SNR: signal-to-noise ratio 10-1
BER
10-4
highest throughput
QAM256 (8 Mbps)
• SNR may change with mobility:
QAM16 (4 Mbps)
dynamically adapt physical layer
(modulation technique, rate) BPSK (1 Mbps)
space
M
Di = S Zi,m.cm
m=1
M
receiver received 1 1 1 1 1 1 1 1
d0 = 1
input -1 -1 -1 -1 -1 -1 -1 -1 d1 = -1
1 1 1 1 1 1 1 1 slot 1 slot 0
code channel channel
-1 -1 -1 -1 -1 -1 -1 -1
output output
slot 1 slot 0
Sender 2
§ Introduction
Wireless Mobility
§ Wireless links and network § Mobility management: principles
characteristics § Mobility management: practice
§ WiFi: 802.11 wireless LANs • 4G/5G networks
§ Cellular networks: 4G and 5G • Mobile IP
§ Mobility: impact on higher-layer
protocols
Link Layer: 6-19
IEEE 802.11 Wireless LAN
IEEE 802.11 Year Max data rate Range Frequency
standard
802.11b 1999 11 Mbps 30 m 2.4 Ghz
802.11g 2003 54 Mbps 30m 2.4 Ghz
802.11n (WiFi 4) 2009 600 70m 2.4, 5 Ghz
802.11ac (WiFi 5) 2013 3.47Gpbs 70m 5 Ghz
802.11ax (WiFi 6) 2020 (exp.) 14 Gbps 70m 2.4, 5 Ghz
802.11af 2014 35 – 560 Mbps 1 Km unused TV bands
(54-790 MHz)
802.11ah 2017 347Mbps 1 Km 900 Mhz
§ all use CSMA/CA for multiple access, and have base-station and ad-hoc
network versions
Wireless and Mobile Networks: 7- 20
802.11 LAN architecture
Internet
§ wireless host communicates with
base station
• base station = access point (AP)
switch § Basic Service Set (BSS) (aka “cell”)
or router in infrastructure mode contains:
• wireless hosts
BSS 1
• access point (AP): base station
• ad hoc mode: hosts only
BSS 2
Wireless and Mobile Networks: 7- 21
802.11: Channels, association
§ spectrum divided into channels at different frequencies
• AP admin chooses frequency for AP
• interference possible: channel can be same as that chosen by
neighboring AP!
§ arriving host: must associate with an AP
• scans channels, listening for beacon frames
containing AP’s name (SSID) and MAC address
• selects AP to associate with
• then may perform authentication [Chapter 8] BSS
• then typically run DHCP to get IP address in
AP’s subnet
1
AP 1
1 1 AP 2 2 2 AP 2
2
AP 1
3 3
4
H1 H1
A B C
C
space
Wireless and Mobile Networks: 7- 24
IEEE 802.11 MAC Protocol: CSMA/CA
802.11 sender
sender receiver
1 if sense channel idle for DIFS then
transmit entire frame (no CD)
DIFS
2 if sense channel busy then
start random backoff time
timer counts down while channel idle data
transmit when timer expires
if no ACK, increase random backoff interval, repeat 2
SIFS
RTS(A) RTS(B)
reservation collision
RTS(A)
CTS(A) CTS(A)
time
DATA (A)
defer
ACK(A) ACK(A)
Internet
H1 R1
2 2 6 6 6 2 6 0 - 2312 4
frame duration address address address seq address payload CRC
control 1 2 3 control 4
2 2 4 1 1 1 1 1 1 1 1
protocol to from more power more
type subtype retry WEP rsvd
version AP AP frag mgt data
BER
10-4
keyboard, headphones) P
M
radius of
coverage
§ ad hoc: no infrastructure P
C C
§ 2.4-2.5 GHz ISM radio band, up to 3 P
Mbps
§ master controller / clients devices: M master device
• master polls clients, grants requests for C client device
client transmissions P parked device (inactive)
§ Introduction
Wireless Mobility
§ Wireless links and network § Mobility management: principles
characteristics § Mobility management: practice
§ WiFi: 802.11 wireless LANs • 4G/5G networks
§ Cellular networks: 4G and 5G • Mobile IP
§ Mobility: impact on higher-layer
protocols
Link Layer: 6-36
4G/5G cellular networks
§ the solution for wide-area mobile Internet
§ widespread deployment/use:
• more mobile-broadband-connected devices than fixed-
broadband-connected devices devices (5-1 in 2019)!
• 4G availability: 97% of time in Korea (90% in US)
§ transmission rates up to 100’s Mbps
§ technical standards: 3rd Generation Partnership Project (3GPP)
• wwww.3gpp.org
• 4G: Long-Term Evolution (LTE)standard
Mobile device:
Mobility
§ smartphone, tablet, laptop, Mobile device
(UE)
Management
Entity (MME)
Home Subscriber
Service (HSS)
to
§ coordinates device Internet
authentication with other PDN gateway (P-GW)
elements
§ similar to WiFi AP but: …
Serving Gateway (S-GW)
network” to
Internet
§ works with MME in device PDN gateway (P-GW)
authentication
Serving Gateway (S-GW)
…
to
§ P-GW Internet
• gateway to mobile cellular PDN gateway (P-GW)
network
• Looks like any other …
Serving Gateway (S-GW)
data plane
§ new protocols at link, physical
base station S-GW P-GW
layers
§ extensive use of tunneling to
IP tunnels facilitate mobility
data
plane
base station S-GW P-GW
data
plane
…
with each other, and
public internet at
exchange points
P-GW
SIM card: global visited mobile § legacy 2G, 3G: not all IP,
identify info in carrier network handled otherwise
home network
…
roaming in
visited network
Wireless and Mobile Networks: 7- 50
On to 5G!
§ goal: 10x increase in peak bitrate, 10x decrease in latency, 100x increase
in traffic capacity over 4G
§ 5G NR (new radio):
§ two frequency bands: FR1 (450 MHz–6 GHz) and FR2 (24 GHz–52 GHz): millimeter wave
frequencies
§ not backwards-compatible with 4G
§ MIMO: multiple directional antennae
§ millimeter wave frequencies: much higher data rates, but over shorter
distances
§ pico-cells: cells diameters: 10-100 m
§ massive, dense deployment of new base stations required
Wireless and Mobile Networks: 7- 51
Chapter 7 outline
§ Introduction
Wireless Mobility
§ Wireless links and network § Mobility management: principles
characteristics § Mobility management: practice
§ WiFi: 802.11 wireless LANs • 4G/5G networks
§ Cellular networks: 4G and 5G • Mobile IP
§ Mobility: impact on higher-layer
protocols
Link Layer: 6-52
What is mobility?
§ spectrum of mobility, from the network perspective:
no mobility high mobility
in home network
… visited network:
§ any network other than
P-GW your home network
SIM card: global visited mobile
identify info carrier network § service agreement with
including home other networks: to provide
…
network roaming in
visited network access to visiting mobile
Wireless and Mobile Networks: 7- 57
Home network, visited network: ISP/WiFi
ISP/WiFi: no notion of global “home”
authentication § credentials from ISP (e.g.,
access
server
username, password) stored
on device or with user
public § ISPs may have national,
Internet
international presence
…
attach
…
§ different networks: different
credentials
• some exceptions (e.g.,
authentication
eduroam)
access
server
• architectures exist (mobile
IP) for 4G-like mobility, but
…
attach
not used
Wireless and Mobile Networks: 7- 58
Home network, visited network: generic
Home Network Visited Network
e.g.,: 128.119/16 e.g.,: 79.129/16
Mobility Visited
manager Home network
network
Home gateway gateway
gateway
public or private
Internet
Correspondent
§ Introduction
Wireless Mobility
§ Wireless links and network § Mobility management: principles
characteristics § Mobility management: practice
§ WiFi: 802.11 wireless LANs • 4G/5G networks
§ Cellular networks: 4G and 5G • Mobile IP
§ Mobility: impact on higher-layer
protocols
Link Layer: 6-65
Mobility in 4G networks: major mobility tasks
Mobility 1 base station association:
manager
Home § covered earlier
Subscriber 2 1
Server
MME § mobile provides IMSI –
Home 3 base station identifying itself, home network
network P-GW S-GW 4
2 control-plane configuration:
Internet § MME, home HSS establish
P-GW
Visited network control-plane state - mobile
is in visited network
Streaming
server 3 data-plane configuration:
§ MME configures forwarding tunnels for mobile
§ visited, home network establish tunnels from
home P-GW to mobile
4 mobile handover:
§ mobile device changes its point of attachment to visited network
Wireless and Mobile Networks: 7- 66
Configuring LTE control-plane elements
Mobility
manager
Home
Subscriber MME
2
Server
Home base station
network P-GW P-GW S-GW
Visited network
P-GW
endpoint IP address of
tunnel Internet
P-GW Visited network
§ S-GW to home P-GW
tunnel: implementation of Streaming
indirect routing server
S-GW 3
1 4 5 target BS informs MME that it is
2 6
P-GW new BS for mobile
5 7 § MME instructs S-GW to
5
change tunnel endpoint to be
MME target BS (new) target BS
END OF LECTURE
mobile network
enterprise
network