Tải bản đầy đủ (.pdf) (14 trang)

Giới thiệu chung về mạng máy tính

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (281.66 KB, 14 trang )

Chương 4. Tầng truyền vận - transport
1. Giới thiệu chung
Chức năng tầng transport
- Cung cấp ñường truyền ñộ tin cậy cao;
- Đóng gói.
- Quản lý giao thông (trafic mngt).
- Quản lý lỗi.
- Quản lý tắc nghẽn.
Quan hệ giữa tầng transport với các tầng kề cận:
The network, transport, and application layers.

- Đơn vị dữ liệu: datagram hoặc TPDU (Transport Protocol Data
Unit)
- Khác biệt với tầng mạng:
Tầng Transport làm việc trên các máy ñầu cuối (host). Tầng
mạng làm việc trên các thiết bị ñịnh tuyến (router).
Tầng mạng là non-reliable - không có tính an toàn cao. Tầng
transport (có ñịnh hướng kết nối) là phương thức truyền có ñộ an
toàn cao.
- Khác biệt với tầng liên kết dữ liệu
Tầng datalink làm việc với các ñịa chỉ thực - ñịa chỉ vật lý.
1


Tầng Transport làm việc với ñịa chỉ logich.
Tầng datalink làm việc trong môi trường nối trực tiếp bằng
phương tiện vật lý.
Tầng Transport làm việc với môi trường subnet.
(a) Environment of the data link layer. (b) Environment of the transport layer.

2




- Đơn vị dữ liệu (TPDU)

- Địa chỉ:
Tầng truyền vận làm việc trên các host do ñó ñịa chỉ là các cổng
(port) - hay còn gọi là cổng truy nhập truyền vận (TSAP - Transport
Service Access Point).

- Socket là bộ ñịa chỉ IP và cổng Transport cho các ứng dụng. Mỗi
ứng dụng của tầng ứng dụng tương ứng với một cổng.
2. Giao thức tầng truyền vận - TCP (Transport Control Protocol)
2.1 Giới thiệu
Là giao thức cung cấp ñường truyền ổn ñịnh an toàn, connectionoriented - chỉ truyền data sau khi ñã thiết lập xong ñường truyền.

3


Cung cấp kênh logich giữa các quá trình trong các ứng dụng trên
máy tính ñầu cuối (host). Thông qua các cổng - port. Các cổng là ñịa
chỉ 16 bit. Các cổng thông dụng <1024, ví dụ:
- Cổng WWW là 80
- Cổng SMTP (e-mail) là 25
- Cổng FTP là 21
- Cổng Telnet là 23
- Cổng DNS là 53.
TCP tiếp nhận dữ liệu từ các ứng dụng/quá trình (process), chia ra
các TPDU và truyền ñi bằng các gói tin IP. Mỗi TPDU có số thứ tự
ñể ñảm bảo nhận ñúng như khi truyền; các TPDU nhận ñược ñều
ñược thông báo là ñã nhận (ACK). acknowledgement

Quản lý giao thông: khi tốc ñộ nhận nhỏ hơn truyền thì TCP thông
báo (ACK) cho bên gửi là buffer bằng 0 (zero buffer) ñể bên gửi
ngừng lại không gửi cho ñến khi bên nhận trở lại bình thường.
Một phiên truyền nhận dữ liệu của TCP gồm 3 giai ñoạn: khởi tạo
kênh truyền; truyền dữ liệu; kết thúc ñường truyền. Giữa các giai
ñoạn ñó là các công ñoạn như ñiều ñình các tham số truyền và
nhận - ñặt kích thước cửa sổ truyền và nhận; gửi thống báo ñã nhận
(ACK). Do ñó quá trình như sau:
– Establish a connection
– Agree window size
– Transfer data
– Send acknowledgements
– Close connection

4


2.2 Cấu trúc ñoạn tin TCP

Giải thích các trường của gói tin TCP:
Tên trường
Source port
Destination port
Sequence number

Số
bit
16
16
32


Acknowledgement
number
Offset

32

Reserved
Flags

6
8

4

Ý nghĩa
The TCP port number of the sending device.
The TCP port number of the receiving device.
The sequence number of the data byte stream in
the segment.
The sequence number that the receiver expects
to receive next.
The number of 32-bit words in the TCP header. It
is needed because the Options field length is
variable.
Reserved for future use. It must be zero.
These are six flags that control the behaviour of
a TCP packet. They are: 1. Urgent 2.

5



Window

16

Checksum

16

Urgent Pointer

18

Options

-

Acknowledgement 3. Push 4. Reset connection
5. Synchronous 6. Finish.
Used in acknowledgement segments to
implement flow control. Specifies the number of
data bytes which the receiver is willing to accept.
Used to verify the integrity of the TCP header.
The checksum is performed on a pseudo header
consisting of information obtained from the IP as
well as the TCP header.
When urgent data is being sent (as specified in
the code bits), this points to the end of the urgent
data in the segment.

This is used to specify maximum segment size
during the establishment of a connection.

6


Các cổng thông dụng (<1024):

2.3 Quá trình tiến hành truyền nhận gói tin TCP
a. Thiết lập kênh truyền TCP:
Máy gửi khởi tạo gói tin TCP ñồng bộ (SYN) với số thứ tự là 1000;
cỡ cửa sổ nhận là 8700 byte và kích thước lớn nhất của gói tin là
1460 byte.
Máy nhận gửi lại tin ACK (SYN) với số thứ tự ban ñầu của máy
nhận (3000), số thứ tự ACK kế tiếp STT máy gửi ñịnh ra (1001) và
ñồng ý với kích thước cửa sổ, và max gói tin.

7


8


b. Cơ chế thông báo nhận ñược và cơ chế gửi lại gói tin TCP

Đây là cơ chế thông dụng (xem tầng datalink) áp dụng ñể quản lý
giao thông trên mạng. Cơ chế ñơn giản này không áp dụng ñối với
TCP mà ñược áp dụng với cơ chế phức tạp hơn là cửa sổ trượt
(sliding window).
Trong cơ chế này có các vấn ñề về ñúp các gói tin và ACK. TCP giải

quyết bằng cách ñịnh ra các số thứ tự kế tiếp.
c. Giao thức cửa sổ trượt
Trong kỹ thuật trên - máy gửi sẽ chờ cho ñến khi nhận thông báo ñã
nhận (ACK) hoặc hết hạn thời gian chờ -> không sử dụng tốt băng
thông ñường truyền.
Cửa sổ trượt cho phép gửi một số gói tin cho ñến khi hết buffer, mà
không cần chờ thông báo ACK.

9


Ví dụ cửa sổ ñịnh ra là 6 gói tin. Máy gửi gửi lần lượt 6 gói tin,
nhưng chỉ có 3 gói tin 1, 2, 3 là có ACK nhận ñược. Cửa sổ gửi sẽ
trượt tới vị trí tiếp theo từ 4,5,6,7,8,9 ñể gửi.

Hoạt ñộng của giao thức cửa sổ trượt:
- Mỗi gói tin không ñược báo nhận có riêng một thời hạn (time-out).
Quá thời hạn sẽ gửi lại.
- Cửa sổ trượt tại máy gửi và máy nhận tương ứng nhau.
- Kích thước cửa sổ có thể thay ñổi và ñược thông báo cho nhau
giữa máy gửi và máy nhận. Ví dụ máy gửi có thể thông báo cửa sổ
nhỏ hơn hoặc là 0 ñể máy gửi chậm lại hoặc ngừng việc gửi gói tin.
Khi buffer trở lại thì thông báo cho máy gửi tiếp tục gửi như window
cũ.
- TCP thông báo số TT gói kế tiếp tính theo byte. Ví dụ gói tin có
STT 2000, ñộ dài 1000 thì STT gói tin ACK là 3000.
10


d. Thuật toán Slow Start - khởi ñầu chậm

- Đưa thêm vào một thông số cửa sổ nghẽn - cwnd ñể ñiều chỉnh
tốc ñộ gửi so với tốc ñộ nhận (thông qua tốc ñộ gửi lại các thông tin
ACK).
Congestion window
- Ban ñầu cwnd ñặt bằng 1 gói tin. Máy gửi truyền 1 gói TCP và chờ
ACK. Khi nhận ñược ACK thì cwnd tăng thêm 1.
- Tốc ñộ gửi lớn nhất sẽ là ngưỡng nhỏ hơn giữa window và cwnd.
- Thuật toán này cho phép tăng/giảm tốc ñộ từ từ.
e. Khắc phục tắc nghẽn (Congestion Avoidance)
- Tắc nghẽn xảy ra khi lưu lượng tin ñi vào vượt quá lưu lượng ñi ra.
Tắc nghẽn liên quan ñến tỷ lệ mất gói tin với hai thông số - hết hạn
thời gian và các gói tin bị ñúp.
11


- Tắc nghẽn có thể xảy ra ñối với mạng phức hợp các kênh truyền
băng thông khác nhau, các thiết bị router có khả năng xử lý và
buffer khác nhau.
- Kết hợp thuật toán Slow Start và CA. Đưa thêm một thông số ngưỡng SS - ssthresh, cùng với cwnd.
- Ban ñầu ñặt cwnd=1 gói tin và ssthresh=65535 byte.
- Tốc ñộ truyền không vượt quá cwnd và window của máy nhận.
- Khi có tắc nghẽn (vd. có time-out hoặc phát hiện ñúp gói tin) thì
giảm cnwd ñi một nửa và gán cho giá trị cho ssthresh (>2).
- Đặc biệt khi có time-out thì cwnd =1 (thuật toán SS).
- Khi có ACK ñã nhận ñược thì tăng tốc ñộ lên theo thuật toán SS
hoặc CA theo cách sau:
+ Nếu cwnd < ssthresh thì tăng lên theo SS, theo cấp số.
+ ngược lại thì cwnd tăng tuyến tính theo CA
(segsize*segsize/cwnd) mỗi lần nhận ñược ACK.
f. Cơ chế gửi lại nhanh và phục hồi nhanh - Fast Retransmit & Fast

Recovery.
- Khi nhận ñược ACK về ñúp gói tin thì xảy ra lẫn về trình tự khi
nhận, hoặc mất gói tin.
- Cơ chế ñịnh ra khi nhận ñược 3 ACK ñúp liên tục thì khả năng mất
gói tin là rõ hơn. Do ñó có thể áp dụng cơ chế gửi lại nhanh ñể gửi
lại gói tin, mà không cần chờ ñến khi có time-out.
- Khi ñó không áp dụng SS mà áp dụng CA. Nguyên nhân là việc
nhận ñược các ACK ñúp chỉ ra cho TCP rằng vẫn ñang có việc trao
ñổi dữ liệu giữa hai ñầu (chứ không phải ngừng như SS).
- TCP tránh việc giảm lưu lượng trao ñổi bằng cách dùng CA thay vì
SS.
- Các cơ chế gửi lại nhanh và phục hồi nhanh ñược áp dụng cùng
nhau.
+ Khi nhận ñược 3 ACK ñúp liên tục, ñặt ssthresh = ½ cwnd và
>=2 gói tin.
+ Gửi lại gói tin TCP bị mất. Đặt cwnd = ssthresh +3 lần kích
thước gói tin.
+ Mỗi khi nhận ñược ACK ñúp, tăng cwnd theo một kích thước
gói tin. Gửi lại gói tin TCP.

12


+ Khi lại nhận ñược ACK ñúp thì lại ñặt cwnd = ssthresh. Ở ñây
áp dụng CA, giảm tốc ñộ gửi ñi một nửa khi có gói tin bị mất.
3. Giao thức UDP - User Datagram Protocol - Giao thức gói tin
người dùng
Sử dụng cho các ứng dụng như video, audio, quảng bá, lượng dữ
liệu nhỏ (vd. SNMP dùng ñể quản trị mạng).
Không ñịnh hướng kết nối.

- Không ñịnh ra phiên kết nối.
Không ñảm bảo chất lượng giao nhận.
- Không có số thứ tự.
- Không có ACK - thông báo nhận.
Độ ổn ñịnh và an toàn do ứng dụng ở tầng trên ñảm nhận.
Dùng cổng như là ñiểm kết nối ñầu cuối ñể liên kết.

Phần thực hành:
- Windows 2000 server
Cài ñặt
Thiết lập domain, user group, gán các quyền truy nhập, sửa ñổi, vv.
13


DNS Server.
DHCP Server - phân phối ñịa chỉ IP ñộng.
Hiểu về ñịa chỉ IP (subnet, subnet mask, gateway).
- Thực hành về các mạng LAN - cầu nối, switch.
Phần ñọc thêm
Đọc thêm về cách thức thiết kế mạng
Một số giao thức lớp ứng dụng: SMTP về e-mail; WWW - ứng dụng
HTTP.

14



×