Presentation is loading. Please wait.

Presentation is loading. Please wait.

Networking OSI (Open Systems Interconnection) model of computer networking, seven layers (the Application, Presentation, Session, Transport, Network, Data.

Similar presentations


Presentation on theme: "Networking OSI (Open Systems Interconnection) model of computer networking, seven layers (the Application, Presentation, Session, Transport, Network, Data."— Presentation transcript:

1 Networking OSI (Open Systems Interconnection) model of computer networking, seven layers (the Application, Presentation, Session, Transport, Network, Data Link, and Physical Layers) Internet Protocol Stack, five layers (the Application, Transport, Network, Data Link, and Physical Layers) Internet controlled by OS controlled by app developer transport application physical link network process transport application physical link network process socket

2 Networking TCP/IP (Transmission Control Protocol/Internet Protocol) –reliable, byte stream-oriented (reliable transfer of bytes from one process to another) UDP/IP (User Datagram Protocol) –unreliable datagram Connection model: connection-oriented and connectionless communication Socket : a host-local, application-created, OS-controlled interface into which, application process can both send and receive messages to/from another application process

3 Socket programming with TCP client must contact server server process must first be running server must have created socket that welcomes client’s contact client contacts server by: Creating 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 that particular client –allows server to talk with multiple clients –source port numbers used to distinguish clients TCP provides reliable, in-order byte-stream transfer (“pipe”) between client and server application viewpoint:

4 TCP Socket Communications Listener Socket (Thread) Client Socket (Thread) Server Socket 1 (Thread) Server Socket 2 (Thread) Server Socket i (Thread) Server Client Connect Communicate Accept

5 TCP Sockets in C++/CLI TcpListener ^listener = gcnew TcpListener(IPAddress::Any, 12345); listener->Start(); Socket connection = listener- >AcceptSocket(); NetworkStream ^socketStream = gcnew NetworkStream( connection ); BinaryWriter ^writer = gcnew BinaryWriter( socketStream ); BinaryReader ^reader = gcnew BinaryReader( socketStream ); reader->ReadString() and writer- >Write(); writer->Close(); reader->Close(); socketStream->Close(); connection- >Close(); TcpClient ^client = gcnew TcpClient(); client->Connect( L"localhost", 12345 ) NetworkStream ^clientStream = gcnew NetworkStream( client ); BinaryWriter ^writer = gcnew BinaryWriter( clientStream ); BinaryReader ^reader = gcnew BinaryReader( clientStream ); reader->ReadString() and writer- >Write(); writer->Close(); reader->Close(); clientStream->Close(); client- >Close(); Server Client

6 Client/server socket interaction: TCP wait for incoming connection request Socket connection = listener->AcceptSocket(); create listener socket, port= x, for incoming request: TcpListener ^listener = gcnew TcpListener(IPAddress::Any, x); listener->Start(); create socket, connect to hostid, port= x TcpClient ^client = gcnew TcpClient(); client->Connect( hostid, x); Close socket connection read reply from socket client Close socket client Server (running on hostid ) Client send request using Socket client read request from socket connection write reply to socket connection TCP connection setup

7 An Example


Download ppt "Networking OSI (Open Systems Interconnection) model of computer networking, seven layers (the Application, Presentation, Session, Transport, Network, Data."

Similar presentations


Ads by Google