Bài giảng Mạng máy tính (Computer Network): Chương 3 - Lưu Đức Trung cung cấp đến học viên các kiến thức về cổng và socket; dồn kênh, phân kênh; lập trình socket; tách dữ liệu và checksum;... Mời các bạn cùng tham khảo chi tiết nội dung bài giảng!
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 Lớp vận chuyển tương dụng ứng Email SMTP TCP Remote Access Telnet TCP Web HTTP TCP Truyền file FTP TCP File Server NFS UDP Đa phương Do hãng sản xuất UDP tiện Điện thoại qua Internet Quản lý mạng Định tuyến Tên miền 3.2 Do hãng sản xuất UDP SNMP RIP DNS UDP UDP UDP 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: (ngun 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 q 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 q 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 ... 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)... 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