Professional Documents
Culture Documents
OneForALL MMT ThanhDanh
OneForALL MMT ThanhDanh
OneForALL MMT ThanhDanh
Giới thiệu
A note on the use of these PowerPoint slides:
We’re making these slides freely available to all (faculty, students,
readers). They’re in PowerPoint form so you see the animations; and
can add, modify, and delete slides (including this one) and slide content
to suit your needs. They obviously represent a lot of work on our part.
In return for use, we only ask the following:
▪ If you use these slides (e.g., in a class) that you mention their
source (after all, we’d like people to use our book!)
▪ If you post any slides on a www site, that you note that they are
adapted from (or perhaps identical to) our slides, and note our
copyright of this material. Computer Networking: A
For a revision history, see the slide note for this page. Top-Down Approach
Thanks and enjoy! JFK/KWR 8th edition
Jim Kurose, Keith Ross
All material copyright 1996-2020 Pearson, 2020
J.F Kurose and K.W. Ross, All Rights Reserved
Giới thiệu: 1-1
Chương 1: Giới thiệu
Mục tiêu: Overview/roadmap:
▪ Làm quen với thuật ngữ ▪ What is the Internet?
• Tìm hiểu sâu hơn trong khóa ▪ What is a protocol?
học này ▪ Network edge: hosts, access network,
▪ Cách tiếp cận: physical media
• Sử dụng Internet làm 1 ví dụ ▪ Network core: packet/circuit switching,
internet structure
▪ Performance: loss, delay, throughput
▪ Security
▪ Protocol layers, service models
▪ History
Introduction: 1-2
Internet là gì: “nuts and bolts” view
Hàng triệu các thiết bị máy Mạng di động
tính được kết nối:
▪ hosts = hệ thống đầu cuối
ISP toàn cầu
Introduction: 1-7
Giao thức là gì?
Giao thức con người và giao thức mạng máy tính:
2:00
<file>
time
enterprise
network
Introduction: 1-10
Cái nhìn gần hơn về cấu trúc mạng:
mobile network
dây
enterprise
network
Introduction: 1-11
Cái nhìn gần hơn về cấu trúc mạng:
mobile network
Introduction: 1-12
Truy cập mạng và phương tiện
truyền thông vật lý
Q: Làm thế nào để kết nối các hệ mobile network
tuyến biên?
▪ mạng truy cập khu dân cư
▪ mạng truy cập tổ chức (trường học, local or
công ty) regional ISP
Introduction: 1-13
Truy cập mạng: cáp cơ bản (đồng trục)
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
DSL splitter
modem DSLAM
❖ Dùng đường dây điện thoại hiệu có đế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
❖ 3.5-16 Mbps tốc độ truyền dữ liệu lên
❖ 24-52 Mbps tốc độ truyền dữ liệu xuống Introduction: 1-16
Truy cập mạng: mạng gia đình
Thiết bị
không dây
to Internet
to Internet
Introduction: 1-18
Mạng truy cập doanh nghiệp (Enterprise)
(Ethernet)
Introduction: 1-22
Đường truyền vật lý: sóng radio
Các loại liên kết radio:
Radio không dây
▪ Vi sóng mặt đất
▪ Tín hiệu được mang dưới • Các kênh đến 45 Mbps
dạng phổ điện từ ▪ Mạng cục bộ (LAN) (như
▪ Không có dây dẫn vật lý WiFi)
▪ Truyền hai chiều • Diện rộng (như cellular)
• 4G cellular: ~ 10’s Mbps
▪ Các tác động môi trường
Vệ tinh
lan truyền: ▪
• Kênh từ Kbps đến 45Mbps
• Phản xạ (hoặc chia nhiều kênh nhỏ)
• Bị cản trở bởi vật cản • Độ trễ giữa 2 thiết bị đầu
• Bị nhiễu cuối 270 msec
❖ Giữ khoảng cách cố định
với mặt đất, độ cao thấp Introduction: 1-23
Chương1: Nội dung
1.1 Internet là gì?
1.2 Mạng biên
▪ 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ễ, sự mất mát, thông lượng
trong mạng
1.5 Các lớp giao thứ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ử
Introduction: 1-24
Mạng lõi
▪ Gồm các bộ định tuyến được
kết nối với nhau
mobile network
ISP quốc tế
▪ Chuyển mạch gói: các hệ thống
đầu cuối (host) chia nhỏ dữ liệu
lớp ứng dụng (application-layer
messages) thành các gói ISP địa
D
B R = 1.5 Mb/s
E
Các gói xếp hàng
chờ đến lượt xuất
trên đường liên kết
tuyết đó 3 2
Tần số
chia thành các dải tần số (hẹp)
▪ mỗi cuộc gọi được phân bổ băng
tần riêng của nó, có thể truyền với
tốc độ tối đa của băng tần hẹp đó time
Ghép kênh phân chia theo thời gian
(TDM)
Tần số
▪ Thời gian được chia các khe
▪ mỗi cuộc gọi được phân bổ (các)
khoảng thời gian định kỳ, có thể
truyền ở tốc độ tối đa của dải tần time
(rộng hơn), nhưng chỉ trong (các)
khe thời gian của nó Introduction: 1-30
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 liên kết 1 Mb/s
▪ Với 10 người dùng, TB mỗi người
dùng: N
• 100 kb/s khi “kích hoạt” Người dùng Đường liên kết
• Thời gian kích hoạt 10%
1 Gbps
▪ Chuyển mạch kênh:
• 10 người dùng
Q: làm thế nào có được giá trị 0.0004?
▪ Chuyển mạch gói:
• Với 10 người dùng, Q: cái gì sẽ xảy ra nếu > 35 người dùng ?
• Với 35 người dùng, xác suất kích
hoạt > 10 sẽ nhỏ hơn 0.0004
Introduction: 1-31
So sách chuyển mạch gói với
chuyển mạch kênh
Liệu chuyển mạch gói có phải là “kẻ chiến
thắng tất cả”?
▪ Tốt cho trường hợp dữ liệu không được truyền ra với tốc độ đều (bursty
data)
• Chia sẻ tài nguyên
• Đơn giản, không cần thiết lập cuộc gọi
▪ Trong trường hợp tắc nghẽn quá mức: các gói bị trễ và thất lạc
• Các giao thức cần thiết cho việc truyền dữ liệu một cách tin cậy và điều
khiển tắc nghẽn
▪ Q: Làm thế nào để hỗ trợ cho hành vi chuyển mạch kênh?
• Bảo đảm băng thông cần thiết cho các ứng dụng audio/video
Q: so sánh với con người trong việc cấp tài nguyên dành riêng
(chuyển mạch) và cấp phát tài nguyên theo yêu cầu (chuyển gói)?
Introduction: 1-32
Kiến trúc Internet: mạng của các mạng
▪ Các hệ thống đầu cuối kết nối đến Internet thông qua các
ISP truy cập (Internet Service Providers)
• Các ISP khu dân cư, công ty và trường đại học
▪ Các ISP truy cập lần lượt phải được kết nối với nhau
❖Vì vậy, bất cứ hai hệ thống đầu cuối nào cũng có thể gởi
được dữ liệu lẫn nhau.
▪ Vì vậy, mạng của các mạng rất là phức tạp
❖Sự phát triển được thúc đẩy bởi kinh tế và chính sách
quốc gia
▪ Chúng ta hãy từng bước khám phá cấu trúc Internet hiện
tại
Introduction: 1-33
Kiến trúc Internet: mạng của các mạng
Câu hỏi: có hàng triệu ISPs truy cập, làm thế nào để chúng kết nối được
với nhau?
access access
net net
access
net
access
access net
net
access
access net
net
access access
net net
access
net
access
net
access
net
access
net
access access
net access net
net
Introduction: 1-34
Kiến trúc Internet: mạng của các mạng*
Lựa chọn: kết nối từng ISP truy cập đến các ISP truy cập khác?
access access
net net
access
net
access
access net
net
access
access net
net
access
net
access
net
access access
net access net
net
Introduction: 1-35
Kiến trúc Internet: mạng của các mạng
Lựa chọn: kết nối từng ISP truy cập đế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ả thuận về kinh tế.
access access
net net
access
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 access
net access net
net
Introduction: 1-36
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ó nhiều đối thủ cạnh
tranh
access access
net net
access
net
access
access net
net
access
access net
net ISP A
access
net ISP B access
net
access ISP C
net
access
net
access
net
access
net
access access
net access net
net
Introduction: 1-37
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
Điểm trao đổi Internet
access access
net net
access
net
access
access net
net
IXP access
access net
net ISP A
access
net
IXP ISP B access
net
access ISP C
net
access
net
access
net
peering liên kết
access
net
access access
net access net
net
Introduction: 1-38
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 net
access
net
access
access net
net
IXP access
access net
net ISP A
access
net
IXP ISP B access
net
access ISP C
net
access
net
access
net
ISP khu vực access
net
access access
net access net
net
Introduction: 1-39
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
IXP access
access net
net ISP A
access ISP C
net
access
net
access
net
ISP khu vực access
net
access access
net access net
net
Introduction: 1-40
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 mạng (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 và ISP cấp Introduction:
1. 1-41
ISP cấp 1: như là Sprint
POP: point-of-presence
to/from other Sprint PoPS
links to peering
networks
…
… … …
Đến/từ khách hàng
Introduction: 1-42
Chương1: Nội dung
1.1 Internet là gì?
1.2 Mạng biên
▪ 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ễ, sự mất mát, thông lượng
trong mạng
1.5 Các lớp giao thứ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ử
Introduction: 1-43
Sự mất mát và độ trễ xảy ra như thế nào?
Các gói tin đợi trong bộ đêm của bộ định tuyến (router)
▪ Các gói tin đợi và chờ đến lượt
▪ Tốc độ đến của các gói tin đến đường liên kết (tạm thời) vượt
quá cả năng của đường liên kết đầu ra
các gói đang được truyền (trễ)
B
các gói đ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òn chỗ trống trong bộ đệm Introduction: 1-44
Bốn nguồn gây ra chậm trễ gói tin
Truyền
A Lan truyền
B
Xử lý tai nút
Xếp hàng
B
Xử ly tai nút
Xếp hàng
▪ Đáp án: Có! Sau 7 phút, xe thứ 1 sẽ đến trạm thu phí thứ 2;
và 3 xe theo sau tiếp theo vẫn còn ở trạm thu phí thứ 1.
Introduction: 1-48
Trễ do xếp hàng (nhắc lại)
3 probes 3 probes
3 probes
Introduction: 1-50
Độ trễ và định tuyến trên Internet “thực tế”
3 3 giá trị trễ từ
▪ 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ỏ
Introduction: 1-52
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
Rs bits/sec Rc bits/sec
Rs bits/sec Rc bits/sec
Đường liên kết trên con đường từ điểm cuối này đến điểm cuối
kia hạn chế thông lượng từ điểm cuối này đến điểm cuối kia
Introduction: 1-54
Thông lượng: Ngữ cảnh Internet
▪ Thông lượng điểm
Rs cuối-cuối cho mỗi kết
Rs Rs nối : min(Rc,Rs,R/10)
▪ Trong thực tế: Rc
R hoặc Rs thường bị
Rc thắt nút cổ chai
Rc
Rc
* Check out the online interactive exercises for more
examples: http://gaia.cs.umass.edu/kurose_ross/
Introduction: 1-58
kẻ xấu: tấn công máy chủ, hạ tầng mạng
Từ chối dịch vụ (Denial of Service) (DoS): kể tấn công làm
cho tài nguyên (máy chủ, băng thông) không sẵn sàng cho
lưu lượng hợp pháp bằng cách triệt tiêu tài nguyên bởi
các lưu lượng giả.
1. chọn mục tiêu
2.đột nhập vào các hệ
thống đầu cuối xung
quanh mạng (xem
botnet) Mục tiêu
3. gởi các gói tin đến mục
tiêu từ các hệ thống
đầu cuối đã bị chiếm
Introduction: 1-59
Kẻ xấu có thể đánh hơi các gói tin
đánh hơi" gói tin (packet sniffing):
• phương tiện truyền quảng bá (broadcast media) (mạng
chia sẻ ethernet, mạng không dây)
• giao diên mạng hỗn tạp đọc/ghi tất cả các gói tin (ví dụ
password!) đi qua
A C
Introduction: 1-63
Tổ chức du lịch hàng không
vé (mua) Vé (khiếu nại)
Lộ trình bay
Dịch vụ hàng không: một loạt các bước, liên quan đến
nhiều dịch vụ Introduction: 1-64
Ví dụ: Sự phân lớp của chức năng
hàng không
ticket (purchase) Vé ticket (complain)
baggage (check) Hành lý baggage (claim)
gates (load) Cổng gates (unload)
runway takeoff Cách cánh runway landing
airplane routing Lộ trình bay
airplane routing airplane routing
Bộ chuyển mạch
đích Hn Ht M Mạng
M Ứng dụng Hl Hn Ht M Liên kết Hn Ht M
Ht M Vận chuye physical
Hn Ht M network
Hl Hn Ht M link Bộ định tuyến
physical
Introduction: 1-68
Chương1: Nội dung
1.1 Internet là gì?
1.2 Mạng biên
▪ 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ễ, sự mất mát, thông lượng
trong mạng
1.5 Các lớp giao thứ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ử
Introduction: 1-69
Lịch sử Intenet
1961-1972: những nguyên lý chuyển mạch gói
▪ 1961: Kleinrock - lý thuyết ▪ 1972:
hàng đợi cho thấy hiệu quả • bản ARPAnet công cộng
của chuyển mạch gói • NCP (mạng Control Protocol)
▪ 1964: Baran - chuyển mạch first host-host protocol
gói trong mạng quân sự • chương trình email đầu tiên
▪ 1967: ARPAnet được hình • ARPAnet có 15 nút
thành bởi Advanced
Research Projects Agency
▪ 1969: nút ARPAnet đầu
tiên hoạt động
Introduction: 1-70
Lịch sử Internet
1972-1980: Intermạnging, new and proprietary nets
▪ 1970: ALOHAnet satellite mạng tại
Nguyên lý kết nối liên mạng của
Hawaii Cerf và Kahn:
▪ 1974: Cerf and Kahn – kiến trúc kết • Tối giản hóa, tự trị - không yêu
cầu thay đổi nội mạng khi cần kết
nối liên mạng nối với mạng khác.
▪ 1976: Ethernet tại Xerox PARC • Mô hình cung cấp dịch vụ với nỗ
lực cao nhất
▪ Cuối những năm 70: các kiến trúc • Các bộ định tuyến không lưu
trạng thái
độc quyền: DECnet, SNA, XNA • Điều khiển phi tập trung
▪ Cuối những năm 70 : chuyển mạch định hình kiến trúc mạng
với gói tin có kích thước cố định Internet ngày nay
(tiền thân của ATM)
▪ 1979: ARPAnet có 200 nodes Introduction: 1-71
Lịch sử Internet
1980-1990: new protocols, a proliferation of mạngs
▪ 1983: triển khai TCP/IP ▪ Mạng quốc gia mới: Csnet,
▪ 1982: giao thức email BITnet, NSFnet, Minitel
SMTP được định nghĩa ▪ 100,000 hệ thống đầu cuối
▪ 1983: DNS được định được kết nối đến liên mạng
nghĩa cho chuyển đổi từ
tên miền sang địa chỉ IP
▪ 1985: giao thức FTP được
định nghĩa
▪ 1988: điều khiển tắc nghẽn
TCP
Introduction: 1-72
Lịch sử Internet
1990, 2000’s: thương mại hóa, the Web, các ứng dụng mới
▪ Đầu những năm 1990: ARPAnet Cuối những năm1990 – 2000:
ngừng hoạt động
▪ nhiều ứng dụng thu hút hơn:
1991: NSF gỡ bỏ các giới hạn về việc
▪
sử dụng thương mại của NSFnet
instant messaging, P2P file
(ngừng hoạt động, 1995) sharing
▪ Đầu những năm 1990: Web ▪ an ninh mạng lên hàng đầu
• hypertext [Bush 1945, Nelson ▪ ước tính 50 triệu hệ thống đầu
1960’s]
cuối, hơn 100 triệu người dùng
• HTML, HTTP: Berners-Lee
• 1994: Mosaic, sau đó thành ▪ đường trục hoạt động ở tốc
Netscape độ Gbps
• cuối những năm 1990: thương mại
hóa của web Introduction: 1-73
Lịch sử Internet
2005-hiện tại : nhiều ứng dụng mới hơn, Internet ở “mọi nơi”
▪ ~18B thiết bị kết nối Internet (2017)
• Sự gia tăng của điện thoại thông minh (iPhone: 2007)
▪ Triển khai tích cực truy cập bang thông rộng
▪ Tăng cường truy cập không dây tốc độ cao khắp mọi nơi: 4G/5G, WiFi
▪ Sự xuất hiện của các mạng xã hội trực tuyến:
• Facebook: ~ 2.5 triệu người dùng
▪ Nhà cung cấp dịch vụ (Google, FB, Microsoft) tạo rạ mạng riêng của
mình
• Bỏ qua Internet thương mại để kết nối “gần” với người dùng cuối, cung
cấp quyền truy cập “tức thời” vào nội dung tìm kiếm, video,…
• Doanh nghiệp chạy dịch vụ của họ trên “đám mây” (ví dụ: Amazon
Web Services, Microsoft Azure) Introduction: 1-74
Giới thiệu: tóm tắt
▪ Tổng quan Internet
▪ Giao thức là gì?
▪ Mạng biên, mạng lõi, mạng truy
cập
Đạt được:
• so sánh chuyển chuyển mạch gói ▪ bối cảnh, tổng
và chuyển mạch kênh quan, hiểu về
• kiến trúc Internet mạng
▪ Hiệu xuất: sự mất mát, độ trễ,
thông lượng ▪ hiểu sâu hơn, chi
▪ Mô hình dịch vụ và sự phân lớp
tiết để thực
▪ An ninh mạng
hiện!
▪ Lịch sử Internet
Introduction: 1-75
Additional Chapter 1 slides
Introduction: 1-76
ISO/OSI reference model
Two layers not found in Internet
application
protocol stack!
presentation
▪ presentation: allow applications to
interpret meaning of data, e.g., encryption, session
compression, machine-specific conventions transport
▪ session: synchronization, checkpointing, network
recovery of data exchange link
▪ Internet stack “missing” these layers! physical
• these services, if needed, must be
implemented in application The seven layer OSI/ISO
reference model
• needed?
Introduction: 1-77
Wireshark
application
(www browser,
packet
email client)
analyzer
application
OS
packet Transport (TCP/UDP)
Network (IP)
capture copy of all
Ethernet frames Link (Ethernet)
(pcap) sent/received
Physical
Introduction: 1-78
Chương 2
lớp Ứng dụng
(Application layer)
A note on the use of these PowerPoint slides:
We’re making these slides freely available to all (faculty, students,
readers). They’re in PowerPoint form so you see the animations; and
can add, modify, and delete slides (including this one) and slide content
to suit your needs. They obviously represent a lot of work on our part.
In return for use, we only ask the following:
▪ If you use these slides (e.g., in a class) that you mention their
source (after all, we’d like people to use our book!)
▪ If you post any slides on a www site, that you note that they are
adapted from (or perhaps identical to) our slides, and note our
copyright of this material.
Computer Networking: A
For a revision history, see the slide note for this page.
Top-Down Approach
Thanks and enjoy! JFK/KWR 8th edition n
All material copyright 1996-2020
Jim Kurose, Keith Ross
J.F Kurose and K.W. Ross, All Rights Reserved Pearson, 2020
Application Layer: 2-1
Chương 2: Nội dung
▪ Các ứng dụng P2P
▪ Các nguyên lý của các ▪ video streaming and mạng
ứng dụng mạng phân phối nội dung
▪ Web and HTTP ▪ Lập trình socket với UDP
▪ Thư điện tử, SMTP, and TCP
IMAP
▪ The Domain Name
System DNS
(khác nhau)
▪ Liên lạc qua mạng
▪ Ví du: phần mềm web máy chủ
giao tiếp với trình duyệt local or
regional ISP
application application
socket Được kiểm soát bởi nhà
process process phát triển ứng dụng
transport transport
network network Được điểu khiển bởi hệ điều hành
link Internet link
physical physical
~
~ entity body ~
~ thân
nhau
- không cần máy khách / máy chủ X’’
thành một phần nhưng không bao giờ Q: điều gì sẽ xảy ra nếu kết nối mạng
hoặc máy khách gặp sự cố lúc t ’ ?
hoàn thành Application Layer: 2-32
Trạng thái người dùng-máy chủ: cookies
Các trang web và trình duyệt của khách Ví dụ:
hàng sử dụng cookie để duy trì một số ▪ Susan sử dụng trình duyệt trên
trạng thái giữa các giao dịch máy tính xách tay, truy cập trang
web thương mại điện tử cụ thể
4 thành phần: lần đầu tiên
1) Dòng đầu cookie (cookie header line) ▪ Khi các yêu cầu HTTP ban đầu
của thông điệp phản hồi HTTP đến trang web, trang web sẽ
2) cookie header line trong thông điệp tạo:
yêu cầu HTTP kế tiếp ▪ ID duy nhất (hay còn gọi là
3) tập tin cookie được lưu trữ trên máy “cookie”)
người dùng, được quản lý bởi trình ▪ Mục nhập trong cơ sở dữ liệu
duyệt của người dùng phụ trợ cho ID
▪ Các yêu cầu HTTP tiếp theo từ
4) Cở sở dữ liệu tại Web site Susan đến trang web này sẽ
chứa giá trị ID cookie, cho
phép trang web "xác định"
Susan Application Layer: 2-33
Cookies: lưu trữ “trạng thái” (tt.)
khách
Máy chủ
ebay 8734 usual HTTP request msg máy chủ Amazon
cookie file tạo ID
usual HTTP response cho user 1678 create backend
ebay 8734 set-cookie: 1678 entry database
amazon 1678
▪ Tổng độ trễ = ?
Chi phí: web đệm (rẻ!) Làm cách nào để tính local web đệm
độ khả dụng đường liên kết, độ trễ?
Application Layer: 2-40
Ví dụ đệm: thiết lập đệm
Tính độ khả dụng của đường liên kết truy
cập, độ trễ với đệm:
Máy chủ
▪ Giả sử khả năng đáp ứng của đệm là 0.4 Gốc
• 40% yêu cầu được đệm đáp ứng, 60% yêu cầu được Internet công cộng
máy chủ gốc đáp ứng
HTTP/2: [RFC 7540, 2015] tăng tính linh hoạt tại máy chủ
trong việc gửi các đối tượng đến máy khách:
▪ các phương thức, mã trạng thái, hầu hết các trường tiêu đề
không thay đổi so với HTTP 1.1
▪ thứ tự truyền của các đối tượng được yêu cầu dựa trên mức
độ ưu tiên của đối tượng do máy khách chỉ định (không nhất
thiết là FCFS)
▪ đẩy các đối tượng chưa được yêu cầu đến máy khách
▪ chia các đối tượng thành các khung, lên lịch cho các khung để
giảm thiểu chặn HOL
Application Layer: 2-44
HTTP/2: giảm thiểu chặn HOL
HTTP 1.1: ứng dụng khách yêu cầu 1 đối tượng lớn (ví dụ: tệp video và 3 đối
tượng nhỏ hơn)
Máy chủ
O1
O2
O1 O3
O2
O3
O4
O4
Các đối tượng được giao theo thứ tự yêu cầu: O2, O3, O4 sau O1 Application Layer: 2-45
HTTP/2: giảm thiểu chặn HOL
HTTP / 2: các đối tượng được chia thành các khung, truyền khung xen kẽ
Máy chủ
O2
O3
O1
O4
trả lời với tên của Host yêu cầu DNS máy chủ cục bộ
phân giải tên cho Host yêu cầu DNS máy chủ cục bộ 4
máy chủ tên miền engineering.nyu.edu dns.nyu.edu 5
gaia.cs.umass.edu
được hỏi
Tải nặng tại các tầng DNS máy chủ có thẩm quyền
trên của hệ thống dns.cs.umass.edu
phân cấp?
Application Layer: 2-66
Đệm (caching), cập nhật các bản ghi
▪ Một khi máy chủ tên miền biết về 1 ánh xạ tên-địa chỉ, nó sẽ lưu tạm
ánh xạ đó
• Các mục đệm hết hạn (sẽ bị xóa) sau một khoảng thời gian (TTL)
• Thông tin trong các TLD máy chủ thường được lưu tạm trong các
máy chủ tên miền cục bộ
• Do đó các máy chủ tên miền gốc không bị truy cập thường xuyên
▪ Các mục được lưu tạm có thể hết hạn
• Nếu cặp thông tin tên-địa chỉ IP thay đổi, có thể các máy khác trên
Internet không biết được cho đến khi tất cả TTL hết hạn.
▪ Cơ chế cập nhật/thông báo được đề xuất trong bộ chuẩn IETF
• RFC 2136
type=A type=CNAME
▪ name là tên host name là bí danh của một tên “gốc” (tên
▪ value là địa chỉ IP thực)
VD: www.ibm.com tên thực là
máy chủeast.backup2.ibm.com
type=NS value là tên gốc
▪ name là tên miền(e.g., type=MX
foo.com) value là tên của máy chủ thư
▪ value là tên hệ thống đầu điện tử được liên kết với name
cuối của máy chủ tên miền
có thầm quyền quản lý tên
miền này Application Layer: 2-68
Giao thức và các thông điệp DNS
▪ Các thông điệp truy vấn (query) và trả lời (reply) đều có
cùng định dạng thông điệp 2 bytes 2 bytes
identification flags
1.5
0.5
0
0 5 10 15 20 25 30 35
N
Application Layer: 2-78
P2P file distribution: BitTorrent
Tập tin được chia thành các khối 256Kb (chunks)
Các bên (peer) trong in torrent gửi/nhận các khối
tracker: theo dõi các bên (peers) torrent: nhóm các bên trao đổi
tham gia trong torrent các khối
Internet
video server
Máy khách
(stored video)
2. video
Đã gửi
1. video 3. video đã nhận, phát ở khách hàng
2. được ghi (30 khung hình / giây)
lại (ví dụ:
mạng trễ time
30 khung
hình / giây)
buffered
video
Máy khách Thời gian
diễn ra chậm
trễ
▪client-side buffering and playout delay: bù đắp cho độ trễ
do mạng thêm vào, độ trễ chập chờn
Application Layer: 2-90
Truyền phát đa phương tiện: DASH
▪ DASH: Dynamic, Adaptive Streaming over HTTP
▪ Máy chủ:
• Chia tệp video thành nhiều phần
• Mỗi đoạn được lưu trữ, được mã hóa ở các
tỷ lệ khác nhau Internet
• Tệp kê khai: cấp URL cho các phần khác nhau Máy khách
▪ Máy khách:
• Định kỳ đo băng thông từ máy chủ đến máy khách
• Bản kê khai rõ ràng , yêu cầu từng đoạn một
• Chọn tốc độ mã hóa tối đa bền vững cho bang thông hiện tại
• Có thể chọn các tốc độ mã hóa khác nhau tại các thời điểm khác
nhau ( tùy thuộc vào băng thông khả dụng tại thời điểm)
Application Layer: 2-91
Truyền phát đa phương tiện: DASH
▪ “intelligence” ở khách hàng: khách hàng
xác định
• khi nào yêu cầu chunk (để bộ đệm bị
đói hoặc tràn không xảy ra)
• tỷ lệ mã hóa cần yêu cầu (chất lượng cao Internet
hơn khi có nhiều băng thông hơn) Máy khách
• nơi yêu cầu chunk (có thể yêu cầu từ máy chủ URL "gần" với
máy khách hoặc có băng thông khả dụng cao)
manifest file
where’s Madmen?
DASH server
selected, contacted,
streaming begins
Application Layer: 2-98
Chương 2: Nội dung
▪ Các ứng dụng P2P
▪ Các nguyên lý của các ứng ▪ Video streaming và mạng
dụng mạng phân phối nội dung
▪ Web and HTTP ▪ Lập trình socket với UDP
▪ Thư điện tử, SMTP, IMAP vàTCP
▪ The Domain Name System
DNS
application application
socket controlled by
process process app developer
transport transport
network network Được điều khiển bởi
link hệ điều hành
link Internet
physical physical
create socket:
create socket, port= x: clientSocket =
serverSocket = socket(AF_INET,SOCK_DGRAM)
socket(AF_INET,SOCK_DGRAM)
create datagram with máy chủIP
and port=x; send datagram via
read datagram from clientsocket
serverSocket
write reply to
read datagram from
serversocket
clientSocket
specifying máy kháchIP,
số hiệu port close
clientSocket
Application Layer: 2-103
Ứng dụng ví dụ: UDP máy khách
Python UDPmáy khách
Bao gồm thư viện socket from socket import *
của Python’
serverName = ‘hostname’
serverPort = 12000
Tạo socket UDP cho máy chủ clientSocket = socket(AF_INET,
SOCK_DGRAM)
Nhận thông điệp từ bàn phím
người dùng
message = raw_input(’Input lowercase sentence:’)
Đính kèm tên máy chủ, cổng đến thông điệp; gởi vào clientSocket.sendto(message.encode(),
socket
(serverName, serverPort))
Đọc các ký tự trả lời từ modifiedMessage, serverAddress =
socket vào chuỗi
clientSocket.recvfrom(2048)
In ra chuỗi được nhận và đóng socket print modifiedMessage.decode()
clientSocket.close()
create socket,
port=x, for incoming
request:
serverSocket = socket()
write reply to
connectionSocket read reply from
clientSocket
close
connectionSocket close
clientSocket
Application Layer: 2-107
Ứng dụng ví dụ : TCP máy khách
Python TCPmáy khách
from socket import *
serverName = ’servername’
serverPort = 12000
Tạo TCP socket cho máy clientSocket = socket(AF_INET, SOCK_STREAM)
chủ, port 12000
clientSocket.connect((serverName,serverPort))
sentence = raw_input(‘Input lowercase sentence:’)
clientSocket.send(sentence.encode())
Không cần đính kèm tên máy chủ, port modifiedSentence = clientSocket.recv(1024)
print (‘From Server:’, modifiedSentence.decode())
clientSocket.close()
Cung cấp truyền thông logic giữa các tiến mobile network
network
data link
nhau
Các giao thức protocols chạy trên các hệ
thống đầu cuối
Phía gửi: chia nhỏ các thông điệp
(message) ứng dụng thành các segments, local or
regional ISP
sau đó chuyển các segments này cho tầng
network home network content
Phía nhận: tái kết hợp các segments thành
provider
network datacenter
các thông điệp (message), các thông điệp
application
network
transport
Người gửi:
application ▪ được chuyển một thông application
app. msg
báo lớp ứng dụng
transport ▪ xác định giá trị trường tiêu TTtransport
hh app. msg
đề phân đoạn
network (IP) ▪ tạo phân khúc network
▪ chuyển phân đoạn sang (IP)
link
link
IP physical
physical
Người nhận:
application ▪ nhận phân đoạn từ IP application
▪ kiểm tra giá trị tiêu đề
app. msg
transport ▪ kiểm tra giá trị tiêu đề transport
• giao hàng theo đơn đặt hàng đáng tin cậy physical
national or global ISP
Hnnetwork
Ht HTTP msg transport
transport
network link network
link physical link
physical physical
transport
Hn Ht HTTP msg
transport
application
application application
transport transport
(UDP) (UDP)
link link
physical physical
physical physical
độ dài, tính
application bằng byte của
data phân đoạn UDP,
(payload)
bao gồm cả tiêu
đề
dữ liệu đến / từ
Định dạng phân đoạn UDP lớp ứng dụng
Đã truyền: 5 6 11
Nhận: 4 6 11
sender-computed
receiver-computed
checksum
= checksum (as received)
tổng 1 0 1 1 1 0 1 1 1 0 1 1 1 1 0 0
checksum 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ả
* Xem các bài tập tương tác trực tuyến để biết thêm ví dụ: http://gaia.cs.umass.edu/kurose_ross/interactive/
Transport Layer: 3-33
Kiểm tra Internet: bảo vệ yếu!
ví dụ: thêm hai số nguyên 16 bit
0 1
1 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 1 0
1 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1
Bit dư 1 1 0 1 1 1 0 1 1 1 0 1 1 1 0 1 1 Mặc dù các số đã
thay đổi (bit lộn
Tổng 1 0 1 1 1 0 1 1 1 0 1 1 1 1 0 0 xộn), không có
thay đổi trong
checksum 0 1 0 0 0 1 0 0 0 1 0 0 0 0 1 1 tổng kiểm tra!
sending receiving
process process
application data data
transport
reliable channel
transport
network
unreliable channel
sending receiving
process process
application data data
transport
sender-side of receiver-side
Độ phức tạp của giao thức reliable data
transfer protocol
of reliable data
transfer protocol
truyền dữ liệu đáng tin cậy sẽ
phụ thuộc (mạnh mẽ) vào các transport
network
đặc điểm của kênh không đáng unreliable channel
tin cậy (mất, hỏng, sắp xếp lại
thực hiện dịch vụ đáng tin cậy
dữ liệu?)
Transport Layer: 3-39
Principles of reliable data transfer
sending receiving
process process
application data data
transport
sender-side of receiver-side
reliable data of reliable data
Người gửi và người nhận không transfer protocol transfer protocol
biết “trạng thái” của nhau, ví
dụ: đã nhận được tin nhắn transport
network
chưa? unreliable channel
udt_send(): được gọi bởi rdt rdt_rcv(): được gọi khi gói đến
để chuyển gói Giao tiếp hai chiều qua kênh không bên nhận của kênh
kênh không đáng tin cậy cho đáng tin cậy
Transport Layer: 3-41
người nhận
Truyền dữ liệu đáng tin cậy: bắt đầu
Chúng tôi sẽ:
▪ từng bước phát triển bên gửi, bên nhận của reliable data transfer
protocol (rdt)
▪ chỉ xem xét truyền dữ liệu một chiều
• nhưng thông tin kiểm soát sẽ chảy theo cả hai hướng!
▪ sử dụng máy trạng thái hữu hạn (FSM) để chỉ định người gửi, người nhận
sự kiện gây ra chuyển đổi trạng thái
các hành động được thực hiện khi chuyển đổi trạng thái
state : khi ở “trạng thái”
này, trạng thái tiếp state state
theo được xác định duy 1 event
nhất bởi sự kiện tiếp 2
actions
theo
Làm thế nào để con người phục hồi sau "lỗi" trong khi trò chuyện?
extract(rcvpkt,data)
deliver_data(data)
sndpkt = make_pkt(ACK, chksum)
udt_send(sndpkt)
rdt_send(data)
sndpkt = make_pkt(1, data, checksum)
udt_send(sndpkt)
start_timer
(c) Mất ACK (d) hết thời gian sớm / ACK chậm trễ
Transport Layer: 3-61
Hiệu suất của rdt3.0 (dừng và chờ)
▪ U sender: sử dụng – một phần thời gian người gửi bận gửi
▪ ví dụ: liên kết 1 Gbps, hỗ trợ 15 ms. trì hoãn, gói 8000 bit
• thời gian để truyền gói tin vào kênh:
L 8000 bits
Dtrans = R = 9 = 8 microsecs
10 bits/sec
L/R L/R
Usender=
RTT + L / R
.008 RTT
=
30.008
= 0.00027
U 3L / R .0024
sender = = = 0.00081
RTT + L / R 30.008
▪ ACK tích lũy : ACK (n): ACK tất cả các gói tối đa, bao gồm seq # n
• khi nhận ACK (n): chuyển cửa sổ về phía trước để bắt đầu lúc n+1
▪ chẹn giờ cho gói trên chuyến bay cũ nhất
▪ timeout (n): truyền lại gói n và tất cả các gói seq # cao hơn trong cửa sổ
Transport Layer: 3-67
Go-Back-N: bộ thu
▪ Chỉ ACK: luôn gửi ACK cho gói được nhận chính xác cho đến nay, với
mức cao nhất theo thứ tự seq #
• có thể tạo ACK trùng lặp
• chỉ cần nhớ rcv_base
▪ khi nhận được gói không đúng thứ tự:
• có thể loại bỏ (không đệm) hoặc đệm: một quyết định triển khai
• re-ACK pkt với seq # theo thứ tự cao nhất
rcv_base
Không nhận
Transport Layer: 3-68
Go-Back-N đang hoạt động
cửa sổ người gửi (N = 4) người gửi người nhận
012345678 gửi pkt0
012345678 gửi pkt1
012345678 gửi pkt2 nhận pkt0, gửi ack0
012345678 gửi pkt3 Xloss nhận pkt1, gửi ack1
(chờ đợi)
nhận pkt3, loại bỏ,
012345678 rcv ack0, gửi pkt4 (lại) gửi ack1
012345678 rcv ack1, gửi pkt5 nhận pkt4, loại bỏ,
(lại) gửi ack1
bỏ qua ACK trùng lặp nhận pkt5, loại bỏ,
(lại) gửi ack1
pkt 2 timeout
012345678 gửi pkt2
012345678 gửi pkt3
012345678 gửi pkt4 rcv pkt2, cung cấp, gửi ack2
012345678 gửi pkt5 rcv pkt3, cung cấp, gửi ack3
rcv pkt4, cung cấp, gửi ack4
rcv pkt5, cung cấp, gửi ack5
lưỡng nan!
0123012 0123012
0123012 pkt2 0123012
0123012
pkt3
example: 0123012
X
0123012
▪ seq #s: 0, 1, 2, 3 (base 4 counting) pkt0 will accept packet
with seq number 0
▪ window size=3 (a) no problem
0123012 pkt0
0123012 pkt1 0123012
0123012 pkt2 X 0123012
X 0123012
X
timeout
retransmit pkt0
0123012 pkt0
will accept packet
with seq number 0
(b) oops!
Transport Layer: 3-74
Lặp lại có chọn lọc: cửa sổ người gửi
(sau khi nhận)
cửa sổ nhận
(sau khi nhận)
lưỡng nan!
0123012 0123012
0123012 pkt2 0123012
0123012
pkt3
example: 0123012
X
▪ người nhậnpkt0
0123012
▪ seq #s: 0, 1, 2, 3 (base 4 counting) không thể nhìn
sẽ chấp nhận gói
với seq số 0
▪ window size=3 (a) no phía
thấy problem
người
gửi
▪ hành vi của
người nhận
0giống
1 2 3 0 1hệt
2 nhau
pkt0
Q: mối quan hệ nào là cần thiết 0trong
1 2 3 0 1cả
2 hai
pkt1 0123012
0trường
1 2 3 0 1 2hợp!
pkt2 X
giữa kích thước chuỗi # và kích ▪ có gì đó (rất) sai! X
0123012
0123012
thước cửa sổ để tránh sự cố X
timeout
trong kịch bản (b)? retransmit pkt0
0123012 pkt0
sẽ chấp nhận gói
với seq số 0
(b) oops!
Transport Layer: 3-75
Chương 3: Lộ trình
▪ Dịch vụ tầng vận chuyển
▪ Ghép kênh và phân kênh
▪ Truyền tải không kết nối: UDP
▪ Nguyên tắc truyền dữ liệu đáng tin cậy
▪ Connection-oriented transport: TCP
▪ Giao thông hướng kết nối: TCP
• cấu trúc phân đoạn
• truyền dữ liệu đáng tin cậy
• Kiểm soát lưu lượng
• quản lý kết nối
▪ Nguyên tắc kiểm soát tắc nghẽn
▪ Kiểm soát tắc nghẽn TCP Transport Layer: 3-76
TCP: Tổng quát RFCs: 793,1122, 2018, 5681, 7323
▪ điểm đến điểm: ▪ ACK tích lũy
• một người gửi, một người
nhận ▪ pipelining:
• Kích thước cửa sổ đặt điều khiển
▪ byte hơi đáng tin cậy, theo luồng và tắc nghẽn TCP
thứ tự :
• không có “ranh giới tin nhắn" ▪ định hướng kết nối :
▪ dữ liệu song công : • bắt tay (trao đổi thông điệp điều
• luồng dữ liệu hai chiều trong khiển) khởi tạo trạng thái người
cùng một kết nối gửi, người nhận trước khi trao đổi
• MSS: kích thước phân đoạn tối dữ liệu
đa ▪ kiểm soát dòng chảy :
• người gửi sẽ không áp đảo người
nhận Transport Layer: 3-77
Cấu trúc phân đoạn TCP
32 bits
window size
Sự nhìn nhận : N
phân đoạn không theo thứ tự phân đoạn gửi đi từ người nhận
(milliseconds)
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)
time (seconds)
SampleRTT Estimated RTT
Transport Layer: 3-82
TCP khứ hồi thời gian, thời gian chờ
▪ khoảng thời gian chờ : EstimatedRTT cộng với “biên độ an toàn”
• biến thể lớn trong EstimatedRTT: muốn có một biên độ an toàn lớn hơn
* Check out the online interactive exercises for more examples: http://gaia.cs.umass.edu/kurose_ross/interactive/
Transport Layer: 3-83
Người gửi TCP (đơn giản hóa)
sự kiện: dữ liệu nhận được từ ứng sự kiện: hết giờ
dụng
▪ tạo phân đoạn với seq # ▪ truyền lại phân đoạn
▪ seq # là số luồng byte của byte
gây ra thời gian chờ
dữ liệu đầu tiên trong phân ▪ hẹn giờ khởi động lại
đoạn
sự kiện: ACK nhận được
▪ bắt đầu hẹn giờ nếu chưa chạy
▪ nếu ACK thừa nhận các phân
▪ nghĩ về bộ đếm thời gian như đoạn chưa được đóng gói
đối với phân đoạn chưa được trước đó
đóng gói cũ nhất
• cập nhật những gì được biết là
• khoảng thời gian hết hạn : ACKed
TimeOutInterval
• bắt đầu hẹn giờ nếu vẫn còn
phân đoạn chưa được đóng gói
Transport Layer: 3-84
Bộ thu TCP: Thế hệ ACK [RFC 5681]
Sự kiện tại người nhận Hành động của người 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ứ tự
khác có ACK đang treo
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
SendBase=92
Seq=92, 8 bytes of data Seq=92, 8 bytes of data
timeout
ACK=100
X
ACK=100
ACK=120
SendBase=120
timeout
được đóng gói bị mất, vì vậy đừng
đợi thời gian chờ
Việc nhận ba ACK trùng lặp cho
Seq=100, 20 bytes of data
biết 3 phân đoạn nhận được
sau khi một phân đoạn bị thiếu
- phân đoạn bị mất có thể xảy
ra. Vì vậy, truyền lại!
Transport Layer: 3-88
Chương 3: Lộ trình
▪ Dịch vụ tầng vận chuyển
▪ Ghép kênh và phân kênh
▪ Truyền tải không kết nối: UDP
▪ Nguyên tắc truyền dữ liệu đáng tin
cậy
▪ Vận chuyển hướng kết nối: TCP
• cấu trúc phân đoạn
• truyền dữ liệu đáng tin cậy
• Kiểm soát lưu lượng
• quản lý kết nối
▪ Nguyên tắc kiểm soát tắc nghẽn
▪ Kiểm soát tắc nghẽn TCP
Transport Layer: 3-89
Kiểm soát luồng TCP
ứng dụng
Q: Điều gì xảy ra nếu lớp Ứng dụng xóa dữ liệu
quá trình
mạng cung cấp dữ liệu nhanh khỏi bộ đệm ổ cắm TCP
hơn lớp ứng dụng loại bỏ dữ Ổ cắm TCP
liệu khỏi bộ đệm ổ cắm? bộ đệm máy thu
TCP
mã
Lớp mạng phân phối
tải trọng IP datagram
vào bộ đệm ổ cắm TCP
IP
mã
từ người gửi
TCP
mã
Lớp mạng phân phối
tải trọng IP datagram
vào bộ đệm ổ cắm TCP
IP
mã
từ người gửi
TCP
mã
cửa sổ nhận
kiểm soát luồng: người
nhận # byte sẵn sàng IP
mã
chấp nhận
từ người gửi
TCP
mã
Kiểm soát lưu lượng
người nhận kiểm soát người gửi, vì vậy người
gửi sẽ không làm tràn bộ đệm của người nhận IP
mã
bằng cách truyền quá nhiều, quá nhanh
từ người gửi
network network
chọn x
req_conn(x)
THÀNH LẬP
acc_conn(x)
THÀNH LẬP
data(x+1) Chấp nhận
dữ liệu (x + 1)
ACK(x+1)
connection
x completes
choose x
req_conn(x)
THÀNH LẬP
retransmit acc_conn(x)
req_conn(x)
THÀNH LẬP
req_conn(x)
connection
client x completes server
terminates forgets x
THÀNH LẬP
acc_conn(x)
Vấn đề: kết nối nửa mở!
(không có khách hàng)
Transport Layer: 3-99
Các tình huống bắt tay 2 chiều
choose x
req_conn(x)
ESTAB
retransmit acc_conn(x)
req_conn(x)
ESTAB
data(x+1) accept
data(x+1)
retransmit
data(x+1)
connection
x completes server
client
terminates forgets x
req_conn(x)
ESTAB
data(x+1) accept
data(x+1)
Vấn đề: trùng lặp dữ liệu
Đã được chấp nhận!
Bắt tay 3 chiều TCP
Trạng thái máy chủ
serverSocket = socket(AF_INET,SOCK_STREAM)
Trạng thái khách hàng serverSocket.bind((‘’,serverPort))
serverSocket.listen(1)
clientSocket = socket(AF_INET, SOCK_STREAM) connectionSocket, addr = serverSocket.accept()
NGHE
clientSocket.connect((serverName,serverPort)) NGHE
choose init seq num, x
send TCP SYN msg
ĐỒNG BỘ SYNbit=1, Seq=x
chọn init seq num, y
gửi TCP SYNACK
msg, acking SYN SYN RCVD
SYNbit=1, Seq=y
ACKbit=1; ACKnum=x+1
đã nhận được SYNACK
THÀNH LẬP (x)
cho biết máy chủ đang
hoạt động; ACKbit=1, ACKnum=y+1
gửi ACK cho SYNACK;
phân đoạn này có thể đã nhận được
chứa ACK (y)
dữ liệu từ máy khách cho biết khách THÀNH LẬP
đến máy chủ hàng đang
hoạt động Transport Layer: 3-101
Giao thức bắt tay 3 chiều của con người
1. Vào belay?
2. Nằm yên.
3. Leo núi.
delay
throughput:
phương pháp
tiếp cận R/2? lin R/2 lin R/2
thông lượng tối đa cho mỗi kết sự chậm trễ lớn như tỷ lệ
nối: R / 2 đến lin tiếp cận năng lực
Transport Layer: 3-106
Nguyên nhân / chi phí của tắc nghẽn: kịch bản 2
▪ một bộ định tuyến, có hạn bộ đệm
▪ người gửi truyền lại gói bị mất, hết thời gian chờ
• đầu vào lớp ứng dụng = đầu ra lớp ứng dụng : lin = lout
• đầu vào lớp vận chuyển bao gồm truyền lại : l’in lin
R R
R R
R R
R R
R R
Host D
lout
Máy chủ C
lin’ R/2
throughput: lout
quá công suất
lin R/2
delay
R/2
lin R/2
lout
▪ mất mát / truyền lại làm giảm thông
throughput:
lượng hiệu quả
lin R/2 R/2
throughput: lout
thông lượng hiệu quả
R/2
lin
lout
phí cho các gói bị mất ở hạ lưu
lin’ R/2
AIMD sawtooth
behavior: probing
for bandwidth
▪ Người gửi TCP giới hạn truyền : LastByteSent- LastByteAcked < cwnd
▪ cwnd được điều chỉnh động để đáp ứng với tình trạng tắc
nghẽn mạng được quan sát (thực hiện kiểm soát tắc nghẽn
TCP)
Transport Layer: 3-121
TCP khởi động chậm
Máy chủ A Máy chủ B
▪ khi kết nối bắt đầu, tăng tỷ
lệ theo cấp số nhân cho
đến khi sự kiện mất mát
RTT
đầu tiên :
• ban đầu cwnd = 1 MSS
• gấp đôi cwnd every RTT
• thực hiện bằng cách tăng
dần cwnd cho mỗi ACK nhận
được
▪ tóm lược : tốc độ ban đầu time
chậm, nhưng tăng nhanh
theo cấp số nhân Transport Layer: 3-122
TCP: từ khởi động chậm đến tránh tắc nghẽn
Q: khi nào thì mức tăng theo cấp
số nhân nên chuyển sang tuyến
tính? X
A: khi cwnd đạt 1/2 giá trị trước
khi hết thời gian.
Thực hiện :
▪ Biến đổi ssthresh
▪ về sự kiện mất mát, ssthresh được
đặt thành 1/2 trong số cwnd ngay
trước sự kiện mất mát
* Xem các bài tập tương tác trực tuyến để biết thêm ví dụ: http://gaia.cs.umass.edu/kurose_ross/interactive/
Transport Layer: 3-123
Tóm tắt: Kiểm soát tắc nghẽn TCP
New
New ACK!
ACK! new ACK
duplicate ACK
dupACKcount++ new ACK .
cwnd = cwnd + MSS (MSS/cwnd)
dupACKcount = 0
cwnd = cwnd+MSS truyền (các) phân đoạn mới, nếu được phép
dupACKcount = 0
L truyền (các) phân đoạn mới, nếu được phép
cwnd = 1 MSS
ssthresh = 64 KB cwnd > ssthresh
dupACKcount = 0
chậm L tắc nghẽn
khởi đầu timeout sự tránh né
ssthresh = cwnd/2
cwnd = 1 MSS duplicate ACK
timeout dupACKcount = 0 dupACKcount++
ssthresh = cwnd/2 truyền lại đoạn bị thiếu
cwnd = 1 MSS
dupACKcount = 0
truyền lại đoạn bị thiếu New
timeout
ACK!
ssthresh = cwnd/2
cwnd = 1 New ACK
dupACKcount = 0
truyền lại đoạn bị thiếu cwnd = ssthresh dupACKcount == 3
dupACKcount == 3 dupACKcount = 0
ssthresh= cwnd/2 ssthresh= cwnd/2
cwnd = ssthresh + 3 cwnd = ssthresh + 3
truyền lại đoạn bị thiếu truyền lại đoạn bị thiếu
Nhanh
hồi phục
duplicate ACK
cwnd = cwnd + MSS
truyền (các) phân đoạn mới, nếu được phép
time
t0 t1 t2 t3 t4
Transport Layer: 3-126
TCP và "liên kết nút cổ chai" bị tắc nghẽn
▪ TCP (cổ điển, CUBIC) tăng tốc độ gửi của TCP cho đến khi xảy ra mất gói
ở đầu ra của một số bộ định tuyến: liên kết nút cổ chai
ECN=10 ECN=11
IP datagram
Transport Layer: 3-131
TCP công bằng
Mục tiêu công bằng : nếu K phiên TCP chia sẻ cùng một liên kết
nút cổ chai của băng thông R, mỗi phiên phải có tốc độ trung
bình là R / K
Kết nối TCP 1
nút cổ chai
Kết nối TCP 2 bộ định tuyến
công suất R
Mạng lưới IP IP
• kiểm soát lỗi và tắc nghẽn : “Người đọc quen thuộc với tính năng phát
hiện mất mát và kiểm soát tắc nghẽn của TCP sẽ tìm thấy các thuật toán
song song với các thuật toán TCP nổi tiếng ở đây.” [từ đặc điểm kỹ thuật QUIC]
• thiết lập kết nối : độ tin cậy, kiểm soát tắc nghẽn, xác thực, mã hóa,
trạng thái được thiết lập trong một RTT
▪ nhiều “luồng” cấp ứng dụng được ghép qua một kết nối QUIC
• truyền dữ liệu đáng tin cậy riêng biệt, bảo mật
• kiểm soát tắc nghẽn chung
data
Bắt tay TLS
(Bảo vệ)
data
TCP (độ tin cậy, trạng thái kiểm soát QUIC: độ tin cậy, kiểm soát tắc
tắc nghẽn) + TLS (xác thực, trạng thái nghẽn, xác thực, trạng thái tiền điện
tiền điện tử) tử
▪ 2 cái bắt tay nối tiếp 1 cái bắt tay
Transport Layer: 3-139
QUIC: luồng: song song, không chặn HOL
HTTP HTTP
ĐƯỢC GET HTTP
GET
ứng dụng
HTTP HTTP
ĐƯỢC GET
HTTP
ĐƯỢC QUIC QUIC QUIC QUIC QUIC QUIC
encrypt encrypt encrypt encrypt encrypt encrypt
QUIC QUIC QUIC QUIC QUIC QUIC
TLS mã hóa TLS mã hóa RDT RDT RDT RDT
error!
RDT RDT
Chỉ ACK: luôn gửi ACK cho gói được nhận đúng với mức cao nhất
theo thứ tự seq #
• có thể tạo ACK trùng lặp
• chỉ cần nhớ expectedseqnum
▪ gói không theo thứ tự :
• loại bỏ (không đệm): không có bộ đệm người nhận!
• re-ACK pkt với seq theo thứ tự cao nhất #
Transport Layer: 3-144
Người gửi TCP (đơn giản hóa)
data received from application above
create segment, seq. #: NextSeqNum
pass segment to IP (i.e., “send”)
NextSeqNum = NextSeqNum + length(data)
if (timer currently not running)
L start timer
NextSeqNum = InitialSeqNum wait
SendBase = InitialSeqNum for
event timeout
retransmit not-yet-acked segment
with smallest seq. #
start timer
ACK received, with ACK field value y
if (y > SendBase) {
SendBase = y
/* SendBase–1: last cumulatively ACKed byte */
if (there are currently not-yet-acked segments)
start timer
else stop timer
}
Transport Layer: 3-145
Bắt tay 3 chiều TCP FSM
closed
Socket connectionSocket =
welcomeSocket.accept();
L Socket clientSocket =
newSocket("hostname","port number");
SYN(x)
SYNACK(seq=y,ACKnum=x+1) SYN(seq=x)
create new socket for communication
back to client
listen
SYN
SYN sent
rcvd
SYNACK(seq=y,ACKnum=x+1)
ESTAB
ACK(ACKnum=y+1) ACK(ACKnum=y+1)
L
LAST_ACK
FINbit=1, seq=y
TIMED_WAIT can no longer
send data
ACKbit=1; ACKnum=y+1
thời gian chờ đợi
cho tối đa 2 * CLOSED
thời gian tồn tại
của phân đoạn
CLOSED
W/2
TCP qua "đường ống dài, béo"
▪ ví dụ: phân đoạn 1500 byte, RTT 100ms, muốn thông lượng 10
Gbps
▪ yêu cầu W = 83.333 đoạn trong chuyến bay
▪ thông lượng về xác suất mất đoạn, L [Mathis 1997]:
1.22 . MSS
TCP throughput =
RTT L
host nhận
network network
data link data link
network
physical physical
Giá trị
trong header
của packet đến
0111 1
3 2
1 3
2
VC number
1 12 3 22
2 63 1 18
3 7 2 17
1 97 3 87
… … … …
Các router kết nối ảo duy trì thông tin trạng thái kết nối!
application
5. Bắt đầu dòng dữ liệu 6. Nhận dữ liệu application
transport transport
network 4. Cuộc gọi được kết nố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ọi đến
data link
physical physical
Link interface
Dãy địa chỉ đích
0
11001000 00010111 00010*** *********
1
11001000 00010111 00011000 *********
2
11001000 00010111 00011*** *********
3
otherwise
Ví dụ:
DA: 11001000 00010111 00010110 10100001 Interface nào?
DA: 11001000 00010111 00011000 10101010 Interface nào?
Tầng Network 4-19
Mạng datagram hoặc mạch ảo:
tại sao?
Internet (datagram) ATM (mạch ảo)
❖ Dữ liệu trao đổi giữa các ❖ Được phát triển từ hệ
máy tính thống điện thoại
▪ Dịch vụ “mềm dẻo, không ❖ Đàm thoại của con
định thì chặt chẽ. người:
▪ Định thì chặt chẽ, yêu
❖ Nhiều kiểu link cầu về độ tin cậy
▪ Các đặc tính khác nhau ▪ Cần cho các dịch vụ bảo
▪ Khó đồng nhất dịch vụ đảm
❖ Các hệ thống đầu cuối ❖ Các hệ thống đầu cuối
“thông minh” (các máy “ít thông minh”
▪ Điện thoại
tính) ▪ Bên trong mạng phức
▪ Có thể thích ứng, điều tạp
khiển và sửa lỗi
▪ Mạng bên trong đơn
giản, phức tạp tại “mạng
bên ngoài” Tầng Network 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
forwarding data
plane (hardware)
high-seed
switching
fabric
Tầng physical :
Tiếp nhận mức bit
decentralized switching:
Tầng data link:
❖ Với đích của datagram biết trước., tìm
Như là Ethernet
output port (cổng ra) bằng cách dùng
Xem chương 5
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
“tốc độ dòng” (‘line speed’)
❖ Xếp hàng: nếu datagram đến nhanh hơn
tốc độ chuyển tiếp bên trong switch
Tầng Network 4-23
Switching fabrics
❖ Truyền packet từ bộ nhớ đềm đầu vào đến bộ
nhớ đệm đầu ra thích hợp
❖ Tốc độ switching: tốc độ mà các packet có thể
được truyền từ đầu vào (inputs) đến đầu ra
(outputs)
▪ Thường được đo như nhiều tốc độ dòng của đầu vào/đầu ra
▪ N inputs: switching rate N times line rate desirable
❖ 3 kiểu switching fabrics
memory
input output
port memory port
(như (như
Ethernet) Ethernet)
Bus hệ thống
datagram
switch buffer link
fabric layer line
protocol termination
(send)
queueing
switch
switch
fabric
fabric
switch switch
fabric fabric
Tầng link
Tầng physical
…
▪ Các kiểu đường link khác vào: 1 datagram lớn
nhau, các MTU khác nhau ra: 3 datagram nhỏ hơn
❖ IP datagram lớn đượ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 ở đích cuối cùng …
▪ Các bit của IP header
được sử dụng để xác
định, sắp đặt các
fragment liên quan Tầng Network 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
1 datagram lớn thành vài datagram nhỏ hơn
❖ MTU = 1500 bytes
wired Ethernet,
wireless 802.11)
❖ Mỗi địa chỉ IP được 223.1.1.1 = 11011111 00000001 00000001 00000001
liên kết với mỗi
interface 223 1 1 1
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
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
Phần Phần
subnet host
11001000 00010111 00010000 00000000
200.23.16.0/23
DHCP
223.1.1.0/24
server
223.1.1.1 223.1.2.1
223.1.2.0/24
223.1.3.1 223.1.3.2
223.1.3.0/24
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
IP
router first-hop, địa
DHCP
DHCP Eth
Phy chỉ của : dùng DHCP
DHCP
❖ DHCP request được đóng
gói trong UDP, được đóng
DHCP DHCP 168.1.1.1 gói trong IP, được đóng
DHCP UDP gói trong 802.1 Ethernet
IP
Ethernet frame broadcast
DHCP
❖
Eth router với DHCP
(dest: FFFFFFFFFFFF) trên
DHCP
Phy server được tích hợp
vào trong router LAN, được nhận tại router
đang chạy DHCP server
❖ Ethernet demuxed to IP
demuxed, UDP demuxed to
DHCP
DHCP
❖ Đóng gói của DHCP
server, frame được
DHCP
DHCP UDP
DHCP IP chuyển cho client, tách
DHCP Eth Router với DHCP DHCP tại client
Phy server được tích hơp
Bây giờ, client biết địa
DHCP
vào router ❖
chỉ IP của nó, tên và địa
chỉ IP của DSN server,
địa chỉ IP của router
first-hop của nó
Tổ chức 0
200.23.16.0/23
Tổ chức 1
“gởi cho tôi bất cứ thông tin gì
200.23.18.0/23 với các địa chỉ bắt đầu
Tổ chức 2 200.23.16.0/20”
200.23.20.0/23 . Fly-By-Night-ISP
.
. . Internet
.
Tổ chức 7 .
200.23.30.0/23
“gởi cho tôi bất cứ thông
ISPs-R-Us
tin gì với các địa chỉ bắt đầu
199.31.0.0/16”
Tổ chức 0
200.23.16.0/23
10.0.0.4
10.0.0.2
138.76.29.7
10.0.0.3
▪ Ghi nhớ (trong bảng chuyển đổi NAT) mọi cặp chuyển
đổi (địa chỉ IP nguồn, số hiệu port) sang (địa chỉ IP
NAT, số hiệu port mới)
3 probes 3 probes
3 probes
Tầng Network 4-66
IPv6: Động lực
❖ Động lực thúc đẩy ban đầu: không gian địa chỉ
32-bit sớm được cấp phát cạn kiệt.
❖ Động lực khác:
▪ Định dạng của header giúp tăng tốc xử lý/chuyển
gói
▪ header thay đổi để tạo điều kiện thuận lơi cho QoS
data
IPv6 datagram
IPv4 datagram
Tầng Network 4-70
Tunneling
A B IPv4 tunnel E F
kết nối các router IPv6
Cách nhìn logic:
IPv6 IPv6 IPv6 IPv6
A B C D E F
Cách nhìn thực:
IPv6 IPv6 IPv4 IPv4 IPv6 IPv6
A B C D E F
Cách nhìn thực:
IPv6 IPv6 IPv4 IPv4 IPv6 IPv6
data data
A-đến-B: E-đến-F:
IPv6 B-đến-C: B-đến-C: IPv6
IPv6 bên trong IPv6 bên trong
IPv4 IPv4 Tầng Network 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
v 3 w
2 5
u 2 1 z
3
1 2
x y
Đồ thị: G = (N,E) 1
E = tập hợp các kết nối ={ (u,v), (u,x), (v,x), (v,w), (x,w), (x,y), (w,y), (w,z), (y,z) }
Ghi chú: mô hình đồ thị cũng hữu ích trong các ngữ cảnh khác.
Ví dụ, P2P, trong đó N is tập các peer và E là tập các kết nối TCP
Chi phí đường đi (x1, x2, x3,…, xp) = c(x1,x2) + c(x2,x3) + … + c(xp-1,xp)
Ghi chú: 5 7
4
❖ Xây dựng cây đường đi ngắn
nhất bằng cách lần theo các 8
predecessor node 3
u w y z
❖ Các đườ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
Tầng Network 4-81
Thuật toán Dijkstra: ví dụ
Bước N' D(v),p(v) D(w),p(w) D(x),p(x) D(y),p(y) D(z),p(z)
0 u 2,u 5,u 1,u ∞ ∞
1 ux 2,u 4,x 2,x ∞
2 uxy 2,u 3,y 4,y
3 uxyv 3,y 4,y
4 uxyvw 4,y
5 uxyvwz
v 3 w
2 5
u 2
3
1 z
1 2
x 1
y
v w
u z
x y
cho
dx(y) := chi phí của đường đi có chi phí ít nhất từ
x tới y
thì
dx(y) = min {c(x,v) + dv(y) }
v
Chi phí từ neighbor v tới đích y
Chi phí tới neighbor v
Từ
y ∞∞ ∞ y 2 0 1
Từ
z ∞∞ ∞ z 7 1 0
z ∞∞ ∞
y ∞∞ ∞
z 7 1 0
Thời gian
Tầng Network 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
Bảng chi phí đến chi phí đến chi phí đến
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
từ
từ
y 2 0 1
từ
z ∞∞ ∞ z 7 1 0 z 3 1 0
Bảng chi phí đến chi phí đến chi phí đến
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 7
từ
từ
y 2 0 1
từ
z ∞∞ ∞ z 7 1 0 z 3 1 0
Bảng chi phí đến chi phí đến chi phí đến
node z x y z x y z x y z
x ∞∞ ∞ x 0 2 7 x 0 2 3
y 2 0 1 y 2 0 1
từ
y ∞∞ ∞
từ
từ
z 7 1 0 z 3 1 0 z 3 1 0
Thời gian
Tầng Network 4-92
Distance vector: chi phí kết nối thay đổi
Chi phí kết nối thay đổi:
❖ node phát hiện sự thay đổi chi phí 1
kết nối cục bộ y
4 1
❖ Cập nhật thông tin định tuyến, tính x z
toán lại distance vector 50
“tin t0 : y phát hiện sự thay đổi chi phí kết nối, và cập nhật DV của
tốt nó, thông báo đến các neighbor của nó.
đi t1 : z nhận được cập nhật từ y, và cập nhật bảng của nó, tính chi
nhanh” phí mới thấp nhất đến x, gởi DV của nó đến các neighborcủa nó.
t2 : y nhận được cập nhật của z, và cập nhật bảng distance của nó.
Các chi phí thấp nhất của y không thay đổi, vì vậy y không gởi
thông điệp đến z.
Tầng Network 4-93
Distance vector: Chi phí kết nối thay đổi
Chi phí kết nối thay đổi: 60
❖ node phát hiện sự thay đổi chi y
4 1
phí kết nối cục bộ
x z
❖ Tin xấu đi chậm- “đếm đến vô 50
cùng” vấn đề!
❖ 44 lần duyệt trước khi thuật
toán ổn định
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à
Thuật toán Thuật toán
inter-AS
định tuyến
Intra-AS
định tuyến
▪ intra-AS thiết lặp các
mục cho các đích đến
Inter-AS
Bảng
Forwarding
nội mạng
▪ inter-AS & intra-AS
thiết lập các mục cho
các đích đến ngoại
Tầng Network 4-99
Tác vụ Inter-AS
❖ Giả sử router trong AS1 phải:
AS1 nhận được 1. Học các đích đến nào
datagram với đích đế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
3c
x
3a
3b
AS3 2c other
1c 2a networks
other 1a 2b
networks 1b AS2
AS1 1d
3c
x
3a
3b
AS3 2c other
1c 2a networks
other 1a 2b
networks 1b AS2
AS1 1d
?
Tầng Network 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ới được từ AS3 và từ AS2.
❖ Để cấu hình bảng forwarding, router 1d phải xác định
gateway nào nó nên dùng để chuyển packet tới đích x
▪ Đây cũng là công việc của giao thức định tuyến
inter-AS!
❖ hot potato routing: gửi packet tới 2 router gần nhất
z
w x y
A D B
C
Bảng định tuyến trong router D
Subnet đích router kế tiếp số lượng hop đến đích
w A 2
y B 2
z B 7
x -- 1
…. …. ....
Tầng Network 4-107
RIP: ví dụ
Quảng cáo từ A-tới-D
đích kế hops
w - 1
x - 1
z C 4
…. … ... z
w x y
A D B
C
Bảng định tuyến trong router D
Subnet đích router kế tiếp số lượng hop tới đích
w A 2
y B 2
A 5
z B 7
x -- 1
…. …. ....
Tầng Network 4-108
RIP: lỗi đường kết nối và phục hồi
transport transprt
(UDP) (UDP)
network forwarding forwarding network
(IP) table table (IP)
link link
physical physical
backbone
area
border
routers
area 3
internal
routers
area 1
area 2
3c
Thông điệp
3a BGP
3b
AS3 2c other
1c 2a networks
other 1a 2b
networks 1b AS2
AS1 1d
Phiên eBGP
3a Phiên iBGP
3b
AS3 2c other
1c 2a networks
other 1a 2b
networks 1b AS2
AS1 1d
Dest IP
1
3 2
Làm thế nào để entry được đưa vào
bảng forwarding?
3c
Thông điệp
3a BGP
3b
AS3 2c other
1c 2a networks
other 1a 2b
networks 1b AS2
AS1 1d
❖ Ví dụ: Chọn
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?
▪ Đáp: 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
Ký hiệu: Mạng của
B nhà cung cấp
X
W A
Mạng của
C khách hàng
Y
R3 R4 R3 R4
A A
B B
c c
D D
F E F E
G G
(a) broadcast được khởi tạo tại A (b) broadcast được khởi tạo tại D
A A
3
B B
c c
4
2
D D
F E F E
1 5
G G
(a) Các bước xây dựng (b) spanning tree đã được
spanning tree (center: E) xây dựng xong
Tầng Network 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 đi 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 Ký hiệu
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
Cây chia sẽ Cây dựa trên nguồn group
member
Tầng Network 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 đi ngắn nhất
▪ Cây đường đi 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)
…tìm hiểu các cách tiếp cận cơ bản, sau đó các giao thức
cụ thể áp dụng cho các hướng tiếp cận này
LEGEND
nguồn R6
❖ RP có thể gởi thông Tất cả dữ liệu R7
rendezvous
điệp dừng (stop msg) multicast đến từ
rendezvous
point
nếu không có bên nhận point
nào được ngắn vào
▪ “không có ai đang lắ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ật toán định tuyến
mạng datagram (virtual ▪ link state, distance vector,
circuit and datagram định tuyến phân cấp
networks) 4.6 định tuyến trong Internet
4.3 bên trong router ▪ RIP, OSPF, BGP
4.4 IP: Internet Protocol 4.7 broadcast and multicast
▪ datagram định dạng, routing
định địa chỉ IPv4, ICMP,
IPv6
❖ Hiểu về các nguyên tắ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ệu, định
tuyến(chọn đường đi), broadcast, multicast
❖ Hiện thực trên Internet
Tầng Network 4-156
CHƯƠNG 5: DATA LINK
NỘI DUNG
I. Giới thiệu Datalink
II. Kỹ thuật phát hiện và sửa lỗi
III. Kỹ thuật truy cập đường truyền
IV.VLAN
I. GIỚI THIỆU DATALINK
➢Link: “kết nối/liên kết”giữa các nodes kề nhau
▪ Wired
▪ Wireless
➢Data link layer: chuyển gói tin (frame) từ một node đến node kề
qua 1 link
▪ Mỗi link có thể dùng giao thức khác nhau để truyền tải frame
I. GIỚI THIỆU DATALINK
I. GIỚI THIỆU DATALINK
➢Tại nơi gởi:
▪ Nhận các packet từ tầng network, sau đó đóng gói thành các frame
▪ Truy cập đường truyền (nếu dùng đường truyền chung)
➢Tại nơi nhận:
▪ Nhận các frame dữ liệu từ tầng physical
▪ Kiểm tra lỗi
▪ Chuyển cho tầng network
I. GIỚI THIỆU DATALINK
II. KỸ THUẬT PHÁT HIỆN VÀ SỬA LỖI
D: Data
EDC: Error Detection and Correction
II. KỸ THUẬT PHÁT HIỆN VÀ SỬA LỖI
➢Các phương pháp:
▪ Parity Check (bit chẵn lẻ)
▪ Checksum
▪ Cylic Redundancy Check (CRC)
PARITY CHECK
➢Dùng thêm một số bit để đánh dấu tính chẵn lẻ
▪ Dựa trên số bit 1 trong dữ liệu
▪ Phân loại:
• Even Parity: số bit 1 phải là một số chẵn
• Odd Parity: số bit 1 phải là một số lẻ
➢Các phương pháp:
▪ Parity 1 chiều
▪ Parity 2 chiều
▪ Hamming code
PARITY 1 CHIỀU
➢Số bit parity: 1 bit
➢Chiều dài của dữ liệu cần gởi đi: d bit, vậy dữ liệu gởi đi sẽ có
(d+1) bit
➢Bên gởi:
▪ Thêm1 bit parity vào dữ liệu cần gởi đi
▪ Mô hình chẵn (Even parity)
• Số bit 1 trong d+1 bit là một số chẵn
▪ Mô hình lẻ (Odd Parity)
• Số bit 1 trong d+1 bit là một số lẻ
PARITY 1 CHIỀU
➢Bên nhận:
▪ Nhận D’ có (d+1) bits
▪ Đếm số bit 1 trong (d+1) bits = x
▪ Mô hình chẵn: nếu x lẻ → error
▪ Mô hình lẻ: nếu x chẵn → error
➢Ví dụ: nhận 0111000110101011
▪ Parity chẵn: sai
▪ Parity lẻ: đúng
▪ Dữ liệu thật: 011100011010101
PARITY 1 CHIỀU
➢Đặc điểm:
▪ Phát hiện được lỗi khi số bit lỗi trong dữ liệu là số lẻ
▪ Không sửa được lỗi
PARITY 2 CHIỀU
➢Dữ liệu gởi đi được biểu diễn thành ma trận NxM
➢Số bit parity: (N + M + 1) bit
➢Đặc điểm:
▪ Phát hiện và sửa được 1 bit lỗi
➢Bên gởi
▪ Biểu diễn dữ liệu cần gởi đi thành ma trận NxM
▪ Tính giá trị bit parity của từng dòng, từng cột
PARITY 2 CHIỀU
PARITY 2 CHIỀU
➢Bên nhận:
▪ Biễu diễn dữ liệu nhận thành ma trận(N+1)x(M+1)
▪ Kiểm tra tính đúng đắn của từng dòng, cột
▪ Đánh dấu các dòng, cột dữ liệu bị lỗi
▪ Bit lỗi: bit tại vị trí giao giữa dòng và cột bị lỗi
PARITY 2 CHIỀU
HAMMING CODE
➢Mỗi hamming code:
▪ Có M bit, đánh số từ 1 đến M
▪ Bit parity: log2M bits, tại các vị trí lũy thừa của 2
▪ Dữ liệu thật được đặt tại các vị trí không là lũy thừa của 2
➢Đặc điểm:
▪ Sửa lỗi 1 bit
▪ Nhận dạng được 2 bit lỗi
▪ Sửa lỗi nhanh hơn Parity code 2 chiều
HAMMING CODE
➢Bên gởi:
▪ Chia dữ liệu cần gởi đi thành các khối dữ liệu (với số bit là số vị trí
có thể đặt vào Hamming Code)
▪ Với mỗi khối dữ liệu, tạo1 Hamming Code
• Đặt các bit dữ liệu vào các vị trí không phải là lũy thừa của 2 trong
Hamming Code
– Lưu ý: vị trí được đánh số từ 1 đến M
• Tính check bits
• Tính giá trị của các bit parity
HAMMING CODE
HAMMING CODE
➢Bên nhận: với mỗi Hamming Code
▪ Điền các bit Hamming Code nhận vào các vị trí từ 1 đến M
▪ Tính check bit
▪ Kiểm tra các bit parity
• Nếu tại bit 2i phát hiện sai → đánh dấu Error, hệ số ki= 1
• Ngược lại, đánh dấu No Error = 0, hệ số ki= 0
▪ Vị trí bit lỗi: pos =⅀ 2i*ki
HAMMING CODE
III. ĐIỀU KHIỂN TRUY CẬP ĐƯỜNG TRUYỀN
➢Loại liên kết (link)
▪ Điểm đến điểm (Point-to-point)
• Dialup
• Nối trực tiếp giữa: host - host, host – SW
▪ Chia sẻ (Shared)
III. ĐIỀU KHIỂN TRUY CẬP ĐƯỜNG TRUYỀN
➢Trong môi trường chia sẻ
▪ Hạn chế xảy ra collision
➢Giao thức tầng Data link: Quyết định cơ chế để các node sử dụng
môi trường chia sẻ
▪ Khi nào được phép gởi DL xuống đường truyền
▪ Làm sao phát hiện xảy ra Collision
▪ ….
III. ĐIỀU KHIỂN TRUY CẬP ĐƯỜNG TRUYỀN
➢Các phương pháp:
▪ Phân chia kênh truyền (Channel partition protocols)
▪ Tranh chấp (Random access protocols)
▪ Luân phiên (Taking-turns protocols)
PHÂN CHIA KÊNH TRUYỀN
➢TDM (Time Division Multiplexing)
➢FDM (Frequency Division Multiplexing)
➢CDMA (Code Division Multiple Access)
TDM
➢Ý tưởng:
▪ Chia kênh truyền thành các khe thời gian
▪ Mỗi khe thời gian chia thành N khe nhỏ
▪ Mỗi khe nhỏ dành cho 1 node trong mạng
▪ Mỗi node có băng thông: R/N
FDM
➢Ý tưởng:
▪ Chia kênh truyền thành N kênh truyền nhỏ
▪ Mỗi kênh truyền dành cho 1 node
▪ Mỗi node có bang thông: R/N
CDMA
➢Ý tưởng:
▪ Mỗi node có1 code riêng
▪ Bên gởi: mã hoá dữ liệu trước khi gởi bằng code của mình và bên
nhận phải biết code của người gởi
▪ 1 bit DL được mã hoá thành M bits
▪ Kênh truyền: chia thành từng các khe thời gian, mỗi bit truyền trong
1 khe
TRANH CHẤP
➢Các node chiếm trọn bang thông khi truyền
▪ Lắng nghe đụng độ sau khi truyền
▪ Mộtsốphươngpháp:
• ALOHA (Slotted, Pure)
• CSMA (Carrier Sense Multiple Access)
PURE ALOHA
➢Mỗi node có thể bắt đầu truyền dữ liệu bất cứ khi nào node có nhu
cầu
➢Nếu phát hiện xung đột, chờ1 khoảng thời gian rồi truyền lại
CSMA
➢Lắng nghe đường truyền trước khi truyền:
▪ Đường truyền rảnh: truyền dữ liệu
▪ Đường truyền bận: chờ
➢Lắng nghe đường truyền sau khi truyền
➢Nếu đụng độ xảy ra:
▪ Dừng truyền
▪ Đợi 1 khoảng thời gian và truyền lại
LUÂN PHIÊN
➢Dùng thẻ bài (Token Passing)
➢Dò chọn (Polling)
TOKEN PASSING
➢Ý tưởng:
▪ Dùng 1 thẻ bài (token) di chuyển qua các node
▪ Thiết bị muốn truyền dữ liệu thì phải chiếm được thẻ bài
➢Đánhgiá:
▪ Thích hợp cho các mạng có tải nặng
▪ Thiết lập được độ ưu tiên cho thiết bị đặc biệt
▪ Chậm hơn CSMA trong mạng có tải nhẹ
▪ Thiết bị mạng đắt tiền
➢Dùng trong mạng Token Ring
POLLING
➢Ý tưởng:
▪ Có1 node đóng vai trò điều phối
▪ Node điều phối kiểm tra nhu cầu gởi dữ liệu của các node thứ cấp
và xếp vào hàng đợi theo thứ tự và độ ưu tiên
▪ Thiết bị truyền dữ liệu khi đến lượt
➢Đánh giá:
▪ Có thể thiết lập độ ưu tiên
▪ Tốn chi phí
▪ Việc truyền dữ liệu của 1 thiết bị tuỳ thuộc vào thiết bị dò chọn
IV. VLAN
➢VLAN (Virtual Local Area Network) là mạng LAN ảo, đây là kỹ
thuật cho phép tạo ra các mạng LAN độc lập một cách logic được
tạo ra trên 1 switch
▪ Dễ dàng thêm hay bớt máy tính vào VLAN: Việc thêm một máy tính vào
VLAN rất đơn giản, chỉ cần cấu hình cổng cho máy đó vào VLAN mong
muốn.
▪ Tiết kiệm chi phí thiết bị, khai thác tối đa số port trên switch.
▪ Giúp mạng có tính linh động cao: việc chia VLAN giúp có thể dễ dàng di
chuyển, thêm bớt các thiết bị, chỉ cần cấu hình lại các cổng switch và đặt
chúng vào các VLAN theo yêu cầu.
Chapter 6
Tầng Link và
LANS
A note on the use of these PowerPoint slides:
We’re making these slides freely available to all (faculty, students,
readers). They’re in PowerPoint form so you see the animations; and
can add, modify, and delete slides (including this one) and slide content
to suit your needs. They obviously represent a lot of work on our part.
In return for use, we only ask the following:
▪ If you use these slides (e.g., in a class) that you mention their
source (after all, we’d like people to use our book!)
▪ If you post any slides on a www site, that you note that they are
adapted from (or perhaps identical to) our slides, and note our
copyright of this material.
Computer Networking: A
For a revision history, see the slide note for this page.
Top-Down Approach
Thanks and enjoy! JFK/KWR 8th edition
All material copyright 1996-2020
Jim Kurose, Keith Ross
J.F Kurose and K.W. Ross, All Rights Reserved Pearson, 2020
Tầng Link và LANs: mục tiêu
❖Hiểu về các nguyên tắc của ❖Khởi tạo và hiện thực một
các dịch vụ tầng link: số công nghệ 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
❖Dữ liệu networks
datagram
network
link controller
(e.g., PCI)
link
▪ Gắn vào trong các bus hệ thống của physical
physical
host
▪ Sự kết hợp của phần cứng, phần mềm
và firmware
network interface
Mục tiêu: chọn r bit CRC, R, như thế <D,R> chính xác chia hết cho G (theo cơ số 2)
▪ Bên nhận biết G, chia <D,R> cho G. Nếu phần như khác không: lỗi được
phát hiện!
▪ Có thể phát hiện tất cả các lỗi nhỏ hơn r+1 bits
▪ Được sử dụng rộng rãi trong thực tế (Ethernet, 802.11 WiFi, ATM)
Link Layer: 6-14
Cyclic Redundancy Check (CRC): example
Muốn: G 1 0 1 0 1 1
D.2r XOR R = nG 1 0 0 1 1 0 1 1 1 0 0 0 0
Tương đương: 1 0 0 1
D.2r = nG XOR R 1
0
0
0
1
0
D* 2r
Tương đương: 1 0 1 0
1 0 0 1
nếu chúng ta chia D.2r cho 1 1 0
G, có được phần dư R thỏa: 0 0 0
D.2r 1 1 0 0
R = remainder [ ] 1 0 0 1
G 1 0 1 0
1 0 0 1
0 1 1
R
* Check out the online interactive exercises for more examples: http://gaia.cs.umass.edu/kurose_ross/interactive/
Link Layer: 6-15
Tầng Link và LANs: Nội dung
5.1 Giới thiệu và các dịch vụ
5.2 phát hiện lỗi và sửa lỗi
5.3 các giao thức đa truy cập
5.4 mạng LAN
▪ Định địa chỉ, ARP
▪ Ethernet
▪ switches
▪ VLANS
5.5 link virtualization: MPLS
5.6 mạng trung tâm dữ liệu
5.7 một ngày trong cuộc
sống của một yêu cầu web
6-slot 6-slot
frame frame
1 3 4 1 3 4
frequency bands
FDM cable
node 2 2 2 2
C: collision
S: success
node 3 3 3 3
E: empty
C E C S E C E S S
Ưu điểm: Nhược điểm:
❖ Node đơn kích hoạt có thể ❖ Đụng độ, lãng phí slot
truyền liên tục với tốc độ tối
❖ Các slot nhàn rỗi
đa của kênh
❖ Phân cấp cao: chỉ có các slot ❖ Các node có thể phát hiện đụng độ
trong các node cần được đồng trong thời gian ít hơn để truyền
bộ packet
❖ Đơn giản ❖ Đồng bộ hóa
t0 - 1 t0 t0 + 1
Hiệu quả Aloha: 18% !
• polling overhead
• latency
• Chỉ có 1 điểm chịu lỗi (master) slaves
❖ Quan tâm:
▪ token overhead
▪ latency
Chỉ có 1 điểm chịu lỗi (master)
data
cable headend
CMTS
…
splitter cable
cable modem
… modem
ISP termination system
Upstream channel j
cable headend
t1 t2 Residences with cable modems
137.196.7.78
1A-2F-BB-76-09-AD
LAN
(wired or wireless)
137.196.7/24
71-65-F7-2B-08-53 58-23-D7-FA-20-B0
137.196.7.23 137.196.7.14
0C-C4-11-6F-E3-98
137.196.7.88
ARP 0C-C4-11-6F-E3-98
137.196.7.88
quên (thông thường là 20 phút)
D
Link Layer: 6-44
Khi giao thức ARP hoạt động
▪ A muốn gởi datagram tới B
• Địa chỉ MAC của B không có trong bảng ARP của A.
C
ARP table in A
IP addr MAC addr TTL
TTL
137.196. 58-23-D7-FA-20-B0 500
A B
7.14
71-65-F7-2B-08-53 58-23-D7-FA-20-B0
137.196.7.23 137.196.7.14
A B
R
111.111.111.111
74-29-9C-E8-FF-55 222.222.222.222
49-BD-D2-C7-56-2A
222.222.222.220
1A-23-F9-CD-06-9B
111.111.111.112 111.111.111.110
CC-49-DE-D0-AB-7D E6-E9-00-17-BB-4B 222.222.222.221
88-B2-2F-54-1A-0F
IP
Eth
Phy
A B
R
111.111.111.111
74-29-9C-E8-FF-55 222.222.222.222
49-BD-D2-C7-56-2A
222.222.222.220
1A-23-F9-CD-06-9B
111.111.111.112 111.111.111.110
CC-49-DE-D0-AB-7D E6-E9-00-17-BB-4B 222.222.222.221
88-B2-2F-54-1A-0F
Link Layer: 6-48
Addressing: định tuyến tới mạng LAN khác
❖ frame được gởi từ A tới R
❖frame được nhận tại R, datagram được gỡ bỏ, được chuyển tới IP
IP IP
Eth Eth
Phy Phy
A B
R
111.111.111.111
74-29-9C-E8-FF-55 222.222.222.222
49-BD-D2-C7-56-2A
222.222.222.220
1A-23-F9-CD-06-9B
111.111.111.112 111.111.111.110
CC-49-DE-D0-AB-7D E6-E9-00-17-BB-4B 222.222.222.221
88-B2-2F-54-1A-0F
Link Layer: 6-49
Addressing: định tuyến tới mạng LAN khác
❖R sẽ chuyển tiếp datagram với IP nguồn A, đích B
❖R tạo frame tầng link với địa chỉ MAC của B như là địa chỉ đích, frame này chứa IP
datagram từ A tới B
MAC src: 1A-23-F9-CD-06-9B
MAC dest: 49-BD-D2-C7-56-2A
IP src: 111.111.111.111
IP dest: 222.222.222.222
IP
Eth
Phy
A B
R
111.111.111.111
74-29-9C-E8-FF-55 222.222.222.222
49-BD-D2-C7-56-2A
222.222.222.220
1A-23-F9-CD-06-9B
111.111.111.112 111.111.111.110
CC-49-DE-D0-AB-7D E6-E9-00-17-BB-4B 222.222.222.221
88-B2-2F-54-1A-0F
Link Layer: 6-50
Addressing: định tuyến tới mạng LAN khác
▪ R xác định gửi đi, chuyển datagram đến nguồn IP A, đích ở B đến link
layer
▪ R tạo link-layer frame chứa dữ liệu IP từ A đến B. Địa chỉ đích khung: Địa
chỉ MAC của B
▪ Truyền link-layer frame MAC src: 1A-23-F9-CD-06-9B
MAC dest: 49-BD-D2-C7-56-2A
IP src: 111.111.111.111
IP dest: 222.222.222.222
IP
IP Eth
Eth Phy
Phy
A B
R
111.111.111.111
74-29-9C-E8-FF-55 222.222.222.222
49-BD-D2-C7-56-2A
222.222.222.220
1A-23-F9-CD-06-9B
111.111.111.112 111.111.111.110
CC-49-DE-D0-AB-7D E6-E9-00-17-BB-4B 222.222.222.221
88-B2-2F-54-1A-0F
Link Layer: 6-51
Addressing: định tuyến tới mạng LAN khác
▪ B nhận frame, trích xuất IP datagram B
▪ B chuyển gói giao thức datagram lên IP
IP src: 111.111.111.111
IP dest: 222.222.222.222
IP
IP Eth
Eth Phy
Phy
A B
R
111.111.111.111
74-29-9C-E8-FF-55 222.222.222.222
49-BD-D2-C7-56-2A
222.222.222.220
1A-23-F9-CD-06-9B
111.111.111.112 111.111.111.110
CC-49-DE-D0-AB-7D E6-E9-00-17-BB-4B 222.222.222.221
88-B2-2F-54-1A-0F
Link Layer: 6-52
Tầng Link và LANs: Nội dung
5.1 Giới thiệu và các dịch vụ
5.2 phát hiện lỗi và sửa lỗi
5.3 các giao thức đa truy cập
5.4 mạng LAN
▪ Định địa chỉ, ARP
▪ Ethernet
▪ switches
▪ VLANS
5.5 link virtualization: MPLS
5.6 mạng trung tâm dữ liệu
5.7 một ngày trong cuộc
sống của một yêu cầu web
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
MAC protocol
application
and frame format
transport
network 100BASE-TX 100BASE-T2 100BASE-FX
link 100BASE-T4 100BASE-SX 100BASE-BX
physical
B’ C
• Ghi lại cặp bên gửi/vị trí A’
trong bảng switch Switch table
MAC addr interface TTL (Trống)
A 1 60
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ừ đó*/
Link Layer: 6-65
Tự học, chuyển tiếp (VD) Source: A
Dest: A’
▪ frame có đích đến là A’, A A’
vị trí của A’ không biết: flood A
▪ Đích A có vị trí đã được biết C’ B
trước: gửi chọn lọc chỉ trên 1 đường 1 2
kết nối duy nhất 6A A’
3
5 4
B’ C
A’ A A’
S4
S1
S3
A S2
F
D I
B C
G H
E
Hỏi: gửi từ A tới G – làm cách nào S1 biết đề chuyển tiếp frame tới F
thông qua S4 và S3?
❖ Trả: tự học! (làm việc giống y chang như trong trường hợp chỉ có 1
switch!)
Link Layer: 6-67
Ví dụ nhiều switch tự học
Giả sử C gửi frame tới I, I trả lời cho C
S4
S1
S3
A S2
F
D I
B C
G H
E
Hỏi: trình bày các bảng của các switch và cách packet được
chuyển đi tại các switch S1, S2, S3, S4
mail server
Đến mạng
bên ngoài
router web server
IP subnet
6-706-70
Link Layer:
Tầng Link và LANs: Nội dung
5.1 Giới thiệu và các dịch vụ
5.2 phát hiện lỗi và sửa lỗi
5.3 các giao thức đa truy cập
5.4 mạng LAN
▪ Định địa chỉ, ARP
▪ Ethernet
▪ switches
▪ VLANS
5.5 link virtualization: MPLS
5.6 mạng trung tâm dữ liệu
5.7 một ngày trong cuộc
sống của một yêu cầu web
2 8 10 16
… …
EE (VLAN ports 1-8) CS (VLAN ports 9-15)
…
hiện thông qua định tuyến (cũng giống
…
như các switch riêng biệt) EE (VLAN ports 1-8) CS (VLAN ports 9-15)
Trên thực tế, các nhà cung cấp bán các thiết bị
switch kết hợp với các router
1 7 9 15 1 3 5 7
2 8 10 16 2 4 6 8
… … …
EE (VLAN ports 1-8) CS (VLAN ports 9-15) Ports 2,3,5 belong to EE VLAN
Ports 4,6,7,8 belong to CS VLAN
▪ 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 data (payload) CRC
preamble address address 802.1Q frame
20 3 1 5
Link Layer: 6-79
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)
R6
D
IP router
R4 R3
R5
A
R2
Định tuyến IP: đường tới đích đến được xác định bởi 1 địa chỉ đích
❖ Định tuyến IP: đường tới đích đến được xác định bởi chỉ cần địa chỉ đích
❖ Định tuyến MPLS: đường tới đích đến có thể được dựa trên địa chỉ nguồn
và đích
▪ Định tuyến lại nhanh chóng (fast reroute): tính toán lại các đường đi
dự phòng trong trường hợp đường kết nối bị hỏng
Link Layer: 6-82
Tín hiệu MPLS
▪ Chỉnh sửa các giao thức flooding IS-IS link-state, OSPF để mang thông tin
được sử dụng bởi định tuyến MPLS,
• Ví dụ: link bandwidth, số lượng băng thông đường link “được dành riêng”
▪ entry của router MPLS sử dụng giao thức tín hiệu RSVP-TE để thiết lập
chuyển tiếp MPLS tại các router luồng dưới
RSVP-TE
R6
D
R4 R3
R5 modified
link state
flooding A
R2 R1
Link Layer: 6-83
Bảng chuyển tiếp MPLS
in out out
label label dest interface
10 A 0 in out out
12 D 0 label label dest interface
8 A 1 10 6 A 1
12 9 D 0
R6
0 0
D
1 1
R4 R3
R5
0 0
A
R2 R1
in out out in out out
label label dest interface label label dest interface
8 6 A 0 6 - A 0
Thách thức:
▪ Nhiều ứng dụng, mỗi cái phục
vụ số lượng lớn client
▪ Độ tin cậy
▪ 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
Tier-1 switches
▪ Kết nối đến ~16 T-2s below
Tier-2 switches
▪ Kết nối đến ~16 TORs below
… … … …
Top of Rack (TOR) switch
… … … … ▪ one per rack
▪ 40-100Gbps Ethernet đến
blades
Server racks
▪ 20- 40 server blades: máy chủ
9 10 11 12 13 14 15 16
Sounds
web server
simple!
Google’s network
64.233.169.105 64.233.160.0/19
DHCP
trong 802.3 Ethernet
❖ Ethernet frame broadcast (dest:
DHCP
DHCP UDP
Bây giờ, Client có địa chỉ address, biết tên và địa chỉ
của DNS server, địa chỉ IP của router first-hop
Link Layer: 6-96
Một ngày trong cuộc sống… ARP (trước
DNS, trước HTTP)
DNS DNS ❖ Trước khi gửi HTTP request, cần địa chỉ
IP của www.google.com: DNS
DNS UDP
ARP IP
DNS
ARP query Eth arriving mobile:
ARP client
❖ DNS query được tạo, đóng gói trong
Phy
UDP, được đóng gói trong IP, được đóng
gói trong Eth. Gửi frame tới router, cần
địa chỉ MAC của interface của router
interface: ARP
ARP ❖ ARP query broadcast, được nhận bởi
Eth
router, router này sẽ trả lời lại với ARP
ARP reply
Phy
router has reply cung cấp địa chỉ MAC của interface
ARP server
của router này
❖ Hiện tại, client biết địa chỉ MAC của
router first hop , vì vậy nó có thể gửi
frame chứa DNS query
Link Layer: 6-97
Một ngày trong cuộc sống… using DNS
DNS
Được tách/ghép
DNS DNS
DNS UDP
DNS DNS ❖
DNS IP DNS
DNS
UDP
IP
tới DNS server
Eth
Phy
DNS Eth DNS ❖ DNS server trả lời
cho client với địa
DNS
server
DNS Phy
chỉ IP address của
www.google.com
Comcast network
68.80.0.0/13
❑Mục tiêu:
▪ Chia mạng mặc nhiên thành mạng nhỏ hơn.
▪ Giảm số lượng node ➔ Tăng thông lượng mạng
▪ Tăng tính bảo mật
▪ Dễ quản trị, cô lập mạng khi cần thiết
▪ Dễ bảo trì
▪ Tránh lãng phí địa chỉ IP
▪ Phải đặt bộ định tuyến (Router) giữa các mạng con này.
44
Chia subnet - 2
❑Qui tắc:
▪ Mượn các bit đầu trong HostID làm NetID
▪ Số subnet = 2n (n: số bit vay mượn phần HostID)
❑Lên kế hoạch:
▪ Số subnet cần chia
▪ Số node trong mỗi subnet
45
Chia subnet – 3.1: Ví dụ 1
46
Chia subnet – 3.2: Ví dụ 1
❑Các subnet:
Subnet Net Addr HostIP Broadcast
… … … …
47
Chia subnet – 3.3: Ví dụ 1
48
Chia subnet – 4.1: Ví dụ 2
49
Chia subnet – 4.2: Ví dụ 2
192.168.1.0
2 bit
1 bit
192.168.1.128 192.168.1.160
50
Chia subnet – 4.3: Ví dụ 2
51
Chia subnet - 5
52
Bài tập
53
MỘT SỐ SỰ CỐ THÔNG DỤNG
SD
P110
SD
P110
Tôi là
P110
SD
131.107.5.10. P110
SD
Host 2
Trùng địa chỉ IP,
Host 1 khởi động P110
SD
Network
1 SD
131.125.1.1
REMOTEACCESS SERVER
5408
.........
pentium
131.126.2.2
Network
2
SD SD SD
P110 P110 P110
1. Giới thiệu
2. Địa chỉ IP
3. Chia subnet
27
Nhắc lại
Giới thiệu - 1
85 NĐC Q1 42/5 LTK Q10
28
Giới thiệu - 2
192.168.0.2
192.168.0.1
192.168.0.3 192.168.0.4
29
Giới thiệu - 3
30
Nội dung
1. Giới thiệu
2. Địa chỉ IP
3. Chia subnet
31
Địa chỉ IP
32
Địa chỉ IPv4 - 1
▪ hai octet được viết cách nhau bằng 1 dấu chấm “.”
VD: 10101100.00011101.00000001.00001010
172.29.1.10
❑Chia thành 2 phần:
▪ Network ID (NetID)
▪ Host ID
32 bit
33
Địa chỉ IPv4 - 2
34
Địa chỉ IPv4 - 3
❑Subnet mask
▪ Dùng phân định phần NetID và HostID trong địa chỉ IPv4
▪ Kích thước 4 bytes
• Các bit thuộc NetID có giá trị là 1
• Các bit thuộc HostID có giá trị là 0
VD: 192.168.1.2/24
HostIP 1100 0000 1010 1000 0000 0001 0000 0010
SubnetMask 1111 1111 1111 1111 1111 1111 0000 0000
Net ID
Host ID
Subnet Mask 1111 1111 1111 1111 1100 0000 0000 0000
Net Address
Broadcast 36
Địa chỉ IPv4 - 5
37
Cho địa chỉ IP: 172.16.8.159 và subnet mask tương ứng 255.255.255.192. xác
định địa chỉ mạng của IP trên
A 172.16.8.128
B 172.16.8.0
C 172.16.8.191
D 172.16.0.128
Địa chỉ nào sau đây là địa chỉ quảng bá của mạng 12.18.72.128/28
A 12.18.72.141
B 12.18.72.143
C 12.18.72.180
D 12.18.72.255
Địa chỉ IPv4 – 7
Phân lớp
Multicast Address
38
Địa chỉ IPv4 - 8
00001111
– Lớp A
– Subnet mask mặc định: 255.0.0.0
39
Địa chỉ IPv4 – 9
40
Địa chỉ IPv4 – 10
41
Địa chỉ IPv4 - 11
❑ Phân loại:
▪ Địa chỉ public:
• Dùng để trao đổi trên Internet
• Địa chỉ thật
▪ Địa chỉ private
• Dùng để đánh địa chỉ cho các mạng LAN bên trong 1 tổ chức
• Địa chỉ ảo
▪ Địa chỉ loopback: 127.0.0.0 – 127.255.255.255
42
MỘT SỐ SỰ CỐ THÔNG DỤNG
SD
P110
SD
P110
Tôi là
P110
SD
131.107.5.10. P110
SD
Host 2
Trùng địa chỉ IP,
Host 1 khởi động P110
SD
Network
1 SD
131.125.1.1
REMOTEACCESS SERVER
540 8
.........
pentium
131.126.2.2
Network
2
SD SD SD
P110 P110 P110
1. Giới thiệu
2. PTTD hữu tuyến
3. PTTD vô tuyến
Giới thiệu - 1
❑Cấu tạo:
▪ Hai dây dẫn quấn quanh một trục chung
▪ Dây dẫn trung tâm: dây đồng hoặc dây đồng bện
▪ Dây dẫn ngoài: dây đồng bện hoặc lá ➔bảo vệ dây dẫn
trung tâm khỏi nhiễu điện từ và được nối đất để thoát
nhiễu.
▪ Giữa 2 dây dẫn là một lớp vỏ cách điện
▪ Ngoài cùng là lớp vỏ plastic dùng để bảo vệ cáp
Cáp đồng trục - 3
❑Phân loại:
▪ Cáp mỏng (thin cable/ ThinNet – 10BASE2)
• đường kính: 6mm
• chiều dài cáp tối đa: 185m
▪ Cáp dày (thick cable/ ThickNet – 10BASE5)
• đường kính: 13mm
• chiều dài cáp tối đa: 500m
Cáp thinnet – cách kết nối - 1
Cáp thinnet – cách kết nối - 2
Cáp thicknet – cách kết nối - 1
Cáp thicknet – cách kết nối - 2
Cáp xoắn (Twisted pair) - 1
Cáp xoắn - 2
❑Cấu tạo:
▪ Hai dây dẫn được xoắn lại thành một cặp
➔ chống nhiễu từ bên ngoài và nhiễu từ dây dẫn kế cận
(crosstalk)
▪ Mức độ xoắn (trên 1m dây) càng cao thì khả năng chống
nhiễu crosstalk càng cao
❑Phân loại:
▪ STP (Shielded Twisted Pair)
▪ S/STP (Screened Shielded Twisted Pair)
▪ UTP (Unshielded Twisted Pair)
▪ S/UTP - FTP (Screened Unshielded Twisted Pair)
UTP – S/UTP - 1
UTP – S/UTP - 2
❑Chi phí:
▪ Đắt hơn ThinNet và UTP
▪ nhưng rẻ hơn ThickNet và cáp quang
❑Tốc độ: 10 – 100Mbps
❑Độ suy dần (attenuation) : cao
❑Nhiễu: chống nhiễu tốt
❑Độ dài tối đa: 100m
❑Đầu nối: đầu nối DIN (DB-9), RJ-45
Đầu bấm rj-45
Chuẩn bấm cáp với đầu bấm rj-45
CÁCH BẤM CÁP XOẮN
Bấm cáp xoắn với đầu bấm RJ-45
Cáp quang (Fiber optic) – mô tả
Cáp quang – mô tả
❑Mode: đường đi của ánh sáng khi vào trong lõi của
cáp quang
❑Phân loại:
• Đa mode (multi-mode)
mode)
• Đơn mode (single
Cáp quang - connector
Cáp quang – cách kết nối
SC
Cáp quang – thành phần
❑Tx: biến đổi tín hiệu điện thành xung ánh sáng
• LED: dùng cho đa mode
• LASER: dùng cho đơn mode
❑Rx (PIN photodiode): chuyển xung ánh sáng thành
tín hiệu điện
Nội dung
200 802.11n
❑Chức năng
▪ Hỗ trợ truy cập mạng
• NIC
▪ Dùng để phân tách mạng hoặc mở rộng mạng
• Router
• Switch, Bridge, hub, repeater, gateway
▪ Dùng để truy cập từ xa
• Modem, ADSL modem
Các thiết bị mạng
❑Chức năng:
▪ Điều chế [Modulate]: chuyển đổi tín hiệu số (digital) trên
máy tính thành tín hiệu tương tự (analog) trên điện thoại.
▪ Giải điều chế [Demodulate]: chuyển đổi tín hiệu tín hiệu
tương tự trên điện thoại thành tín hiệu số trên máy tính
Repeater - 1
❑Là thiết bị mạng cho phép tập kết dây dẫn mạng
❑Tín hiệu vào 1 port của Hub sẽ được chuyển ra tất cảcác
port
▪ Mỗi port là 1 shared link
Hub – minh họa tín hiệu mạng
Hub – phân loại
❑Passive hub:
▪ Không khuyếch đại tín hiệu
❑Active Hub
▪ Khuyếch đại tín hiệu
▪ Như 1 repeater nhiều cổng
❑Intelligent Hub
▪ Là 1 active hub
▪ Chuyển mạch (switching): chuyển tín hiệu đến đúng port
của máy nhận
Repeater & hub
00000CAAAAAA 00000CDDDDD
00000CBBBBBB
A B
00000CAAAAAA
MAC Address Port
00000CAAAAAA 1
00000CBBBBBB 1
1
00000CCCCCCC 2
00000CDDDDDD 2
00000CCCCCCC 00000CDDDDDD
C D D
Bridge – minh họa tín hiệu mạng
Src MAC Dst MAC
00000CAAAAAA 00000CBBBBB
00000CBBBBBB
A B
00000CAAAAAA
MAC Address Port
00000CAAAAAA 1
00000CBBBBBB 1
1
00000CCCCCCC 2
00000CDDDDDD 2
00000CCCCCCC 00000CDDDDDD
C D
D
Bridge - 3
❑Đặc điểm:
▪ Cho phép mở rộng cùng một mạng logic với nhiều kiểu chạy
cáp khác nhau
▪ Tách một mạng thành nhiều phần nhằm giảm lưu lượng
mạng.
▪ Chậm hơn repeater do phải xử lý các gói tin
▪ Không có khả năng tìm đường đi tối ưu trong trường hợp có
nhiều đường đi.
▪ Đắt tiền hơn repeater
Switch - 1
Y
Dest -MAC có trong Gởi
switch table? Đến port tương ứng
flood
Switch – học địa chỉ mac - 2
Source: A
Dest: A’ Switch table
(giả sử ban đầu rỗng)
A A A’
MAC addr port TTL
C’ B A 1 60
A’ 4 60
1 2
A6A’
A’ 3
5 4
C
A’ A
B’ A’
Switch – học địa chỉ mac - 3
S4
S1
S3
A S2
F
D I
B C
G H
E
❑Chức năng:
▪ Nối kết các mạng logic khác nhau.
▪ Sử dụng địa chỉ logic (IP) để xử lý gói tin
▪ Định tuyến (Routing)
• Chạy các thuật toán định tuyến (OSPF, RIP, BGP,…) ➔ tạo ra bảng
định tuyến
Collision Domains:
1 4 4 4
Broadcast Domains:
1 1 1 4
Ví dụ 3
Tài liệu tham khảo