You are on page 1of 144

CHƯƠNG

I GIỚI THIỆU
Internet là gì?
Mạng Máy Tính ?
Khi sử dụng mạng máy tính ta sẽ được
các lợi ích:

A Chia sẻ tài nguyên (ổ cứng, cơ sở dữ liệu, máy in,các phần mềm tiện ích.

B Quản lí tập trung, bảo mật và backup tốt.

C Sử dụng các dịch vụ mạng

D Tất cả đều đúng.


Kỹ thuật dùng để nối kết nhiều máy tính với
nhau trong phạm vi một văn phòng gọi là:

A WAN

B MAN

C LAN

D INTERNET
Cho biết nét đặc trưng để phân biệt LAN, MAN, WAN là gì ?

A Kích Thước vùng địa lí

B Công tác tổ chức quản lí

C Tốc độ truyền dữ liệu

D Tất cả phương án trên đều sai


Đơn vị đo thông lượng là:

A Bit/phút

B Bit/s

C Byte/s

D Byte/phút
Lệnh nào cho biết địa chỉ IP của máy tính:

A FTP

B TCP_IP

C IPCONFIG

D IP
Lệnh Ping dùng để làm gì ?

A Kiểm tra máy tính có đĩa cứng hay không

B Kiểm tra máy tính có hoạt động tốt hay không

C Kiểm tra máy tính có kết nối vào mạng được hay không

D Tất cả phương án đều sai


Trong các mô hình sau, mô hình nào là mô
hình mạng được dùng phổ biến hiện nay:

A Terminal - Mainframe

B Peer-To-Peer

C Remote Access

D Client - Server
Internet là gì?

Internet là một hệ thống thông tin toàn cầu có thể


được truy nhập công cộng gồm các mạng máy tính
được liên kết với nhau. Hệ thống này truyền thông
tin theo kiểu nối chuyển gói dữ liệu (packet
switching) dựa trên một giao thức liên mạng đã
được chuẩn hóa (giao thức IP).

 {=>Internet gồm các mạng máy tính được liên kết


với nhau.} 
(Mạng của Mạng Máy Tính.)
12

Giao thức là gì?


Giao thức con người: Giao thức mạng:

“Bây giờ là mấy giờ?” Máy móc chứ không phải là


“Tôi có một câu hỏi” con người
Giới thiệu tất cả các hoạt động truyền
thông trên Internet bị chi
… thông điệp cụ thể đã
phối bởi các giao thức.
được gửi Giao thức định nghĩa định
… các hành động cụ thể dạng, thứ tự các thông điệp
được thực hiện khi các được gởi và nhận giữa các
thông điệp được nhận, hoặc thực thể mạng, và các hành
các sự kiện khác
động được thực hiện trên việc
truyền và nhận thông điệp
 Định nghĩa giao thức (protocol)

Là các tín hiệu nhị phân truyền đi trước khi truyền dữ


A
liệu thật sự.

B    Là cơ chế “bắt tay ba lần” mà mọi thiết bị mạng đều phải thực
hiện khi khởi động.
Là một tập các quy ước, thoả thuận mà các thiết bị trên mạng phải
C
tuân theo để có thể liên lạc được với nhau.
Là một tập các đặc tả mà mọi nhà sản xuất sản phẩm mạng phải
D
dựa theo để thiết kế sản phẩm của mình.
14

Giao thức là gì?


Giao thức con người và giao thức mạng máy tính:

Xin chào Yêu cầu


kết nối TCP
Xin chào
Trả lời
kết nối TCP
Rãnh không?
Get http://www.awl.com/kurose-ross
2:00
<file>
time

Hỏi: các giao thức khác của con người?


15

Chuyển mạch gói: store-and-forward

L bits
mỗi packet

3 2 1
Nguồn đích
R bps R bps

Mất L/R giây để truyền tải L-bit


Ví dụ số về one-hop :
packet trong đường link tại tốc
độ R bps
L = 7.5 Mbits
R = 1.5 Mbps
store and forward: toàn bộ
packet phải đến bộ định tuyến
Độ trễ truyền tải one-
hop = 5 sec
trước khi nó có thể được truyền
tải trên đường  tiếp theodelay = 2L/R (giả sử
linkend-end
Thêm về độ trễ ngắn …
không có độ trễ lan truyền)
16

Chuyển mạch gói: store-and-forward

L bits
mỗi packet

3 2 1
Nguồn đích
R bps |D1 R bps |D2

end-end delay = 2L/R ,nếu có


độ trễ lan truyền (với D1,D2
là độ dài đường link vật lí. c,d 2L/R + D1/c +D2/d

làn lượt là tốc độ lan truyền


của D1,D2 .Bỏ qua thời gian
chờ và xử lí gói tin)
17

Alternative core: chuyển mạch kênh


Tài nguyên giữa 2 điểm cuối được phân bổ,
được dành cho “cuộc gọi” giữa nguồn và đích:
Trong sơ đồ, mỗi đường link có bốn kênh.
– Cuộc gọi dùng kênh thứ 2nd trong
đường link trên cùng và kênh thứ
trong đường link bên phải.
Tài nguyên được dành riêng : không chia sẽ
– circuit-like (được đảm bảo)
performance
Mảnh kênh được cấp phát sẽ rãnh rỗi nếu
không được sử dụng bởi cuộc gọi (không chia
sẽ)
Thường được sử dụng trong các mạng điện
thoại truyền thống
18

Chuyển mạch kênh: FDM với TDM


Ví dụ:
FDM
4 users

frequency

time
TDM

frequency

time
19

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

dnodal = dproc + dqueue + dtrans + dprop

dproc: xử lý tại nút


dqueue: độ trễ xếp hàng
Kiểm tra các bit lỗi  Thời gian đợi tại đường ra
Xác định đường ra cho việc truyền dữ liệu
Thông thường < msec  Phụ thuộc vào mức độ tắt
nghẽn của bộ định tuyến
20

Bốn nguồn gây ra chậm trễ gói tin


truyền
A lan truyền

B
xử lý
tại nút xếp hàng

dnodal = dproc + dqueue + dtrans + dprop

dtrans: trễ do truyền: dprop: trễ do lan truyền:


 L: chiều dài gói (bits)  d: độ dài của đường link vật lý
 R: băng thông đường link (bps)  s: tốc độ lan truyền trong môi
 dtrans = L/R trường (thiết bị, dây dẫn)
dtrans and dprop (~2x108 m/sec)
rất khác nhau  dprop = d/s
* Check out the Java applet for an interactive animation on trans vs. prop delay
Giả sử gói tin có kích thước là 1500 bytes và tốc độ truyền là 10Mbps.Tính độ trễ do
truyền:

A 0.15ms

B 1.2ms

C 0.14ms

D Không đáp án nào đúng


Cần truyền gói tin kích thước 1000 bytes từ Host A đến Host B, trên đường truyền dài
2500 km, tốc độ lan truyền là 2.5 x 10^8 m/s, và tốc độ truyền (transmission rate) là 2
Mbps.Giả sử rằng thời gian xử lí(nodal processing) và thời gian chờ tại hàng đợi
(queueing delay) không đáng kể.Thời gian cần để truyền gói tin từ A đến B là:

A 14 msec

B Không đáp án nào đúng

C 10 sec

D 10 msec
Trong bốn nguồn gây ra chậm trễ gói tin trong quá trình truyền dữ
liệu, thì khái niệm “trễ do truyền “ là khái niệm nào sau đây?

A Chậm trễ do xử lí tại nút (Kiểm tra lỗi bít,xác định cổng ra..)

B Chậm trễ trong quá trình Truyền gói tin từ hàng đợi ra đường truyền.

C Chậm trễ do nằm trong hàng đợi tại nút

D Chậm trễ trong quá trình lan truyền


Độ 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
1-24
Giới thiệu
Trên Window, khi không kết nối được đến một hệ thống khác,
người quản trị dùng lệnh gì dò đường để xác định lỗi ?

A Traceroute

B Ip-config

C ping

D route
26

Độ 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


Lệnh nào sẽ hiển thị kết quả dưới đây
1 <1 ms <1 ms <1 ms routerA [172.16.9.1]
2 1 ms 1 ms 1 ms routerB [203.162.39.97]
3 30 ms 9 ms 47 ms serverX [203.162.204.21]

A tracert

B nbtstat

C ping –a

D ping
28

Mô hình tham chiếu ISO/OSI


presentation: cho phép các ứng dụng giải thích ý nghĩa
của dữ liệu, ví dụ mã hóa, nén, những quy ước chuyên biệt
session: sự đồng bộ hóa, khả năng chịu lỗi, phục hồi sự application
trao đổi dữ liệu
g? Chồng giao thức Internet “thiếu” những lớp này!
presentation
– Những dịch vụ này, nếu session
được cần, phải được transport
thực hiện trong tầng network
ứng dụng (application) link
– Cần hay khôn physical
Hãy cho biết điểm khác biệt cơ bản giữa Network layer và
Transport layer

Lớp network cung cấp kết nối luận lí giữa các host, lớp
A
transport cung cấp kết nối luận lí giữa các process
Lớp transport cung cấp kết nối luận lí giữa các host, lớp
B
network cung cấp kết nối luận lí giữa các process
Lớp network cung cấp kết nối luận lí giữa các host, lớp
C
transport cung cấp kết nối vật lí giữa các process
Lớp network cung cấp kết nối luận lí giữa các process, lớp
D
transport cung cấp kết nối luận lí giữa các process
PORT MỘT SỐ GIAO THỨC
Trong số các cặp giao thức và cổng dịch vụ sau, cặp nào là
đúng

A SMTP: TCP Port 25

B FTP: TCP Port 22

C Telnet: UDP Port 23

D HTTP: UDP Port 80


33

nguồn
Đóng góiapplication
message M
segment Ht M transport
datagram Hn Ht M network
frame Hl Hn Ht M link
physical
link
physical

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
Cho biết định dạng của thông tin ở tầng network trong mô
hình OSI là gì ?

A Segment

B Frame

C Packet

D Data
TCP và UDP hoạt động ở tầng nào trong mô hình OSI:

A Session

B Transport

C Network

D Data Link
MÔ HÌNH OSI CÓ BAO NHIÊU LỚP

A 7

B 6

C 5

D 4
Trong mô hình TCP/IP thì giao thức IP nằm ở tầng:

A Network Access

B Internet

C Transport

D Application
Thứ tự các tầng (layer) của mô hình OSI theo thứ tự từ trên
xuống là?

A Application, Presentation, Session, Transport, Data Link, Network, Physical

B Application, Presentation, Session, Transport, Network, Data Link, Physical

C Application, Presentation, Session, Network, Transport, Data Link, Physical

D Application, Presentation, Transport, Session, Data Link, Network, Physical


Thiết bị Router thông thường nằm ở tầng
nào của mô hình OSI?

A Tầng 3

B Tầng 2

C Tầng 1

D Tất cả đều sai


NIC là thiết bị hoạt động ở lớp nào ở mô hình OSI

A Lớp 3

B Lớp 2

C Lớp 1

D Lớp 4
Thứ tự đóng gói dữ liệu thông qua mô hình OSI

A Data,Segment,Packet,Frame,Bit

B Data,Packet,Segment,Bit,Frame.

C Data,Packet,Segment,Frame,Bit

D Data,Segment,Frame,Packet,Bit
Chọn chức năng của tầng Presentation?

A Mã hoá dữ liệu và nén dữ liệu

B Cung cấp các dịch vụ mạng người dùng

C Đánh địa chỉ

D Tất cả đều sai


Khi gói dữ liệu di chuyển từ lớp cao xuống lớp thấp
hơn thì các phần đầu (header) được:

A Loại bỏ dần

B Thêm vào dần

C Sắp xếp lại

D Thay đổi bị trí


Theo mô hình OSI, định dạng ảnh JPG nằm ở tầng?

A Applications

B Presentation

C Network

D Session
 Quá trình dữ liệu di chuyển từ hệ thống máy tính này
sang hệ thống máy tính khác phải trải qua giai đoạn nào?

A Nén dữ liệu và đóng gói

B Lọc dữ liệu

C Kiểm thử dữ liệu

D Phân tích dữ liệu


Khi gói dữ liệu di chuyển từ lớp thấp đến lớp cao hơn thì
các phần đầu (header) được:

A Thêm vào dần

B Loại bỏ dần

C Sắp xếp lại

D Thay đổi bị trí


Tầng nào trong mô hình OSI làm việc
với các tín hiệu điện:

A Session

B Data LInk

C NetWork

D Physical
CHƯƠNG

TẦNG

II APPLICATION
Các kiến trúc ứng dụng

• Client – Server
• Pear to Pear (P2P)
TCP - UDP
Nét đặc trưng cơ bản
Dịch vụ TCP: Dịch vụ UDP:
Truyền tải có đảm bảo (reliable transport) giữa tiến trình Truyền dữ liệu không đảm bảo (unreliable data
gửi và nhận transfer) iữa tiến trình gửi và nhận
Điều khiển luồng thông tin (flow control): bên gửi sẽ Không hỗ trợ: độ tin cậy, điều khiển luồng, điều
không gửi vượt khả năng bên nhận khiển tắc nghẽn, định thì, bảo đảm thông lượng,
Điều khiển tắc nghẽn (congestion control): điều tiết bên bảo mật, và thiết lập kết nối.
gửi khi mạng quá tải
Không hỗ trợ: định thì, bảo đảm thông lượng tối thiểu,
bảo mật
Hướng kết nối (connectionoriented): yêu cầu thiết lập kết
nối giữa tiến trình máy khách và máy chủ trước khi truyền
SSL
Sự khác nhau TCP- UDP
Giống nhau : đều là các giao thức mạng TCP/IP, đều có chức năng kết nối các máy lại
với nhau, và có thể gửi dữ liệu cho nhau....

Khác nhau (cơ bản): 


các header của TCP và UDP khác nhau ở kích thước (20 và 8 byte) nguyên nhân chủ yếu
là do TCP phải hộ trợ nhiều chức năng hữu ích hơn(như khả năng khôi phục lỗi). UDP
dùng ít byte hơn cho phần header và yêu cầu xử lý từ host ít hơn
TCP :
- Thường dùng cho mạng WAN 
- Không cho phép mất gói tin 
- Đảm bảo việc truyền dữ liệu 
- Tốc độ truyền thấp hơn UDP
UDP: 
- Thường dùng cho mạng LAN 
- Cho phép mất dữ liệu 
HTTP Connection

HTTP không bền vững HTTP bền vững


 Nhiều đối tượng có thể được
Chỉ tối đa một đối tượng được
gởi qua một kết nối TCP giữa
gởi qua kết nối TCP máy khách và máy chủ
Kết nối sau đó sẽ bị đóng
Tải nhiều đối tượng yêu cầu
nhiều kết nối
HTTP – Thời gian đáp ứng
HTTP/1.0 và HTTP/1.1
Sự khác biệt lớn giữa HTTP/1.0 và HTTP/1.1 là HTTP/1.0 sử dụng một kết nối mới cho mỗi Yêu
cầu/Phản hồi trao đổi, trong khi đó kết nối trong HTTP/1.1 có thể được sử dụng cho một hoặc
nhiều Request/Response (Yêu cầu/Phản hồi)

GET GET
POST POST
HEAD HEAD
PUT
DELETE
FTP
(File Transfer
Protocol)
IMAP và POP3
Mô tả POP 3 IMAP
Email có thể được để lại trên "Để lại tin nhắn" thiết lập có Tự động
máy chủ thể được kích hoạt
Email với file đính kèm của nó Tự động "Tải về tất cả các tiêu đề và
trực tiếp tải về máy tính tập tin đính kèm" thiết lập có
thể được kích hoạt
Đọc tin nhắn mới Nhanh Sự chậm trễ khoảng 1-5 giây
Email Sao lưu Email sao lưu được thực Tự động email sao lưu
hiện bằng tay, trừ khi "để
lại tin nhắn trên máy
chủ" thiết lập cho phép.
Xóa email Email đã bị xóa đi thẳng vào Email đã bị xóa sẽ được đánh
"thư mục bị xóa" dấu trên tiêu đề của nó. Để
loại bỏ nó vĩnh viễn "Thông
điệp Purge Deleted"
DNS

(Domain Name
System)
Ví dụ về một gói tin
SMTP
HELLO
MAIL
FROM

RCPT TO

DATA

QUIT
Cho một phiên làm việc của SMTP, hãy sắp xếp trình tự giao tiếp phía client cho đúng.

A HELLO, RCPT TO, DATA, QUIT, MAIL FROM

B HELLO, MAIL FROM, RCPT TO,DATA, QUIT

C HELLO, DATA, MAIL FROM, QUIT, RCPT TO

D HELLO, MAIL FROM, RCPT TO, DATA, QUIT


COOKIE

4 thành phần:
1) Dòng đầu cookie (cookie
header line) chứa của thông
điệp phản hồi HTTP
2) Cookie header line chứa
trong thông điệp yêu cầu
HTTP kế tiếp
3) Tập tin cookie được lưu trữ
trên máy người dùng, được
quản lý bởi trình duyệt của
người dùng
4) Cở sở dữ liệu tại Web
Web Cache
• Giảm thời gian đáp ứng cho yêu cầu của máy khách
• Giảm lưu lượng trên đường liên kết truy cập ra Internet của một tổ chức
• Internet có rất nhiều đệm: cho phép những nhà cung cấp nội dung với lượng tài
nguyên “nghèo nàn” vẫn cung cấp nội dung một cách hiệu quả (chia sẻ tập tin
P2P cũng vậy)
DNS
Truy vấn tuần Máy chủ được hỏi sẽ trả lời với tên của

tự máy chủ quản lý vùng liên quan

Truy vấn đệ Đẩy trách nhiệm phân giải tên cho máy
chủ tên miền được hỏi
quy =>Tải nặng tại các tầng trên của hệ thống
phân cấp
Giả sử cần viết một ứng dụng trao đổi dữ liệu mạng
càng nhanh càng tốt, nên dùng giao thức nào sau đây ?

A FTP

B TCP

C HTTP

D UDP
Phân tích một phần gói tin HTTP request từ trình duyệt gửi lên Web Server như sau:
GET /docs/index.html HTTP/1.1\r\n
Host: www-net.cs.umass.edu\r\n
Ta biết được một số thông tin về trình duyệt là:

Trình duyệt dùng kết nối không thường trực (non-persitent) và URL đầy đủ của
A
trang web được yêu cầu là: www-net.cs.umass.edu/docs/index.html

Trình duyệt dùng kết nối thường trực (persitent) và URL đầy đủ của trang web
B
được yêu cầu là: www-net.cs.umass.edu/docs/index.html

Trình duyệt dùng kết nối thường trực (persitent) và URL đầy đủ của trang web
C
được yêu cầu là: www-net.cs.umass.edu/index.html

Trình duyệt dùng kết nối thường trực (persitent) và URL đầy đủ của trang web
D
được yêu cầu là: www-net.cs.umass.edu
Trong một trang web có tham chiếu đến 10 file. Nếu sử dụng dịch vụ HTTP
không bền vững (non-persitent), thì chúng ta cần bao nhiêu RTT để hoàn
thành công việc trên ?

A 20 RTT

B 11 RTT

C 1 RTT

D 22 RTT
Cookies không bao gồm thành phần nào sau đây ?

A Dòng header Set-cookie: của thông điệp yêu cầu HTTP

B Cơ sở dữ liệu tại Website

Tập tin cookie được lưu trữ trên máy tính người dung, được
C
quản lý bởi trình duyệt của người dùng

D Dòng header Set-cookie: của thông điệp phản hồi HTTP


Trong quá trình phân giải tên miền, việc đẩy trách
nhiệm phân giải tên cho máy chủ tên miền được gọi là:

A Truy vấn tương tác

B Truy vấn tuần tự

C Truy vấn đệ quy

D Truy vấn liên tục


Tính chất nào sau đây không được cung cấp bởi TCP service ?

A Điều khiển dòng

B Đảm báo hiệu suất tối thiểu

C Truyền tin cậy

D Điều khiễn nghẽn


Để phục vụ nhu cầu ngày càng gia tăng của người sử dụng trên máy trạm
(client) mà không cần nâng cấp năng lực phục vụ của server, ta có thể sử dụng:

A Web caches

B Web server

C Cookie

D NIC
HTTP/1.1 404 Not Found
Date: Thu, 13 Oct 2016 06:29:17 +000
Server: Apache/2.2.3 (CentOS) Phát biểu nào sau đây là SAI ?
Content-Length: 530
Connection: Close
Content-type: text/html

A Web server được sử dụng là Apache/2.2.3

B Server trả về một nội dung có chiều dài là 530 bytes

C Server trả về thành công một trang web

D Server đang sử dụng HTTP phiên bản 1.1


CHƯƠNG

III
TẦNG
TRANSPORT
Các giao thức tầng transport trên Internet
application
Tin cậy, truyền theo thứ tự (TCP) transport
network

– Điền khiển tắt nghẽn data link


physical
network

– Điều khiển luồng


network data link

log
data link physical
physical

ica
network
– Thiết lập kết nối

l
en
data link
physical

d-
en
Không tin cậy, truyền không theo thứ tự: UDP network

d
tra
data link

– Không rườm rà, mở physical

ns
p
network

or
rộng “nổ lực tốt nhất”
data link

t
physical
network

(best-effort) của IP
data link application
physical transport
network
data link network
Không có các dịch vụ: physical data link
physical

– Bảo đảm độ trễ


– Bảo đảm băng thông
Tầng Transport 3-82
UDP: User Datagram Protocol [RFC 768]
“đơn giản,” “bare bones” Internet
 Ứng dụng UDP:
transport protocol  Các ứng dụng đa
Dịch vụ “best effort” (“nổ lực tốt nhất”), phương tiện trực tuyến
các segment UDP segments có thể bị: (chịu mất mát(loss
– Mất mát tolerant), (cần tốc độ)
(rate sensitive) )
– Vận chuyển không theo  DNS
thứ tự đến ứng dụng  SNMP
Connectionless (phi kết nối):  Truyền tin cậy trên
– Không bắt tay giữa bên UDP:
nhận và gửi UDP  Thêm độ tin cậy tại
– Mỗi segment UDP được xử tầng application
lý độc lập  Phục hồi lỗi tại các ứng
dụng cụ thể!
Tầng Transport 3-83
UDP: segment header
Độ dài được tính
32 bits bằng byte của
Số port nguồn Số port đích segment UDP, bao
gồm cả header
length checksum
Tại sao có UDP?
Không thiết lập kết nối (cái mà có thể
Dữ liệu
gây ra độ trễ)
ứng dụng
(payload) Đơn giản: không trạng thái kết nối tại
nơi gửi và nhận
Kích thước header nhỏ
Không điều khiển tắt nghẽn: UDP có
Định dạng segment UDP
thể gửi dữ liệu nhanh như mong muốn

Tầng Transport 3-84


UDP checksum

Mục tiêu: dò tìm “các lỗi” (các bit cờ được bật)


trong các segment đã được truyền
bên gửi: bên nhận:

Xét nội dung của segment, Tính toán checksum của segment đã nhận
bao gồm các trường của Kiểm tra giá trị trên có bằng với giá trị
header, là chuỗi các số
trong trường checksum hay không:
nguyên 16-bit
checksum: bổ sung (tổng – NO – có lỗi xãy ra
bù 1) của các nội dung – YES – không có lỗi. Nhưng
segment
Bên gửi đặt giá trị có thể còn lỗi khác nữa
checksum vào trường không? Xem phần sau….
checksum UDP

Tầng Transport 3-85


Giao thức nào dưới đây không đảm bảo dữ liệu
gửi đi có tới máy nhận hoàn chỉnh hay không?

A TCP

B UDP

C ARP

D RARP
Cho 2 số nguyên 16 bit
1001100101001110
1110010001100101
Kết quả tính check sum của 2 dãy số nguyên trên là:

A 1000001001001100

B 1000001001001011

C 0111110110110011

D 0111110110110100
Internet checksum: ví dụ

Ví dụ: cộng 2 số nguyên 16 bit


1 1 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0
1 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

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ả

Tầng Transport 3-88


rdt1.0: truyền tin cậy trên 1 kênh tin cậy
Kênh cơ bản tin cậy hoàn toàn (underlying channel perfectly reliable)

– không có bit lỗi


– không mất mát gói
Các FSMs riêng biệt cho bên gửi và nhận:

– Bên gửi gửi dữ liệu vào kênh cơ bản (underlying channel)


– Bên nhận đọc dữ liệu từ kênh cơ bản (underlying
channel)

chờ gọi rdt_send(data) chờ gọi rdt_rcv(packet)


từ tầng từ tầng extract (packet,data)
trên packet = make_pkt(data) dưới deliver_data(data)
udt_send(packet)

bên gửi bên nhận

Tầng Transport 3-89


rdt2.0: kênh với các lỗi
Kênh cơ bản có thể đảo các bit trong packet
– checksum để kiểm tra các lỗi
Câu hỏi: làm sao khôi phục các lỗi:
– acknowledgements (ACKs):
receiver explicitly tells sender
that pkt received OK
– negative acknowledgements
Làm thế nào để con người phục hồi
(NAKs): receiver explicitly tells
“lỗi” trong
sender cuộc
that pkttrò chuyện?
had errors
– sender retransmits pkt on
receipt of NAK
new mechanisms in rdt2.0 (beyond rdt1.0):
– error detection Tầng Transport 3-90
rdt2.0: kênh với các lỗi
Kênh cơ bản có thể đảo các bit trong packet
– checksum để kiểm tra các lỗi
Câu hỏi: làm sao khôi phục các lỗi:

– acknowledgements (ACKs): bên nhận thông báo rõ


ràng cho bên gửi rằng packet được nhận thành công
(OK)
– negative acknowledgements (NAKs): bên nhận
thông báo rõ ràng cho bên gửi rằng packet đã bị lỗi
– Bên gửi truyền lại gói nào được xác nhận là NAK
Các cơ chế mới trong rdt2.0 (sau rdt1.0):
– Phát hiện lỗi
– Phản hồi: các thông điệp điều khiển (ACK,NAK) từ
bên nhận đến bên gửi

Tầng Transport 3-91


rdt2.0 có lỗ hỏng nghiêm trọng!
Điều gì xảy ra nếu ACK/NAK bị hỏng?
Bên gửi sẽ không biết Xử lý trùng lặp:
điều gì đã xảy ra ở bên Bên gửi truyền lại packet hiện thời
nhận! nếu ACK/NAK bị hỏng
Không thể đơn phương Bên gửi thêm số thứ tự vào trong mỗi
truyền lại: có thể trùng packet (sequence number)
lặ p
Bên nhận hủy packet bị trùng lặp

dừng và chờ
Bên gửi gửi một
packet, sau đó chờ
phản hồi từ bên nhận
Tầng Transport 3-92
rdt2.1: bên gửi, xử lý các ACK/NAK
bị hỏng
rdt_send(data)
sndpkt = make_pkt(0, data, checksum)
udt_send(sndpkt) rdt_rcv(rcvpkt) &&
( corrupt(rcvpkt) ||
Wait for Wait for
ACK or
isNAK(rcvpkt) )
call 0 from
NAK 0 udt_send(sndpkt)
above
rdt_rcv(rcvpkt)
&& notcorrupt(rcvpkt) rdt_rcv(rcvpkt)
&& isACK(rcvpkt) && notcorrupt(rcvpkt)
&& isACK(rcvpkt)
L
L
Wait for Wait for
ACK or call 1 from
rdt_rcv(rcvpkt) && NAK 1 above
( corrupt(rcvpkt) ||
isNAK(rcvpkt) ) rdt_send(data)

udt_send(sndpkt) sndpkt = make_pkt(1, data, checksum)


udt_send(sndpkt)

Tầng Transport 3-93


Để thực hiện truyền nhận dữ liệu tin cậy trên đường truyền có lỗi ở cấp độ bit, hai cơ chế
được sử dụng là: CheckSum để phát hiện lỗi ở cấp độ bit, và Phản hồi từ máy nhận (ACK:
Máy nhận gửi ACK để nói rằng đã nhận gói tin dữ liệu không bị lỗi, NAK: Máy nhận gửi
NAK để nói rằng đã nhận gói tin dữ liệu bị lỗi ). Hãy nêu vấn đề của giải pháp trên?

Vấn đề là khi gói tin phải hồi ACK/NAK bị lỗi, máy gởi không biết chính xác dữ liệu
A
đã truyền đến máy nhận có bị lỗi không.

Vấn đề là khi gói tin phải hồi ACK/NAK bị lỗi, máy gởi không biết chính xác dữ liệu
B
đã truyền đến máy nhận có bị lỗi không.

Vấn đề là khi gói tin phải hồi ACK/NAK bị lỗi, máy gởi không biết chính xác dữ liệu
C
đã truyền đến máy nhận có bị lỗi không.

Vấn đề là khi gói tin phải hồi ACK/NAK bị lỗi, máy gởi không biết chính xác dữ liệu
D
đã truyền đến máy nhận có bị lỗi không.
rdt2.2: một giao thức không cần NAK

Chức năng giống như rdt2.1, chỉ dùng các ACK


Thay cho NAK, bên nhận gởi ACK cho gói cu ối cùng đ ược nh ận thành công

– Bên nhận phải rõ ràng chèn số thứ


tự của gói vừa được ACK
ACK bị trùng tại bên gửi dẫn tới kết qu ả gi ống nh ư hành đ ộng c ủa NAK: truyền lại
gói vừa rồi

Tầng Transport 3-95


rdt3.0: các kênh với lỗi và mất mát
Giả định mới: kênh ưu tiên cũng có Cách tiếp cận: bên gửi chờ ACK trong khoảng thời gian
“hợp lý”
thể làm mất gói (dữ liệu, các ACK)
Truyền lại nếu không có ACK được nhận
– checksum, số trong khoảng thời gian này
Nếu gói (hoặc ACK) chỉ trễ (không
thứ tự, các mất):

ACK, việc – Việc truyền lại sẽ gây


trùng, nhưng số thứ tự
truyền lại sẽ đã xử lý trường hợp này
hổ trợ… – Bên nhận phải xác định
nhưng không số thứ tự của gói vừa
đủ gửi ACK
Yêu cầu bộ định thì đếm lùi

Tầng Transport 3-96


Hành động của rdt3.0

bên gửi bên nhận bên gửi bên nhận


Gửi pkt0 pkt0 Gửi pkt0 pkt0
Nhận pkt0 Nhận pkt0
ack0 Gửi ack0 ack0 Gửi ack0
Nhận ack0 Nhận ack0
Gửi pkt1 pkt1 Nhận pkt1 pkt1
Nhận pkt1 X
ack1 Nhận ack1 loss
Nhận ack1
Nhận pkt0 pkt0
Gửi pkt0 timeout
ack0 Nhận ack0 Gửi lại pkt1 pkt1
Nhận pkt1
ack1 Gửi ack1
Nhận ack1
Gửi pkt0 pkt0
(a) Không mất mát Nhận pkt0
ack0 Gửi ack0

(b) Mất gói


Tầng Transport 3-97
Để đảm bảo quá trình truyền nhận dữ liệu đúng trên kênh truyền có
khả năng có lỗi hoặc mất gói tin xảy ra, sử dụng giao thức truyền dữ
liệu tin cậy rtd3.0, các điều kiện và thông số nào sau đây là cần thiết:

A Checksum,sequential number,ACK,retransmission,timer

B Sidling window,go –back-n, selective repeat

C Checksum,sequential number,ACK,NAK,retransmission

D Slow start, congestion avoidance,fast retransmit,fast recovery


Hành động của rdt3.0
bên gửi bên nhận
bên gửi bên nhận Gửi pkt0 pkt0
Gửi pkt0 pkt0 Nhận pkt0
ack0 Gửi ack0
Nhận pkt0
Gửi ack0 Nhận ack0
ack0 Gửi pkt1 pkt1
Nhận ack0 Nhận pkt1
Gửi pkt1 pkt1
Nhận pkt1 Gửi ack1
ack1 ack1
Gửi ack1
X
loss timeout
resend pkt1 pkt1
Nhận pkt1
timeout
Gửi lại pkt1 pkt1 rcv ack1 pkt0 (phát hiện trùng)
Nhận pkt1 send pkt0 Gửi ack1
(phát hiện trùng gói) ack1
ack1 Gửi ack1 rcv ack1 Nhận pkt0
Nhận ack1 ack0 Gửi ack0
pkt0 send pkt0 pkt0
Gửi pkt0 Nhận pkt0
Nhận pkt0 ack0 (phát hiệ trùng)
ack0 Gửi ack0 Gửi ack0

(c) Mất ACK (d) premature timeout/ delayed ACK

Tầng Transport 3-99


Xem hình và cho biết đây là hành động nào của rdt 3.0?

A Không mất mát

B Mất gói tin dữ liệu

C Mất ACK

D Timeout/delayed ACK
Trong giao thức truyền tin cậy (rtd),giao thức nào sau đây xử lí được trường hợp mất gói
tin ACK:

A Rtd2.1

B Rtd3.0

C Rtd2.2

D Tất cả các đáp án trên


Các giao thức Pipelined
pipelining: bên gửi cho phép gửi nhiều gói đồng th ời, không c ần ch ờ báo nh ận
được

– Nhóm các số thứ tự phải được


tăng dần
– Phải có bộ nhớ đêm tại nơi gửi
và/hoặc nhận

hai dạng phổ biến của các giao th ức pipelined : go-Back-N, lặp có lựa chọn

Tầng Transport 3-102


Pipelining: độ khả dụng tăng
bên gửi bên nhận
bit đầu tiên của gói được truyền, t = 0
bit cuối cùng của gói được truyền,
t=L/R

bit đầu tiên của packet đến


RTT bit cuối cùng của packet đến, gửi ACK
bit cuối cùng của packet thứ 2 đến, gửi ACK
bit cuối cùng của packet thứ 3 đến, gửi ACK
ACK arrives, send next
packet, t = RTT + L / R
3-packet pipelining tăng
độ khả dung lên gấp 3 lần!

U 3L / R .0024
sender = = = 0.00081
RTT + L / R 30.008

Tầng Transport 3-103


Pipelined protocols: tổng quan
Go-back-N: Lặp có lựa chọn (Selective
Bên gửi có thể có đến N packet không Repeat):
cần ACK trong đường ống ( pipeline) Bên gửi có thể có đến N packet
Bên nhận chỉ gởi cumulative ack không cần ACK trong đường ống
(pipeline)
– Sẽ không thông báo Bên nhận gửi rcvr ack rieeng
nhận packet thành công biệt (individual ack) cho mỗi
packet
nếu có một gián đoạn Bên nhận duy trì bộ định thì cho
bên gửi có bộ định thì cho packet sớm mỗi packet không được ACK
nhất mà không cần ACK (oldest – Khi bộ định thì của
unacked packet)
packet nào hết hạn,
– Khi bộ định thì hết, thì chỉ truyền lại
truyền lại thất cả các packet không được
packet mà không được ACK đó
ACK
Tầng Transport 3-104
Go-Back-N: bên gửi
Số thứ tự k-bit trong header của packet
“cửa sổ”(“window”) lên đến N packet liên tiếp không cần ACK được cho phép

 ACK(n): thông báo nhận tất cả các packet lên đến n, bao
gồm n số thứ tự - “ACK tích lũy”(“cumulative ACK”)
 Có thể nhận ACK trùng (xem bên nhận)
 Định thì cho packet sớm nhất đang trong tiến trình xử
lý (oldest in-flight pkt)
 timeout(n): truyền lại packet n và tất cả các packet có
số thứ tự cao hơn trong cửa sổ (window)
Tầng Transport 3-105
Hoạt động GBN
sender window (N=4) bên gửi bên nhận
012345678 send pkt0
012345678 send pkt1
send pkt2 receive pkt0, send ack0
012345678
send pkt3 Xloss receive pkt1, send ack1
012345678
(wait)
receive pkt3, discard,
012345678 rcv ack0, send pkt4 (re)send ack1
012345678 rcv ack1, send pkt5 receive pkt4, discard,
(re)send ack1
ignore duplicate ACK receive pkt5, discard,
(re)send ack1
pkt 2 timeout
012345678 send pkt2
012345678 send pkt3
012345678 send pkt4 rcv pkt2, deliver, send ack2
012345678 send pkt5 rcv pkt3, deliver, send ack3
rcv pkt4, deliver, send ack4
rcv pkt5, deliver, send ack5

Tầng Transport 3-106


Lặp có lựa chọn (Selective repeat)
Bên nhận thông báo đã nhận đúng tất c ả từng gói một

– Đệm các gói, khi cần thiết, cho sự vận


chuyển trong thứ tự ngẫu nhiên đến tầng
cao hơn
Bên gửi chỉ gửi lại các packet nào mà ACK không được nh ận

– Bên gửi định thời cho mỗi packet không


có gửi ACK
Cửa sổ bên gửi (sender window)

– N số thứ tự liên tục


– Hạn chế số thứ tự các gói không gửi ACK

Tầng Transport 3-107


Hành động của lặp lại có lựa chọn
sender window (N=4) Bên gửi Bên nhận
012345678 gửi pkt0
012345678 gửi pkt1
gửi pkt2 nhận pkt0, gửi ack0
012345678
gửi pkt3 Xloss nhận pkt1, gửi ack1
012345678
(đợi)
nhận pkt3, buffer,
012345678 nhận ack0, gửi pkt4 gửi ack3
012345678 nhận ack1, gửi pkt5 nhận pkt4, buffer,
gửi ack4
Ghi nhận ack3 đã đến nhận pkt5, buffer,
gửi ack5
pkt 2 timeout
012345678 gửi pkt2
012345678 Ghi nhận ack4 đã đến
012345678 nhận pkt2; chuyển pkt2,
Ghi nhận ack4 đã đến
012345678 pkt3, pkt4, pkt5; gửi ack2

Q: việc gì xảy ra khi ack2 đến?

Tầng Transport 3-108


Xem hình mô tả hoạt động của Go-back-N dưới đây, sau thời
gian timeout, bên gửi sẽ hành động như thế nào?

A Gửi lại pkt2,pkt3,pkt4,pkt5

B Gởi lại pkt2

C Gửi lại pkt0,pkt1,pkt2,pkt3

D Gửi lại pkt1,pkt2,pkt3,pkt4


TCP: tổng quan RFCs: 793,1122,1323, 2018, 2581
point-to-point: Dữ liệu full duplex:

– Một bên gửi, một bên – Luồng dữ liệu đi 2 chiều


trong cùng 1 kết nối
nhận
Tin cậy, dòng byte theo thứ tự (in-order byte steam):
– MSS: kích thước tối đa của
segment (maximum segment
– Không “ranh giới size)
thông điệp” (“message Hướng kết nối:

boundaries”) – Bắt tay (trao đổi các thông


pipelined: điệp điều khiển) khởi tạo
– Điều khiển luồng và trạng thái bên gửi và nhận
trước khi trao đổi dữ liệu
tắt nghẽn của TCP Luồng được điều khiển:

thiết lập kích thước – Bên gửi sẽ không áp đảo bên


cửa sổ (window size) nhận

Tầng Transport 3-110


Cấu trúc segment TCP segment
32 bits
URG: dữ liệu khẩn cấp Đếm bằng
(thường không dùng) port nguồn port đích
bytes dữ liệu
Số thứ tự (không bằng
ACK: ACK #
hợp lệ Số ACK segment!)
head Không
PSH: push data now len dùng UAP R S F receive window
(thường không dùng) Số byte
checksum Urg data pointer
bên nhận
RST, SYN, FIN: sẵn sàng
Tùy chọn (độ dài thay đổi)
thiết lập kết nối chấp nhận
(setup, teardown
commands)
Dữ liệu ứng dụng
Internet (độ dài thay đổi)
checksum
(giống như UDP)

Tầng Transport 3-111


Trong cấu trúc header của TCP Segment có 6 cờ là:

A SYN, ACK, PSH, RST, FIN, URG

B CON, ACK, PSH,RST, FIN,URG

C SYN,ACK, PSH,DAT,CON,URG

D SYN,DAT,PSH,RST,FIN,URG
Số thứ tự TCP và ACK
Segment đi ra từ bên gửi
port nguồn port đích
Các số thứ tự:
số thứ tự
–Dòng byte “đánh số” byte số ACK
rwnd
đầu tiên trong dữ liệu của checksum urg pointer
segment kích thước cửa sổ
Các ACK: N

– số thứ tự của byte kế tiếp


được mong đợi từ phía bên sender sequence number space
kia
–ACK tích lũy sent
ACKed
sent, not- usable not
yet ACKed but not usable
Hỏi: làm thế nào để bên nhận xử lý các (“in-flight”) yet sent
segment không theo thứ tự Segment vào, đến bên gửi
–Trả lời: TCP không đề cập, port nguồn port đích
số thứ tự
tùy thuộc người thực hiện số ACK
A rwnd
checksum urg pointer

Tầng Transport 3-113


Mô tả quá trình bắt tay 3 bước trong kết nối TCP như hình:
Ở bước 2, host B sẽ gửi gói tin sang host A có trường ACK
number là bao nhiêu?

A X+1

B Y+1

C 0

D 11
Điều nào sau đây là đúng về bắt tay 3 bước của TCP

A FIN bit của gói đầu tiên được gán bằng 1

B SYN bit của gói đầu tiên được gán bằng 1

C Số seq của gói SYN đầu tiên luôn luôn là 0

D Gói TCP SYN đầu tiên được gửi ra từ phía server


Trong giao thức TCP, SYN segment sẽ có SEQ và giá trị SYN
flag là bao nhiêu?

A SEQ=ISN,SYN =1(ISN: initial sequence number)

B SEQ=1,SYN =1

C SEQ=ISN, SYN=0

D SEQ=0,SYN=0
Dựa trên hình dưới đây, giá trị của số thứ tự (SEQ)và ACK trong gói tin cuối cùng là
bao nhiêu?

A SEQ=80, ACK=50

B SEQ=40,ACK =80

C SEQ=40, ACK=50

D SEQ=80, ACK=50
TCP truyền dữ liệu tin cậy
TCP tạo dịch vụ rdt trên dịch v ụ không tin c ậy c ủa
IP

– Các segment
pipelined
– Các ack tích lũy Lúc đầu khảo sát TCP đơn giản ở bên gửi:

– Bộ định thì truyền lại – Lờ đi các ack bị trùng


đơn (single – Lờ đi điều khiển luồng
và điều khiển tắt nghẽn
retransmission
timer)
Việc truyền lại được kích hoạt b ởi:

– Sự kiện timeout
– Các ack bị trùng
Tầng Transport 3-118
TCP round trip time và timeout
EstimatedRTT = (1- )*EstimatedRTT + *SampleRTT
 Đường trung bình dịch chuyển hàm mũ
(exponential weighted moving average)
 ảnh hưởng của mẫu đã xảy ra sẽ làm giảm tốc
độ theo cấp số nhân
typical value:  = 0.125
RTT: gaia.cs.umass.edu to fantasia.eurecom.fr

350
RTT (milliseconds) RTT: gaia.cs.umass.edu to fantasia.eurecom.fr

300

250
RTT (milliseconds)

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-119
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)

TimeoutInterval = EstimatedRTT + 4*DevRTT

estimated RTT “biên an toàn”

Tầng Transport 3-120


Xem thủ tục ước lượng RTT của TCP: Giả sử một kết nối TCP có 4 segment ACK quay
về bên gửi và nhờ đó người ta đo được thời gian đi-về của segment thứ nhất
(SampleRTT1) là 90 msec, thứ hai (SampleRTT2) là 110 msec, thứ ba (SampleRTT3) là
114 msec, và thứ tư (SampleRTT4) là 88msec. Giả sử hệ số anpha=0.2.Người ta ước
lượng đucợ giá trị EstimatedRTT ngay sau khi ACK thứ tư quay về là:

A 92.88 msec

B 96 msec

C Các lựa chọn đều sai.

D 100.5 msec
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

timeout
Seq=100, 20 bytes of data
ACK=100
X
ACK=100
ACK=120

Seq=92, 8 bytes of data Seq=92, 8


SendBase=100 bytes of data
SendBase=120
ACK=100
ACK=120

SendBase=120

Tình huống mất ACK Timeout sớm


Tầng Transport 3-122
TCP: tình huống truyền lại
Host A Host B

Seq=92, 8 bytes of data

Seq=100, 20 bytes of data


timeout

ACK=100
X
ACK=120

Seq=120, 15 bytes of data

ACK tích lũy


Tầng Transport 3-123
TCP truyền lại nhanh
Chu kỳ time-out thường tương đối dài:

– Độ trễ dài trước khi TCP truyền lại nhanh


gởi lại packet bị mất Nếu bên gửi nhận 3 ACK
Phát hiện các segment bị mất thông qua các ACKs của cùng 1 dữ liệu (“3
trùng. ACK trùng”), thì gửi lại
– Bên gửi thường gửi segment chưa được ACK
nhiều segment song với số thứ tự nhỏ nhất
 Có khả năng segment
song không được ACK đã
– Nếu segment bị mất, bị mất, vì thế không
thì sẽ có khả năng có đợi đến thời gian
nhiều ACK trùng. timeout

Tầng Transport 3-124


TCP truyền lại nhanh
Host A Host B

Seq=92, 8 bytes of data


Seq=100, 20 bytes of data
X

ACK=100

timeout
ACK=100
ACK=100
ACK=100
Seq=100, 20 bytes of data

Truyền lại nhanh sau khi


bên gửi nhận 3 lần ACK bị trùng Tầng Transport 3-125
TCP điều khiển tắt nghẽn: additive increase,
multiplicative decrease
 Hướng tiếp cận: bên gửi tăng tốc độ truyền (kích thước
cửa sổ), thăm dò băng thông có thể sử dụng, cho đến khi
mất mát gói xảy ra
 additive increase: tăng cwnd bởi 1 MSS mỗi RTT cho
đến khi mất gói xảy ra
 multiplicative decrease: giảm một nữa cwnd sau khi
mất gói xảy ra
additively increase window size …
…. Cho đến khi mất gói xảy ra

congestion window size


(thì giảm một nữa kích thước cửa sổ)
cwnd: TCP sender
AIMD saw tooth
behavior: thăm dò
băng thông

time
Tầng Transport 3-126
TCP điều khiển tắt nghẽn: chi tiết
sender sequence number space TCP tốc độ gửi:
cwnd
Ước lượng: gửi các byte cwnd, đợi ACK
trong khoảng thời gian RTT, sau đó gởi
thêm các byte

last byte last byte


ACKed sent, not- sent
yet ACKed
(“in-
flight”) cwnd
Bên gửi giới hạn truyền tải: rate
~
~
RTT
bytes/sec

LastByteSent- < cwnd


LastByteAcked
cwnd thay đổi, chức năng nhận biết tắt nghẽn trên mạng

3-
Tầng Transport 127
TCP Slow Start
Host A Host B
Khi kết nối bắt đầu, tăng t ốc đ ộ theo c ấp s ố nhân
cho đến sự kiện mất gói đầu tiên xảy ra:

– initially cwnd = 1 one segm


ent

RTT
MSS
– Gấp đôi cwnd mỗi two segm
ents

RTT
– Được thực hiện bằng four segm
ents

cách tăng cwnd cho


mỗi 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

Tầng Transport 3-128


TCP: phát hiện, phản ứng khi mất gói

Mất gói được chỉ ra bởi timeout:

– cwnd được thiết lặp 1 MSS;


– Sau đó kích thước cửa sổ sẽ tăng theo cấp số nhân (như trong slow start)
đến ngưỡng, sau đó sẽ tăng tuyến tính
Mất gói được xác định bởi 3 ACK trùng nhau: TCP RENO

– Các ACK trùng lặp chỉ ra khả năng truyền của mạng
– cwnd bị cắt một nữa sau đó tăng theo tuyến tính
TCP Tahoe luôn luôn thiết lặp cwnd bằng 1(timeout hoặc 3 ack trùng nhau)

Tầng Transport 3-129


TCP: chuyển từ slow start qua CA
Hỏi: khi nào tăng cấp số nhân
nên chuyển qua tuyến tính?
Trả lời: khi cwnd được 1/2
giá trị của nó trước thời gian
timeout.

Thực hiện:

ssthresh thay đổi


Khi mất gói, ssthresh được thiết
lặp về chỉ 1/2 của cwnd trước
khi mất gói

Tầng Transport 3-130


Để quản lí nghẽn(congestion) trong TCP, máy gửi duy trì tham số CWin để chỉ số bytes mà nó có thể gửi
trước khi nhận được phản hồi từ máy nhận.Bên cạnh đó, máy gửi còn sử dụng một tham số khác là slow
start threshold: SSThershold (đơn vị byte). Khi CWin > SSThreshold thì máy gửi sẽ rất cẩn trọn để tránh
gây ra congestion.
Giả định rằng SSThreshold =4000 bytes, CWin =8000 bytes, kích thước của gói tin là 500 bytes.Máy gửi
gửi 16 gói tin và nhận được 16 phản hồi. Hỏi giá trị của SSThreshold và CWin sau khi đã nhận được
phản hồi là gì ?

A SSThreshold =4000 bytes, CWin =8000 bytes

B SSThreshold =4000 bytes, CWin =8500 bytes

C SSThresshold=8000 bytes,CWin=8000 bytes

D SSThresshold=8000 bytes,CWin=4000 bytes


Trong TCP RENO, khi gặp 3 ACK trùng nhau, thì giá trị của
congestion window được thiết lập lại bao nhiêu?

A Bị cắt một nửa

B Vẫn giữ giá trị như trước khi gặp 3 ACK trùng nhau

C 1

D 0
Trong các giao thức giao vận Internet, giao thức nào có liên
kết:

A UDP

B TCP

C TCP và UDP

D Không phải các đáp án trên


Điều gì là đúng đối với các giao thức dạng connectionless
(không kết nối)?

A Hoạt động chậm hơn các giao thức dạng connection-oriented

Các gói dữ liệu có phần header phức tạp hơn so với giao thức
B
dạng connection-oriented

C Cung cấp một dịch vụ phân phát dữ liệu không đáng tin cậy

Nút gửi phải truyền lại những dữ liệu đã bị mất trên đường
D
truyền.
Gói tin TCP yêu cầu kết nối sẽ có giá trị của các cờ ?

A RST=1, SYN=1

B ACK=1, SYN=1

C ACK=0, SYN=1

D ACK=1, SYN=0
Diễn giải khác biệt chủ yếu giữa TCP và UDP là:

A TCP: truyền tin có bảo đảm. UDP: truyền tin không bảo đảm

B TCP: không có điều khiển luồng. UDP: có điều khiển luồng

C TCP: truyền nhanh. UDP: truyền chậm

D TCP: được sử dụng phổ biến. UDP: ít được sử dụng


Giả sử Host A muốn gửi một file có kích thước 3 triệu bytes đến Host B.Từ Host
A đến Host B có 3 đoạn đường truyền nối tiếp nhau, với tốc độ truyền tương ứng
là R1=1Mbps,R2=5Mbps,R3=2Mbps.Thời gian truyền file đến host B là:

A 24s

B 3s

C 4.8s

D 12s
Bên gửi gửi 1 TCP Segment có Sequence Number =92,và phần
Payload (data)=8 bytes.Bên nhận sẽ trả lời với Acknowledgement
Number là bao nhiêu để báo nhận thành công TCP Segment này?

A 100

B 93

C 92

D 8
Giả sử Host A muốn gửi một file có kích thước lớn đến Hot B. Từ Host A đến Host B
có 3 đoạn truyền được nối tiếp nhau, với tốc độ truyền tương ứng là R1=500
Kbps,R2=2 Mbps, R3=1Mbps.Giả sử không có dữ liệu nào khác được truyền trên
mạng. Thông lượng đường truyền (throughput) từ Host A đến Host B là:

A 500Kbps

B 3500/3 Mbps

C Không có đáp án đúng

D 1 Mbps
Những tính chất nào sau đây không được cung cấp bởi TCP Service?

A Điều khiển luồn (Flow control)

B Đảm bảo hiệu suất tối thiểu (Minimum throught guarantee)

C Truyền tin cậy (Reliable transmission)

D Điều khiển tắc nghẽn (Congestion control )


Đường truyền có băng thông 1 Gbps có nghĩa là:

A 1024 Mbps

B 1000000000 bps

C 1024 x1024 x1024 bps

D 1000000 KBps
Tính hiệu suất(utilization) của giao thức dừng và chờ (stop and wait protocol ),Với Giả
thuyết: kích thước gói tin là 2KB, đường link (transmission rate) là 100Mbps, độ trễ lan
truyền giữa hai đầu cuối (end-end delay) là 15ms. Lưu ý : 1MB làm tròn thành 1000KB
và tìm câu trả lời gần với đáp số nhất.

A 0.003

B 0.005

C 0.006

D 0.001
Xem hình vẽ đây là tình huống nào:

A Mất ACK

B Timeout sớm.

C ACK tích lũy

D Truyền lại nhanh


THE END

You might also like