Networking CS217 Fall2001 1 Client/Server - - PDF document

networking
SMART_READER_LITE
LIVE PREVIEW

Networking CS217 Fall2001 1 Client/Server - - PDF document

Networking CS217 Fall2001 1 Client/Server Server:processthatprovidesaservice e.g.,fileserver,webserver,mailserver calledapassiveparticipant:waitstobecontacted


slide-1
SLIDE 1

1

Fall2001 1

Networking

CS217

Fall2001 2

Client/Server

  • Server:processthatprovidesaservice

e.g.,fileserver,webserver,mailserver calledapassiveparticipant:waitstobecontacted

  • Client:processthatrequestsaservice

e.g.,webbrowser,mailreader calledanactiveparticipant:initiatescommunication

Fall2001 3

NamesandAddresses

  • Hostname

e.g., www.cs.princeton.edu

  • Hostaddress

e.g., 128.112.92.191

  • Processid

indirectly,throughaport (mailbox);0-64k serversassignedawell-knownport clientsassignedaport“ondemand”

slide-2
SLIDE 2

2

Fall2001 4

CommunicationSemantics

  • ReliableByte-Stream(likeapipe):TCP
  • UnreliableDatagram:UDP
  • RemoteProcedureCall(RPC):SunRCP

Fall2001 5

FileSystem

Disk Driver Storage FileSystem

diskblocks variable-lengthsegments hierarchicalfilesystem kernel

Stdio Library FILE* stream ApplProg

user process

Fall2001 6

NetworkSubsystem

Driver IP TCPorUDP

transmits/receivesonLAN routesthroughtheInternet byte-streamordatagram kernel SocketAPI

ApplProg

user process NIC

slide-3
SLIDE 3

3

Fall2001 7

SocketAPI

  • SocketAbstraction

end-pointofanetworkconnection treatedlikeafile

  • Creatingasocket

intsocket(intdomain,inttype, int protocol) domain=PF_INET,PF_UNIX type=SOCK_STREAM,SOCK_DGRAM, SOCK_RAW

Fall2001 8

Sockets(cont)

  • PassiveOpen(onserver)

int bind(int socket, structsockaddr *addr, intaddr_len) int listen(int socket, int backlog) int accept(int socket, structsockaddr *addr, intaddr_len)

Fall2001 9

Sockets(cont)

  • ActiveOpen(onclient)

intconnect(intsocket, structsockaddr*addr, intaddr_len)

  • Sending/ReceivingMessages

intsend(intsocket,char*buf, intblen,intflags) intrecv(intsocket,char*buf, intblen,intflags)

slide-4
SLIDE 4

4

Fall2001 10

TriviaQuestion

  • HowmanymessagestraversetheInternet

whenyouclickonalink?

  • DNS:root(2),site(2)
  • TCPconnectionsetup:3
  • HTTPrequest/replywithACKS:4
  • TCPconnectiontear-down:4
  • Total:15