



















Preview text:
lOMoAR cPSD| 58647650
Lớp vận chuyển và giao thức UDP, TCP lOMoAR cPSD| 58647650 Lớp vận chuyển
– giám sát và chuyển tiếp dữ liệu của các tiến trình xử lý hoặc Transport Layer
các chương trình lớp ứng dụng trên máy tính này sang máy
tính khác trong mạng.
Mở rộng chức năng của tầng mạng và cho phép thiết lập
kênh tuyền thông logic giữa các tiến trình lớp ứng dụng lOMoAR cPSD| 58647650
Các chức năng của lớp vận chuyển (1) Đóng gói
Với dữ liệu được phát sinh từ các chương trình lớp ứng dụng,
Packetizing lớp vận chuyển cần phải đáp ứng xử lý để chuyển tiếp gói tin.
1) Chia nhở các gói tin lớn thành các phần nhỏ để phân lớp
mạng có thể xử lý. lOMoAR cPSD| 58647650
2) Thêm phần tiêu đề vào mỗi gói tin chứa các phần dữ liệu
được chia để phía thu có thể tái ghép lại.
(2) Điều khiển kết nối Connection Control
Hỗ trợ bởi một số giao thức trong họ giao thức TCP/IP lOMoAR cPSD| 58647650
( )3 Đảm bảo tính tin
Thiết lập kết nối cậy
Điều khiển luồng Reliability
Chuyển tiếp và thu nhận gói tin theo đúng thứ
Hai kiểu chuyển tiếp g ói tự
tin giữa các trình ứng Điều khiển lỗi
dụng của lớp vận chuyển:
Điều khiển tắc nghẽn
1) Dịch vụ hướng kết
2) Dịch vụ không hướng kết nối - connectionless nối - connection
(UDP) Không đảm bảo tính tin cậy, chuyển tiếp oriented (TCP)
gói tin không theo thứ tự
Giới gian tính năng trong điều khiển lỗi lOMoAR cPSD| 58647650
Các chức năng của lớp vận chuyển
client –demand service
server –provide service lOMoAR cPSD| 58647650 (4) Addressing
Địa chỉ lớp ứng dụng (địa chỉ cổng) dùng để phân biệt giữa
các tiến trình xử lý lớp trên đang thực hiện truyền thông dữ liệu. lOMoAR cPSD| 58647650 Giao thức truyề n thông UDP UDP message UDP UDP segment UDP header UDP header lOMoAR cPSD| 58647650 Giao thức truyề
Giao thức vận chuyển Là giao thức lớp vận chuyển không hướng kết nối và không UDP
đảm bảo tính tin cậy (không điều khiển luồng và giới hạn
việc kiểm tra dữ liệu) . UDP không thêm bất cứ xử lý nào
với các dịch vụ ở lớp IP, ngoại trừ cho phép cơ chế xử lý
ghép/tách các luồng dữ liệu truyền thông
Các ưu điểm chính 1) Không cần thiết lập kết nối giữa các hệ thông đầu cuối.
Với giao thức TCP cần có xứ thiết lập kêt nối “bắt tay 3 bước” trước khi truyền
nhận các gói dữ liệu trễ thiết lập.
2) Không kiểm soát trạn thái kết nối – xử lý phần thông tiêu đề đơn giản.
Với giao thức TCP cần quản lý trạng thái kết nối ở mỗi hệ thông đầu cuối và
quản lý các thông tin khác như các chỉ số các gói dữ liệu truyền và nhận, chỉ
số các gói tin báo nhận ACK
3) Phần thông tin tiêu đề ngắn – chỉ có 8-byte.
Với giao thức TCP yêu cầu phần thông tin tiêu đề là 20-bytes lOMoAR cPSD| 58647650 Giao thức truyề
4) Không điều khiển luồng và điều khiển tắc nghẽn – UDP có thể gửi các
header = 4 fields only, each consistingof 2bytes
gói nhanh nhất có thể.
ứng dụng tốt trong các dịch vụ truyền dữ liệu thời gian thực. n thông UDP Gói tin UDP
8 byte tiêu đề + dữ liệu lớp ứng dụng
Chiều dài t– ổng Chỉ định kích thước của gói tin UDP bao gồm cả phần tiêu đề và tải trong
16 bits ֜giá trị max có thể là 65,535 bytes; tuy nhiên do sự giới hạn về
tài nguyên bộ nhớ được phép cấp phát của hệ điều hành nên gói tin
UDP có kích thước tối đa là 8192 lOMoAR cPSD| 58647650 Giao thức truyề Chuỗi kiểm tra
Chỉ dùng để xác định lỗi với dữ liệu trong gói tin UDP (header + data)
Việc tính toán kiểm tra được tùy chọn! - Nếu không cần tính, dữ
liệu thết lập cho trường này là các bít 0
Nếu có lỗi được xác định, bản tin được bỏ qua và khong có xử nào
được thực hiện tiếp sau. lOMoAR cPSD| 58647650
Giao thức truyền thông TCP
Giao thức điều khiển truyền dẫn Là giao thức lớp vận chuyển có các thuộc tính sau: TCP
Định hướng kết nối: giữa các hệ thống đầu cuối phải bắt tay “handshake”
trước khi thực hiện truyền thông
Điều khiển luồng
Tính tin cậy = dữ liệu được sắp xếp + điều khiển lỗi: điều khiển lỗi trong
TCP bao gồm cả cơ chế xác định lỗi, xác định thứ tự và tinh sao chép của
các gói dữ liệu được xử lý.
Tính liên tục: Nếu dữ liệu bị chuyển tiếp sai và vượt quá thời gian cho phép
TCP sẽ cảnh báo với hệ thống và ngắt kết nối
Điều khiển tắc nghẽn: TCP giới hạn số lượng dữ liệu được chuyển tải trong
mạng nằm trong khả năng chuyển tải của mạng. 12
Downloaded by Nhu Van (Nhuvan19@gmail.com) lOMoAR cPSD| 58647650 Giao thức truyề
Kết nối điểm – điểm: kết nối TCP được thiết lập giữa hai phía phát và phía
thu theo tính chất một – một.
Truyền dẫn song công: xử lý phát và nhận độc lập, và dữ liệu truyển tải theo
hai hướng đồng thời. n thông TCP 13
Downloaded by Nhu Van (Nhuvan19@gmail.com) lOMoAR cPSD| 58647650 Giao thức truyề
Cấu trúc gói tin TCP 14
Downloaded by Nhu Van (Nhuvan19@gmail.com) lOMoAR cPSD| 58647650 Giao thức truyề 15
Downloaded by Nhu Van (Nhuvan19@gmail.com) lOMoAR cPSD| 58647650 Giao thức truyề
Cấu trúc gói tin TCP
Chỉ số phân đoạn dữ liệu Trường thông tin 32-bit, giúp cho xử lý phía thu xác định Sequence Numbet
được vị trí của byte đầu tiên trong mỗi bản tin (segment) Chỉ số báo nhận
Trường thông tin 32-bit – chỉ định vị trí của byte kế tiếp
cần được truyền đi ở phía phát
Chiều dài tiêu đề
Trường thông tin 4-bit , là giá trị bội số của 4, chỉ định kích
thước (số byte) của phần thông tin tiêu đề Reserved
Trường thông tin 6-bit , trường thông tin dữ phòng (chứa dùng) Window Size
Trường thông tin 16-bit , chỉ định kích thước của phần dữ
liệu trong bản tin TCP 16
Downloaded by Nhu Van (Nhuvan19@gmail.com) lOMoAR cPSD| 58647650
Cấu trúc gói tin TCP Chuỗi kiểm tra
trường thông tin 16 bit – sử dụng để xác định lỗi thành phần dữ
liệu trong gói tin TCP bao gồm (header + data) + 96-bit để đảm
bảo tính chính xác cho các xử lý, tính toán tiếp theo.
phần giả tiêu đề chứa một số trường thông tin trong phần tiêu đề gói
tin IP gồm: địa chỉ nguồn và địa chỉ đích, giao thức và chiều dài phân
đoạn dữ liệu. Phần giả tiêu đề này sẽ giúp xử lý chuyển tiếp nhầm bởi phân lớp IP.
phần tiêu đề giả ngẫu nhiên giúp tránh xử lý với gữ liệu bị chuyển tiếp nhầm ở lớp IP Urgent Pointer
– trường thông tin 16 bit – chỉ định vị trí (thứ tự) của byte cuối cùng
trong khối dữ liệu cần được truyền. Options –
có thể mở rộng lên 40 byte để mang thêm các thông tin dùng cho các quá trình xử
lý điều khiển luồng/ điều khiển tắc nghẽn … lOMoAR cPSD| 58647650 Padding –
các bít chèn, cách ly giữa phần thông tin tiêu đề và dữ liệu, được thiết lập là các bít 0
Các giá trị cờ điều khiển Flag Miêu t ả
I f thisbitfieldisset,thereceivingTCPshouldinterprettheurgent URG pointerfield. receive
Usedwhendatashouldbereadoutoforder,from
window ,bythereceivingapplication. ACK
If this bit field is set , the acknowledgement field is valid .
Ifthisbitfieldisset,thereceivershoulddeliverthissegmenttothe PSH
receivingapplicationassoonaspossible, receive withoutwaitingfor
window to get filled .
Ifthisbitispresent,itsignalsthereceiverthatthesenderis aborting RST
theconnectionandallqueueddataandallocatedbuffersforthe
connectioncanbefreelyrelinquished.
Whenpresent,thisbitfieldsignifiesthatsenderisattemptingto SYN
"synchronize"sequencenumbers.Thisbitisusedduringtheinitial
stagesofconnectionestablishmentbetweenasenderandreceiver.
Ifset,thisbitfieldtellsthereceiverthatthesenderhasreachedthe FIN
endofitsbytestreamforthecurrentTCPconnection. lOMoAR cPSD| 58647650
Điều khiển thiết lập kết nối theo giao thức TCP
Các tranh TCP phải thiết lập kết nối trước khi gửi đi dữ liệu của mình,
Thiết lập kết nối thông qua quá trình thiết lập kết nối bắt tay ba bước. TCP
“Three-Way Handshake”:
(1) máy trạm gửi bản tin yêu cầu kết nối SYN cho server, kèm theo các thông tin:
Source and Destination Port – chỉ định địa chỉ cổng (chỉ số cổng) truyền thông SYN = 1 lOMoAR cPSD| 58647650
Sequence Number = client_seq – thiết lập giá trị ngẫu nhiên Không mang theo dữ liệu!!!
Quá trình bắt tay 3 bước (tiếp)
(2) khi server nhận được bản tin yêu cầu kết nối SYN, nó sẽ cấp phát bộ nhớ và
thiết lập các biến xử lý kết nối, và gửi bản tin báo hiệu chấp nhận kết nối
(SYNACK) cho phía máy trạm có yêu cầu.
SYN = 1 Sequence Number = server_seq
ACK = client_seq + 1 (chỉ +1 vì chưa có dữ liệu nào được truyền)
(3) khi phía máy trạm nhận được bản tin
( SYN=1,seq.#=i ,ACK-)
SYNACK, nó cũng cấp p hát bộ nhớ và thiết lập
các biến cho xử lý truyền thông, và gửi lại bản tin báo nhận (ACK)
SYN = 0 – connection is established!
SYN=1,seq.#=j,ACK=i+1 )
Sequence Number = client_seq + 1 connection
ACK = server_seq + 1closed time time