Xem mẫu

  1. 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
  2. 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
  3. 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.
  4. 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.
  5. 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
  6. tiện Điện thoại qua  Do hãng sản xuất UDP Internet Quản lý mạng SNMP UDP Định tuyến RIP UDP Tên miền DNS UDP 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:
  7. 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.
  8. 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
  9. 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 :
  10. 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
nguon tai.lieu . vn