Bài giảng Mạng máy tính - Chương 6: Tầng giao vận - Ngô Hồng Sơn

 Cung cấp phương tiện truyền giữa các ứng dụng cuối

 Bên gửi:

 Nhận dữ liệu từ ứng dụng đặt dữ liệu vào các ñoạn tin và chuyển cho tầng mạng

 Nếu dữ liệu quá lớn, nó sẽ được chia làm nhiều phần và đặt vào nhiều đoạn tin khác nhau

Bài giảng Mạng máy tính - Chương 6: Tầng giao vận - Ngô Hồng Sơn trang 1

Trang 1

Bài giảng Mạng máy tính - Chương 6: Tầng giao vận - Ngô Hồng Sơn trang 2

Trang 2

Bài giảng Mạng máy tính - Chương 6: Tầng giao vận - Ngô Hồng Sơn trang 3

Trang 3

Bài giảng Mạng máy tính - Chương 6: Tầng giao vận - Ngô Hồng Sơn trang 4

Trang 4

Bài giảng Mạng máy tính - Chương 6: Tầng giao vận - Ngô Hồng Sơn trang 5

Trang 5

Bài giảng Mạng máy tính - Chương 6: Tầng giao vận - Ngô Hồng Sơn trang 6

Trang 6

Bài giảng Mạng máy tính - Chương 6: Tầng giao vận - Ngô Hồng Sơn trang 7

Trang 7

Bài giảng Mạng máy tính - Chương 6: Tầng giao vận - Ngô Hồng Sơn trang 8

Trang 8

Bài giảng Mạng máy tính - Chương 6: Tầng giao vận - Ngô Hồng Sơn trang 9

Trang 9

Bài giảng Mạng máy tính - Chương 6: Tầng giao vận - Ngô Hồng Sơn trang 10

Trang 10

Tải về để xem bản đầy đủ

pdf 56 trang Danh Thịnh 10/01/2024 4520
Bạn đang xem 10 trang mẫu của tài liệu "Bài giảng Mạng máy tính - Chương 6: Tầng giao vận - Ngô Hồng Sơn", để tải tài liệu gốc về máy hãy click vào nút Download ở trên

Tóm tắt nội dung tài liệu: Bài giảng Mạng máy tính - Chương 6: Tầng giao vận - Ngô Hồng Sơn

Bài giảng Mạng máy tính - Chương 6: Tầng giao vận - Ngô Hồng Sơn
1Chương 6: 
Tầng giao vận
Giảng viên: Ngô Hồng Sơn
Bộ môn Truyền thông và Mạng máy tính
Khoa CNTT- ðHBK Hà Nội
2Tổng quan
 Các tuần trước : Giao thức IP 
 ðịa chỉ, gói tin IP
 ICMP
 Chọn ñường
 Hôm nay: Tầng giao vận
 Nguyên lý tầng giao vận
 Giao thức UDP
 Giao thức TCP
3Các khái niệm cơ bản
Nhắc lại kiến trúc phân tầng
Hướng liên kết vs. Không liên kết
UDP & TCP
4Nhắc lại về kiến trúc phân tầng
Application
(HTTP, Mail, )
Transport
(UDP, TCP )
Network
(IP, ICMP)
Datalink
(Ethernet, ADSL)
Physical
(bits)
Hỗ trợ các ứng dụng trên mạng
Truyền dữ liệu giữa các ứng dụng
Chọn ñường và chuyển tiếp gói tin giữa
các máy, các mạng
Hỗ trợ việc truyền thông cho các thành
phần kế tiếp trên cùng 1 mạng
Truyền và nhận dòng bit trên ñường
truyền vật lý
5Tổng quan về tầng giao vận (1)
 Cung cấp phương tiện
truyền giữa các ứng dụng
cuối
 Bên gửi: 
 Nhận dữ liệu từ ứng dụng
 ðặt dữ liệu vào các ñoạn tin và
chuyển cho tầng mạng
 Nếu dữ liệu quá lớn, nó sẽ
ñược chia làm nhiều phần và
ñặt vào nhiều ñoạn tin khác
nhau
 Bên nhận: 
 Nhận các ñoạn tin từ tầng
mạng
 Tập hợp dữ liệu và chuyển lên
cho ứng dụng
application
transport
network
data link
physical
application
transport
network
data link
physical
logical
 end
-end
 transport
6Tổng quan về tầng giao vận (2)
 ðược cài ñặt trên các hệ
thống cuối
 Không cài ñặt trên các
routers, switches
 Hai dạng dịch vụ giao vận
 Tin cậy, hướng liên kết, e.g
TCP
 Không tin cậy, không liên kết, 
e.g. UDP
application
transport
network
data link
physical
network
data link
physical
network
data link
physical
network
data link
physical
network
data link
physical
network
data link
physical
network
data link
physical
application
transport
network
data link
physical
logical
 end
-end
 transport
7Tại sao lại cần 2 loại dịch vụ?
 Các yêu cầu ñến từ tầng ứng dụng là ña dạng
 Các ứng dụng cần dịch vụ với 100% ñộ tin cậy như
mail, web
 Sử dụng dịch vụ của TCP
 Các ứng dụng cần chuyển dữ liệu nhanh, có khả
năng chịu lỗi, e.g. VoIP, Video Streaming
 Sử dụng dịch vụ của UDP
8Ứng dụng và dịch vụ giao vận
Ứng dụng
e-mail
remote terminal access
Web 
file transfer
streaming multimedia
Internet telephony
Giao thức
ứng dụng
SMTP
Telnet
HTTP
FTP 
giao thức riêng
(e.g. RealNetworks)
giao thức riêng
(e.g., Vonage,Dialpad)
Giao thức
giao vận
TCP
TCP
TCP
TCP
TCP or UDP
thường là UDP
9Các chức năng chung
Dồn kênh/phân kênh
Mã kiểm soát lỗi
10
Dồn kênh/phân kênh - Mux/Demux
Multiplexing Demultiplexing
Giao thức tầng mạng
HTTP FTP Chat HTTP FTP Chat
Giao thức
giao vận
Giao thức
ứng dụng
11
Mux/Demux hoạt ñộng ntn?
 Tại tầng mạng, gói tin IP 
ñược ñịnh danh bởi ñịa chỉ IP
 ðể xác ñịnh máy trạm
 Làm thế nào ñể phân biệt các
ứng dụng trên cùng một
máy?
 Sử dụng số hiệu cổng (16 bits)
 Mỗi tiến trình ứng dụng ñược
gán 1 cổng
 Socket: Một cặp ñịa chỉ IP 
và số hiệu cổng
source port # dest port #
32 bits
application
data 
(message)
other header fields
TCP/UDP segment format
12
Checksum
 Phát hiện lỗi bit trong các ñoạn tin/gói tin
 Nguyên lý giống như checksum (16 bits) của giao thức
IP 
 Ví dụ:
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
1 1 0 1 1 1 0 1 1 1 0 1 1 1 0 1 1
1 1 0 1 1 1 0 1 1 1 0 1 1 1 1 0 0
1 0 1 0 0 0 1 0 0 0 1 0 0 0 0 1 1
Tổng
Checksum
13
UDP 
User Datagram Protocol
Tổng quan
Khuôn dạng gói tin
14
Giao thức dạng “Best effort”
 Vì sao cần UDP? 
 Không cần thiết lập liên kết (tăng ñộ trễ)
 ðơn giản: Không cần lưu lại trạng thái liên kết ở bên gửi và
bên nhận
 Phần ñầu ñoạn tin nhỏ
 Không có quản lý tắc nghẽn: UDP cứ gửi dữ liệu nhanh
nhất, nhiều nhất nếu có thể
 UDP có những chức năng cơ bản gì?
 Dồn kênh/phân kênh
 Phát hiện lỗi bit bằng checksum
15
Khuôn dạng bức tin 
(datagram) 
source port # dest port #
32 bits
Application
data 
(message)
Khuôn dạng ñơn vị
dữ liệu của UDP
length checksum
ðộ dài toàn
bộ bức tin
tính theo byte
 UDP sử dụng ñơn vị
dữ liệu gọi là –
datagram (bức tin)
16
Các vấn ñề của UDP
 Không có kiểm soát tắc nghẽn
 Làm Internet bị quá tải
 Không bảo ñảm ñược ñộ tin cậy
 Các ứng dụng phải cài ñặt cơ chế tự kiểm soát ñộ
tin cậy
 Việc phát triển ứng dụng sẽ phức tạp hơn
17
Khái niệm về truyền
thông tin cậy
18
Kênh có lỗi bit, không bị mất
tin
 Phát hiện lỗi?
 Checksum
 Làm thế nào ñể báo cho bên gửi?
 ACK (acknowledgements): 
 NAK (negative acknowledgements): báo cho bên
nhận rằng pkt bị lỗi
 Phản ứng của bên gửi?
 Truyền lại nếu là NAK 
19
Hoạt ñộng
Time Time
Sender Receiver
pkt0
pkt1
pkt1
NAK
ACK
send pkt0 
pkt1 is 
corrupted
rcv ACK 
send pkt1 
rcv NAK 
resend pkt1 
pkt1 is 
OK
20
Lỗi ACK/NAK
 Cần truyền lại
 Xử lý việc lặp gói
tin ntn?
 Thêm Seq.#
Time Time
Sender Receiver
pkt0
pkt1
pkt1
ACK
ACK
send pkt0 
pkt1 is 
OK
rcv ACK 
send pkt1 
rcv sth corrupted! 
resend pkt1 
pkt0 is 
OK
rcv pkt1 
duplicate, 
discard it
21
Giải pháp không dùng NAK 
Time Time
Sender Receiver
pkt0
pkt1
pkt0
ACK1
ACK0
send pkt0 
pkt1 is 
OK
rcv ACK0 
send pkt1 
rcv ACK1 
send pkt0 
pkt0 is 
OK
pkt0 is corrupted
pkt0
ACK1
rcv ACK1 
resend pkt0 
22
Kênh có lỗi bit và mất gói tin
 Dữ liệu và ACK có thể bị mất
 Nếu không nhận ñược ACK?
 Truyền lại như thế nào?
 Timeout!
 Thời gian chờ là bao lâu?
 Ít nhất là 1 RTT (Round Trip Time)
 Mỗi gói tin gửi ñi cần 1 timer
 Nếu gói tin vẫn ñến ñích và ACK bị mất?
 Dùng số hiệu gói tin
23
Minh họa
24
Minh họa
25
Truyền theo kiểu pipeline
Sender Receiver
ACKs
Data pkts
Sender Receiver
ACK
1 data pkt
stop-and-wait Pipeline
26
So sánh hiệu quả
0
sender
time
RTT
L / R
ACK
RTT + L / R
Performance = 
L / R 
RTT + L / R 
time
stop-and-wait
L: Size of data pkt
R: Link bandwidth
RTT: Round trip time
receiver
DATA
sender receiver
RTT

File đính kèm:

  • pdfbai_giang_mang_may_tinh_chuong_6_tang_giao_van_ngo_hong_son.pdf