Kĩ thuật lập trình - Mạng máy tính và lập trình mạng
Mô hình client/server
Một chương trình server có thể phục vụ nhiều chương
trình client đồng thời.
2. Mô hình peer-to-peer
Có thể thực hiện vai trò của cả server và của client.
3. Mô hình đa tầng
Gồm nhiều tầng, tiêu biểu nhất là mô hình 3 tầng.
Ví dụ: dịch vụ Web với tầng đỉnh là trình duyệt, tầng
trung gian là Webserver và tầng thông tin là cơ sở dữ
liệu.
25 trang |
Chia sẻ: nguyenlam99 | Lượt xem: 1085 | Lượt tải: 0
Bạn đang xem trước 20 trang tài liệu Kĩ thuật lập trình - Mạng máy tính và lập trình mạng, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
MẠNG MÁY TÍNH VÀ LẬP TRÌNH MẠNG
Nguyễn Hữu Thể
LẬP TRÌNH MẠNG
LẬP TRÌNH MẠNG
Các chương trình:
kế toán doanh nghiệp, quản lý, trò chơi, điều khiển,...
đều là các chương trình ứng dụng mạng.
Lập trình mạng liên quan:
ngôn ngữ lập trình,
phân tích thiết kế hệ thống,
kiến thức hệ thống mạng,
mô hình xây dựng chương trình ứng dụng mạng,
kiến thức về cơ sở dữ liệu,... các lĩnh vực khác như
mạng điện thoại di động, PSTN, GPS, Bluetooth,
sensor,...
2
LẬP TRÌNH MẠNG
3 vấn đề chính trong lập trình mạng:
Kiến thức mạng truyền thông
Mô hình lập trình mạng
Ngôn ngữ lập trình mạng
3
TCP/ IP
Mô hình TCP/IP ra đời trong những năm 1970, được
phát triển dựa trên mô hình OSI.
Cung cấp các phương tiện truyền thông liên mạng giúp
cho các hệ thống mạng khác nhau có thể làm việc với
nhau.
4
Các tầng của mô hình TCP/IP
Mô hình TCP/IP gồm có 4 tầng:
ứng dụng (Application), Mô hình OSI Mô hình TCP/IP
vận chuyển (Transport) ,
tầng Internet (Internet),
truy xuất mạng(NetworkAccess)
5
Tầng ứng dụng (Application Layer)
Trao đổi thông tin người dùng.
Một số giao thức thông dụng:
6
Tầng vận chuyển (Transport Layer)
Quản lý và kiểm tra truyền thông giữa các máy tính.
Chuyển tiếp dữ liệu nhận được lên lớp trên hoặc xuống
lớp dưới.
Sử dụng cổng (port) để xác định ứng dụng nào của tầng
trên sẽ nhận dữ liệu.
Hai giao thức chính là :
TCP (Transmission Control Protocol)
UDP (User Datagram Protocol)
7
Tầng vận chuyển (Transport Layer)
TCP (Transmission Control Protocol) :
Cung cấp dịch vụ truyền thông tin cậy và hướng kết nối
Các ứng dụng cần truyền dữ liệu lớn tại một thời điểm
Ứng dụng cần cơ chế xác nhận dữ liệu.
Hướng kết nối gồm ba giai đoạn :
thiết lập kết nối,
truyền dữ liệu,
giải phóng kết nối.
8
Tầng vận chuyển (Transport Layer)
UDP (User Datagram Protocol) :
Cung cấp dịch vụ truyền thông không kết nối
Không đảm bảo truyền dữ liệu thành công.
Thường chỉ truyền một lượng dữ liệu nhỏ tại một thời
điểm.
9
Địa chỉ IP v4 (IP address)
Chức năng: đánh địa chỉ gói dữ liệu và định tuyến đến
đích.
Cấu trúc: chia làm hai hoặc ba phần:
network_id & host_id
hoặc network_id & subnet_id & host_id
IPv4 Kích thước 32 bit, chia thành bốn phần, mỗi phần
có kích thước 8 bit, gọi là octet hoặc byte. Trình bày:
Ký pháp thập phân có dấu chấm (dotted-decimal notation)
• Ví dụ: 172.16.30.56
Ký pháp nhị phân (Binary)
• Ví dụ: 10101100 00010000 00011110 00111000
Ký pháp thập lục phân (Hexa)
• Ví dụ: AC 10 1E 38
11
Địa chỉ IP (IP address)
Không gian địa chỉ IPv4 (gồm 232 địa chỉ) chia thành
nhiều lớp.
Các lớp: A, B, C, D và E
Lớp A, B và C được triển khai để đặt cho các host trên mạng
Internet;
Lớp D dùng cho các nhóm multicast;
Lớp E phục vụ cho mục đích nghiên cứu.
Địa chỉ IP được gọi là địa chỉ logical
Địa chỉ MAC gọi là địa chỉ vật lý (physical).
Địa chỉ IP (IP address)
Địa chỉ IP (IP address)
Địa chỉ cổng (port)
Hệ điều hành mạng đa nhiệm:
=> cho phép nhiều tiến trình chạy đồng thời trên cùng
một máy tính + địa chỉ IP.
Để phân biệt các tiến trình:
=> gán cho mỗi tiến trình một nhãn duy nhất để phân
biệt các tiến trình với nhau.
Nhãn (hay Port) được sử dụng và được quản lý bởi tầng
transport, có giá trị từ 0 đến 65535.
14
Port: 0 đến 1023 (Cổng phổ biến -Well Known)
Dùng cho hệ thống, người sử dụng không nên dùng.
Gán mặc định cho các giao thức truyền thông phổ biến.
Tham khảo tại iana.org/assignments/port-numbers
Danh sách các port thông dụng:
15
20 TCP File Transfer - FTP data
21 TCP File Transfer - FTP control
22 TCP/UDP SSH Remote Login Protocol/ pcAnywhere
23 TCP Telnet
25 TCP Simple Mail Transfer Protocol (SMTP)
38 TCP UDP Route Access Protocol (RAP)
42 UDP Host Name Server - Microsoft WINS
45 TCP Message Processing Module (receive)
46 TCP Message Processing Module (send)
Port: 0 đến 1023 (Cổng phổ biến -Well Known)
16
50 TCP UDP Remote Mail Checking Protocol (RMCP)
66 TCP UDP Oracle SQL*NET
69 TCP UDP Trivial File Transfer Protocol (TFTP)
88 TCP UDP Kerberos Network Authentication Service
101 TCP UDP Network Information Center (NIC) Hostname Server
110 TCP UDP Post Office Protocol (POP) Version 3
118 TCP UDP SQL Services
119 TCP UDP Network News Transfer Protocol
130 TCP UDP Cisco FNATIVE
143 TCP UDP Internet Message Access Protocol (IMAP) Mail Server
161 TCP UDP SNMP
211 TCP UDP Texas Instruments 914C/G Terminal
280 TCP UDP http-mgmt
314 TCP UDP Opalis Robot
333 TCP UDP Texar Security Port
Port: 0 đến 1023 (Cổng phổ biến -Well Known)
17
742 TCP UDP Network Revision Control System
747 TCP UDP Fujitsu Device Control
749 TCP UDP Kerberos Administration
767 TCP UDP Phonebook
777 TCP UDP Multiling HTTP
800 TCP UDP MDBS Daemon, Remotely Possible (Remote Control)
989 TCP UDP FTP Data Over TLS/SSL
990 TCP UDP FTP Control Over TLS/SSL
991 TCP UDP Netnews Administration System
992 TCP UDP Secure Telnet (over TLS/SSL)
993 TCP UDP Secure IMAP4 (over TLS/SSL)
994 TCP UDP Secure IRC (over TLS/SSL)
995 TCP UDP Secure POP3 (over TLS/SSL)
996 TCP Vsinet / Central Point Software Xtree License Server
Port: 1024 đến 49151
Người sử dụng được phép dùng.
Phải đăng ký để tránh trùng lặp.
18
Port: 49152 đến 65535
Địa chỉ động hoặc dùng riêng.
Không phải đăng ký và cũng không phải chịu trách nhiệm
khi xảy ra xung đột địa chỉ.
19
Socket
Socket (cơ chế ổ cắm): kết nối máy khách và máy chủ.
Máy khách: xem như phích cắm
Máy chủ: xem như ổ cắm
Nhiều máy khách kết nối vào 1 máy chủ.
20
Socket
Mỗi tiến trình khi muốn truyền thông bằng socket:
tạo ra một socket
socket được gán một định danh duy nhất được gọi là
địa chỉ socket.
Một địa chỉ socket là một tổ hợp gồm 2 địa chỉ: địa chỉ IP
và địa chỉ cổng (port).
Ví dụ: 192.168.1.10 : 9090
21
3 loại socket
Stream socket:
Truyền thông với các giao thức hướng kết nối (TCP
Socket).
Datagram socket:
Truyền thông với các giao thức không hướng kết nối
(UDP socket).
Raw socket:
Truyền thông đến các giao thức ở tầng Network.
22
CÁC MÔ HÌNH LẬP TRÌNH MẠNG
1. Mô hình client/server
Một chương trình server có thể phục vụ nhiều chương
trình client đồng thời.
2. Mô hình peer-to-peer
Có thể thực hiện vai trò của cả server và của client.
3. Mô hình đa tầng
Gồm nhiều tầng, tiêu biểu nhất là mô hình 3 tầng.
Ví dụ: dịch vụ Web với tầng đỉnh là trình duyệt, tầng
trung gian là Webserver và tầng thông tin là cơ sở dữ
liệu.
23
NGÔN NGỮ LẬP TRÌNH MẠNG
Hợp ngữ( Assembly Language)
C/C++
VC++, VB, Delphi
.NET
Java
24
Các file đính kèm theo tài liệu này:
- 1_network_programming_9592.pdf