Fundamentals of Symbian OS. Sockets. Copyright Symbian Software Ltd.

Size: px
Start display at page:

Download "Fundamentals of Symbian OS. Sockets. Copyright 2001-2007 Symbian Software Ltd."

Transcription

1

2 File Server and Streams This lecture Gives an initial overview of the function of sockets in communications Describes the sockets implementation on Symbian OS Including The socket server architecture The main classes used The role and features of protocol module plug-ins 2

3 Curriculum Objectives Introducing Recognize correct high-level statements which define and describe a network socket Recognize correct statements about transport independence Know the difference between connected and connectionless sockets Differentiate between streamed and datagram communication and their relationship with connected/connectionless sockets 3

4 Introducing Were formally defined by the Lincoln Laboratory MIT In the 1971 RFC147 paper The University of California, Berkeley Introduced what would become the de facto sockets API The BSD Unix 4.2 release during the 1980s During this lecture We will focus on the network sockets Note sockets may be used for a number of different technologies Including infrared, USB and Bluetooth 4

5 Typical Socket Properties A socket Is a communication endpoint between two or more software processes Communication is two-way: Either a direct peer-to-peer relation Where two similar processes communicate Or a client server relationship With each of the communicating processes performs a different role For example: An internet browser and a web server 5

6 Typical Socket Properties A socket Has three characteristics or parameters: 1. The communication domain The address family or format of the socket For example: an Internet socket (KAfInet) has an address and port number 2. The socket type Typically streaming connected or datagram connectionless These are indicated by use of either KSockStream or KSockDatagram 3. Transport protocol that is relevant to the domain A streaming Internet socket would typically use TCP/IP by use of KProtocolInetTcp 6

7 Typical Socket Properties A typical TCP/IP Symbian OS socket Would be specified as follows: isocket.open(isocketserv, KAfInet, KSockStream, KProtocolInetTcp); More practical details coming up shortly 7

8 Connection and Connectionless A connection-oriented communication protocol Establishes an end-to-end connection before any data is sent The presence of a connection allows certain guarantees As it has a state that is order of delivery, data arrival and error control It is often referred to as reliable. 8

9 Connection and Connectionless A connectionless communication protocol Requires the destination address each time data is sent It is used for sending datagrams only As there is no pre-established end-to-end connection There is no of state Whenever a packet arrives It is treated completely independently of the preceding one Thus a datagram socket cannot provide guarantees of order, duplication or delivery Typically referred to as unreliable 9

10 Blocking and Non-blocking may operate in one of two modes Blocking and non-blocking An operation on a blocking socket Is synchronous The socket does not return control to the calling programming Until it has completed the operation An operation on a non-blocking socket Is asynchronous Returns control immediately Requires additional infrastructure to monitor the data (arrives/completes) 10

11 The OSI Reference Model and Network To provide a context For how network sockets are used We will briefly examine the UDP/TCP/IP layers (Transport and Network) Of the Open Systems Interconnection (OSI) reference model The OSI model is a 7-layer model Encapsulating each layer of communication functionality Providing the layer above it with meaningful semantics and implementation independence 11

12 The OSI Reference Model and Network Layer Example Units/Representation Application HTTP, SMTP Presentation Session NCP, SMB TLS, RPC Transport TCP, UDP Segments Network IP Packets Data Link Ethernet, WiFi Frames Physical 100BASE-T, WiFi transceiver Typically bits The application, presentation and session layers For TCP/IP are dealt with as a single entity Providing suitable protocols and a relevant API to general applications 12

13 The OSI Reference Model and Network The transport layer Sends and receives segments of data The network layer Further breaks the segments up into packets on transmitting data Reassembling packets into segments on receiving data Each packet contains addressing information and relevant control information as well as the data payload The data link layer Provides synchronization error- and flow control of frames over the physical layer The physical layer Deals with the hardware medium 13

14 The OSI Reference Model and Network TCP is a transport-level Connection-oriented protocol Provides built-in flow control for reliable transfer of data Between network nodes or processes TCP is packaged and sent over the network-layer IP protocol 14

15 The OSI Reference Model and Network UDP is a transport-level Connectionless protocol More lightweight than TCP Does not: Any confirmation the packet has arrived at its destination Perform any retransmissions on errors Handshaking of any kind UDP is used Where speed is an issue and reliability is not crucial For example: In network multiplayer games 15

16 The OSI Reference Model and Network IP is the network-level protocol Over which both TCP and UDP are layered TCP and UDP packets reside within the data area of an IP packet IP is connectionless Data is transferred via packets that flow from a source to a destination Symbian OS includes socket support For TCP, UDP and IP for Internet and local network communications 16

17 Note There are other kinds of socket For example Bluetooth and infrared And additional Address Families which are not generally supported by Symbian OS As well as Streaming and datagram socket types there are others including: Raw sockets, where the header and data payload is provided Sequence, which ensures the correct order without using a streamed connection Reliably Delivered Message (RDM) 17

18 Curriculum Objectives The Symbian OS Architecture Demonstrate a basic understanding of the support for sockets on Symbian OS Recognize the characteristics of the RSocketServ, RSocket and RHostResolver classes Understand the role and purpose of PRT protocol modules 18

19 The Symbian OS Architecture Symbian OS provides a socket framework Which supplies a C++ API similar to the BSD C-based socket API Supporting communication using the Internet protocol suite Allows for other types of communication including Bluetooth, USB and IR The lower layers Of the communications ( comms ) architecture handle any communication differences So that the sockets API can be used in a transport-independent way We will now examine The framework and plug-ins architecture The main classes used for sockets programming on Symbian OS 19

20 Framework and Protocol Module Plug-ins The Symbian OS comms system provides Support for dynamically loaded protocol modules The use of the socket API means That application code written for use with one protocol Can be modified simply to use a different protocol The Symbian OS sockets server provides Communications between addressable endpoints (sockets) Called ESOCK.EXE 20

21 Overview of ESOCK Client-Server Relationship esock.exe TCP/IP Bluetooth Server contains a plugin framework (*.prt) to allow different protocols to provide socket services Server IPC communication channel to the socket server esock.lib IPC boundary Session RHandleBase RSessionBase RSocketServ SubSession RSubSessionBase RCommsSubSession RSocket Socket oriented API Client 21

22 Framework and Protocol Module Plug-ins Supports a number of different protocols Bluetooth (L2CAP and RFCOMM) USB IR (IrDA, IrTinyTP and IrMUX) The protocols are supplied by plug-in DLLs Called protocol modules (PRTs) Which the server loads and unloads as required One protocol module can contain multiple protocols For example the TCPIP.PRT protocol module Contains UDP, TCP, ICMP, IP, and DNS UDP and TCP are accessible via sockets To transfer data over IP 22

23 Framework and Protocol Module Plug-ins The Symbian OS sockets APIs Are published in es_sock.h Calling code uses the client-side implementation classes provided by esock.dll The socket server s client-side APIs Make asynchronous calls to the server Which coordinates client access to the socket services Protocol modules provide support for the particular networking protocol requested 23

24 Framework and Protocol Module Plug-ins In addition to the following Connecting to sockets Hostname resolution Reading and writing data The sockets framework also supports Querying for protocol information Allowing calling code to determine Which sockets protocols are supported on a phone 24

25 RSocketServ RSocketServ RHandleBase RSocketServ Is the client-side implementation class Which communicates with the socket server Analogous to the RFs client-side class for file server communication 25

26 RSocketServ For code to make requests to the socket server An object of RSocketServ must be instantiated A session with the socket server established by calling Connect() The prime use for instances of RSocketServ Is to establish subsession communications For RSocket and RHostResolver 26

27 Any of the RSocket objects RSocketServ Which are opened using the session are automatically closed When the session is terminated through a call to RSocketServ::Close() Cannot be re-used However It is recommended to call Close() on each subsession object Before closing the session RSocketServ can be used To pre-load a PRT by calling the asynchronous function RSocketServ::StartProtocol() 27

28 RSocketServ However Client programs do not normally need to call RSocketServ::StartProtocol() As loading a protocol is managed automatically by the sockets server When a socket of that protocol is opened Some applications May need to ensure that an open socket call will not take a significant amount of time So make use of StartProtocol() For example applications using IrCOMM 28

29 RSocketServ RSocketServ::GetProtocolInfo() Can be used to acquire a comprehensive description of a protocol s capabilities and properties Returned in a TProtocolDesc object RSocketServ::NumProtocols() Can be used to acquire the number of protocols the socket server is currently aware of RSocketServ Is not used to send/receive data or establish connections The RSocket subsessions provide APIs to invoke these functions 29

30 RSocket RSocket RCommsSubSession RSocket Is the endpoint for all socket-based communications The class is a subsession of RSocketServ Each object instantiated represents a single socket 30

31 RSocket The methods of RSocket correspond For the most part with the BSD network API functions The client socket interface allows: Socket opening Active connecting Data read from and write to a protocol Passive connections (through the listen/accept model) 31

32 RHostResolver RHostResolver RCommsSubSession RHostResolver Is used for hostname resolution Providing a generic interface to protocol-specific host-resolution services 32

33 RHostResolver For example IP addresses are hard for people to remember So domain names, are used instead It is much easier to remember Than it is to remember ! The hostname resolution service Used in the internet is the Domain Name System (DNS) DNS translates human-readable domain names to IP addresses 33

34 RHostResolver The RHostResolver class Provides methods for getting an IP address given a domain name And a domain name given an IP address Thus RHostResolver::GetByName() Converts the server name to an IP address 34

35 RHostResolver For Bluetooth and infrared The resolution interface can be used to discover Which other devices are available to communicate using those protocols Queries made through RHostResolver objects Are packaged in TNameEntry descriptors Which hold TNameRecord objects Containing the host name and address 35

36 RHostResolver RHostResolver Also provides functions to allow Getting and setting the hostname of the local device Since the interface is generic Implementation is provided by each protocol module individually Not all protocol modules provide all services offered by RHostResolver 36

37 RHostResolver If the protocol does not support a given operation Functions return KErrNotSupported RHostResolver is a subsession Of an active socket server session A host resolver subsession is opened for a specific protocol by passing an appropriate identifier 37

38 Curriculum Objectives Using Symbian OS Recognize correct patterns for opening and configuring connected and connectionless sockets Know which RSocket API methods should be used for connected and unconnected sockets to send and receive data Know the characteristics of the synchronous and asynchronous methods for closing an RSocket subsession 38

39 Initialization and Socket Opening Before an RSocket subsession can be opened A session with the socket server must be created Through a call to RSocketServ::Connect() Once a server session is acquired A socket can be opened by calling one of the overloads of RSocket::Open() Each of which takes the connected socket server session as a parameter Other parameters that can be specified include The protocol type The socket type (stream-interface or datagram) The address family of the socket 39

40 Configuring and Connecting Once a socket is open It is configured differently Depending on whether the socket is connectionless or connectionoriented Connectionless sockets Are configured with a local address Use special versions of I/O calls That include the remote socket address The RSocket::Bind() method Assigns the local address to a connectionless socket 40

41 Configuring and Connecting Before it is possible to send or receive data A call to RSocket::Open() followed by RSocket::Bind() must occur Once the connectionless socket is bound to a local address It is ready to send or receive data Using SendTo() or RecvFrom() Each specifying the remote address 41

42 Configuring and Connecting Connected sockets Are configured with the address of the remote socket So that they remain tied together for the duration of the connection A client socket makes a call To the asynchronous RSocket::Connect() method Passing in the address to connect to the remote socket Waiting for the remote side to complete the connection If a socket is unbound That is if Bind() has not yet been called on it It will automatically have a local address assigned to it 42

43 Configuring and Connecting A server socket Must use two sockets One bound to a local address By a call to Bind() Is used to listen for an incoming connection from a client Using RSocket::Listen() A second blank socket Is passed to RSocket::Accept() To accept a connection once it has been detected 43

44 Configuring and Connecting The initial Listen() method Is synchronous Sets up the bound socket with a queue Used for collecting connection requests The Accept() method Is asynchronous Waiting for incoming connections When the asynchronous connection completes The blank socket is given the handle of the new socket It may then be used to transfer data 44

45 Configuring and Connecting It is also possible to call Connect() On a connectionless socket The Bind() call can be omitted Send(), Write() and Recv() can be used instead This allows Software initially written to use connection-oriented protocols To be quickly ported to use a connectionless one 45

46 RSocket::RecvFrom() Reading and writing with connectionless sockets Requires the remote address to be specified in the I/O request RSocket::RecvFrom() method should be used To read from a connectionless socket Rather than Read(), Recv() or RecvOneOrMore() methods Which should only be used with connected sockets 46

47 RSocket::RecvOneOrMore() RSocket::RecvOneOrMore() Is an asynchronous request Completes when any data is available from the connection The receive buffer Is specified as an 8-bit descriptor The received data is added to this buffer The size of the descriptor is updated To match the number of bytes received 47

48 Reading from For Stream-interfaced sockets Such as TCP, RSocket::Recv() will not complete Until the entire descriptor is filled with data Specified by the maximum length of the receive descriptor Unlike RecvOneOrMore() Which completes when any amount of data is received Unless it is known how much data will be received Recv() should not be used for TCP Or other stream-interfaced protocols 48

49 RSocket::RecvFrom() RSocket::RecvFrom() Receives UDP data and supplies: The data received The address of the endpoint that sent the data All reading methods Are asynchronous And supply a buffer to receive the data Where there is a cancellation method The state of a socket after a read has been cancelled Is defined by the characteristics of the protocol 49

50 RSocket::SendTo() RSocket::SendTo() Is used to write to a connectionless socket Which has these parameters The address to which to send the datagram A buffer of data Flags to control the transfer Blocking behavior is controlled By passing protocol-specific flags to the call Indicating whether to wait for a receipt 50

51 RSocket::Write() RSocket::Write() Is used to write to connected sockets Does not need address information for the remote endpoint It is an asynchronous method Taking a descriptor parameter Passing the entire buffer to the remote socket 51

52 RSocket::Send() RSocket::Send() Can also be used for connected sockets As an alternative to RSocket::Write() Various Send() overloads Allow for control over the amount of data sent from the buffer And for passing flags to the underlying protocol module To configure the I/O All implementations provided For reading from and writing to connected sockets are asynchronous Each has a corresponding cancellation method 52

53 Closing When a socket is closed The protocol layers in the connection may also shut down A socket may have pending connection requests Or buffers with data ready to be retrieves RSocket::CancelAll() Called to close the socket gracefully It cancels any outstanding asynchronous operations waiting on data or connections 53

54 RSocket::Close() RSocket::Close() Used to close the socket synchronously Causing the operating system to release any resources dedicated to it This is the typical way to close a connectionless socket It is recommended when there are no pending operations or buffered data waiting. 54

55 Closing For connection-oriented protocols It is usual to disconnect before closing the socket RSocket::Shutdown() Is asynchronous Takes a flag to indicate how to close the socket Used to disconnect the connection For example To drain the socket By waiting for both output and input buffers to empty Or to stop input but drain the output Socket shutdown cannot be cancelled once it has been called 55

56 Curriculum Check List Introducing The Symbian OS Architecture Using Symbian OS 56

Objectives of Lecture. Network Architecture. Protocols. Contents

Objectives of Lecture. Network Architecture. Protocols. Contents Objectives of Lecture Network Architecture Show how network architecture can be understood using a layered approach. Introduce the OSI seven layer reference model. Introduce the concepts of internetworking

More information

Network Programming TDC 561

Network Programming TDC 561 Network Programming TDC 561 Lecture # 1 Dr. Ehab S. Al-Shaer School of Computer Science & Telecommunication DePaul University Chicago, IL 1 Network Programming Goals of this Course: Studying, evaluating

More information

CPS221 Lecture: Layered Network Architecture

CPS221 Lecture: Layered Network Architecture CPS221 Lecture: Layered Network Architecture Objectives last revised 9/10/12 1. To discuss the OSI layered architecture model 2. To discuss the specific implementation of this model in TCP/IP Materials:

More information

Limi Kalita / (IJCSIT) International Journal of Computer Science and Information Technologies, Vol. 5 (3), 2014, 4802-4807. Socket Programming

Limi Kalita / (IJCSIT) International Journal of Computer Science and Information Technologies, Vol. 5 (3), 2014, 4802-4807. Socket Programming Socket Programming Limi Kalita M.Tech Student, Department of Computer Science and Engineering, Assam Down Town University, Guwahati, India. Abstract: The aim of the paper is to introduce sockets, its deployment

More information

Network Programming with Sockets. Process Management in UNIX

Network Programming with Sockets. Process Management in UNIX Network Programming with Sockets This section is a brief introduction to the basics of networking programming using the BSD Socket interface on the Unix Operating System. Processes in Unix Sockets Stream

More information

Protocols and Architecture. Protocol Architecture.

Protocols and Architecture. Protocol Architecture. Protocols and Architecture Protocol Architecture. Layered structure of hardware and software to support exchange of data between systems/distributed applications Set of rules for transmission of data between

More information

Lecture 28: Internet Protocols

Lecture 28: Internet Protocols Lecture 28: Internet Protocols 15-110 Principles of Computing, Spring 2016 Dilsun Kaynar, Margaret Reid-Miller, Stephanie Balzer Reminder: Exam 2 Exam 2 will take place next Monday, on April 4. Further

More information

Transport Layer Protocols

Transport Layer Protocols Transport Layer Protocols Version. Transport layer performs two main tasks for the application layer by using the network layer. It provides end to end communication between two applications, and implements

More information

Overview. Securing TCP/IP. Introduction to TCP/IP (cont d) Introduction to TCP/IP

Overview. Securing TCP/IP. Introduction to TCP/IP (cont d) Introduction to TCP/IP Overview Securing TCP/IP Chapter 6 TCP/IP Open Systems Interconnection Model Anatomy of a Packet Internet Protocol Security (IPSec) Web Security (HTTP over TLS, Secure-HTTP) Lecturer: Pei-yih Ting 1 2

More information

Ethernet. Ethernet. Network Devices

Ethernet. Ethernet. Network Devices Ethernet Babak Kia Adjunct Professor Boston University College of Engineering ENG SC757 - Advanced Microprocessor Design Ethernet Ethernet is a term used to refer to a diverse set of frame based networking

More information

Network-Oriented Software Development. Course: CSc4360/CSc6360 Instructor: Dr. Beyah Sessions: M-W, 3:00 4:40pm Lecture 2

Network-Oriented Software Development. Course: CSc4360/CSc6360 Instructor: Dr. Beyah Sessions: M-W, 3:00 4:40pm Lecture 2 Network-Oriented Software Development Course: CSc4360/CSc6360 Instructor: Dr. Beyah Sessions: M-W, 3:00 4:40pm Lecture 2 Topics Layering TCP/IP Layering Internet addresses and port numbers Encapsulation

More information

Operating Systems Design 16. Networking: Sockets

Operating Systems Design 16. Networking: Sockets Operating Systems Design 16. Networking: Sockets Paul Krzyzanowski pxk@cs.rutgers.edu 1 Sockets IP lets us send data between machines TCP & UDP are transport layer protocols Contain port number to identify

More information

Networking Test 4 Study Guide

Networking Test 4 Study Guide Networking Test 4 Study Guide True/False Indicate whether the statement is true or false. 1. IPX/SPX is considered the protocol suite of the Internet, and it is the most widely used protocol suite in LANs.

More information

ELEN 602: Computer Communications and Networking. Socket Programming Basics

ELEN 602: Computer Communications and Networking. Socket Programming Basics 1 ELEN 602: Computer Communications and Networking Socket Programming Basics A. Introduction In the classic client-server model, the client sends out requests to the server, and the server does some processing

More information

The OSI Model and the TCP/IP Protocol Suite PROTOCOL LAYERS. Hierarchy. Services THE OSI MODEL

The OSI Model and the TCP/IP Protocol Suite PROTOCOL LAYERS. Hierarchy. Services THE OSI MODEL The OSI Model and the TCP/IP Protocol Suite - the OSI model was never fully implemented. - The TCP/IP protocol suite became the dominant commercial architecture because it was used and tested extensively

More information

EITF25 Internet Techniques and Applications L5: Wide Area Networks (WAN) Stefan Höst

EITF25 Internet Techniques and Applications L5: Wide Area Networks (WAN) Stefan Höst EITF25 Internet Techniques and Applications L5: Wide Area Networks (WAN) Stefan Höst Data communication in reality In reality, the source and destination hosts are very seldom on the same network, for

More information

SFWR 4C03: Computer Networks & Computer Security Jan 3-7, 2005. Lecturer: Kartik Krishnan Lecture 1-3

SFWR 4C03: Computer Networks & Computer Security Jan 3-7, 2005. Lecturer: Kartik Krishnan Lecture 1-3 SFWR 4C03: Computer Networks & Computer Security Jan 3-7, 2005 Lecturer: Kartik Krishnan Lecture 1-3 Communications and Computer Networks The fundamental purpose of a communication network is the exchange

More information

Basic Networking Concepts. 1. Introduction 2. Protocols 3. Protocol Layers 4. Network Interconnection/Internet

Basic Networking Concepts. 1. Introduction 2. Protocols 3. Protocol Layers 4. Network Interconnection/Internet Basic Networking Concepts 1. Introduction 2. Protocols 3. Protocol Layers 4. Network Interconnection/Internet 1 1. Introduction -A network can be defined as a group of computers and other devices connected

More information

The OSI and TCP/IP Models. Lesson 2

The OSI and TCP/IP Models. Lesson 2 The OSI and TCP/IP Models Lesson 2 Objectives Exam Objective Matrix Technology Skill Covered Exam Objective Exam Objective Number Introduction to the OSI Model Compare the layers of the OSI and TCP/IP

More information

Chapter 3. Internet Applications and Network Programming

Chapter 3. Internet Applications and Network Programming Chapter 3 Internet Applications and Network Programming 1 Introduction The Internet offers users a rich diversity of services none of the services is part of the underlying communication infrastructure

More information

Transport and Network Layer

Transport and Network Layer Transport and Network Layer 1 Introduction Responsible for moving messages from end-to-end in a network Closely tied together TCP/IP: most commonly used protocol o Used in Internet o Compatible with a

More information

Transport Layer. Chapter 3.4. Think about

Transport Layer. Chapter 3.4. Think about Chapter 3.4 La 4 Transport La 1 Think about 2 How do MAC addresses differ from that of the network la? What is flat and what is hierarchical addressing? Who defines the IP Address of a device? What is

More information

Overview of TCP/IP. TCP/IP and Internet

Overview of TCP/IP. TCP/IP and Internet Overview of TCP/IP System Administrators and network administrators Why networking - communication Why TCP/IP Provides interoperable communications between all types of hardware and all kinds of operating

More information

Indian Institute of Technology Kharagpur. TCP/IP Part I. Prof Indranil Sengupta Computer Science and Engineering Indian Institute of Technology

Indian Institute of Technology Kharagpur. TCP/IP Part I. Prof Indranil Sengupta Computer Science and Engineering Indian Institute of Technology Indian Institute of Technology Kharagpur TCP/IP Part I Prof Indranil Sengupta Computer Science and Engineering Indian Institute of Technology Kharagpur Lecture 3: TCP/IP Part I On completion, the student

More information

The OSI model has seven layers. The principles that were applied to arrive at the seven layers can be briefly summarized as follows:

The OSI model has seven layers. The principles that were applied to arrive at the seven layers can be briefly summarized as follows: 1.4 Reference Models Now that we have discussed layered networks in the abstract, it is time to look at some examples. In the next two sections we will discuss two important network architectures, the

More information

The OSI Model and the TCP/IP Protocol Suite

The OSI Model and the TCP/IP Protocol Suite The OSI Model and the TCP/IP Protocol Suite To discuss the idea of multiple layering in data communication and networking and the interrelationship between layers. To discuss the OSI model and its layer

More information

Communications and Computer Networks

Communications and Computer Networks SFWR 4C03: Computer Networks and Computer Security January 5-8 2004 Lecturer: Kartik Krishnan Lectures 1-3 Communications and Computer Networks The fundamental purpose of a communication system is the

More information

Chapter 11. User Datagram Protocol (UDP)

Chapter 11. User Datagram Protocol (UDP) Chapter 11 User Datagram Protocol (UDP) The McGraw-Hill Companies, Inc., 2000 1 CONTENTS PROCESS-TO-PROCESS COMMUNICATION USER DATAGRAM CHECKSUM UDP OPERATION USE OF UDP UDP PACKAGE The McGraw-Hill Companies,

More information

Internet Concepts. What is a Network?

Internet Concepts. What is a Network? Internet Concepts Network, Protocol Client/server model TCP/IP Internet Addressing Development of the Global Internet Autumn 2004 Trinity College, Dublin 1 What is a Network? A group of two or more devices,

More information

TCP/IP Programming. Joel Snyder, Opus1 Geoff Bryant, Process Software

TCP/IP Programming. Joel Snyder, Opus1 Geoff Bryant, Process Software TCP/IP Programming Joel Snyder, Opus1 Geoff Bryant, Process Software Portions Copyright 1996 TGV Software, Inc., Copyright 1996 Process Software Corp. Copyright 1996 Opus1 Course Roadmap Slide 2 NM055

More information

Overview of Computer Networks

Overview of Computer Networks Overview of Computer Networks Client-Server Transaction Client process 4. Client processes response 1. Client sends request 3. Server sends response Server process 2. Server processes request Resource

More information

Computer Networks. Chapter 5 Transport Protocols

Computer Networks. Chapter 5 Transport Protocols Computer Networks Chapter 5 Transport Protocols Transport Protocol Provides end-to-end transport Hides the network details Transport protocol or service (TS) offers: Different types of services QoS Data

More information

Cape Girardeau Career Center CISCO Networking Academy Bill Link, Instructor. 2.,,,, and are key services that ISPs can provide to all customers.

Cape Girardeau Career Center CISCO Networking Academy Bill Link, Instructor. 2.,,,, and are key services that ISPs can provide to all customers. Name: 1. What is an Enterprise network and how does it differ from a WAN? 2.,,,, and are key services that ISPs can provide to all customers. 3. Describe in detail what a managed service that an ISP might

More information

Socket = an interface connection between two (dissimilar) pipes. OS provides this API to connect applications to networks. home.comcast.

Socket = an interface connection between two (dissimilar) pipes. OS provides this API to connect applications to networks. home.comcast. Interprocess communication (Part 2) For an application to send something out as a message, it must arrange its OS to receive its input. The OS is then sends it out either as a UDP datagram on the transport

More information

CS101 Lecture 19: Internetworking. What You ll Learn Today

CS101 Lecture 19: Internetworking. What You ll Learn Today CS101 Lecture 19: Internetworking Internet Protocol IP Addresses Routing Domain Name Services Aaron Stevens (azs@bu.edu) 6 March 2013 What You ll Learn Today What is the Internet? What does Internet Protocol

More information

Network Layers. CSC358 - Introduction to Computer Networks

Network Layers. CSC358 - Introduction to Computer Networks Network Layers Goal Understand how application processes set up a connection and exchange messages. Understand how addresses are determined Data Exchange Between Application Processes TCP Connection-Setup

More information

What is CSG150 about? Fundamentals of Computer Networking. Course Outline. Lecture 1 Outline. Guevara Noubir noubir@ccs.neu.

What is CSG150 about? Fundamentals of Computer Networking. Course Outline. Lecture 1 Outline. Guevara Noubir noubir@ccs.neu. What is CSG150 about? Fundamentals of Computer Networking Guevara Noubir noubir@ccs.neu.edu CSG150 Understand the basic principles of networking: Description of existing networks, and networking mechanisms

More information

Data Communication Networks and Converged Networks

Data Communication Networks and Converged Networks Data Communication Networks and Converged Networks The OSI Model and Encapsulation Layer traversal through networks Protocol Stacks Converged Data/Telecommunication Networks From Telecom to Datacom, Asynchronous

More information

presentation DAD Distributed Applications Development Cristian Toma

presentation DAD Distributed Applications Development Cristian Toma Lecture 5 S2 - Summary of Network Protocols Programming in JSE for Distributed Systems Section 2 presentation DAD Distributed Applications Development Cristian Toma D.I.C.E/D.E.I.C Department of Economic

More information

Understanding TCP/IP. Introduction. What is an Architectural Model? APPENDIX

Understanding TCP/IP. Introduction. What is an Architectural Model? APPENDIX APPENDIX A Introduction Understanding TCP/IP To fully understand the architecture of Cisco Centri Firewall, you need to understand the TCP/IP architecture on which the Internet is based. This appendix

More information

Topics. Computer Networks. Let s Get Started! Computer Networks: Our Definition. How are Networks Used by Computers? Computer Network Components

Topics. Computer Networks. Let s Get Started! Computer Networks: Our Definition. How are Networks Used by Computers? Computer Network Components Topics Use of networks Network structure Implementation of networks Computer Networks Introduction Let s Get Started! Networking today: Where are they? Powerful computers are cheap Networks are everywhere

More information

IP Network Layer. Datagram ID FLAG Fragment Offset. IP Datagrams. IP Addresses. IP Addresses. CSCE 515: Computer Network Programming TCP/IP

IP Network Layer. Datagram ID FLAG Fragment Offset. IP Datagrams. IP Addresses. IP Addresses. CSCE 515: Computer Network Programming TCP/IP CSCE 515: Computer Network Programming TCP/IP IP Network Layer Wenyuan Xu Department of Computer Science and Engineering University of South Carolina IP Datagrams IP is the network layer packet delivery

More information

2057-15. First Workshop on Open Source and Internet Technology for Scientific Environment: with case studies from Environmental Monitoring

2057-15. First Workshop on Open Source and Internet Technology for Scientific Environment: with case studies from Environmental Monitoring 2057-15 First Workshop on Open Source and Internet Technology for Scientific Environment: with case studies from Environmental Monitoring 7-25 September 2009 TCP/IP Networking Abhaya S. Induruwa Department

More information

BASIC ANALYSIS OF TCP/IP NETWORKS

BASIC ANALYSIS OF TCP/IP NETWORKS BASIC ANALYSIS OF TCP/IP NETWORKS INTRODUCTION Communication analysis provides powerful tool for maintenance, performance monitoring, attack detection, and problems fixing in computer networks. Today networks

More information

Session NM059. TCP/IP Programming on VMS. Geoff Bryant Process Software

Session NM059. TCP/IP Programming on VMS. Geoff Bryant Process Software Session NM059 TCP/IP Programming on VMS Geoff Bryant Process Software Course Roadmap Slide 160 NM055 (11:00-12:00) Important Terms and Concepts TCP/IP and Client/Server Model Sockets and TLI Client/Server

More information

Note! The problem set consists of two parts: Part I: The problem specifications pages Part II: The answer pages

Note! The problem set consists of two parts: Part I: The problem specifications pages Part II: The answer pages Part I: The problem specifications NTNU The Norwegian University of Science and Technology Department of Telematics Note! The problem set consists of two parts: Part I: The problem specifications pages

More information

Introduction to TCP/IP

Introduction to TCP/IP Introduction to TCP/IP Raj Jain The Ohio State University Columbus, OH 43210 Nayna Networks Milpitas, CA 95035 Email: Jain@ACM.Org http://www.cis.ohio-state.edu/~jain/ 1 Overview! Internetworking Protocol

More information

Access Control: Firewalls (1)

Access Control: Firewalls (1) Access Control: Firewalls (1) World is divided in good and bad guys ---> access control (security checks) at a single point of entry/exit: in medieval castles: drawbridge in corporate buildings: security/reception

More information

Network Models and Protocols

Network Models and Protocols 669-5ch01.fm Page 1 Friday, April 12, 2002 2:01 PM C H A P T E R Network Models and Protocols 1 EXAM OBJECTIVES 1.1 Layered Network Models 1.2 The Layers of the TCP/IP 5-Layer Model 1.3 Network Protocols

More information

Introduction to Computer Networks

Introduction to Computer Networks Introduction to Computer Networks Chen Yu Indiana University Basic Building Blocks for Computer Networks Nodes PC, server, special-purpose hardware, sensors Switches Links: Twisted pair, coaxial cable,

More information

PART OF THE PICTURE: The TCP/IP Communications Architecture

PART OF THE PICTURE: The TCP/IP Communications Architecture PART OF THE PICTURE: The / Communications Architecture 1 PART OF THE PICTURE: The / Communications Architecture BY WILLIAM STALLINGS The key to the success of distributed applications is that all the terminals

More information

Internet Control Protocols Reading: Chapter 3

Internet Control Protocols Reading: Chapter 3 Internet Control Protocols Reading: Chapter 3 ARP - RFC 826, STD 37 DHCP - RFC 2131 ICMP - RFC 0792, STD 05 1 Goals of Today s Lecture Bootstrapping an end host Learning its own configuration parameters

More information

Windows Sockets Network Programming

Windows Sockets Network Programming Windows Sockets Network Programming Bob Quinn Dave Shute TT ADDISON-WESLEY PUBLISHING COMPANY Reading, Massachusetts Menlo Park, California New York Don Mills, Ontario Wokingham, England Amsterdam Bonn

More information

Computer Networks Network architecture

Computer Networks Network architecture Computer Networks Network architecture Saad Mneimneh Computer Science Hunter College of CUNY New York - Networks are like onions - They stink? - Yes, no, they have layers Shrek and Donkey 1 Introduction

More information

Course Overview: Learn the essential skills needed to set up, configure, support, and troubleshoot your TCP/IP-based network.

Course Overview: Learn the essential skills needed to set up, configure, support, and troubleshoot your TCP/IP-based network. Course Name: TCP/IP Networking Course Overview: Learn the essential skills needed to set up, configure, support, and troubleshoot your TCP/IP-based network. TCP/IP is the globally accepted group of protocols

More information

Mathatma Gandhi University

Mathatma Gandhi University Mathatma Gandhi University BSc Computer Science IV th semester BCS 402 Computer Network &Internet MULTIPLE CHOICE QUESTIONS 1. The computer network is A) Network computer with cable B) Network computer

More information

Introduction To Computer Networking

Introduction To Computer Networking Introduction To Computer Networking Alex S. 1 Introduction 1.1 Serial Lines Serial lines are generally the most basic and most common communication medium you can have between computers and/or equipment.

More information

Networking Overview. (as usual, thanks to Dave Wagner and Vern Paxson)

Networking Overview. (as usual, thanks to Dave Wagner and Vern Paxson) Networking Overview (as usual, thanks to Dave Wagner and Vern Paxson) Focus For This Lecture Sufficient background in networking to then explore security issues in next few lectures Networking = the Internet

More information

Application. Transport. Network. Data Link. Physical. Network Layers. Goal

Application. Transport. Network. Data Link. Physical. Network Layers. Goal Layers Goal Understand how application processes set up a connection and exchange messages. Understand how addresses are determined 1 2 Data Exchange Between Processes TCP Connection-Setup Between Processes

More information

RARP: Reverse Address Resolution Protocol

RARP: Reverse Address Resolution Protocol SFWR 4C03: Computer Networks and Computer Security January 19-22 2004 Lecturer: Kartik Krishnan Lectures 7-9 RARP: Reverse Address Resolution Protocol When a system with a local disk is bootstrapped it

More information

Computer Networks & Security 2014/2015

Computer Networks & Security 2014/2015 Computer Networks & Security 2014/2015 IP Protocol Stack & Application Layer (02a) Security and Embedded Networked Systems time Protocols A human analogy All Internet communication is governed by protocols!

More information

Computer Networks/DV2 Lab

Computer Networks/DV2 Lab Computer Networks/DV2 Lab Room: BB 219 Additional Information: http://www.fb9dv.uni-duisburg.de/ti/en/education/teaching/ss08/netlab Equipment for each group: - 1 Server computer (OS: Windows 2000 Advanced

More information

IP - The Internet Protocol

IP - The Internet Protocol Orientation IP - The Internet Protocol IP (Internet Protocol) is a Network Layer Protocol. IP s current version is Version 4 (IPv4). It is specified in RFC 891. TCP UDP Transport Layer ICMP IP IGMP Network

More information

Note! The problem set consists of two parts: Part I: The problem specifications pages Part II: The answer pages

Note! The problem set consists of two parts: Part I: The problem specifications pages Part II: The answer pages Part I: The problem specifications NTNU The Norwegian University of Science and Technology Department of Telematics Note! The problem set consists of two parts: Part I: The problem specifications pages

More information

Communication Networks. MAP-TELE 2011/12 José Ruela

Communication Networks. MAP-TELE 2011/12 José Ruela Communication Networks MAP-TELE 2011/12 José Ruela Network basic mechanisms Network Architectures Protocol Layering Network architecture concept A network architecture is an abstract model used to describe

More information

Lab 1: Packet Sniffing and Wireshark

Lab 1: Packet Sniffing and Wireshark Introduction CSC 5991 Cyber Security Practice Lab 1: Packet Sniffing and Wireshark The first part of the lab introduces packet sniffer, Wireshark. Wireshark is a free opensource network protocol analyzer.

More information

Lecture 2-ter. 2. A communication example Managing a HTTP v1.0 connection. G.Bianchi, G.Neglia, V.Mancuso

Lecture 2-ter. 2. A communication example Managing a HTTP v1.0 connection. G.Bianchi, G.Neglia, V.Mancuso Lecture 2-ter. 2 A communication example Managing a HTTP v1.0 connection Managing a HTTP request User digits URL and press return (or clicks ). What happens (HTTP 1.0): 1. Browser opens a TCP transport

More information

Computer Networks CS321

Computer Networks CS321 Computer Networks CS321 Dr. Ramana I.I.T Jodhpur Dr. Ramana ( I.I.T Jodhpur ) Computer Networks CS321 1 / 22 Outline of the Lectures 1 Introduction OSI Reference Model Internet Protocol Performance Metrics

More information

Internet Packets. Forwarding Datagrams

Internet Packets. Forwarding Datagrams Internet Packets Packets at the network layer level are called datagrams They are encapsulated in frames for delivery across physical networks Frames are packets at the data link layer Datagrams are formed

More information

How do I get to www.randomsite.com?

How do I get to www.randomsite.com? Networking Primer* *caveat: this is just a brief and incomplete introduction to networking to help students without a networking background learn Network Security. How do I get to www.randomsite.com? Local

More information

Computer Network. Interconnected collection of autonomous computers that are able to exchange information

Computer Network. Interconnected collection of autonomous computers that are able to exchange information Introduction Computer Network. Interconnected collection of autonomous computers that are able to exchange information No master/slave relationship between the computers in the network Data Communications.

More information

Module 1. Introduction. Version 2 CSE IIT, Kharagpur

Module 1. Introduction. Version 2 CSE IIT, Kharagpur Module 1 Introduction Lesson 2 Layered Network Architecture Specific Functional Objectives On Completion of this lesson, the students will be able to: State the requirement for layered approach Explain

More information

How Does Ping Really Work?

How Does Ping Really Work? How Does Ping Really Work? George Mays, Global Knowledge Course Director, CCISP, CCNA, A+, Network+, Security+, I-Net+ Introduction Ping is a basic Internet program that most of us use daily, but did you

More information

Socket Programming in C/C++

Socket Programming in C/C++ September 24, 2004 Contact Info Mani Radhakrishnan Office 4224 SEL email mradhakr @ cs. uic. edu Office Hours Tuesday 1-4 PM Introduction Sockets are a protocol independent method of creating a connection

More information

TCP/IP Fundamentals. OSI Seven Layer Model & Seminar Outline

TCP/IP Fundamentals. OSI Seven Layer Model & Seminar Outline OSI Seven Layer Model & Seminar Outline TCP/IP Fundamentals This seminar will present TCP/IP communications starting from Layer 2 up to Layer 4 (TCP/IP applications cover Layers 5-7) IP Addresses Data

More information

Layered Architectures and Applications

Layered Architectures and Applications 1 Layered Architectures and Applications Required reading: Garcia 2.1, 2.2, 2.3 CSE 3213, Fall 2010 Instructor: N. Vlajic 2 Why Layering?! 3 Montreal London Paris Alice wants to send a mail to Bob and

More information

Socket Programming. Request. Reply. Figure 1. Client-Server paradigm

Socket Programming. Request. Reply. Figure 1. Client-Server paradigm Socket Programming 1. Introduction In the classic client-server model, the client sends out requests to the server, and the server does some processing with the request(s) received, and returns a reply

More information

Guide to Network Defense and Countermeasures Third Edition. Chapter 2 TCP/IP

Guide to Network Defense and Countermeasures Third Edition. Chapter 2 TCP/IP Guide to Network Defense and Countermeasures Third Edition Chapter 2 TCP/IP Objectives Explain the fundamentals of TCP/IP networking Describe IPv4 packet structure and explain packet fragmentation Describe

More information

ICOM 5026-090: Computer Networks Chapter 6: The Transport Layer. By Dr Yi Qian Department of Electronic and Computer Engineering Fall 2006 UPRM

ICOM 5026-090: Computer Networks Chapter 6: The Transport Layer. By Dr Yi Qian Department of Electronic and Computer Engineering Fall 2006 UPRM ICOM 5026-090: Computer Networks Chapter 6: The Transport Layer By Dr Yi Qian Department of Electronic and Computer Engineering Fall 2006 Outline The transport service Elements of transport protocols A

More information

Introduction to Socket Programming Part I : TCP Clients, Servers; Host information

Introduction to Socket Programming Part I : TCP Clients, Servers; Host information Introduction to Socket Programming Part I : TCP Clients, Servers; Host information Keywords: sockets, client-server, network programming-socket functions, OSI layering, byte-ordering Outline: 1.) Introduction

More information

FIREWALLS & NETWORK SECURITY with Intrusion Detection and VPNs, 2 nd ed. Chapter 2 An Introduction to Networking

FIREWALLS & NETWORK SECURITY with Intrusion Detection and VPNs, 2 nd ed. Chapter 2 An Introduction to Networking FIREWALLS & NETWORK SECURITY with Intrusion Detection and VPNs, 2 nd ed. Chapter 2 An Introduction to Networking Learning Objectives Upon completion of this chapter, you should be able to: Describe the

More information

The TCP/IP Reference Model

The TCP/IP Reference Model The TCP/IP Reference Model The TCP/IP Model Comparison to OSI Model Example Networks The TCP/IP Model Origins from ARPANET, DoD research network ARPA - Advanced Research Projects Agency Reliability was

More information

Computer Networks UDP and TCP

Computer Networks UDP and TCP Computer Networks UDP and TCP Saad Mneimneh Computer Science Hunter College of CUNY New York I m a system programmer specializing in TCP/IP communication protocol on UNIX systems. How can I explain a thing

More information

Computer Networks - Xarxes de Computadors

Computer Networks - Xarxes de Computadors Computer Networks - Xarxes de Computadors Teacher: Llorenç Cerdà Slides: http://studies.ac.upc.edu/fib/grau/xc Outline Course Syllabus Unit 2. IP Networks Unit 3. TCP Unit 4. LANs Unit 5. Network applications

More information

Guide to TCP/IP, Third Edition. Chapter 3: Data Link and Network Layer TCP/IP Protocols

Guide to TCP/IP, Third Edition. Chapter 3: Data Link and Network Layer TCP/IP Protocols Guide to TCP/IP, Third Edition Chapter 3: Data Link and Network Layer TCP/IP Protocols Objectives Understand the role that data link protocols, such as SLIP and PPP, play for TCP/IP Distinguish among various

More information

Module 1: Reviewing the Suite of TCP/IP Protocols

Module 1: Reviewing the Suite of TCP/IP Protocols Module 1: Reviewing the Suite of TCP/IP Protocols Contents Overview 1 Lesson: Overview of the OSI Model 2 Lesson: Overview of the TCP/IP Protocol Suite 7 Lesson: Viewing Frames Using Network Monitor 14

More information

Socket Programming. Srinidhi Varadarajan

Socket Programming. Srinidhi Varadarajan Socket Programming Srinidhi Varadarajan Client-server paradigm Client: initiates contact with server ( speaks first ) typically requests service from server, for Web, client is implemented in browser;

More information

Internet Architecture and Philosophy

Internet Architecture and Philosophy Internet Architecture and Philosophy Conceptually, TCP/IP provides three sets of services to the user: Application Services Reliable Transport Service Connectionless Packet Delivery Service The underlying

More information

How To Understand The Internet Of S (Netware)

How To Understand The Internet Of S (Netware) Summer Workshop on Cyber Security Computer s Security (Part 1) Dr. Hamed Mohsenian-Rad University of California at Riverside and Texas Tech University August 12-16, 2013 Supported by National Science Foundation

More information

Protocol Data Units and Encapsulation

Protocol Data Units and Encapsulation Chapter 2: Communicating over the 51 Protocol Units and Encapsulation For application data to travel uncorrupted from one host to another, header (or control data), which contains control and addressing

More information

It is the thinnest layer in the OSI model. At the time the model was formulated, it was not clear that a session layer was needed.

It is the thinnest layer in the OSI model. At the time the model was formulated, it was not clear that a session layer was needed. Session Layer The session layer resides above the transport layer, and provides value added services to the underlying transport layer services. The session layer (along with the presentation layer) add

More information

Agenda. Distributed System Structures. Why Distributed Systems? Motivation

Agenda. Distributed System Structures. Why Distributed Systems? Motivation Agenda Distributed System Structures CSCI 444/544 Operating Systems Fall 2008 Motivation Network structure Fundamental network services Sockets and ports Client/server model Remote Procedure Call (RPC)

More information

Data Link Protocols. TCP/IP Suite and OSI Reference Model

Data Link Protocols. TCP/IP Suite and OSI Reference Model Data Link Protocols Relates to Lab. This module covers data link layer issues, such as local area networks (LANs) and point-to-point links, Ethernet, and the Point-to-Point Protocol (PPP). 1 TCP/IP Suite

More information

CSE 3461 / 5461: Computer Networking & Internet Technologies

CSE 3461 / 5461: Computer Networking & Internet Technologies Autumn Semester 2014 CSE 3461 / 5461: Computer Networking & Internet Technologies Instructor: Prof. Kannan Srinivasan 08/28/2014 Announcement Drop before Friday evening! k. srinivasan Presentation A 2

More information

THE OSI REFERENCE MODEL LES M C LELLAN DEAN WHITTAKER SANDY WORKMAN

THE OSI REFERENCE MODEL LES M C LELLAN DEAN WHITTAKER SANDY WORKMAN THE OSI REFERENCE MODEL LES M C LELLAN DEAN WHITTAKER SANDY WORKMAN OVERVIEW THE NEED FOR STANDARDS OSI - ORGANISATION FOR STANDARDISATION THE OSI REFERENCE MODEL A LAYERED NETWORK MODEL THE SEVEN OSI

More information

Architecture and Performance of the Internet

Architecture and Performance of the Internet SC250 Computer Networking I Architecture and Performance of the Internet Prof. Matthias Grossglauser School of Computer and Communication Sciences EPFL http://lcawww.epfl.ch 1 Today's Objectives Understanding

More information

CSIS 3230. CSIS 3230 Spring 2012. Networking, its all about the apps! Apps on the Edge. Application Architectures. Pure P2P Architecture

CSIS 3230. CSIS 3230 Spring 2012. Networking, its all about the apps! Apps on the Edge. Application Architectures. Pure P2P Architecture Networking, its all about the apps! CSIS 3230 Chapter 2: Layer Concepts Chapter 5.4: Link Layer Addressing Networks exist to support apps Web Social ing Multimedia Communications Email File transfer Remote

More information

ICT SEcurity BASICS. Course: Software Defined Radio. Angelo Liguori. SP4TE lab. angelo.liguori@uniroma3.it

ICT SEcurity BASICS. Course: Software Defined Radio. Angelo Liguori. SP4TE lab. angelo.liguori@uniroma3.it Course: Software Defined Radio ICT SEcurity BASICS Angelo Liguori angelo.liguori@uniroma3.it SP4TE lab 1 Simple Timing Covert Channel Unintended information about data gets leaked through observing the

More information

High-Level Data Link Control

High-Level Data Link Control High-Level Data Link Control This class of data link layer protocols includes High-level Data Link Control (HDLC), Link Access Procedure Balanced (LAPB) for X.25, Link Access Procedure for D-channel (LAPD)

More information

How To Understand The Layered Architecture Of A Network

How To Understand The Layered Architecture Of A Network COMPUTER NETWORKS NETWORK ARCHITECTURE AND PROTOCOLS The Need for Standards Computers have different architectures, store data in different formats and communicate at different rates Agreeing on a particular

More information