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

Bài giảng mạng máy tính (Lê Minh) - Chương 3

15 11 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 15
Dung lượng 0,92 MB

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

Nội dung

Chuyển các segment từ máy tính gởi tới máy tính nhận - Các giao thức tầng mạng hoạt động trên cả máy tính gởi/nhận và các thiết bị mạng trung gian ( router). Máy tính gởi: nhận các segment từ tầng giao vận, đóng gói thành datagram - Máy tính nhận: chuyển các segment lên tầng giao vận - Router: kiểm tra và chuyển tiếp các datagram

Trang 1

Giớ i thiệ u

Dị ch vụ dồ n kênh và phân kênh Giao thứ c UDP

Giao thứ c TCP

Biên soạ n : Lê Minh

LOGO

Cung cấ p đư ờ ng

truyề n logic giữ a các

tiế n trình chạ y trên

các máy tính khác

nhau

Dùng hai giao thứ c:

TCP và UDP

Giớ i thiệ u

I

Biên soạ n : Lê Minh

Trang 2

Các giao thứ c củ a tầ ng giao vậ n chạ y trên các

thiế t bị đầ u cuố i ( máy tính,PDA … )

Phía gở i : chia các thông điệ p (message) nhậ n

từ tầ ng ứ ng dụ ng thành các segment và chuyể n xuố ng tầ ng mạ ng

Phía nhậ n : tái hợ p các segment thành thông

điệ p và gở i lên cho tầ ng ứ ng dụ ng

Giớ i thiệ u

I

Biên soạ n : Lê Minh

LOGO

Tầ ng mạ ng:

truyề n logic giữ a các máy tính

PDU : datagram Datagram có thể bị

mấ t, trùng lắ p và

đúng thứ tự

Tầ ng giao vậ n:

Cung cấ p đư ờ ng truyề n logic giữ a các tiế n trình

PDU: segment Phụ thuộ c vào và mở

rộ ng thêm các dị ch

vụ củ a tầ ng mạ ng

Quan hệ tầ ng giao vậ n vớ i tầ ng mạ ng

1

Trang 3

Mở rộ ng việ c truyề n dữ liệ u giữ a các thiế t bị

đầ u cuố i củ a tầ ng mạ ng thành việ c truyề n dữ

liệ u giữ a các tiế n trình

TCP: giao thứ c tin cậ y, gở i nhậ n theo đúng

thứ tự

Kiể m soát tắ t nghẽ n Điề u khiể n lư u lư ợ ng Thiế t lậ p đư ờ ng truyề n

UDP: giao thứ c không tin cậ y, gở i nhậ n không

theo thứ tự

Giao thứ c tầ ng giao vậ n

2

Biên soạ n : Lê Minh

LOGO

Tầ ng mạ ng sử dụ ng cùng mộ t kênh truyề n

giữ a hai máy tính cho việ c liên lạ c vớ i nhau

Mỗ i máy tính có thể chạ y nhiề u ứ ng dụ ng

cùng lúc, mỗ i ứ ng dụ ng đư ợ c gở i xuố ng tầ ng

mạ ng qua mộ t cổ ng bằ ng mộ t tiế n trình.

Dữ liệ u gở i đúng từ tiế n trình gở i đế n tiế n

trình nhậ n?

Dị ch vụ dồ n kênh và phân kênh

II

Transport Layer Network Layer

Transport Layer Network Layer

HTTP FTP Telnet

Biên soạ n : Lê Minh

Trang 4

Bên gở i : thự c hiệ n dị ch vụ dồ n kênh

Nhậ n dữ liệ u từ nhiề u tiế n trình ứ ng dụ ng

khác nhau từ tầ ng ứ ng dụ ng Thêm tiêu đề để tạ o thành segment và chuyể n

xuố ng tầ ng mạ ng

Bên nhậ n: thự c hiệ n dị ch vụ phân kênh

Nhậ n dữ liệ u từ tầ ng mạ ng chuyể n lên Căn cứ vào tiêu đề củ a segment để chuyể n dữ

liệ u đế n đúng tiế n trình nhậ n

Dị ch vụ dồ n kênh và phân kênh

II

Biên soạ n : Lê Minh

LOGO

Căn cứ để phân kênh?

Mỗ i tiế n trình đư ợ c gở i qua mộ t cổ ng

Mỗ i gói tin (segment) sẽ

nguồ n/đích Datagram ở tầ ng mạ ng

sẽ có IP nguồ n/đích

Dị ch vụ dồ n kênh và phân kênh

II

Trang 5

Dị ch vụ dồ n kênh và phân kênh

II

Biên soạ n : Lê Minh

LOGO

Là giao thứ c đơ n giả n củ a tầ ng giao vậ n

Giao thứ c không hư ớ ng kế t nố i:

Không “bắ t tay” giữ a bên gở i và bên nhậ n Các UDP segment đư ợ c xử lý độ c lậ p

Giao thứ c không tin cậ y:

Các UDP segment có thể bị mấ t mát khi truyề n Không có cơ chế kiể m soát tắ t nghẽ n

Tạ i sao dùng UDP??

Giao thứ c UDP

III

Biên soạ n : Lê Minh

Trang 6

Tạ i sao dùng UDP?

Không cầ n thiế t lậ p đư ờ ng truyề n Không cầ n lư u lạ i trạ ng thái ở 2 bên gở i/nhậ n

Trư ờ ng tiêu đề củ a gói tin nhỏ

Không cầ n cơ chế kiể m soát tắ t nghẽ n

Thư ờ ng đư ợ c dùng bở i các ứ ng dụ ng đa

phư ơ ng tiệ n:

Chấ p nhậ n mấ t mát dữ liệ u

Cầ n tố c độ truyề n nhanh

Muố n truyề n tin cậ y vớ i giao thứ c UDP: ứ ng

dụ ng phả i có cơ chế khắ c phụ c lỗ i

Giao thứ c UDP

III

Biên soạ n : Lê Minh

LOGO

Source port: đị a chỉ

cổ ng nguồ n

Dest port: đị a chỉ

cổ ng đích

Checksum: kiể m tra

lỗ i củ a segment

segment (byte) – tính

cả header

Cấ u trúc gói tin UDP

1

source port # dest port #

32 bits

Application data (message)

UDP segment format

Trang 7

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

gở i

Phía gở i:

Chia nộ i dung củ a segment thành các từ có độ dài 16 bit

Tính checksum bằ ng cách lấ y tổ ng (có nhớ )

củ a các từ 16 bit này, sau đó lấ y bù 1

Đặ t kế t quả tính checksum vào trư ờ ng checksum củ a UDP segment

Giá trị ban đầ u củ a trư ờ ng checksum trong segment là bao nhiêu??

UDP checksum

2

Biên soạ n : Lê Minh

LOGO

Phía nhậ n:

Chia nộ i dung củ a segment nhậ n đư ợ c thành các từ có độ dài 16 bit

Tính tổ ng củ a các từ 16 bit kể cả trư ờ ng

checksum

Nế u kế t quả bằ ng 111111111 11111111 thì dữ liệ u nhậ n đư ợ c không lỗ i

Nế u có bấ t kỳ bit nào trong kế t quả là 0 thì dữ liệ u nhậ n đư ợ c có lỗ i

UDP sẽ làm gì khi có lỗ i xả y ra???

UDP checksum

2

Biên soạ n : Lê Minh

Trang 8

Là giao thứ c theo hư ớ ng kế t nố i:

Tiế n trình gở i và nhậ n phả i “bắ t tay” vớ i nhau

để xác đị nh các tham số đả m bả o cho việ c truyề n dữ liệ u

Kế t nố i TCP:

Là kế t nố i điể m – điể m Cung cấ p kênh truyề n song công

Có bộ đệ m ở phía gở i và nhậ n

đặ t trong mỗ i segment Giá trị MMS có thể

thay đổ i đư ợ c.

Giao thứ c TCP

IV

Biên soạ n : Lê Minh

LOGO

Cấ u trúc gói tin TCP

1

source port # dest port #

32 bits

Dữ liệ u từ tầ ng ứ ng dụ ng (độ dài thay đổ i)

sequence number acknowledgement number

Receive window Urg data pnter checksum

F S R P A U

head len not used

Options (độ dài thay đổ i)

URG: urgent data

(thư ờ ng không dùng)

ACK: giá trị ACK

đã nhậ n đư ợ c

PSH: push data now

(thư ờ ng không dùng)

RST, SYN, FIN:

Thiế t lậ p kế t nố i

(thiế t lậ p và

đóng kế t nố i)

Số

lư ợ ng byte bên nhậ n

có thể nhậ n

Đư ợ c xác

đị nh bở i số byte dữ liệ u

đã gở i/nhậ n

Internet checksum (giố ng ở UDP)

Trang 9

TCP sẽ đánh số thứ tự cho từ ng byte củ a dòng

dữ liệ u nhậ n đư ợ c từ tầ ng ứ ng dụ ng

Mỗ i segment sẽ mang mộ t số Seq number, là

số thứ tự củ a byte đầ u tiên trong phầ n dữ liệ u

củ a segment đó ( không phả i là số thứ tự củ a

segment)

Ví dụ : A cầ n truyề n cho B file có kích thư ớ c

5000 byte, MMS là 1000 byte, byte đầ u tiên có

số thứ tự là 0

Sequence number và ACK number

2

Biên soạ n : Lê Minh

LOGO

Giá trị ban đầ u củ a sequency number đư ợ c

chọ n ngẫ u nhiên

Việ c đánh số sequency number phụ thuộ c vào

từ ng bên truyề n nhậ n

ACK number: số seq # củ a segment tiế p theo

mong muố n nhậ n đư ợ c từ bên kia

Sequence number và ACK number

2

Biên soạ n : Lê Minh

Trang 10

Ví dụ

Seq #: số thứ

tự củ a byte dữ liệ u đầ u tiên trong segment ACK #:

Số seq# củ a segment tiế p

theo mong

chờ từ phía kia

Đư ợ c tính

kiể u “tích lũy”

Sequence number và ACK number

2

1000 byte data

Host sends another

500 bytes

host ACKs receipt of data

time

Biên soạ n : Lê Minh

LOGO

Tầ ng mạ ng cung cấ p dị ch vụ IP: dị ch vụ

truyề n không tin cậ y

trên dị ch vụ IP

Đả m bả o truyề n đúng và đủ dữ liệ u (segment)

cho bên nhậ n

Căn cứ vào ACK và timer để thự c hiệ n việ c

truyề n lạ i các segment, 1 segment sẽ đư ợ c

truyề n lạ i khi:

“Không” nhậ n đư ợ c ACK xác nhậ n từ bên

nhậ n

Truyề n dữ liệ u tin cậ y vớ i TCP

3

Trang 11

Các hoạ t độ ng củ a bên gở i:

Nhậ n dữ liệ u từ tầ ng ứ ng dụ ng:

Chia dữ liệ u ra và đóng gói thành các segment căn cứ vào giá trị MMS

sequency number củ a segment

Tiế n hành gở i segment và khở i độ ng timer cho

từ ng segment

Truyề n dữ liệ u tin cậ y vớ i TCP

3

Biên soạ n : Lê Minh

LOGO

Các hoạ t độ ng củ a bên gở i:

Sau khoả ng thờ i gian chờ (timeout) cho mỗ i segment, nế u không nhậ n đư ợ c ACK xác nhậ n

từ bên nhậ n:

Gở i lạ i segment đó

Khở i độ ng lạ i timer cho segment

Nế u nhậ n đư ợ c ACK xác nhậ n từ bên nhậ n

trư ớ c thờ i gian timeout:

gử i tiế p segment có số sequency tư ơ ng ứ ng vớ i

số ACK vừ a nhậ n đư ợ c

sẽ trả lờ i lạ i bằ ng segment chứ a ACK

Truyề n dữ liệ u tin cậ y vớ i TCP

3

Biên soạ n : Lê Minh

Trang 12

Ví dụ :

ACK xác nhậ n từ bên nhậ n bị thấ t lạ c

Truyề n dữ liệ u tin cậ y vớ i TCP

3

Biên soạ n : Lê Minh

LOGO

Ví dụ :

ACK xác nhậ n thứ 2 đế n trư ớ c thờ i gian timeout củ a mình

Truyề n dữ liệ u tin cậ y vớ i TCP

3

Trang 13

Ví dụ :

ACK xác nhậ n thứ 2 đế n trư ớ c thờ i gian timeout củ a ACK thứ nhấ t

Truyề n dữ liệ u tin cậ y vớ i TCP

3

Biên soạ n : Lê Minh

LOGO

Mụ c đích: tránh hiệ n tư ợ ng bên gở i làm tràn

bộ đệ m bên nhậ n

Khi khở i tạ o kế t nố i TCP, mỗ i bên sẽ khở i tạ o

cho mình bộ đệ m nhậ n (RevBuffer)

Dữ liệ u nhậ n đư ợ c từ bên gở i sẽ đư ợ c lư u

trong bộ đệ m nhậ n trư ớ c khi đư ợ c xử lý

Điề u khiể n lư u lư ợ ng trong TCP

4

Biên soạ n : Lê Minh

Trang 14

Bên nhậ n báo cho bên gở i biế t độ lớ n củ a vùng

đệ m còn rỗ i ( RcvWindow) củ a mình ??

Khi bộ đệ m bên nhậ n đầ y (RcvWindow = 0)??

Điề u khiể n lư u lư ợ ng trong TCP

4

source port # dest port #

32 bits

Dữ liệ u từ tầ ng ứ ng dụ ng (độ dài thay đổ i)

sequence number acknowledgement number

Receive window Urg data pnter checksum

F S R P A U

head len not used

Options (độ dài thay đổ i)

Biên soạ n : Lê Minh

LOGO

Thiế t lậ p kế t nố i : bắ t

tay 3 bư ớ c giữ a client và

server:

B1: client gở i 1 segment SYN tớ i server ( không chứ a data, chứ a số Seq#

khở i đầ u) B2: server trả lờ i bằ ng 1 segment SYN-ACK ( khở i

server) B3: client trả lờ i bằ ng 1 segment SYN-ACK

Quả n lý kế t nố i TCP

5

Trang 15

Đóng kế t nố i:

B1: client gở i segment FIN tớ i server

B2: server gở i segment ACK xác nhậ n, gở i lạ i 1 segment FIN

B3: client gở i lạ i 1 segment ACK xác nhậ n

segment FIN B4: server nhậ n đư ợ c segment ACK, đóng kế t

nố i

Quả n lý kế t nố i TCP

3

closing

Biên soạ n : Lê Minh

Ngày đăng: 21/05/2021, 13:38

🧩 Sản phẩm bạn có thể quan tâm