1. Trang chủ
  2. » Công Nghệ Thông Tin

Ch02 application

92 1 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 92
Dung lượng 1,93 MB

Nội dung

MẠNG MÁY TÍNH (COMPUTER NETWORKING) J.F Kurose and K.W Ross Computer Networking A Top Down Approach 6th edition, Addision Wesley, 2013 Nội dung môn học  Chapter 1: Computer Networks and the Internet  Chapter 2: Application Layer  Chapter 3: Transport Layer  Chapter 4: Network Layer  Chapter 5: The Link Layer and Local Area Network  Data Link  Chapter 6: Wireless and Mobile Networks  Chapter 7: Multimedia Networking  Chapter 8: Security in Computer Networks  Chapter 9: Network Management 1.2 Chapter 2: APPLICATION LAYER Agenda 2.1 Các nguyên lý ứng dụng mạng 2.2 Web HTTP 2.3 FTP 2.4 Electronic mail  SMTP, POP3, IMAP 2.5 DNS 2.6 Chia sẻ file P2P (Peer-to-Peer Application) 2.7 Lập trình socket với TCP/UDP 1.4 Mục tiêu  Khái niệm, khía cạnh thực giao thức ứng dụng mạng  Mơ hình client-server  Mơ hình peer-to-peer  Nghiên cứu giao thức thơng qua xem xét số giao thức lớp application  HTTP, FTP, SMTP/POP3/IMAP, DNS  Lập trình ứng dụng mạng  Socket API 1.5 Một số ứng dụng mạng  Email  Web  Tin nhắn nhanh  Đăng nhập từ xa  Chia sẻ file P2P  Trò chơi nhiều người mạng  Streaming video clips  Điện thoại Internet  Hội thảo video thời gian thực  Tính tốn lớn, tính tốn song song 1.6 Tạo ứng dụng mạng  Viết chương trình để  Chạy hệ thống đầu cuối,  Truyền thông qua mạng  Vd: web  Phần mềm nhỏ viết cho thiết bị trung tâm mạng  Các thiết bị trung tâm mạng không chạy mã ứng dụng người dùng  Ứng dụng hệ thống đầu cuối cho phép phát triển ứng dụng nhanh, phổ biến 1.7 Principles of the Network Applications 2.1 CÁC NGUYÊN TẮC CỦA ỨNG DỤNG MẠNG 1.8 1.9 Các kiến trúc ứng dụng  Client-Server  Peer-to-peer (P2P)  Lai Client-Server P2P 1.10 2.7 LẬP TRÌNH SOCKET 1.86 Lập trình Socket  Mục tiêu: Nghiên cứu cách xây dựng ứng dụng truyền thông client/server dùng sockets  Socket API  Đã giới thiệu BSD4.1, UNIX 1981  Mơ hình client/server  kiểu dịch vụ lưu thơng qua socket API  Datagram  Tin không tin cậy cậy, truyền byte theo streaming  Socket  Một giao diện host cục bộ, tạo ứng dụng, điều khiển hệ điều hành, interface (một cửa), tiến trình ứng dụng gửi nhận thơng điệp đến/từ tiến trình khác 1.87 Lập trình socket với UDP  UDP: không kết nối client server  Không bắt tay  Người gửi gắn đ/chỉ IP port cùa đích vào gói tin  Phải trích đ/chỉ IP, port cửa người gửi từ gói tin nhận  UDP: liệu truyền khơng theo thứ tự bị mát  Góc nhìn ứng dụng: UDP cung cấp việc truyền “khơng tin cậy” nhóm byte (“datagrams”) client server 1.88 UDP: Giao tiếp socket Client/Server 1.89 Lập trình socket với TCP  Client tiếp xúc với server:  Tiến trình server sẵn sàng trước client khởi tạo tiếp xúc  Server phải có special door/special socket  Khi tiến trình server chạy:  Tiến trình client khởi tạo kết nối TCP đến server cách tạo socket TCP  Khi client tạo socket TCP, client xác định địa “welcome socket” phía server, cụ thể đ/chỉ IP server số port của socket  Sau tạo socket, client khởi tạo 3-way handshake thiết lập kết nối TCP với server handshake diễn transport layer hoàn tồn vơ hình với ch/trình client server  3-way 1.90 Lập trình socket với TCP  Trong suốt trình 3-way handshake:  Khi nghe tiếng gõ cửa tiến trình client, server tạo socket cho client  Cho phép server “nói chuyện” với nhiều client  Dùng số port để phân biệt client (xem tiếp chương 3)  Góc nhìn ứng dụng: TPC cung cấp việc truyền byte “tin cậy” theo thứ tự client server 1.91 Lập trình socket với TCP  Tiến trình client vừa gửi đồng thời nhận bytes từ socket  Tương tự, tiến trình server vừa nhận đồng thời gởi bytes thơng qua connection socket  TCP cung cấp dịch vụ truyền tin cậy client server, đảm bảo tiến trình server nhận byte theo thứ tự gởi 1.92 TCP: Giao tiếp socket Client/Server 1.93 Ví dụ  Ứng dụng Client/Server đơn giản sử dụng lập trình socket cho UDP TCP 1) Client đọc dòng ký tự (data) từ bàn phím gởi data cho server 2) Server nhận data chuyển ký tự thành ký tự hoa 3) Server gởi data sửa cho client 4) Client nhận data chỉnh sửa hiển thị thành dịng lên hình 1.94 UDPClient.py from socket import * serverName = ‘hostname’ serverPort = 12000 clientSocket = socket(socket.AF_INET, socket.SOCK_DGRAM) message = raw_input(’Input lowercase sentence:’) clientSocket.sendto(message,(serverName, serverPort)) modifiedMessage, serverAddress = clientSocket.recvfrom(2048) print modifiedMessage clientSocket.close() 1.95 UDPServer.py from socket import * serverPort = 12000 serverSocket = socket(AF_INET, SOCK_DGRAM) serverSocket.bind((’’, serverPort)) print ”The server is ready to receive” while 1: message, clientAddress = serverSocket.recvfrom(2048) modifiedMessage = message.upper() serverSocket.sendto(modifiedMessage, clientAddress) 1.96 TCPClient.py from socket import * serverName = ’servername’ serverPort = 12000 clientSocket = socket(AF_INET, SOCK_STREAM) clientSocket.connect((serverName,serverPort)) sentence = raw_input(‘Input lowercase sentence:’) clientSocket.send(sentence) modifiedSentence = clientSocket.recv(1024) print ‘From Server:’, modifiedSentence clientSocket.close() 1.97 TCPServer.py from socket import * serverPort = 12000 serverSocket = socket(AF_INET,SOCK_STREAM) serverSocket.bind((‘’,serverPort)) serverSocket.listen(1) print ‘The server is ready to receive’ while 1: connectionSocket, addr = serverSocket.accept() sentence = connectionSocket.recv(1024) capitalizedSentence = sentence.upper() connectionSocket.send(capitalizedSentence) connectionSocket.close() 1.98 TỔNG KẾT TỒNG QUAN MỘT SỐ VĐ VỀ ỨNG DỤNG MẠNG  Các kiến trúc ứng dụng  client-server  P2P  lai  yêu cầu dịch vụ:  tin cậy, bandwidth, trễ  mơ hình dịch vụ Internet transport  connection-oriented, tin cậy: TCP  không tin cậy, datagrams: UDP  giao thức đặc biệt: HTTP (cookies, web caching), FTP, SMTP, POP, IMAP, DNS  lập trình socket 1.99 TỔNG KẾT PHẦN QUAN TRỌNG: NGHIÊN CỨU VỀ CÁC GIAO THỨC  trao đổi thông điệp yêu cầu/trả lời điển hình:  client u cầu thơng tin dịch vụ service  server đáp ứng với liệu, mã trạng thái  dạng thông điệp:  headers: trường cho biết thông tin liệu  liệu: thông tin để truyền thông  điều khiển với thông điệp liệu: in-band, out-of-band  tập trung khơng tập trung  khơng trạng thái có trạng thái  truyền thông điệp tin cậy không tin cậy 1.100

Ngày đăng: 11/04/2023, 09:46

TÀI LIỆU CÙNG NGƯỜI DÙNG

  • Đang cập nhật ...

TÀI LIỆU LIÊN QUAN