Lập trình ứng dụng mạng
Chương 3
TCP - UDP
1
Phương pháp lập trình hướng đối
tượng - lightmoon9
Nội dung
•
Mô hình Client - Server.
•
7 tầng OSI và họ giao thức TCP/IP.
•
TCP và UDP
•
Lập trình TCP, UDP Socket với .NET framework
•
Lập trình TCP, UDP nâng cao với .NET
framework
•
TCPClient
•
UDPClient
Phương pháp lập trình hướng đối
tượng - lightmoon9
2
Mô hình Client - Server
Phương pháp lập trình hướng đối
tượng - lightmoon9
3
Mô hình Client - Server
•
Ưu điểm:
–
Khả năng quản lý các thao tác tại server
–
Khả năng quản lý các thao tác tại client
–
Đồng bộ dữ liệu tại client
–
Đồng bộ các phiên bản client
•
Khuyết điểm:
–
Sử dụng tài nguyên xử lý trên server
–
Phát triển hệ thống phức tạp
–
Triển khai hệ thống cần môi trường mạng
Phương pháp lập trình hướng đối
tượng - lightmoon9
4
Mô hình Client - Server
•
Các loại hệ thống ứng dụng:
–
Hệ thống web
–
Hệ thống Server-Client App
•
App có thể là win app, web app, mobi app
Phương pháp lập trình hướng đối
tượng - lightmoon9
5
Nội dung
•
Mô hình Client - Server.
•
7 tầng OSI và họ giao thức TCP/IP.
•
TCP và UDP
•
Lập trình TCP, UDP Socket với .NET framework
•
Lập trình TCP, UDP nâng cao với .NET
framework
•
TCPClient
•
UDPClient
Phương pháp lập trình hướng đối
tượng - lightmoon9
6
7 tầng OSI và họ giao thức TCP/IP
Phương pháp lập trình hướng đối
tượng - lightmoon9
7
7 tầng OSI và họ giao thức TCP/IP
•
Cung cấp kiến thức về hoạt động của kết nối liên mạng
•
Đưa ra trình tự công việc để thiết lập và thực hiện một giao
thức cho kết nối của các thiết bị trên mạng
•
Các thuận lợi:
–
Chia nhỏ các hoạt động phức tạp của mạng thành các
phần công việc đơn giản
–
Cho phép nhà thiết kế có khả năng phát triển trên từng
module chức năng
–
Cung cấp khả năng định nghĩa các chuẩn giao tiếp có tính
tương thích cao “plug and play” và tích hợp nhiều nhà
cung cấp sản phẩm
Phương pháp lập trình hướng đối
tượng - lightmoon9
8
7 tầng OSI và họ giao thức TCP/IP
Phương pháp lập trình hướng đối
tượng - lightmoon9
9
7 tầng OSI và họ giao thức TCP/IP
Phương pháp lập trình hướng đối
tượng - lightmoon9
10
7 tầng OSI và họ giao thức TCP/IP
Phương pháp lập trình hướng đối
tượng - lightmoon9
11
7 tầng OSI và họ giao thức TCP/IP
Phương pháp lập trình hướng đối
tượng - lightmoon9
12
7 tầng OSI và họ giao thức TCP/IP
Phương pháp lập trình hướng đối
tượng - lightmoon9
13
Nội dung
•
Mô hình Client - Server.
•
7 tầng OSI và họ giao thức TCP/IP.
•
TCP và UDP
•
Lập trình TCP, UDP Socket với .NET framework
•
Lập trình TCP, UDP nâng cao với .NET
framework
•
TCPClient
•
UDPClient
Phương pháp lập trình hướng đối
tượng - lightmoon9
14
TCP-UDP Socket
Phương pháp lập trình hướng đối
tượng - lightmoon9
15
TCP-UDP Socket
Phương pháp lập trình hướng đối
tượng - lightmoon9
16
TCP-UDP Socket
Phương pháp lập trình hướng đối
tượng - lightmoon9
17
TCP-UDP Socket
Chức năng TCP UDP
Multiplexing dùng nhiều cổng Có. Chỉ số cổng nhận dạng duy
nhất một tiến trình trên máy gửi
và máy nhận
- Giống như TCP
Truyền dữ liệu tuần tự Có. TCP tái sắp xếp bất kỳ dữ liệu
nào nhận sai thứ tự.
Không. UDP không có khái niệm
sắp xếp dữ liệu
Truyền tin cậy
Có. TCP công nhận dữ liệu, gửi
lại những phân đoạn bị mất.
Các trường sequence và ACK
trong TCP header
Không hỗ trợ
Kiểm soát dòng
Có. TCP dùng các cửa sổ trượt
để kiểm tra các cửa sổ của máy
gửi.
Không
Connection Có. Quá trình bắt tay 3 lần thiết lập
quá trình khởi động cổng
Phi kết nối
Kiểu giao thức của IP 6 17
RFC 793 763
Phương pháp lập trình hướng đối
tượng - lightmoon9
18
TCP-UDP Socket
Phương pháp lập trình hướng đối
tượng - lightmoon9
19
TCP - Transmission Control Protocol
TCP và UDP là 2 giao thức ở tầng giao vận và cùng sử dụng giao
thức IP trong tầng mạng. Nhưng không giống như UDP, TCP cung
cấp dịch vụ liên kết tin cậy và có liên kết.
Có liên kết ở đây có nghĩa là 2 ứng dụng sử dụng TCP phải thiết lập
liên kết với nhau trước khi trao đổi dữ liệu.
Sự tin cậy trong dịch vụ được cung cấp bởi TCP được thể hiện như
sau:
•
Dữ liệu từ tầng ứng dụng gửi đến được được TCP chia thành các
segment có kích thước phù hợp nhất để truyền đi .
•
Khi TCP gửi 1 segment, nó duy trì một thời lượng để chờ phúc
đáp từ trạm nhận. Nếu trong khoảng thời gian đó phúc đáp
không tới được trạm gửi thì segment đó được truyền lại.
•
Khi TCP trên trạm nhận nhận dữ liệu từ trạm gửi nó sẽ gửi tới
trạm gửi 1 phúc đáp tuy nhiên phúc đáp không được gửi lại
ngay lập tức mà thường trễ một khoảng thời gian .
Phương pháp lập trình hướng đối
tượng - lightmoon9
20
TCP - Transmission Control Protocol
Sự tin cậy (tt) :
•
TCP duy trì giá trị tổng kiểm tra (checksum) trong phần
Header của dữ liệu để nhận ra bất kỳ sự thay đổi nào trong
quá trình truyền dẫn. Nếu 1 segment bị lỗi thì TCP ở phía trạm
nhận sẽ loại bỏ và không phúc đáp lại để trạm gửi truyền lại
segment bị lỗi đó.
•
Giống như IP datagram, TCP segment có thể tới đích một cách
không tuần tự. Do vậy TCP ở trạm nhận sẽ sắp xếp lại dữ liệu
và sau đó gửi lên tầng ứng dụng đảm bảo tính đúng đắn của
dữ liệu.
•
TCP cung cấp khả năng truyền dữ liệu một cách an toàn giữa
các máy trạm trong hệ thống các mạng. Nó cung cấp thêm các
chức năng nhằm kiểm tra tính chính xác của dữ liệu khi đến
và bao gồm cả việc gửi lại dữ liệu khi có lỗi xảy ra.
Phương pháp lập trình hướng đối
tượng - lightmoon9
21
TCP – Hoạt động của giao thức
Phương pháp lập trình hướng đối
tượng - lightmoon9
22
TCP – Hoạt động của giao thức
Phương pháp lập trình hướng đối
tượng - lightmoon9
23
TCP – Pha1 : thiết lập kết nối
Phương pháp lập trình hướng đối
tượng - lightmoon9
24
TCP – Pha2: Truyền dữ liệu
Phương pháp lập trình hướng đối
tượng - lightmoon9
25