Fundamentals of Symbian OS. Sockets. Copyright Symbian Software Ltd.
|
|
- Leo Smith
- 7 years ago
- Views:
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 Show how network architecture can be understood using a layered approach. Introduce the OSI seven layer reference model. Introduce the concepts of internetworking
More informationNetwork 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 informationCPS221 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 informationLimi 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 informationNetwork 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 informationProtocols 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 informationLecture 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 informationTransport 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 informationOverview. 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 informationEthernet. 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 informationNetwork-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 informationOperating 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 informationNetworking 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 informationELEN 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 informationThe 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 informationEITF25 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 informationSFWR 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 informationBasic 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 informationThe 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 informationChapter 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 informationTransport 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 informationTransport 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 informationOverview 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 informationIndian 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 informationThe 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 informationThe 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 informationCommunications 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 informationChapter 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 informationInternet 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 informationTCP/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 informationOverview 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 informationComputer 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 informationCape 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 informationSocket = 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 informationCS101 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 informationNetwork 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 informationWhat 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 informationData 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 informationpresentation 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 informationUnderstanding 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 informationTopics. 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 informationIP 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 information2057-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 informationBASIC 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 informationSession 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 informationNote! 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 informationIntroduction 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 informationAccess 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 informationNetwork 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 informationIntroduction 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 informationPART 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 informationInternet 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 informationWindows 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 informationComputer 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 informationCourse 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 informationMathatma 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 informationIntroduction 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 informationNetworking 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 informationApplication. 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 informationRARP: 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 informationComputer 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 informationComputer 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 informationIP - 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 informationNote! 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 informationCommunication 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 informationLab 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 informationLecture 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 informationComputer 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 informationInternet 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 informationHow 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 informationComputer 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 informationModule 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 informationHow 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 informationSocket 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 informationTCP/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 informationLayered 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 informationSocket 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 informationGuide 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 informationICOM 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 informationIntroduction 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 informationFIREWALLS & 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 informationThe 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 informationComputer 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 informationComputer 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 informationGuide 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 informationModule 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 informationSocket 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 informationInternet 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 informationHow 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 informationProtocol 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 informationIt 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 informationAgenda. 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 informationData 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 informationCSE 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 informationTHE 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 informationArchitecture 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 informationCSIS 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 informationICT 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 informationHigh-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 informationHow 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