Tải bản đầy đủ (.pptx) (59 trang)

kỹ thuật lập trình mạng mô hình client server

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 (1.25 MB, 59 trang )

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

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


×