CHƢƠNG IV. INTERNETfit.mta.edu.vn/files/FileMonHoc/LTMANGC6_INTERNET.pdf · • Internet là...

22
1 NỘ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ậ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 I.1. GIỚI THIỆU INTERNET

Transcript of CHƢƠNG IV. INTERNETfit.mta.edu.vn/files/FileMonHoc/LTMANGC6_INTERNET.pdf · • Internet là...

Page 1: CHƢƠNG IV. INTERNETfit.mta.edu.vn/files/FileMonHoc/LTMANGC6_INTERNET.pdf · • 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.

1

NỘ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

Page 2: CHƢƠNG IV. INTERNETfit.mta.edu.vn/files/FileMonHoc/LTMANGC6_INTERNET.pdf · • 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.

2

3

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

Page 3: CHƢƠNG IV. INTERNETfit.mta.edu.vn/files/FileMonHoc/LTMANGC6_INTERNET.pdf · • 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.

3

5

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

PresentationApplication 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

Page 4: CHƢƠNG IV. INTERNETfit.mta.edu.vn/files/FileMonHoc/LTMANGC6_INTERNET.pdf · • 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.

4

7

1. Hoạt động của giao thức IP-Internet Protocol

applicationtransportnetworkdata linkphysical

applicationtransportnetworkdata linkphysical

applicationtransportnetworkdata linkphysical

•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:

Page 5: CHƢƠNG IV. INTERNETfit.mta.edu.vn/files/FileMonHoc/LTMANGC6_INTERNET.pdf · • 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.

5

9

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ùngmột mạng hoặc khác mạng chuyển tới Router hoặcGateway tiếp theo.

4. Chuyển Datagram xuống tầng dƣới để truyền quamạ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.

Page 6: CHƢƠNG IV. INTERNETfit.mta.edu.vn/files/FileMonHoc/LTMANGC6_INTERNET.pdf · • 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.

6

11

Đố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.

Page 7: CHƢƠNG IV. INTERNETfit.mta.edu.vn/files/FileMonHoc/LTMANGC6_INTERNET.pdf · • 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.

7

13

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

Page 8: CHƢƠNG IV. INTERNETfit.mta.edu.vn/files/FileMonHoc/LTMANGC6_INTERNET.pdf · • 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.

8

15

II.1. Mô hình Client-server

Một trao đổi điển hình giữa:

client và server

applicationtransportnetworkdata linkphysical

applicationtransportnetworkdata linkphysical

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 runningExplorer

Server running

Apache Webserver

Mac runningNavigator

Page 9: CHƢƠNG IV. INTERNETfit.mta.edu.vn/files/FileMonHoc/LTMANGC6_INTERNET.pdf · • 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.

9

17

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

Page 10: CHƢƠNG IV. INTERNETfit.mta.edu.vn/files/FileMonHoc/LTMANGC6_INTERNET.pdf · • 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.

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 codestatus phrase)

headerlines

data, e.g., requestedhtml file

Page 11: CHƢƠNG IV. INTERNETfit.mta.edu.vn/files/FileMonHoc/LTMANGC6_INTERNET.pdf · • 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.

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 sothat user does not have to repeatedly enter it.

22

User-server interaction: cookies

• server sends “cookie” to client in response msgSet-cookie: 1678453

• client presents cookie in later requestscookie: 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 msgcookie: #

usual http response msg

usual http request msgcookie: #

usual http response msg

cookie-spectific

action

cookie-spectific

action

Page 12: CHƢƠNG IV. INTERNETfit.mta.edu.vn/files/FileMonHoc/LTMANGC6_INTERNET.pdf · • 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.

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 requestIf-modified-since:

<date>

• server: response contains no object if cached copy up-to-date: HTTP/1.0 304 Not

Modified

client server

http request msgIf-modified-since:

<date>

http responseHTTP/1.0

304 Not Modified

object not

modified

http request msgIf-modified-since:

<date>

http responseHTTP/1.1 200 OK

<data>

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

Proxyserver

clientorigin server

origin server

Page 13: CHƢƠNG IV. INTERNETfit.mta.edu.vn/files/FileMonHoc/LTMANGC6_INTERNET.pdf · • 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.

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

originservers

publicInternet

institutionalnetwork

10 Mbps LAN

1.5 Mbps access link

institutionalcache

26

Browsers

Web Server

Networks

Mô hình phân phối nội dung

Page 14: CHƢƠNG IV. INTERNETfit.mta.edu.vn/files/FileMonHoc/LTMANGC6_INTERNET.pdf · • 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.

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 transferFTP

server

FTPuser

interface

FTPclient

local filesystem

remote filesystem

user at host

Page 15: CHƢƠNG IV. INTERNETfit.mta.edu.vn/files/FileMonHoc/LTMANGC6_INTERNET.pdf · • 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.

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

FTPclient

FTPserver

TCP control connectionport 21

TCP data connectionport 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

Page 16: CHƢƠNG IV. INTERNETfit.mta.edu.vn/files/FileMonHoc/LTMANGC6_INTERNET.pdf · • 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.

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

mailserver

useragent

useragent

useragent

mailserver

useragent

useragent

mailserver

useragent

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

mailserver

useragent

useragent

useragent

mailserver

useragent

useragent

mailserver

useragent

SMTP

SMTP

SMTP

Page 17: CHƢƠNG IV. INTERNETfit.mta.edu.vn/files/FileMonHoc/LTMANGC6_INTERNET.pdf · • 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.

17

33

Mail message formatsmtp: 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

blankline

34

Message format: multimedia extensions

• MIME: multimedia mail extension, RFC

2045, 2056

• additional lines in msg header declare

MIME content typeFrom: [email protected]

To: [email protected]

Subject: Picture of yummy crepe.

MIME-Version: 1.0

Content-Transfer-Encoding: base64

Content-Type: image/jpeg

base64 encoded data .....

.........................

......base64 encoded data

multimedia datatype, subtype,

parameter declaration

method usedto encode data

MIME version

encoded data

Page 18: CHƢƠNG IV. INTERNETfit.mta.edu.vn/files/FileMonHoc/LTMANGC6_INTERNET.pdf · • 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.

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.

useragent

sender’s mail server

useragent

SMTP SMTP POP3 orIMAP

receiver’s mail server

36

POP3 protocolauthorization 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: <message 1 contents>

S: .

C: dele 1

C: retr 2

S: <message 1 contents>

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

Page 19: CHƢƠNG IV. INTERNETfit.mta.edu.vn/files/FileMonHoc/LTMANGC6_INTERNET.pdf · • 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.

19

37

II.5. Dịch vụ đặt tên mềm DNS

host surf.eurecom.frwants IP address of gaia.cs.umass.edu

1. Contacts its local DNS server, dns.eurecom.fr

2. dns.eurecom.frcontacts root name server, if necessary

3. root name server contacts authoritative name server, dns.umass.edu, if necessary requesting host

surf.eurecom.frgaia.cs.umass.edu

root name server

authorititive name serverdns.umass.edu

local name serverdns.eurecom.fr

1

23

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 withbuffers,variables

socket

controlled byapplicationdeveloper

controlled byoperating

system

host orserver

process

TCP withbuffers,variables

socket

controlled byapplicationdeveloper

controlled byoperatingsystem

host orserver

internet

Page 20: CHƢƠNG IV. INTERNETfit.mta.edu.vn/files/FileMonHoc/LTMANGC6_INTERNET.pdf · • 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.

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-ordertransfer of bytes (“pipe”) between client and server

application viewpoint

40

TCP SocketsExample client-server app:

• client reads line from standard input (inFromUser stream) , sends to server via socket (outToServerstream)

• 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

Page 21: CHƢƠNG IV. INTERNETfit.mta.edu.vn/files/FileMonHoc/LTMANGC6_INTERNET.pdf · • 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.

21

41

Tƣơng tác Client/server socket: TCP

wait for incoming

connection requestconnectionSocket =

welcomeSocket.accept()

create socket,port=x, for

incoming request:welcomeSocket =

ServerSocket()

create socket,connect to hostid, port=xclientSocket =

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 transferof groups of bytes (“datagrams”)

between client and server

Page 22: CHƢƠNG IV. INTERNETfit.mta.edu.vn/files/FileMonHoc/LTMANGC6_INTERNET.pdf · • 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.

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