1. Trang chủ
  2. » Công Nghệ Thông Tin

Chương 3 lớp truyền tải

54 205 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 54
Dung lượng 600,43 KB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

❍ Bên nhận: tái lập các segment thành data vàchuyển cho lớp ứng dụng ❒ Có nhiều giao thức truyền tải application transport network data link physical application transport network data l

Trang 1

Chapter 3

LỚP TRUYỀN TẢI

Nguyễn Hồng Sơn

Trang 2

❍ Truyền số liệu tin cậy

❍ Điều khiển luồng (flow

Trang 3

❒ Giao thức truyền tải

không kết nối UDP

❒ Các nguyên lý truyền số

liệu tin cậy

Trang 4

VAI TRO LỚP TRUYÊN TAI

Truyên va nhân cac tin hiêu mang thông tin bit trên đường truyên vât ly

Physical

Truyên data qua môt liên kêt giữa hai điêm nôi trực tiêp

Data Link (Ethernet, ADSL )

Tim đường va chuyên tiêp goi tin giữa cac nut mang

Network (IP, ICMP )

Cung câp cơ chê truyên tai data giữa cac ứng dung ma không phu thuôc mang

Trang 5

Giao thức và dịch vụ truyền tải

❒ Thực hiện giao tiếp logic giữa

các quá trình ứng dụng chạy

trên các host khác nhau

❒ Các giao thức truyền tải chạy

trên các đầu cuối

❍ Bên truyền: chia data

thành các phân đoạn (segment) và chuyển xuống lớp mạng

❍ Bên nhận: tái lập các

segment thành data vàchuyển cho lớp ứng dụng

❒ Có nhiều giao thức truyền tải

application

transport

network data link physical

application

transport

network data link physical

Tr uyề

n tải từ đầ

u cuố

i đến đầ

u cuối

Trang 6

Các giao thức lớp truyền tải trên

❒ Chuyển phát không theo

thứ tự, không tin cậy

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

Tr uyề

n t

ải từ đầ

u cuố

i đ ến đầ

u cuối

Trang 7

Ly do co hai chê đô truyên tai

❒ Cac ứng dung la đa dang: co loai cân đô

chinh xac cao, co loai cân nhanh (thời gian

thực)

❒ TCP: cho cac ứng dung nhay cam với lôi

(data services) vi du email, truyên file

❒ UDP: cho cac ứng dung châp nhân lôi nhưng

nhay cam với trê như VoIP, Video streaming

Trang 8

NỘI DUNG

❒ Các dịch vụ lớp truyền tải

❒ Ghép/tách kênh (Multiplexing và

demultiplexing)

❒ Giao thức truyền tải không kết nối UDP

❒ Các nguyên lý truyền số liệu tin cậy

Trang 9

application transport network link

Tách tại host thu:

Tập hợp data từ nhiều socket,

đóng gói và gắn header

Ghép tại host tryền:

Trang 10

Cách tách kênh

❒ host nhận gói IP

❍ Mỗi gói có một địa chỉ IP

nguồn và địa chỉ IP đích

❍ Mỗi gói IP chứa một

segment lớp truyền tải

❍ Mỗi segment có chỉ số port

Trang 11

Tách kênh không kết nối

❒ Tạo socket với các chỉ số

❒ Khi host nhận UDP segment:

❍ Kiểm tra chỉ số port đích

❍ Chuyển UDP segment đến socket ứng với port này

Trang 12

Tách kênh không kết nối

DatagramSocket serverSocket = new DatagramSocket(6428);

serverIP: C

SP: 6428 DP: 9157

SP: 9157 DP: 6428

SP: 6428 DP: 5775

SP: 5775 DP: 6428

Trang 13

Tách kênh hướng kết nối

❍ Mỗi socket được nhận dạng bởi một bộ gồm bốn yếu tố

❒ Web server có các socket khác nhau cho mỗi kết nối với client

❍ HTTP không liên tục sẽ cócác socket khác nhau cho mỗi request

Trang 14

Tách kênh hướng kết nối (2)

P4

serverIP: C

SP: 9157 DP: 80

SP: 9157 DP: 80

D-IP:C

S-IP: A D-IP:C

S-IP: B

SP: 5775 DP: 80 D-IP:C S-IP: B

Trang 15

Tách kênh hướng kết nối

Threaded Web Server

serverIP: C

SP: 9157 DP: 80

SP: 9157 DP: 80

D-IP:C

S-IP: A D-IP:C

S-IP: B

SP: 5775 DP: 80 D-IP:C S-IP: B

Trang 16

NỘI DUNG

❒ Các dịch vụ lớp truyền tải

❒ Ghép/tách kênh (Multiplexing và

demultiplexing)

❒ Giao thức truyền tải không kết nối UDP

❒ Các nguyên lý truyền số liệu tin cậy

Trang 17

UDP (User Datagram Protocol)

❒ Là giao thức truyền tải

Internet chỉ chứa tính năng

❍ Không có "bắt tay" giữa

UDP truyền và UDP nhận

Trang 18

❒ Chuyển phát tin cậy qua

UDP thường phải bổ sung

đặc tính tin cậy vào lớp ứng

source port # dest port #

Trang 19

(checksum) vào trường

checksum của UDP

❍ Không > có lỗi

❍ Bằng > không có lỗi

Mục đích: phát hiện lỗi

Trang 20

checksum

Trang 21

NỘI DUNG

❒ Các dịch vụ lớp truyền tải

❒ Ghép/tách kênh (Multiplexing và

demultiplexing)

❒ Giao thức truyền tải không kết nối UDP

❒ Các nguyên lý truyền số liệu tin cậy

Trang 22

Các nguyên lý truyền số liệu tin cậy

❒ Quan trọng trong các lớp ứng dụng, truyền tải và liên kết số

liệu

❒ Một trong 10 chủ đề liên mạng quan trọng nhất

Trang 23

Truyền số liệu tin cậy (2)

Host

Số liệu được chuyển qua để chuyển đến

máy thu

để truyền gói qua kênh không tin

rdt để chuyển data lên lớp trên

Trang 24

Truyền số liệu tin cậy (3)

❒ Tìm hiểu phía truyền và nhận của rdt

❒ Chỉ xem xét truyền một hướng

❍ Thông tin điều khiển sẽ theo hai hướng

❒ Dùng sơ đồ trạng thái (finite state machine) để

Trang 25

Rdt1.0: truyền tin cậy qua một kênh tin cậy

❒ Kênh truyền bên dưới hoàn toàn tin cậy

❍ Không có lỗi

❍ Không mất gói

❒ Sơ đồ trạng thái tách biệt cho truyền và nhận:

❍ Máy truyền gửi data xuống kênh

❍ Máy thu đọc data từ kênh bên dưới

Đợ i gọi

từ trên

packet = make_pkt(data) rdt_send(packet)

rdt_send(data)

extract (packet,data) deliver_data(data)

Đợi gọi

từ dưới

rdt_rcv(packet)

Trang 26

Rdt2.0: kênh có lỗi

❒ Kênh bên dưới có xảy ra lỗi truyền bit

❍ Dùng checksum để phát hiện lỗi bit

❍ Máy truyền gửi lại gói khi nhận NAK

Các cơ chế mới trong rdt2.0 :

❍ Phát hiện lỗi

❍ Phản hồi của máy thu, dùng ACK, NAK

Trang 27

Đợ i ACK hay NAK

Đợ i gọi từ dưới

Máy truyền

Máy thu

rdt_send(data)

Λ

Trang 28

rdt2.0: hoạt động không lỗi

Đợ i ACK hay NAK

Đợ i gọi

từ dưới rdt_send(data)

Λ

Trang 29

Đợ i ACK hay NAK

Đợ i gọi

từ dưới rdt_send(data)

Λ

Trang 30

rdt2.0: tình huống đặc biệt

Điều gì xảy ra nếu

ACK/NAK bị mất?

❒ Máy truyền không biết điều

gì xảy ra tại máy thu!

Trang 31

rdt2.1: máy truyền, kiểm soát mất

Λ Λ

Trang 32

rdt2.1: máy thu, kiểm soát mất ACK/NAK

Đợi 0

từ dưới

sndpkt = make_pkt(NAK, chksum) udt_send(sndpkt)

Đợ i 1

từ dưới

rdt_rcv(rcvpkt) && notcorrupt(rcvpkt)

&& has_seq0(rcvpkt) extract(rcvpkt,data) deliver_data(data) sndpkt = make_pkt(ACK, chksum) udt_send(sndpkt)

rdt_rcv(rcvpkt) && (corrupt(rcvpkt)

sndpkt = make_pkt(ACK, chksum) udt_send(sndpkt)

Trang 34

rdt2.2: NAK-free protocol

❒ Giống như rdt2.1, chỉ dùng ACK

❒ Thay vì NAK, máy thu gửi ACK cho gói sau cùng nhận

tốt

❍ Máy thu sẽ chỉ rõ số tuần tự gói nhận tốt trong ACK phản hồi

❒ Trùng ACK tại máy truyền dẫn đến hành động tương tự như NAK: truyền lại gói hiện hành

Trang 36

rdt3.0: các kênh lỗi và mất gói

Giả sử: kênh bên dưới

cũng có thể mất gói

(data hay ACK)

❍ checksum, seq #, ACKs,

truyền lại là hữu ích

nhưng không đủ

Giải pháp: máy truyền đợi ACK một khoảng thời gian hợp lý

❒ Truyền lại nếu không thấy ACK trong thời gian đợi

❒ Nếu gói hay ACK bị trễ:

❍ Truyền lại sẽ bị trùng, nhưng có số tuần tự đểkiểm soát

❍ Máy thu phải chỉ ra số tuần

tự của gói đang báo nhận ACK

Trang 37

rdt3.0 máy truyền

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

start_timer rdt_send(data)

Đợ i ACK 0

udt_send(sndpkt) start_timer

Λ

rdt_rcv(rcvpkt)

Λ Λ

Trang 38

rdt3.0 Hoạt động

Không mất

Trang 39

rdt3.0 hoạt động (2)

Trang 40

Hiệu năng của rdt3.0

❒ Ví dụ: 1 Gbps, Tp=15 ms , Kích thước gói =8000 bit :

❍ U sender: utilization – tỉ lệ thời gian máy truyền thực sự làm công việc truyền

U

sender =

.008 30.008 = 0.00027 microsec

L / R RTT + L / R =

❍ 1KB pkt mỗi 30 msec -> thông lượng 33kB/sec qua liên kết

1Gbps

ds microsecon

8 bps

trans

Trang 41

rdt3.0: hoạt động ARQ không liên

tục (Idle ARQ hay stop-and-wait)

Truyền bit đầu của gói, t = 0

ACK đến, gửi gói kế,

Trang 42

Các giao thức dùng kỹ thuật ống dẫn

Pipelining: máy truyền cho phép nhiều gói được gửi

liên tiếp không cần có báo nhận ACK

❍ Tăng chỉ số tuần tự

❍ Đệm tại máy truyền và máy nhận

❒ ARQ liên tục: Selective repeat và Go-back-N

Automatic Repeat reQuest

Trang 43

tăng utilization lên ba lần

Nhằm gia tăng hiệu quả sử dụng đường truyền (utilization)

Trang 44

Các giao thức theo ARQ liên tục

Go-back-N

❒ Máy truyền có thể có

đến N gói chưa được

báo nhận đã gửi qua

❒ Máy thu gửi ACK cho từng gói nhận tốt

❒ Máy truyền có bộ định thời cho từng gói chưa được báo nhận

❍ Nếu định thời hết hạn, chỉ truyền lại gói tương

Trang 45

Máy truyền:

❒ Số tuần tự k-bit (seq #) trong header của gói

❒ “cửa sổ”có kích thước N, số gói truyền liên tiếp chưa có báo nhận

❒ ACK(n): báo nhận cho tất cả các gói đến n

❍ Có thể nhận trùng ACK

❒ Bộ định thời cho các gói đang đợi

Đã báo nhận Chưa báo nhận

Còn trống chưa dùng Khe trống

Gói có số tuần tự

kế tiếp

Gói chờ báo nhận

Cửa sồ truyền

Trang 46

Sơ đồ trạng thái của máy truyền

Go-Back-N

Đợi start_timer

udt_send(sndpkt[base]) udt_send(sndpkt[base+1])

… udt_send(sndpkt[nextseqnum-1]) timeout

rdt_send(data)

if (nextseqnum < base+N) { sndpkt[nextseqnum] = make_pkt(nextseqnum,data,chksum) udt_send(sndpkt[nextseqnum])

if (base == nextseqnum) start_timer

nextseqnum++

} else refuse_data(data)

rdt_rcv(rcvpkt) &&

notcorrupt(rcvpkt)

base=1 nextseqnum=1

rdt_rcv(rcvpkt)

&& corrupt(rcvpkt)

Λ

Trang 47

deliver_data(data) sndpkt = make_pkt(expectedseqnum,ACK,chksum) udt_send(sndpkt)

Sơ đồ trạng thái của máy nhận Go-Back-N

Chỉ tất cả các trường hợp ngoại trừ trường hợp

nhận đúng gói có thứ tự mong muốn

Trang 48

Hoạt động của

Go-Back-N

Trang 49

Selective Repeat

❒ Máy thu báo nhận cho từng gói mà nó nhận tốt

❍ Đệm gói khi cần (chờ đúng thứ tự để giao cho giao thức

cao hơn)

❒ Máy truyền chỉ gửi lại gói không nhận được ACK

❍ Bộ định thời cho mỗi gói truyền chưa có báo nhận

❒ Cửa sổ truyền

❍ Kích thước N, N chỉ số tuần tự liên tục được gán cho các

gói để truyền đi

❍ Giới hạn số gói được truyền liên tục

Trang 50

Selective repeat: cửa sổ truyền và thu

Gói chờ báo nhận Gói có số tuần tự kế tiếp

Cửa sồ truyền

Đã báo nhận Chưa báo nhận

Còn trống chưa dùng Khe trống

(a) Tuần tự truyền với cửa sổ có kích thước N

Cửa sồ nhận

Ngoài trật tự nhưng đã báo nhận Cần nhưng chưa thấy

Bộ đệm trống còn chứa thêm Khe trống

Trang 51

Gói n chờ nhận đến

❒ Gửi ACK(n)Máy thu

Trang 52

Hoạt động của Selective repeat

Trang 54

HẾT CHƯƠNG 3

Ngày đăng: 04/12/2015, 19:30

TỪ KHÓA LIÊN QUAN

w