Bài giảng Mạng máy tính - Chương IV: Internet

I.1. GIỚI THIỆU INTERNET Tháng 6/1968 cục các dự án tiên tiến của bộ Quốc phòng Mỹ đã xây dựng án liên kết 4 trung nghiên cứu lớn trong toàn liên bang là : Viện nghiên cứu Stanford, Đaị học California Los Angeles, Đại học California Santa Barbara và Đại học Utah thành một hệ thống thống nhất để trao đổi các thông tin. Đến giữa năm 1969, 4 trạm đầu tiên đã kết nối thành công, đánh dấu sự ra đời của mạng ARPANET – tiền thân của INTERNET. Giao thức truyền thông dùng trong ARPANET đƣợc gọi là NCP (Network Control Protocol). Tuy nhiên xuất phát từ nhu cầu thực tế, các nhà thiết kế ARPANET đã nhận thức đƣợc xây dựng một mạng của các mạng máy tính “Mạng của các mạngINTERNET”, vì vậy giữa những năm 70, họ giao thức TCP/IP đƣợc Vint Cerf và Robert Kahn đề xuất và phát triển, ban đầu cùng tồn tại với NCP trong mạng ARPANET và đến năm 1983 thì hoàn toàn thay thế NCP. Thuật ngữ INTERNET đƣợc xuất hiện lần đầu tiên vào năm 1974. Nhƣng tên gọi ARPANET vẫn tồn tại cho đầu những năm

pdf22 trang | Chia sẻ: thanhle95 | Lượt xem: 530 | Lượt tải: 1download
Bạn đang xem trước 20 trang tài liệu Bài giảng Mạng máy tính - Chương IV: Internet, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
1NỘI DUNG CỦA CHƢƠNG CHƢƠNG IV. INTERNET I. Giới thiệu Internet I.1. Giới thiệu Internet I.2. Họ giao thức TCP/IP II. Một số dịch vụ trên Internet II.1. Mô hình Client/ Server. II.2. Dịch vụ giao thức : HTTP. II.3. Dịch vụ truyền File : Ftp II.4. Dịch vụ: Electronic Mail II.5. Dịch vụ đặt tên mềm DNS III. Các dạng hoạt động của Socket III.1.TCP Sockets. III.2. UDP Sockets. iV. Thảo Luận 2 Tháng 6/1968 cục các dự án tiên tiến của bộ Quốc phòng Mỹ đã xây dựng án liên kết 4 trung nghiên cứu lớn trong toàn liên bang là : Viện nghiên cứu Stanford, Đaị học California Los Angeles, Đại học California Santa Barbara và Đại học Utah thành một hệ thống thống nhất để trao đổi các thông tin. Đến giữa năm 1969, 4 trạm đầu tiên đã kết nối thành công, đánh dấu sự ra đời của mạng ARPANET – tiền thân của INTERNET. Giao thức truyền thông dùng trong ARPANET đƣợc gọi là NCP (Network Control Protocol). Tuy nhiên xuất phát từ nhu cầu thực tế, các nhà thiết kế ARPANET đã nhận thức đƣợc xây dựng một mạng của các mạng máy tính “Mạng của các mạng- INTERNET”, vì vậy giữa những năm 70, họ giao thức TCP/IP đƣợc Vint Cerf và Robert Kahn đề xuất và phát triển, ban đầu cùng tồn tại với NCP trong mạng ARPANET và đến năm 1983 thì hoàn toàn thay thế NCP. Thuật ngữ INTERNET đƣợc xuất hiện lần đầu tiên vào năm 1974. Nhƣng tên gọi ARPANET vẫn tồn tại cho đầu những năm 80, đến 11/1986 đã có I.1. GIỚI THIỆU INTERNET 23 So sánh thời gian đạt đƣợc 50 triệu ngƣời dùng trên thế giới: • Telephone sau 74 năm • Radio sau 38 năm • PC sau 16 năm • TV sau 13 năm • WWW sau 4 năm • Cấu trúc mạng và kết nối Internet • Internet là một mạng GAN dựa trên kết nối liên mạng WAN, sử dụng mô hình TCP/IP. Việc kết nối và truy cập Internet của ngƣời dùng đƣợc cung cấp bởi các nhà cung cấp dịch vụ Internet ISP (Internet Service Provider). Các Các ISP phải thuê đƣờng và cổng của một IAP. 4 35 6 So sánh các mô hình giao thức trên INTERNET Datalink Physical Host to Network Ether net Packet Radio Point-to- Point Session Transport Network Transport Internetwork TCP IP UDP Application Presentation Application FTP Telnet HTTP TCP/IP Model OSI Ref ModelTCP/IP Protocols TCP/IP là một giao thức cùng làm việc với nhau để cung cấp phƣơng tiện truyền thông liên mạng. So sánh với mô hình tham chiếu OSI ta thấy: I.2. HỌ GIAO THỨC TCP/IP 47 1. Hoạt động của giao thức IP-Internet Protocol application transport network data link physical application transport network data link physical application transport network data link physical •Application: Truyền thông và các quá trình phân tán – Thực hiện giao dịch giữa các Hosts theo địa chỉ ngƣời dùng – Thay đổi các thông báo theo yêu cầu ứng dụng – Thực hiện các dịch vụ E-mail, truyền file (FTP), WWW,... 8 Phân tích quá trình hoạt động của mô hình giao thức IP trên INTERNET ta có thấy việc giao dịch đƣợc tiến hành: 59 HOST 1 ROUTER A ROUTER B HOST 2 Application TCP IP DLa PHYa IP DLa PHYa IP DLa PHYa Application TCP IP DLa PHYa IP là giao thức kiểu không liên kết có nghĩa là không cần gian đoạn thiết lập liên kết trƣớc khi truyền dữ liệu. Đơn vị dùng trong IP đƣợc gọi là Datagram có khuôn dạng tổng quát giống nhƣ các PDU đã biết. Hoạt động của giao thức ở tầng IP đƣợc mô tả nhƣ sau: LAN A WAN LAN B 10 Đối với thực thể IP ở trạm nguồn: 1. Tạo một IP Datagram để gửi đi 2. Tính Checksum và ghép vào Header của Datagra 3. Ra quyết định chọn đƣờng: hoặc trạm đích thuộc cùng một mạng hoặc khác mạng chuyển tới Router hoặc Gateway tiếp theo. 4. Chuyển Datagram xuống tầng dƣới để truyền qua mạng.Đối với Gateway hoặc Router: 1. Tính lại Checksum nếu có lỗi thì loại bỏ. 2. Giảm giá trị tham số Time to Live. Nếu bằng 0 thì loại bỏ. 3. Ra quyết định chọn đƣờng. 4. Phân đoạn Datagram nếu cần. 5. Kiến tạo lại IP Header, bao gồm giá trị mới của tham số Time to Live, phân đoạn và Checksum. 6. Chuyển Datagram xuống tầng dƣới để truyền qua mạng. 611 Đối với thực thể IP ở trạm đích: 1. Tính Checksum nếu có lỗi thi loại bỏ 2. Tập hợp các Datagram nếu dữ liệu bị phân đoạn. 3. Chuyển Datagram và các tham số điều khiển lên tầng trên.2. Giao thức TCP – Transfer Control Protocol TCP là giao thức có liên kết, tức là cần phải thiết lập liên kết (logic) giữa hai thực thể trƣớc khi tiến hành trao đổi dữ liệu. Đơn vị dữ liệu sử dụng trong TCP gọi là Segment (đoạn dữ liệu). Khuôn dạng tổng quát nhƣ sau: 12 Source Port Destination Port Sequence Number Acknowledgment Number Data Offset Reser- ved U R G A C K P R S S H T S Y N F I N Window Checksum Urgent Pointer Option Padding TCP data Source Destination Port Số hiệu cổng. Optiont Khai báo các thay đổi. URG Con trỏ khẩn có hiệu lực. ACK Tín hiệu báo nhận. PSH Chức năng đẩy. RST Reset. SYN Đồng bộ hoá. FIN Không còn dữ liệu từ trạm nguồn. 713 Một cổng kết hợp với một địa chỉ IP tạo thành một Socket duy nhất trong liên mạng. Dịch vụ TCP đƣợc cung cấp nhờ một liên kết logic giữa một cặp Socket. Một Socket có thể tham gia với nhiều Socket ở xa. Trƣớc khi truyền dữ liệu giữa 2 trạm cần phải thiết lập liên kết TCP giữa chúng và khi không còn nhu cầu truyền dữ liệu thì liên kết đó sẽ đƣợc giải phóng. 3. Giao thức UDP – User Datagram Protocol UDP là giao thức không liên kết đƣợc sử dụng thay thế cho TCP theo yêu cầu của ứng dụng. Nó thƣờng đƣợc dùng cho các ứng dụng không đòi hỏi độ tin cậy cao trong giao vận. Đơn vị dữ liệu đƣợc gọi là UDP datagram. Có khuôn dạng nhƣ sau: Source Port Destination Port Message Length Checksum Data 14 TCP/IP là một giao thức cùng làm việc với nhau để cung cấp phương tiện truyền thông liên mạng. So sánh với mô hình tham chiếu OSI ta thấy: II. MỘT SỐ DỊCH VỤ TRÊN INTERNET 1. Dịch vụ WWW 2. Dịch vụ Telnet 3. Dịch vụ Email 4. Dịch vụ FTP 5. Dịch vụ tên miền DNS 815 II.1. Mô hình Client-server Một trao đổi điển hình giữa: client và server application transport network data link physical application transport network data link physical Client: • Khëi t¹o kÕt nèi víi server (“speaks first”) • Yªu cÇu requests dÞch vô tõ server, • C¸c dÞch vô nh- Web, client lµ c«ng cô duyÖt browser; nh- e-mail lµ ®äc th- request reply 16 II.2. Dịch vụ: giao thức http http: hypertext transfer protocol  Dịch vụ Web thuộc giao thức tầng ứng dụng  Mô hinh client/server  client: duyệt và tiếp nhận các yêu cầu, “displays” Web objects  server: Web server chuyển các đối tƣợng để đáp ứng các yêu cầu  http1.0: RFC 1945  http1.1: RFC 2068 PC running Explorer Server running Apache Web server Mac running Navigator 917 Ví dụ về http Giả sử ngƣời sử dụng đƣa vào địa chỉ URL sau www. School.edu/Department/home.index 1a. http client initiates TCP connection to http server (process) at www. School.edu. Port 80 is default for http server. 2. http client sends http request message (containing URL) into TCP connection socket 1b. http server at host www. School.edu waiting for TCP connection at port 80. “accepts” connection, notifying client 3. http server receives request message, forms response message containing requested object (Department/home.index), sends message into sockettime (contains text, references to 10 jpeg images) 18 http example (cont.) 5. http client receives response message containing html file, displays html. Parsing html file, finds 10 referenced jpeg objects 6. Steps 1-5 repeated for each of 10 jpeg objects 4. http server closes TCP connection. time 10 19 Dạng tổng quát của http request message 20 Khuôn dạng của http message: response 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 ... status line (protocol status code status phrase) header lines data, e.g., requested html file 11 21 User-server interaction: authentication Authentication goal: control access to server • stateless: client presents authorization in each request • authorization: typically name, password – authorization: header line in request – Sends header line WWW authenticate: if unauthorized client server usual http request msg 401: authorization req. WWW authenticate: usual http request msg + Authorization:line usual http response msg usual http request msg + Authorization:line usual http response msg timeBrowser caches name & password so that user does not have to repeatedly enter it. 22 User-server interaction: cookies • server sends “cookie” to client in response msg Set-cookie: 1678453 • client presents cookie in later requests cookie: 1678453 • server matches presented-cookie with server-stored info – authentication – remembering user preferences client server usual http request msg usual http response + Set-cookie: # usual http request msg cookie: # usual http response msg usual http request msg cookie: # usual http response msg cookie- spectific action cookie- spectific action 12 23 User-server interaction: conditional GET • Goal: don’t send object if client has up- to-date stored (cached) version • client: specify date of cached copy in http request If-modified-since: • server: response contains no object if cached copy up-to- date: HTTP/1.0 304 Not Modified client server http request msg If-modified-since: http response HTTP/1.0 304 Not Modified object not modified http request msg If-modified-since: http response HTTP/1.1 200 OK object modified 24 Web Caches (proxy server) • user sets browser: Web accesses via web cache • client sends all http requests to web cache – if object at web cache, web cache immediately returns object in http response – else requests object from origin server, then returns http response to client Goal: satisfy client request without involving origin server client Proxy server client origin server origin server 13 25 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 servers – link out of institutional/local ISP network often bottleneck origin servers public Internet institutional network 10 Mbps LAN 1.5 Mbps access link institutional cache 26 Browsers Web Server Networks Mô hình phân phối nội dung 14 27 Browsers Web Servers Routers Networks Xảy ra tắc nghẽn trên đƣờng truyền 28 II.3. Dịch vụ truyền File ftp • transfer file to/from remote host • client/server model – client: side that initiates transfer (either to/from remote) – server: remote host • ftp: RFC 959 • ftp server: port 21 file transfer FTP server FTP user interface FTP client local file system remote file system user at host 15 29 ftp: separate control, data connections • ftp client contacts ftp server at port 21, specifying TCP as transport protocol • two parallel TCP connections opened: – control: exchange commands, responses between client, server. “out of band control” – data: file data to/from server • ftp server maintains “state”: current directory, earlier authentication FTP client FTP server TCP control connection port 21 TCP data connection port 20 30 ftp commands, responses Sample commands: • sent as ASCII text over control channel • USER username • PASS password • LIST returns list of file in current directory • RETR filename retrieves (gets) file • STOR filename stores (puts) file onto remote host Sample return codes • status code and phrase (as in http) • 331 Username OK, password required • 125 data connection already open; transfer starting • 425 Can’t open data connection • 452 Error writing file 16 31 II.4. Dịch vụ: Electronic Mail Three major components: • user agents • mail servers • simple mail transfer protocol: smtp User Agent • a.k.a. “mail reader” • composing, editing, reading mail messages • e.g., Eudora, Outlook, elm, Netscape Messenger • outgoing, incoming messages stored on server user mailbox outgoing message queue mail server user agent user agent user agent mail server user agent user agent mail server user agent SMTP SMTP SMTP 32 Electronic Mail: mail servers Mail Servers • mailbox contains incoming messages (yet to be read) for user • message queue of outgoing (to be sent) mail messages • smtp protocol between mail servers to send email messages – client: sending mail server – “server”: receiving mail server mail server user agent user agent user agent mail server user agent user agent mail server user agent SMTP SMTP SMTP 17 33 Mail message format smtp: protocol for exchanging email msgs RFC 822: standard for text message format: • header lines, e.g., – To: – From: – Subject: different from smtp commands! • body – the “message”, ASCII characters only header body blank line 34 Message format: multimedia extensions • MIME: multimedia mail extension, RFC 2045, 2056 • additional lines in msg header declare MIME content type From: alice@crepes.fr To: bob@hamburger.edu Subject: Picture of yummy crepe. MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Type: image/jpeg base64 encoded data ..... ......................... ......base64 encoded data multimedia data type, subtype, parameter declaration method used to encode data MIME version encoded data 18 35 Mail access protocols • SMTP: delivery/storage to receiver’s server • Mail access protocol: retrieval from server – POP: Post Office Protocol [RFC 1939] • authorization (agent server) and download – IMAP: Internet Mail Access Protocol [RFC 1730] • more features (more complex) • manipulation of stored msgs on server – HTTP: Hotmail , Yahoo! Mail, etc. user agent sender’s mail server user agent SMTP SMTP POP3 or IMAP receiver’s mail server 36 POP3 protocol authorization phase • client commands: – user: declare username – pass: password • server responses – +OK – -ERR transaction phase, client: • list: list message numbers • retr: retrieve message by number • dele: delete • quit C: list S: 1 498 S: 2 912 S: . C: retr 1 S: S: . C: dele 1 C: retr 2 S: S: . C: dele 2 C: quit S: +OK POP3 server signing off S: +OK POP3 server ready C: user alice S: +OK C: pass hungry S: +OK user successfully logged on 19 37 II.5. Dịch vụ đặt tên mềm DNS host surf.eurecom.fr wants IP address of gaia.cs.umass.edu 1. Contacts its local DNS server, dns.eurecom.fr 2. dns.eurecom.fr contacts root name server, if necessary 3. root name server contacts authoritative name server, dns.umass.edu, if necessary requesting host surf.eurecom.fr gaia.cs.umass.edu root name server authorititive name server dns.umass.edu local name server dns.eurecom.fr 1 2 3 4 5 6 38 III. Các dạng hoạt động của Socket. III.1. TCP sockets Socket: Là cửa kết nối giữa một quá trình ứng dụng và đâu cuôi giao thức tầng transport (UCP or TCP) TCP service: dịch vụ vận chuyển tin cậy các byte từ một quá trình này sang một quá trình khác process TCP with buffers, variables socket controlled by application developer controlled by operating system host or server process TCP with buffers, variables socket controlled by application developer controlled by operating system host or server internet 20 39 TCP sockets Client must contact server • server process must first be running • server must have created socket (door) that welcomes client’s contact Client contacts server by: • creating client-local TCP socket • specifying IP address, port number of server process • When client creates socket: client TCP establishes connection to server TCP • When contacted by client, server TCP creates new socket for server process to communicate with client – allows server to talk with multiple clients TCP provides reliable, in-order transfer of bytes (“pipe”) between client and server application viewpoint 40 TCP Sockets Example client-server app: • client reads line from standard input (inFromUser stream) , sends to server via socket (outToServer stream) • server reads line from socket • server converts line to uppercase, sends back to client • client reads, prints modified line from socket (inFromServer stream) Input stream: sequence of bytes into process Output stream: sequence of bytes out of process client socket 21 41 Tƣơng tác Client/server socket: TCP wait for incoming connection request connectionSocket = welcomeSocket.accept() create socket, port=x, for incoming request: welcomeSocket = ServerSocket() create socket, connect to hostid, port=x clientSocket = Socket() close connectionSocket read reply from clientSocket close clientSocket Server (running on hostid) Client send request using clientSocketread request from connectionSocket write reply to connectionSocket TCP connection setup 42 III.2. UDP Sockets UDP: no “connection” between client and server • no handshaking • sender explicitly attaches IP address and port of destination • server must extract IP address, port of sender from received datagram UDP: transmitted data may be received out of order, or lost application viewpoint UDP provides unreliable transfer of groups of bytes (“datagrams”) between client and server 22 43 Client/server socket interaction: UDP close clientSocket Server (running on hostid) read reply from clientSocket create socket, clientSocket = DatagramSocket() Client Create, address (hostid, port=x, send datagram request using clientSocket create socket, port=x, for incoming request: serverSocket = DatagramSocket() read request from serverSocket write reply to serverSocket specifying client host address, port umber
Tài liệu liên quan