Download as pdf or txt
Download as pdf or txt
You are on page 1of 28

om

CHƯƠNG 4

.c
TẦNG GIAO VẬN (UDP/TCP)

ng
co
an
th
ET4230
o ng
du
u
cu

TS. Trần Quang Vinh


BM. Kỹ thuật Thông tin
Viện Điện tử - Viễn thông
Đại học Bách Khoa Hà Nội
vinhtq@mail.hut.edu.vn

CuuDuongThanCong.com https://fb.com/tailieudientucntt
Chương 4: Nội dung

Ví trí, vai trò, chức năng lớp giao vận

om
UDP

.c
TCP

ng
Điều khiển luồng và chống tắc nghẽn trong TCP

co
an
th
o ng
du
u
cu

CuuDuongThanCong.com https://fb.com/tailieudientucntt
Transport services and protocols
 provide logical communication application
between app processes running

om
transport
network
on different hosts data link

.c
physical

 transport protocols run in end

ng
systems

co
 send side: breaks app

an
messages into segments,

th
passes to network layer ng
 rcv side: reassembles
segments into messages,
o
du

application
passes to app layer transport
network
u

 more than one transport protocol data link


cu

physical
available to apps
 Internet: TCP and UDP

CuuDuongThanCong.com https://fb.com/tailieudientucntt
Transport services and protocols

om
.c
ng
co
an
th
o ng
du
u
cu

CuuDuongThanCong.com https://fb.com/tailieudientucntt
Transport vs. network layer
 network layer: logical communication
between hosts

om
.c
 transport layer: logical communication
between processes

ng
co
 relies on, enhances, network layer services

an
th
Máy trạm ng Router Máy trạm
o
Application Application
du

Thông tin giữa 2 lớp cùng cấp


Host-to-Host Host-to-Host
u
cu

Internetwork Internetwork Internetwork

Network Network Network


Access Access Access

CuuDuongThanCong.com https://fb.com/tailieudientucntt
Internet transport-layer protocols
reliable, in-order delivery application

om
transport
(TCP) network
data link

.c
physical
congestion control network
network data link

ng
data link physical
flow control physical
network

co
data link
connection setup physical

an
unreliable, unordered network
data link

th
physical
delivery: UDP ng network
data link
physical
no-frills extension of “best- network
o
data link application
du

effort” IP physical
network transport
data link network

services not available:


data link
u

physical
physical
cu

delay guarantees
bandwidth guarantees

CuuDuongThanCong.com https://fb.com/tailieudientucntt
Dịch vụ giao vận và ứng dụng

Ứng dụng Giao thức ứng Giao thức giao vận

om
dụng

.c
E-mail SMTP TCP

ng
remote terminal access Telnet TCP

co
Web HTTP TCP

an
File transfer FTP TCP

th
ng
streaming multimedia giao thức riêng UDP hoặc TCP
(e.g.
o
du

RealNetworks)
Internet telephony giao thức riêng UDP
u
cu

(e.g.,
Vonage,Dialpad)

CuuDuongThanCong.com https://fb.com/tailieudientucntt
Chức năng lớp giao vận

Mô hình Internet

om
Chức năng chính: định tuyến và chuyển tiếp

.c
Truyền tin không tin cậy

ng
 Không
có cơ chế đảm bảo thứ tự gói

co
 Không có cơ chế đảm bảo gói sẽ được truyền đến nơi nhận

an
Cần các chức năng bổ sung giữa “Application” và “Internetwork”

th
ng
http, SIP, H.323, Ứng dụng truyền thông: truyền file, ứng
o
Application RTP, FTP, SMTP, dụng thời gian thực, web, email,
du

POP, SNMP .v.v. VoIP .v.v.


u

Host-to-Host TCP/UDP
cu

IP, ICMP Định tuyến và chuyển tiếp, truyền


Internetwork
routing protocols tin không tin cậy
Điều khiển truy nhập kênh, biến đổi dòng
Network Access IEEE 802.x bit theo kênh vật lý

CuuDuongThanCong.com https://fb.com/tailieudientucntt
Ghép kênh

Chia nhỏ dữ liệu của người sử dụng thành các

om
segment lớp host-to-host

.c
Ghép nhiều luồng dữ liệu lớp ứng dụng vào để

ng
truyền trên mạng IP

co
an
FTP HTTP Chat FTP HTTP Chat

Application
th
application-layer protocols
o ng
du

Host2Host multiplexing TCP/UDP demultiplexing


u
cu

Internetwork

Network
Access

CuuDuongThanCong.com https://fb.com/tailieudientucntt
Ghép kênh

Phương pháp ghép kênh:

om
Mỗi ứng dụng (hay tiến trình) có một địa chỉ cổng

.c
(port number) khác nhau

ng
 Các cổng được định nghĩa trong RFC 1700.

co
Các ứng dụng trao đổi dữ liệu qua “socket”. Mỗi
socket được phân biệt qua bộ 2 tham số:

an
th
 Địa chỉ port: là một số 16 bit
ng
 Địa chỉ IP
o
Socket được quản lý bởi hệ điều hành  Có thể tạo,
du

trao đổi dữ liệu qua socket thông qua các API của hệ
u

điều hành
cu

10

CuuDuongThanCong.com https://fb.com/tailieudientucntt
SOCKET

Một số cổng điển hình:

om
0 – 1023: cổng mặc định định nghĩa bởi IANA

.c
 FTP: 20, TCP App1 App2 App3

ng
 SSH: 22, TCP/UDP Application

co
 Telnet: 23, TCP socket 1 socket 2 socket 3

an
 SMTP: 25, TCP Host-to-host

th
 DNS: 53, TCP/UDP ng
 HTTP: 80, TCP/UDP
o
Từ 1024 - 216: do người sử dụng tự định nghĩa
du
u
cu

11

CuuDuongThanCong.com https://fb.com/tailieudientucntt
Cơ chế tăng độ tin cậy

Độ tin cậy:

om
Kiểm tra và chống lỗi

.c
 thêm các mã kiểm tra lỗi phần dữ liệu (CRC .v.v.)

ng
– ARQ (auto-repeat request)

co
– FEC (forwarding error correction)
Chống tắc nghẽn

an
th
 RED (Random Early Discarding) ng
 WRED (Weighted Random Early Discarding)
o
 ECN (Explicit Congestion Notification)
du
u
cu

12

CuuDuongThanCong.com https://fb.com/tailieudientucntt
Cơ chế tăng độ tin cậy (2)

ARQ:

om
Trao đổi dữ liệu thông qua cơ chế: gửi – phúc đáp

.c
Phân loại:

ng
 Stop-and-Wait, Go-Back-N, Selective Repeat

co
Chức năng:

an
 Phát hiện lỗi gói, phát hiện mất gói, sắp xếp thứ tự gói

th
 Điều khiển luồng
ng
– Thay đổi kích thước cửa sổ trượt W
o
– Thay đổi thời gian ACK để điều chỉnh RTT
du

Nhận xét:
u
cu

 ARQ không thích hợp cho các dịch vụ thời gian thực:
– RTT lớn
– Băng thông của luồng dữ liệu bị giới hạn bởi W

13

CuuDuongThanCong.com https://fb.com/tailieudientucntt
Cơ chế tăng độ tin cậy (3)

FEC:

om
Bên phát không phát lại gói

.c
Bên thu có chức năng:

ng
 Kiểm tra lỗi

co
 Nếu phát hiện gói lỗi:

an
– Bên thu sửa lỗi (xác định vị trí bit lỗi)

th
– Nếu lỗi không sửa được: hủy gói
ng
Nhận xét:
o
 FEC thích hợp cho các dịch vụ thời gian thực
du
u
cu

14

CuuDuongThanCong.com https://fb.com/tailieudientucntt
Giao thức UDP
UDP – User Datagram Protocol

om
RFC 768

.c
Gói tin UDP – UDP datagram

ng
Đặc điểm:

co
Sử dụng cơ chế không liên kết (connectionless): không

an
cần thiết lập một phiên truyền giữa nguồn – đích
Các ứng dụng sử dụng UDP
th
ng
Các ứng dụng không cần độ tin cậy cao
o
du

 Streaming Media, DNS (Domain Name System), Trivial File


u

Transfer Protocol (TFTP)


cu

Các ứng dụng thời gian thực


 Real-time Multiplayer, Game trực tuyến
 VoIP

15

CuuDuongThanCong.com https://fb.com/tailieudientucntt
UDP: segment header

length, in bytes of

om
32 bits UDP segment,
including header

.c
source port # dest port #

ng
length checksum
why is there a UDP?

co
 no connection establishment

an
application (which can add delay)

th
data
 simple: no connection state
ng
(payload)
at sender, receiver
o
du

 small header size


u

 no congestion control: UDP


cu

UDP segment format can blast away as fast as


desired

16

CuuDuongThanCong.com https://fb.com/tailieudientucntt
UDP checksum
Goal: detect “errors” (e.g., flipped bits) in transmitted

om
segment

.c
sender: receiver:

ng
treat segment contents,
compute checksum of

co
including header fields,
as sequence of 16-bit received segment

an
integers
check if computed
checksum: addition
th checksum equals checksum
ng
(one’s complement
field value
o
sum) of segment
du

contents
u

sender puts checksum


cu

value into UDP


checksum field

17

CuuDuongThanCong.com https://fb.com/tailieudientucntt
Giao thức TCP

TCP: giao thức truyền tin cậy (reliable):

om
Cơ chế báo nhận (ACK)

.c
Mã chống lỗi để bảo vệ dữ liệu

ng
Sequence number: phát hiện gói mất và gói không

co
đúng thứ tự

an
Cơ chế timeout

th
Cơ chế sắp xếp lại thứ tự gói ở đầu thu
ng
Cơ chế điều khiển luồng (flow control)
o
du

Cơ chế chống tắc nghẽn (congestion control)


u

một số dịch vụ tầng ứng dụng sử dụng giao thức TCP


cu

như: Email, FTP, SSH, Telnet, Web-browers ….

18

CuuDuongThanCong.com https://fb.com/tailieudientucntt
Cấu trúc gói tin TCP

om
.c
ng
co
an
th
o ng
du
u
cu

19

CuuDuongThanCong.com https://fb.com/tailieudientucntt
TCP/IP HEADER

om
.c
ng
co
an
th
o ng
du
u
cu

20

CuuDuongThanCong.com https://fb.com/tailieudientucntt
Thiết lập kết nối: 3-way handshake

om
.c
ng
co
an
th
o ng
du
u
cu

21

CuuDuongThanCong.com https://fb.com/tailieudientucntt
Huỷ bỏ kết nối: 2-way handshake

om
.c
ng
co
an
th
o ng
du
u
cu

22

CuuDuongThanCong.com https://fb.com/tailieudientucntt
Sắp xếp lại gọi tin trog TCP

om
.c
ng
co
an
th
o ng
du
u
cu

23

CuuDuongThanCong.com https://fb.com/tailieudientucntt
Cơ chế truyền có xác nhận

om
.c
ng
co
an
th
o ng
du
u
cu

24

CuuDuongThanCong.com https://fb.com/tailieudientucntt
Cơ chế truyền có xác nhận (tiếp)

om
.c
ng
co
an
th
o ng
du
u
cu

25

CuuDuongThanCong.com https://fb.com/tailieudientucntt
Quá trình điều khiển luồng tránh tắc nghẽn

om
Round-trip time (RTT) Retransmission TimeOut (RTO)

.c
Guard

ng
Band

Phát (A)

co
Estimated RTT

an
Data1 Data2

th
ACK ACK
ng
Thu (B)
o
du
u
cu

26

CuuDuongThanCong.com https://fb.com/tailieudientucntt
Quá trình điều khiển luồng tránh tắc nghẽn

om
.c
ng
co
an
th
o ng
du
u
cu

27

CuuDuongThanCong.com https://fb.com/tailieudientucntt
BÀI TẬP

om
.c
ng
co
an
th
o ng
du
u
cu

28

CuuDuongThanCong.com https://fb.com/tailieudientucntt

You might also like