Giáo trình Mạng máy tính - Chương 3: Truyền dữ liệu
MẠNG MÁY TÍNH (COMPUTER NETWORK)
Chương 3 – Truyền dữ liệu
3.1. Cổng và Socket
Cổng (Port) là một số có giá trị từ 0 đến 65535
Các cổng chuẩn từ 0 đến 1023 (Web, mail, telnet, FTP…)
Không có 2 tiến trình sử dụng chung một số hiệu cổng
Một số cổng thông dụng:
UDP Ports:
0: Reserved
7: Echo
37: Time
42: Name Server
53: Domain Name Server
69: TFTP (Trivial File Transfer Protocol)
TCP Ports:
0: Reserved
1: TCP Multiplexer
20: FTP_Data Connection
21: FTP_Command Connection
23: telnet
25: SMTP
42: Name Server
53: Domain Name Server
79: Finger_find a active user
80: HTTP
Socket: mỗi socket xác định một điểm cuối liên kết truyền thông 2
chiều giữa các tiến trình giao tiếp trên mạng
Stream socket: sử dụng với TCP
Datagram socket: sử dụng với giao thức UDP
Lập trình socket
Phần lớn ứng dụng mạng gồm 2 phía là Client và Server. Hai
phía trao đổi với nhau bằng cách gửi và nhận các thông điệp qua
Socket.
Chương trình phía server chạy và lắng nghe trên một cổng nào
đó để đợi phía client kết nối tới. Nếu mọi việc diễn ra bình thường
(kết nối thành công), cả hai phía đều có hai thể hiện của lớp Socket
và dữ liệu sẽ được truyền qua 2 socket này.
Mở socket bên phía client dùng lớp Socket.
Mở socket bên phía server dùng lớp ServerSocket
Phía client dùng lớp DataInputStream để nhận thông điệp trả
lời từ server.
Phía server cũng dùng lớp DataInputStream để nhận thông điệp
trả lời từ client.
Phía client dùng lớp PrintStream hoặc DataOutputStream của
java.io để gửi thông điệp cho server.
Phía server dùng lớp PrintStream để gửi thông điệp cho client.
Đóng kết nối.
Trong mạng Internet hay mạng TCP/IP có hai giao thức ở lớp
vận chuyển là UDP và TCP.
UDP: User Datagram Protocol.
TCP: Transmission Control Protocol.
UDP: cung cấp dịch vụ truyền không tin cậy, không hướng nối.
TCP: cung cấp dịch vụ tin cậy, hướng nối cho ứng dụng.
IP: Internet Protocol, là giao thức của lớp mạng
Nhiệm vụ chính của UDP và TCP là mở rộng dịch vụ IP.
Ứng dụng
Giao thức lớp ứng dụng Lớp vận chuyển tương ứng
Email
Remote Access Telnet
Web
Truyền file
File Server
Đa phương tiện Do hãng sản xuất
Điện thoại qua Do hãng sản xuất
Internet
SMTP
TCP
TCP
TCP
TCP
UDP
UDP
UDP
HTTP
FTP
NFS
Quản lý mạng SNMP
UDP
UDP
UDP
Định tuyến
RIP
Tên miền
DNS
3.2. Dồn kênh, phân kênh (Multiplexing,
Demultiplexing)
Dồn kênh tại host gửi
Thu thập dữ liệu từ các socket, đóng gói dữ liệu bởi header
(sau đó sẽ dùng để phân kênh)
Phân kênh tại host nhận:
Chuyển các segment đã nhận tới đúng socket
Gửi: Dồn kênh: Nhận dữ liệu từ các tiến trình lớp ứng dụng khác
nhau (qua Socket), đóng gói theo các giao thức của lớp vận
chuyển.
Nhận: Phân kênh: Sử dụng thông tin trên tiêu đề để gửi dữ liệu tới
đúng socket.
Mỗi liên kết tạo ra trên tầng giao vận để vận chuyển dữ liệu cho
tiến trình ứng dụng của 2 nút mạng được xác định bởi 5 bộ thông
số:
- Địa chỉ nguồn (lớp mạng)
- Địa chỉ đích (lớp mạng)
- Số hiệu cổng nguồn (lớp vận chuyển)
- Số hiệu cổng đích (lớp vận chuyển)
- Giao thức (TCP/UDP...)
Nút mạng nhận gói tin IP với các thông số
Địa chỉ IP nguồn
Địa chỉ IP đích
Số hiệu cổng nguồn
Số hiệu cổng đích
Địa chỉ IP và số hiệu cổng sẽ được sử dụng để xác định socket
nhận dữ liệu
Checksum
Phát hiện lỗi trong các bản tin/gói tin
Gửi: (nguyên lý chung)
Chia dữ liệu thành các phần có kích thước n bits
Tính tổng các phần. Nếu kết quả tràn quá n bits, cộng các bit
tràn vào đầu kết quả
Đảo bit kết quả cuối cùng được checksum
Truyền checksum kèm theo dữ liệu
Nhận :
Tách dữ liệu và checksum
Chia dữ liệu thành các phần có kích thước n bits
Tính tổng các phần và checksum. Nếu kết quả tràn quá n bit,
cộng các bit tràn vào phần kết quả.
Nếu kết quả cuối xuất hiện bit 0=>dữ liệu bị lỗi
Bạn đang xem tài liệu "Giáo trình Mạng máy tính - Chương 3: Truyền dữ liệu", để tải tài liệu gốc về máy hãy click vào nút Download ở trên
File đính kèm:
giao_trinh_mang_may_tinh_chuong_3_truyen_du_lieu.doc

