1. Trang chủ
  2. » Giáo án - Bài giảng

Giao thức tầng ứng dụng (application layer)

44 1,3K 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 44
Dung lượng 820 KB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Các chương trình giao tiếp với nhau ntn?Sử dụng các dịch vụ được cung cấp bởi hệ điều hành interprocess communication.. Mô hình ngang hàng Peer-to-peer paradigm Không có máy dịch vụ cố

Trang 1

Chương 2.

Giao thức tầng ứng dụng (application layer)

Đặng Xuân Hà

Computer Networking 2005 ( http://www.hau1.edu.vn/cs/dxha/courses/0405/comnet ) Dept of CS, HAU1.

Trang 2

Application Layer

Trang 3

Ch2 The Application Layer

2.1 Một số khái niệm và nguyên tắc.

2.2 Web & Hyper Text Transfer Protocol.

2.3 Web design and HTTP, Web programming.

2.4 File Transfer Protocol.

2.5 Electronic Mail Protocols.

2.6 Domain Name System.

Trang 4

2.1 Một số khái niệm và nguyên tắc

 Một số chương trình ứng dụng (network applications):

 Email (Yahoo! Mail, MS Outlook…).

 Web browser (MS Internet Explorer, Netscape Navigator…).

 Instant messenger (Yahoo! Messenger, ICQ…).

 P2P file sharing (Napster, KazaA…).

 Internet games (Yahoo! Games).

 Internet telephone (Skype, FPTFone,VNNFone…).

 Streaming stored video clips.

 Real-time video conference.

 Massive parallel computing.

Trang 5

Một số giao thức (application-layer protocols)

 Giao thức web.

 Giao thức truyền tệp.

 Giao thức truyền thư điện tử.

 Giao thức nhận thư điện tử.

 Giao thức nhận thư điện tử (khác POP3)

 DNS = hệ thống tên miền, giao thức DNS quy định quy tắc sử dụng tên miền.

 Một dạng khác của FTP.

Trang 6

Net applications vs application-layer protocols

 Giao tiếp với các dịch vụ được

cung cấp bởi tầng dưới (TCP,

UDP).

Trang 7

Các chương trình giao tiếp với nhau ntn?

Sử dụng các dịch vụ được cung cấp bởi hệ điều hành

(interprocess communication).

Giao tiếp thông qua giao thức của tầng ứng dụng

(application-layer protocol).

Giao tiếp với người sử dụng (giao diện sử dụng)

Giao tiếp với các giao thức mạng

Trang 8

Mô hình khách-phục vụ (client-server paradigm)

Mô hình khách-phục vụ được quen

gọi là mô hình khách-chủ Một ứng

dụng cụ thể bao gồm hai phần:

 Thiết lập liên kết với server.

 Yêu cầu dịch vụ từ server.

application

transport network data link physical

request

reply

Trang 9

Mô hình ngang hàng (Peer-to-peer paradigm)

 Không có máy dịch vụ cố định,

các máy tính trong mạng lúc

này là server (nhận yêu cầu kết

nối) nhưng lúc khác lại là client

(yêu cầu máy khác kết nối)

Các máy tính là ngang hàng,

tự do kết nối và giao tiếp đôi

một

 Địa chỉ của các máy tính tham

gia giao tiếp liên tục thay đổi

Trang 10

Client-server & P2P examples

Trang 11

Dịch vụ tầng dưới đối với application-layer

 Có thể coi tầng application (Internet) = tầng application + presentation + session trong mô hình OSI

 Các dịch vụ với application:

 Presentation: gắn liền với application trong TCP/IP

 File formats: picture (JPEG, GIF…), audio (MP3, RM…), video (MPEG, MOV…), document (HTML, XML…).

 Data encryption & compression.

 Session: gắn liền với application trong TCP/IP

 NFS (Network File System), RPC (Remote Procedure Call), SQL (Structured Query Language), SSL (Secure Socket Layer).

 Transport (*)

 Cung cấp dịch vụ vận chuyển cho application (TCP/IP).

 Hai giao thức: TCP và UDP.

Trang 12

Yêu cầu đối với việc vận chuyển dữ liệu

 Data loss

 Các ứng dụng audio/video có thể chấp nhận mất mát, sai lệch dữ liệu trong khoảng cho phép.

 Email, file transfer yêu cầu dữ liệu phải chính xác.

Trang 13

Các yêu cầu giao vận của một số ứng dụng

Trang 14

Internet Transport protocols: TCP & UDP

TCP

TCP (Transmission Control Protocol)

connection-oriented: setup

required between client, server.

reliable transport between

sending and receiving process.

flow control: sender won’t

overwhelm receiver.

congestion control: throttle

sender when network

UDP (User Datagram Protocol)

unreliable data transfer

between sending and receiving process

does not provide: connection setup, reliability, flow control, congestion control, timing, or bandwidth guarantee.

Trang 15

Internet applications: TCP or UDP?

Trang 16

Ch2 The Application Layer

2.1 Một số khái niệm và nguyên tắc.

2.2 Web & Hyper Text Transfer Protocol.

2.3 Web design and programming.

2.4 File Transfer Protocol.

2.5 Electronic Mail Protocols.

2.6 Domain Name System.

Trang 17

2.2 Web & HTTP

 Trang web (web page): một loại tài liệu có chứa trong đó nhiều đối tượng: text, image, audio, Java applet, HTML…

 Về cơ bản, web page = HTML file (base HTML)

 HTML = Hyper Text Markup Language.

 HTML sử dụng các thẻ (tag) để mô tả đối tượng chứa trong nó.

 Mỗi đối tượng được chỉ ra bởi địa chỉ URL (Uniform

Trang 18

HTTP (Hyper Text Transfer Protocol)

 Giao thức tầng ứng dụng web

 Sử dụng mô hình client/server

 Client (user agent):

 Trình duyệt web (web browser)

 Yêu cầu truy cập web thông qua URL (URL request).

 Server

 Máy phục vụ web (web server).

 Gửi các đối tượng tới client thông quan phản hồi (response).

 HTTP version:

 HTTP 1.0: RFC 1945

HTTP 1.1: RFC 2068

Trang 19

HTTP: Quá trình trao đổi thông điệp

 Client (browser) thiết lập liên kết tới web server

(TCP connection) qua cổng 80 (mặc định).

giữa browser và server.

 Ngắt kết nối.

Trang 20

HTTP example

1a http client thiết lập liên kết

TCP với http server (process) tại địa chỉ www.hau1.edu.vn, cổng 80 (ngầm định với http server).

2 http client gửi http request

message (bao gồm cả URL) tới TCP connection socket

1b http server tại máy phục vụ www.hau1.edu.vn chờ yêu cầu kết nối TCP tại cổng 80, chấp nhận kết nối rồi thông báo với client.

3 http server nhận request message, tạo ra http response message có chứa các đối tượng được yêu cầu rồi gửi vào

socket.

time

(trang web có text và 10 hình ảnh jpeg)

Trang 21

5 http client nhận response message

có chứa html file, hiển thị html

Sau đó, phân tích html file, tìm URL của 10 hình ảnh jpeg trong tài liệu.

6 Bước 1-5 được lặp lại với từng hình ảnh.

4 http server ngắt liên kết

time

Trang 22

HTTP Connection: Persistent & Non-persistent

 Client phân tích, tìm ra và gửi yêu cầu tới tất cả các đối

tượng ngay sau khi nhận được trang HTML ban đầu (base

HTML)

 HTTP 1.1 sử dụng liên kết loại

Trang 23

HTTP Message Format: request & response

GET /somedir/page.html HTTP/1.0 User-agent: Mozilla/4.0

Accept: text/html, image/gif,image/jpeg Accept-language:fr

(extra carriage return, line feed)

request line

(GET, POST,

HEAD commands)

header lines

Carriage return,

line feed

indicates end

of message

Trang 24

HTTP request message

Trang 25

HTTP response message

HTTP/1.0 200 OK Date: Thu, 06 Aug 1998 12:00:15 GMT Server: Apache/1.3.0 (Unix)

Last-Modified: Mon, 22 Jun 1998 … Content-Length: 6821

Content-Type: text/html data data data data data

data, e.g.,

requested

html file

Trang 26

HTTP response message

Trang 27

HTTP response message: status codes

 requested document not found on this server

505 HTTP Version Not Supported

Trang 28

Ví dụ thực hành

1 Telnet tới web server:

Mở một kết nối (TCP) tới cổng 80 tại web server của trường ĐHNNI

Sau khi kết nối, tất cả ký tự gõ vào sẽ được gửi tới cổng 80.

telnet www.hau1.edu.vn 80

2 Nhập vào GET http request:

GET /cs/index.htm HTTP/1.0

Đây là một http request đơn giản

Nhập xong gõ 2 lần Enter để gửi tới server

3 Kiểm tra kết quả nhận được (http response message)!

Trang 29

User-server interaction: authentication & cookies

usual http request msg 401: authorization req.

WWW authenticate:

usual http request msg + Authorization: <cred>

usual http response msg

usual http request msg + Authorization: <cred>

usual http response msg

time

Authenthication

Trang 30

Cookies: keeping “state”

nào đó (#) khi client request,

đồng thời ghi nhớ số này để

client qua response msg, vd:

Set-cookie: 1678453

client gửi kèm cookie, vd:

cookie: 1678453

usual http request msg usual http response +

spectific action

Trang 31

cookie-Conditional GET: client-side caching

obj tới client khi client đã có

phiên bản cập nhật

(up-to-date) của obj.

sửa gần đây nhất của obj

Trang 32

Web Caches (proxy server)

web cache thay vì tới server.

 Nếu obj có tại web cache:

web cache tạo http response

msg gửi về cho client.

 Nếu không, web cache tạo gửi

http request tới server, nhận

obj, lưu trữ, rồi gửi http

response msg tới client.

dùng có cảm giác duyệt web

nhanh hơn, giảm nghẽn

mạng.

client

Proxy server

ponse

origin origin server

Trang 33

Why Web Caching?

Assume: cache is “close” to

client (e.g., in same

network)

 smaller response time:

cache “closer” to client

 decrease traffic to distant

public Internet

institutional network 10 Mbps LAN

1.5 Mbps access link

institutional cache

Trang 34

Web servers

Chạy trên môi trường Windows

Đi kèm Windows 2000 Server (IIS 5.0)

Mã nguồn mở

Linux/Windows…

http://www.apache.org

Web server được dùng nhiều nhất

Trang 35

Ch2 The Application Layer

2.1 Một số khái niệm và nguyên tắc.

2.2 Web & Hyper Text Transfer Protocol.

2.3 Web design and HTTP, Web programming.

2.4 File Transfer Protocol.

2.5 Electronic Mail Protocols.

2.6 Domain Name System.

Trang 36

Web design: HTML

 Thiết kế web: Tạo ra tài liệu HTML

 Trong tài liệu HTML có thể có nhiều đối tượng

 Images

 Hyper link

 Sử dụng thẻ (tag) để diễn đạt đối tượng.

 Thẻ mở, vd: <html>; <head>; <title>; <body>…

Trang 37

Web programming

luôn trả về một trang HTML cố định khi nhận được yêu cầu của người dùng.

qua web.

LT web # LT Pascal, C:

 Tương tác thông qua HTTP Message.

Client-side scripts: Java script, VB script

Server-side scripts: ASP, JSP, PHP, Perl…

Trang 38

HTML Form: Send user requests

<form method="POST" action = "simple.asp">

<p><input type="text" name="myName" size="20">

<p><input type="submit" value="Submit"

Response Write (welcome )

%>

</BODY>

</HTML>

ASP HTML

Trang 39

ASP (Active Server Page)

 Microsoft/IIS

 Một tài liệu ASP có thể coi như một tài liệu HTML có

nhúng các script ASP, được ghi lại dạng tệp *.asp, đặt tại web server

 Mỗi khi được request, các script được chạy ở phía server, kết quả trả về client dạng HTML (client không thấy

source)

 Các đối tượng:

 Request  Client request.

 Response  Server response.

 Application

 QueryString…

Công cụ: MS Visual InterDev

Trang 40

Mô hình 3 lớp trong lập trình web

Trang 41

TCP Socket Programming

 Giao thức HTTP: application-layer protocol

 Hai ứng dụng application muốn giao tiếp phải sử dụng

dịch vụ của tầng giao vận:

end-end-transport protocol (UCP or TCP).

process

TCP with buffers, variables

socket

controlled by application developer controlled by operating system

host or internet

Trang 42

 Client phải thiết lập kết nối với server (request).

socket mới để tiếp nhận (cho phép nhiều clients).

Winsock: Windows Socket Component

Trang 43

Winsock & OSI

Trang 44

Bài tập

Tham khảo: http://www.w3schools.com

component để viết một web server đơn giản.

Phân tích lệnh GET

Trả về response message thích hợp

 Header

 Body

Ngày đăng: 29/12/2015, 22:06

TỪ KHÓA LIÊN QUAN

w