jagomart
digital resources
picture1_5bade464cc64f


 146x       Filetype PDF       File size 0.17 MB       Source: bkict-ocw.knu.ac.kr


File: 5bade464cc64f
socket programming chapter 2 2 goal learn how to build client server applications that socket programming communicate using sockets socket door between application process and end end transport protocol application ...

icon picture PDF Filetype PDF | Posted on 05 Feb 2023 | 2 years ago
Partial capture of text on file.
                                                                                                                                                                       Socket programming 
                    Chapter 2-2                                                                                                                                      goal: learn how to build client/server applications that 
                    Socket Programming                                                                                                                                   communicate using sockets
                                                                                                                                                                     socket: door between application process and end-
                                                                                                                                                                         end-transport protocol 
                                                                                                                                                                                      application             socket                  application          controlled by
                                                                                                                                                                                      process                                         process              app developer
                                                                                         Computer                                                                                     transport                                       transport
                                                                                         Networking: A Top                                                                             network                                        network              controlled
                                                                                         Down Approach                                                                                   link                  Internet                  link              by OS
                                                                                                                                                                                       physical                                       physical
                                                                                         7th Edition, Global Edition 
                                                                                         Jim Kurose, Keith Ross
                                                                                         Pearson
                                                                                         April 2016
                                                                                                         Socket Programming 2-1                                                                                                                             Application Layer 2-2
                     API (Application Programming Interface)                                                                                                         Socket API
                      API:                                                                                                                                           socket interface allows programmers to write application 
                            Provides a standard set of functions that can be called by                                                                                  programs easily without worrying about the underlying 
                               applications                                                                                                                              network details
                                                                                                                                                                      an application process can send and receive messages 
                      Various APIs                                                                                                                                      to/from another application process through this interface
                            socket API (Berkeley Unix)                                                                                                               application only sees local socket
                            Winsock (MS window) etc.                                                                                                                 sockets are explicitly created, used, released by 
                                                                                                                                                                         applications
                                                                                                                                                                      socket API transport services
                                                                                                                                                                            connection-oriented service: stream-oriented 
                                                                                                                                                                            connectionless service: datagram
                                                                                                         Socket Programming 2-3                                                                                                                          Socket Programming 2-4
               Client & server differences                                                                       Socket calls for connection-oriented mode
                server                                                                                                           Server does passive open
                                                                                                                      Server       socketcreates a socket to listen for connection 
                    specifies well-known port # when creating socket:                                              socket()         requests
                       • 21(ftp) , 23(telnet), 25(SMTP), 80(HTTP)                                                                  Server specifies type: TCP (stream)
                    may have multiple IP addresses (net interfaces)                                                 bind()
                    waits passively for client requests                                                            listen()
                                                                                                                                                      Client
                client                                                                                             accept()                         socket()
                    assigned ephemeral port #                                                                       Blocks          Connect 
                    initiates communications with server                                                                            negotiation    connect()
                    needs to know server’s IP address & port #                                                                         Data
                    server learns client’s IP address & port #                                                      recv()                          send()
                                                                                                                     send()             Data          recv()
                                                                        Socket Programming 2-5                       close()                         close()              Socket Programming 2-6
               Socket calls for connection-oriented mode                                                         Socket calls for connection-oriented mode
                                Server does passive open                                                                          Server does passive open
                    Server       bindassigns local address & port # to the socket                                    Server       listenindicates to TCP readiness to receive 
                  socket()       Can use wildcard (‘’) IP address                                                  socket()         connection requests for the socket 
                                                                                                                                   Parameter specifies max number of requests that may 
                   bind()                                                                                            bind()          be queued while waiting for server to accept them
                  listen()                          Client                                                          listen()                          Client
                  accept()                         socket()                                                         accept()                         socket()
                   Blocks          Connect                                                                           Blocks          Connect 
                                   negotiation    connect()                                                                          negotiation    connect()
                   recv()             Data         send()                                                            recv()             Data         send()
                   send()             Data          recv()                                                           send()             Data          recv()
                   close()                         close()              Socket Programming 2-7                       close()                         close()              Socket Programming 2-8
               Socket calls for connection-oriented mode                                                         Socket calls for connection-oriented mode
                              Server does passive open                                                                            Client does active open
                    Server     Server calls accept to accept incoming requests                                       Server       socketcreates socket to connect to server 
                  socket()     acceptblocks if queue is empty                                                      socket()       Client specifies type: TCP (stream)
                   bind()                                                                                            bind()
                  listen()                          Client                                                          listen()                          Client
                  accept()                         socket()                                                         accept()                         socket()
                   Blocks          Connect                                                                           Blocks          Connect 
                                   negotiation    connect()                                                                          negotiation    connect()
                   recv()             Data         send()                                                            recv()             Data         send()
                   send()             Data          recv()                                                           send()             Data          recv()
                   close()                         close()              Socket Programming 2-9                       close()                         close()              Socket Programming 2-10
               Socket calls for connection-oriented mode                                                         Socket calls for connection-oriented mode
                                Client does active open                                                                         acceptwakes with incoming connection request
                    Server       connectestablishes a connection on the local socket                                 Server    acceptcreates a new connection socket
                  socket()         to the specified remote address and port #                                       socket()    acceptgets client address (IP addr & port #)
                                                                                                                                Client & server use new socket for data transfer
                   bind()                                                                                            bind()     Original socket continues to listen for new requests
                  listen()                          Client                                                          listen()
                                                                                                                                                      Client
                  accept()                         socket()                                                         accept()                         socket()
                   Blocks          Connect                        Note:   connect                                    Blocks          Connect 
                                   negotiation    connect()       initiates TCP three-way                                            negotiation    connect()
                                                                  handshake
                   recv()             Data         send()                                                            recv()             Data         send()
                   send()             Data          recv()                                                           send()             Data          recv()
                   close()                         close()              Socket Programming 2-11                      close()                         close()              Socket Programming 2-12
               Socket calls for connection-oriented mode                                                          Socket calls for connection-oriented mode
                              Data Transfer                                                                                     Data Transfer
                    Server     Client or server call send to transmit data into a                                    Server     Client or server call recv to receive data from a 
                  socket()       connection socket                                                                   socket()      connection socket
                                                                                                                                 recv specifies: pointer to a buffer; amount of data
                   bind()                                                                                             bind()
                  listen()                                                                                           listen()
                                                    Client                                                                                             Client
                  accept()                         socket()                                                          accept()                        socket()
                   Blocks           Connect                                                                           Blocks          Connect                       Note:   send and recv
                                    negotiation   connect()                                                                           negotiation    connect()      can be called multiple 
                                                                                                                                                                    times to transfer byte 
                                       Data         send()                                                                               Data         send()        streams in both 
                   recv()                                                                                             recv()                                        directions
                   send()              Data         recv()                                                           send()              Data         recv()
                   close()                          close()             Socket Programming 2-13                      close()                          close()              Socket Programming 2-14
               Socket calls for connection-oriented mode                                                          Socket calls for connectionless mode
                              Connection Termination                                                                              Server started
                    Server     Client or server call close when socket is no longer                                  Server       socketcreates socket of type UDP (datagram)
                  socket()       needed                                                                                            bindassigns local IP address & port # to the socket; 
                                                                                                                     socket()        Can use wildcard IP address
                   bind()
                  listen()                                                                                            bind()
                                                    Client                                                                                          Client
                  accept()                         socket()                                                         recvfrom()                      socket()
                   Blocks           Connect                       Note:   close initiates                                              Data
                                    negotiation   connect()       TCP graceful close                               Blocks until server             sendto()
                                                                  sequence                                         receives data from 
                                       Data                                                                        client
                   recv()                           send()                                                           sendto()          Data
                   send()              Data                                                                                                       recvfrom()
                                                    recv()
                   close()                                                                                           close()                        close()
                                                    close()             Socket Programming 2-15                                                                            Socket Programming 2-16
The words contained in this file might help you see if this file matches what you are looking for:

...Socket programming chapter goal learn how to build client server applications that communicate using sockets door between application process and end transport protocol controlled by app developer computer networking a top network down approach link internet os physical th edition global jim kurose keith ross pearson april layer api interface allows programmers write provides standard set of functions can be called programs easily without worrying about the underlying details an send receive messages various apis from another through this berkeley unix only sees local winsock ms window etc are explicitly created used released services connection oriented service stream connectionless datagram differences calls for mode does passive open socketcreates listen specifies well known port when creating requests ftp telnet smtp http type tcp may have multiple ip addresses net interfaces bind waits passively accept assigned ephemeral blocks connect initiates communications with negotiation nee...

no reviews yet
Please Login to review.