Chapter 1
KỸ THUẬT
LẬP TRÌNH MANG
CLIENT - SERVER
1
Nội dung
Giới
thiệu
Kỹ thuật lập trình mạng
Cơ bản về mạng: OSI, TCP/IP
Giao thức TCP, UDP
Mô hình Client/Server
Trao đổi dữ liệu giữa các máy tính
Giới thiệu kỹ thuật socket
Java Simplified / Session 22 / 2 of 2
45
Giới thiệu
Một ứng dụng chạy trên máy đơn cục bộ: không
còn thích hợp với nhu cầu thực tế.
ứng dụng: tích hợp và triệu gọi lẫn nhau trên mạng
Intranet, Internet một cách hiệu quả và an toàn:
kỹ thuật lập trình mạng.
Yêu cầu người lập trình những hiểu biết và kỹ năng
chuyên sâu hơn để tạo giao tiếp và trao đổi dữ liệu
giữa các máy tính với nhau.
Java Simplified / Session 22 / 3 of 3
45
Giới thiệu
Học
lập trình mạng để làm gì?
◦ Có được sự hiểu biết để quản trị các dịch vụ có
sẵn trên mạng tốt hơn.
◦ Có kiến thức để có thể lập được các tiện ích khai
thác tài nguyên trên mạng internet
◦ Bước đầu lập được các ứng dụng server và client
phục vụ cho một mục đích riêng nào đó.
Java Simplified / Session 22 / 4 of 4
45
Kỹ thuật lập trình mạng
Thực
hiện được nhiều chức năng:
◦ 1 Retrieve Data
◦ 2 Send Data
1 File storage
2 Massively parallel computing
◦ 3 Peer-to-Peer Interaction
1 Games
2 Chat
3 File Sharing
◦ 4 Server
◦ 5 Searching the Web
◦ 6 Electronic Commerce
◦ 7 Ubiquitous Computing
◦ 8 Interactive Television
Java Simplified / Session 22 / 5 of 5
45
Review Network
Các
khái niệm
Các thành phần
OSI Model
TCP/IP
Giao thức TCP
Giao thức UDP
Các dịch vụ mạng
Java Simplified / Session 22 / 6 of 6
45
3. Các
khái
niệmcơ
cơbản
bản:
Network: Các
khái
niệm
Mạng máy tính:
là một tập hợp các máy tính được nối với nhau bởi
các đường truyền vật lý theo một kiến trúc nào đo
Đường truyền vật lý:
Kiến trúc mạng: Thể hiện cách nối các máy tính
với nhau ra sao và tập hợp các qui tắc, qui ước mà
tất cả các thực thể tham gia truyền thông trên mạng
phải tuân theo.
Hình trạng/đồ hình mạng – Topology: Topo
Point to point, Broadcast
Giao thức mạng – Protocol
Java Simplified / Session 22 / 7 of 7
45
Phân loại mạng
Phân loại theo khoảng cách địa lý:
◦ LAN, WAN, MAN…
Phân loại theo đồ hình mạng (Topo):
◦ Point to point,
◦ Broadcast
Phân loại theo cách truyền tin
◦ Chuyển mạch kênh (circuit-switched),
◦ Chuyển mạch goi (packet-switched).
Phân loại theo kiến trúc quản lý:
◦ Peer to peer,
◦ Server based
Java Simplified / Session 22 / 8 of 8
45
Chuyển mạch kênh – Circuit switched
Đặc điểm:
◦
◦
◦
◦
◦
◦
◦
Thực hiện sự trao đổi thông tin giữa hai đối tượng theo thời gian thực.
Đối tượng sử dụng làm chủ kênh dẫn trong suốt quá trình trao đổi tin
Hiệu suất thấp vì có lúc cả 2 bên đều hết thông tin để truyền
Lãng phí thời gian do có giai đoạn thiết lập kênh và giải phóng kênh
Nội dung thông tin không mang thông tin địa chỉ
Phù hợp với dịch vụ thoại
Khi lưu lượng tăng đến một mức ngưỡng nào đó thì một số cuộc gọi
có thể bị khoá, mạng từ chối mọi yêu cầu kết nối cho đến khi có thể
Java Simplified / Session 22 / 9 of 9
45
Chuyển mạch gói (packet-switched)
1045
Java Simplified / Session 22 / 10 of
Các thành phần của mạng máy tính:
a. Môi trường truyền dẫn
cáp, sóng điện từ, sóng vi ba, tia hồng ngoại...
b. Thiết bị phần cứng:
Kết nối các môi trường truyền: Card mạng (NIC hay
Adapter), Hub, Switch, Router...
Điều khiển quá trình truyền dữ liệu
Chạy các phần mềm: PC, Server
Các thiết bị ngoại vi: máy in, máy fax, Modem, Scanner
c. Phần mềm mạng
Các protocol
Các hệ điều hành mạng
Các tài nguyên: file, thư mục
Các ứng dụng mạng
1145
Java Simplified / Session 22 / 11 of
Kiến trúc mạng
Xuất phát từ ý tưởng Kiến trúc phân tầng:
Mục đích: giảm độ phức tạp của việc thiết kế và cài
đặt mạng
Giao
diện
tầng i
và
tầng
i-1
Hệ thống A
Hệ thống B
Tầng n
Tầng n
Tầng i+1
Tầng i
Tầng i-1
Tầng 1
Giao thức tầng i
Liên kết vật lý
Tầng i+1
Tầng i
Tầng i-1
Tầng 1
1245
Java Simplified / Session 22 / 12 of
Kiến trúc phân tầng
- Mỗi mức được thiết kế để cung cấp một số dịch vụ xác
định cho mức trên no
.
Một số NSX:
• SNA của IBM (6 layer)
• DECnet của Digital Equipment Corporation
(8)
• Appletalk của Apple,
• Netware của Novell Inc
Java Simplified / Session 22 / 13 of 45
OSI Model
Không thống nhất về kiến trúc giữa các hệ thống
mạng, gây ra sự khác nhau về:
- Phương pháp truy nhập đường truyền
- Giao thức giữa các mạng.
OSI: Reference Model for Open Systems Interconnection
– Mô hình tham chiếu cho việc nối kết các hệ thống mở:
• Xuất phát từ kiến trúc phân tầng
• Xây dựng một khung chuẩn về kiến trúc mạng, làm căn cứ
cho các nhà thiết kế và chế tạo các sản phẩm về mạng
1445
Java Simplified / Session 22 / 14 of
OSI Model
OSI
7 layers
1545
Java Simplified / Session 22 / 15 of
1645
Java Simplified / Session 22 / 16 of
Giao thức TCP/IP
Một số đặc tính
- Độc lập về hình thái của mạng.
- Độc lập về phần cứng của mạng.
- Mô hình địa chỉ toàn cầu.
- Nền tảng client/server mạnh mẽ.
- Các chuẩn về giao thức ứng dụng mạnh mẽ.
1745
Java Simplified / Session 22 / 17 of
Giao thức TCP/IP
Có 4 tầng:
◦ Mức liên kết dữ liệu (Data Link/ Network Access)
Giao tiếp với thiết bị phần cứng 1 cách phù hợp
◦ Mức mạng (Network / Internet)
Đánh địa chỉ, routing, vận chuyển gói tin
◦ Mức chuyển (Transport)
Đảm bảo dữ liệu được truyền một cách tin cậy
◦ Mức ứng dụng (Aplication)
Các ứng dụng, các dịch vụ
1845
Java Simplified / Session 22 / 18 of
TCP/IP và OSI. Các giao thức
1945
Java Simplified / Session 22 / 19 of
Đóng gói và mở gói dữ liệu
2045
Java Simplified / Session 22 / 20 of
Địa chỉ
Địa
chỉ là thông tin giúp gói tin đi đến đích
đúng
2145
Java Simplified / Session 22 / 21 of
Giao thức TCP
TCP
(Transmission Control Protocol) là giao
thức truyền thông cơ bản giúp trao đổi dữ
liệu qua lại giữa 2 hay nhiều máy tính một
cách tin cậy và chính xác.
2245
Java Simplified / Session 22 / 22 of
TCP – Hoạt động
TCP
đòi hỏi thiết lập kết nối trước khi bắt đầu
gửi dữ liệu và kết thúc kết nối khi việc gửi dữ
liệu hoàn tất.
Cụ thể, các kết nối TCP co ba pha:
◦ thiết lập kết nối
◦ truyền dữ liệu
◦ kết thúc kết nối
23
Java Simplified / Session 22 / 23 of 1
45
Three-Way Handshake in Establishing
a Connection
1
2
3
CTL = Which control bits in the TCP header are set to 1
Java Simplified / Session 22 / 24 of 45
Hủy kết nối trong TCP (4 bước)
1
2
3
4
Java Simplified / Session 22 / 25 of 45