Communication Protocol Decomposition and Component-based Protocol Submodule

Size: px
Start display at page:

Download "Communication Protocol Decomposition and Component-based Protocol Submodule"

Transcription

1 Communication Protocol Decomposition and Component-based Protocol Submodule Tianzhou Chen 1, Quan Gan 2, Zhaohui Wu 1 College of Computer Science, Zhejiang University, Hangzhou, P.R.CHINA, {tzchen, wzh}@zju.edu.cn 2 g_q_spring@hotmail.com Abstract. Due to evolving network technologies as well as increased and varying demands of modern applications on embedded systems, general-purpose protocol stacks are not always adequate. We examine the usefulness of component-based software engineering for the implementation of software communication systems. We present an architecture that allows dividing protocol software into fully de-coupled components. By plugging required components together, that is, loading proper protocol submodules for communication services, we rapidly prototype flexible, robust, and application-tailored communication protocols. The primary goal is the configurability of communication services, that is, the configurability of protocol submodules for each communication service according to application requirements and network capabilities. The achieved communication system supports efficiently and coordinately the multiple communication services customized by the coexisting applications. Keywords: component, network communication protocol, communication system modeling, customized submodule 1 Introduction Today's communication systems are typically structured into several layers, where each layer realizes a fixed set of protocol functions. These functions have been carefully chosen such that a wide range of applications can be supported and protocols work in a general environment of networks. Well-known architectures of this type are the OSI stack [1] or the Internet Protocol Suite [2]. However, due to evolving net-work technologies as well as increasing demands of modern applica- This work is supported by the national 863 high technology project and HP Embedded Laboratory of Zhejiang University. tions general-purpose protocol stacks are not always adequate. In particular, the applications on embedded devices often require various communication services for the sake of many different device types and the communication means introduced by the devices. Also, the communication services cannot respond dynamically to the flexible applications. The services will never be changed until they are reconfigured after the communication devices turn off. To improve this situation an alternative approach is to decompose the monolithic implementation of software communication system. The idea of replacing general-purpose protocols by application tailored protocols requires ease of implementation and rapid prototyping of

2 new protocols. Since protocol implementation from scratch is expensive and error-prone, it is important to structure protocols in a way that protocol elements can be reused in different contexts and adapted to the special needs of applications. Additionally, protocol implementations should be prepared for change and hence easy to extend and maintain. The recently emerged software-engineering paradigm called component-based development (CBD) promises a new dimension of re-usability and rapid prototyping of software. CBD fosters the division of software into components that can be easily configured and plugged together to create new applications. AVOCA is a component-based communication system [3]. It is a further stage of the x-kernel [4] and finer-grained protocol components are employed representing protocol mechanisms. These protocol components provide the same uniform protocol interface as the original x-kernel protocols. However, a communication system must provide communication services for multiple applications that coexist in the system. It is paramount to be able to configure communication services according to varying demands of applications and coordinate all the protocol functions. Developing a single heavyweight protocol that efficiently supports every class of application and network appears to be infeasible. One promising alternative is to devise multiple lightweight protocols that are customized for particular pairings of application requirements and network characteristics. Communication services are configured separately by lightweight protocols that are specially tailored to fulfill the requirements of particular applications (or classes of applications) that run in a particular network environment. In this paper we present a highly flexible and configurable architecture of network communication system especially for embedded devices. We devise multiple lightweight protocol components that are customized for particular pairings of application requirements and device characteristics. Communication services are configured dynamically by selecting proper protocol components, that is, loading proper protocol submodules for protocol functions. Then we demonstrate how to realize multiple communication services that support all the coexisting applications in one system efficiently and coordinately. 2 Architecture of Communication System The task of communication systems is to provide communication services for applications that exist in the system. We abstract the implementation of communication service customized by given application to a communication subsystem, as illustrated in Fig. 1. A communication subsystem upgrades a given basic communication service in order to provide a target service requested by the application. However, the design and analysis of its architecture will be the most untrivial task, since the properties of this communication scheme will severely impact the performance of the whole system. In order to handle this, we have concentrated on the communication mechanisms, primitives and abstractions. To allow reuse, selection and integration of different mod-

3 application subsystem target service basic service application subsystem network(e.g.,ethernet or ATM) Fig. 1. Communication subsystem ules, the communication and the computation will be separated and encapsulated. The communication subsystem is modeled as an ensemble of communicating modules. Each module is defined by its interface and its content where the interface is composed of a set of ports on which external or internal operations can be performed. This abstraction is reached when the module is represented by the protocol component and the communication is seen as the combination of requests and services. The protocol components serve as basic communication functions. They encapsulate the implementations of the protocol mechanisms, and provide the services externally by interfaces of them. The communication model is meant to manifest a unique interpretation of associations between components as a set of fundamental communication primitives. Moreover, these components may request other ones for services by interfaces, or their contents can be composed of other component instances. Hence the communication subsystem is a stacking of all the required components, which are plugged together to realize a given communication service. Due to various communication devices and application requirements the configurations of customized communication subsystems may be distinct. Therefore it is important to structure communication systems in a way that different subsystems can be supported and coordinated efficiently. We can employ different protocol components to serve the communication request that exists in different subsystems accordingly. Moreover, we support run-time reconfiguration of the communication subsystem. We examine the efficiency of the subsystem at run-time. When it does not adapt to the request of the application, more suitable component will be loaded to replace the one that does not match. This enables communication subsystems to adapt dynamically to changes in application requirements (e.g., switching from unreliable to reliable data delivery), communication system resources (e.g., buffer space and CPU load), and network characteristics (e.g., network congestion and routing). The replacement of protocol component is transparent to applications or the other components that refer to it as long as the interface remains the same. Proper communication components are dynamically loaded, that is, they are loaded into communication subsystem without rebooting the device. Communication subsystem adaptivity is important since applications and networks are dynamic entities that are not necessarily served most effectively by statically configured mechanisms. 3 Protocol Component The protocol component serves as the element of the communication system. It implements the basic communication service. These components are captured elegantly through the decomposition of the

4 protocols. We may employ modularized architecture based on protocol hierarchy to decompose the protocol. For example, the connection-oriented transport subsystem of the Internet Protocol Suite consists of three components of TCP, IP and Ethernet [5]. Likewise, we may also employ modularized architecture based on protocol functions to break down the protocol. The protocol functions serve as basic architectural components. For example, the sender part of Transport Control Protocol (TCP) located between application and network interface is totally composed of five components, which are connection management, data emit, data reemit, flow control and congestion control [6]. Protocol functions can often be provided by different algorithms (called mechanisms). Flow control, for instance, could be realized by a window-based or rate-based mechanism. Examples for protocol functions and corresponding mechanisms are listed in Table I. Different mechanisms of one protocol function are implemented by the corresponding components while the interface remains the same. We give the name submodules for these correlative components. The novel approach to protocol component presented herein is that we can implement application- and device-customized submodules for the same communication function. New execution properties extending an existing service can be added by writing additional submodules and including them in the existing component suite. The component of Internet Control Message Protocol (ICMP), for example, is used by Internet nodes and routes to signal networking conditions, as well as for network diag- Table 1. Protocol functions and corresponding mechanisms Protocol function Flow control Corruption control Connection management Acknowledgement Mechanism Stop-and-wait Window-based Rate-based Checksum Parity Implicit 2-way-handshake 3-way-handshake No connection (datagram) Cumulative Selective nostics. However, we give more suitable submodules under the different circumstances. When the network s bandwidth is low, the proper one is that numerical value of Time To Live (TTL) is adjusted according to network status. Also, we give the one that Timestamp Reply is forbidden so as to decrease the overload. Moreover, we are able to modify original properties of the components and add customized communication services in the submodules. The attack of Denial of Service (DoS), as we known, is often caused by the mechanism of sending large numbers of useless packages. It will be helpful to design a submodule resolving the problem by means of checking the source/destination address and the type of the package, including the package frequency. Thus, the component of ICMP will have ability to filter and check the package, just trying to guarantee the security of the network. With all these submodules, customized communication services can be constructed, which provide execution guarantees targeted to the specific requirements of the applications on different devices.

5 4 Implementation This work is deployed on the platform of Linux, hence the protocol components are just implemented by Linux modules [7], which can be loaded into the kernel or removed dynamically without rebuilding the kernel. Our novel approach is to remove the original TCP/IP protocol stack from the Linux kernel. However, we load the corresponding modules that implement the communication components into the kernel after it starts up. These components will now provide the services that are provided originally by the TCP/IP functions. The major steps are as follows. The primary process of TCP/IP protocol stack, such as allocating memory buffers in the kernel, registering structures of protocol chains and initializing the protocols are removed from the kernel. Instead, these entire works mentioned above are shifted into the corresponding implementation modules of the components. The work of allocation and registration are handled in the entrance function of the module, and should be undone in the exit function. The component's interface is then inserted into the files that originally implement the function. It is exported in the symbol table of the kernel, that is, we register an interface to the kernel. When the module that realizes the protocol component is compiled and installed, the interface is set to the concrete service implemented by component, which is handled in the entrance function of the module. Similarly, the interface is cleared in the exit function. The following are the example of entrance function and exit functions in certain implementations of ICMP component. int init_module(void) { /*set the interface*/ ICMP_SEND=icmp_send; XRLIM_ALLOW=xrlim_allow; /*load ICMP protocol component module into the kernel*/ inet_add_protocol(&icmp_protocol, IPPROTO_ICMP); /*initializing icmp protocol*/ icmp_init(&inet_family_ops); return 0; } void cleanup_module(void) { /*sock_create(icmp_socket) has been involved in icmp_init(&inet_family_ops), it should be released here*/ sock_release(icmp_socket); /*remove the ICMP component module from the kernel*/ inet_del_protocol(&icmp_protocol, IPPROTO_ICMP); /*reset the interface*/ ICMP_SEND=my_icmp_send; XRLIM_ALLOW=my_xrlim_allow; } We demonstrate the preferable example of communication system in Fig. 2. The given communication system provides communication services for three different applications that coexist in the system. As mentioned above we can employ different implementation submodules for the same protocol function that exists in different subsystems. For the same protocol function A, we load two different submodules of A1 for application 1 and 2, while A2 for application 3. Also, compo

6 Application 1 Application 2 Application 3 Component A1 Component A2 Component B1 Component B2 Component B Component C Communication Subsystem Network Fig. 2. Communication system nent B serves for application 3, while it is decomposed to B1 and B2 to serve application 1 and 2 as a whole. Moreover, this communication system does not necessarily remain the same, that is, the submodules can be replaced by others that match better as time goes on. For example, the submodule of C can be replaced dynamically by one of C1, C2 and etc, which provide the same communication service specifically for the various device types and application requirements. 5 Applying the Model and Measurements An experiment has been done for the protocol components of ICMP and UDP. The Linux kernel used in the experiment is The network part is removed from the kernel while only Unix Domain Sockets and TCP/IP options remain. After the kernel starts up, we test the component and the results are as follows. When the module of ICMP component is not loaded, it results in timeout when pinging this host from others. It is because that the interface cannot find the corresponding service answering for the ICMP package. So it just does nothing and cannot echo the reply. After the component of ICMP is properly loaded, the ping command works correctly. So we can say that the component serves very well. Another experiment is done to tell the performance difference precisely between the protocols implemented in the monolithic kernel and that encapsulated by modules. So we test the protocol of UDP by the software of netperf [8] that is the benchmark used to measure the performance of Linux network. We use the default value of Socket Size Message Size Elapsed Time Request Size and Response Size, which are 64k Bytes 1k Bytes 10s 1 Byte and 1 Byte respectively. The result is shown as Table II. There is approximately 1% performance lost compared to the monolithic implementation after the component-based mechanism is introduced, yet it is for the expense of encapsulation. However, the communication mechanisms can be tailored according to

7 Table 2. Performance of UDP by different mechanism UDP Compiled in the monolithic kernel UDP Compiled as module and loaded in the kernel Compare of performance Bulk Data Transfer Performance 10 6 bits/sec Request/Response Performance Trans. Rate per sec ( )/ *100%=1.11% ( )/ *100%=1.46% the device types and the applications running on them, which result in various protocol components that feature quite different performance characters. Thus we devise customized communication system with quite an increase in performance compared to the monolithic implementations. 6 Conclusion The component-based communication architecture enables the configuration of customized communication subsystem by composing a proper set of reusable protocol components. We can employ different protocol components to serve the communication request that exists in different subsystems accordingly. Moreover, we support run-time reconfiguration of the communication subsystem. The replacement of protocol component is transparent as long as the interface remains the same. Proper communication components are dynamically loaded, that is, they are loaded into communication subsystem without rebooting the device. Thus we devise the communication services demanded by the coexisting applications on the given devices to construct flexible, robust, and application-tailored communication systems. References 1. ISO 7498, Information technology -- Open Systems Interconnection -- Basic Reference Model. 2. J. Postel (Ed.), Internet Official Protocol Standards, RFC 1720, Network Working Group, March Don Batory and Sean O'malley, The Design and Implementation of Hier-archical Software Systems with Reusable Components, ACM Transactions on Software Engineering and Methodology, Vol 1, No 4, Pages , October 1992.s 4. N. Hutchinson and L. Peterson. The x-kernel: an architecture for implementing network protocols. IEEE Transactions on Software Engineering, 17(1): 64-76, Jan

8 5. B. Geppert and F. Rößler, Automatic Configuration of Communication Subsystems, SFB 501 Report 17/ D.C. Schmidt, D.F. Box, and T. Suda, ADAPTIVE: A Dynamically Assembled Protocol Transformation, Integration, and evaluation Environment, Concurrency Practice and Experience, Vol. 5, No. 4, June Bryan Henderson, Linux Loadable Kernel Module HOWTO[EB/OL], HOWTO/Module-HOWTO/,

CCPA: Component-based communication protocol architecture for embedded systems *

CCPA: Component-based communication protocol architecture for embedded systems * Dai et al / J Zhejiang Univ SCI 2005 6A(Suppl. I):79-86 79 Journal of Zhejiang University SCIENCE ISSN 1009-3095 http://www.zju.edu.cn/jzus E-mail: jzus@zju.edu.cn CCPA: Component-based communication protocol

More information

Simulation of TCP Layer

Simulation of TCP Layer 39 Simulation of TCP Layer Preeti Grover, M.Tech, Computer Science, Uttrakhand Technical University, Dehradun ABSTRACT The Transmission Control Protocol (TCP) represents the most deployed transport protocol

More information

CS 640: Introduction to Computer Networks. Today s Lecture. Page 1

CS 640: Introduction to Computer Networks. Today s Lecture. Page 1 CS 640: Introduction to Computer Networks Aditya Akella Lecture 2 Layering, Protocol Stacks, and Standards 1 Today s Lecture Layers and Protocols A bit about s 2 Network Communication: Lots of Functions

More information

Towards an organic mobile terminal by utilising agent-based monitoring in a reconfigurable protocol stack

Towards an organic mobile terminal by utilising agent-based monitoring in a reconfigurable protocol stack Towards an organic mobile terminal by utilising agent-based monitoring in a reconfigurable protocol stack Thorsten Schöler, Moez Mnif, Vladimir Kossovoi, Christian Müller-Schloer Institute of Systems Engineering,

More information

Using ICMP to Troubleshoot TCP/IP Networks

Using ICMP to Troubleshoot TCP/IP Networks Laura Chappell Using ICMP to Troubleshoot TCP/IP Networks Illustration: Norman Felchle Editor s Note: This article is based on Laura Chappell s upcoming book TCP/IP Analysis and Troubleshooting, which

More information

User Datagram Protocol

User Datagram Protocol Topics Transport Layer TCP s three-way handshake TCP s connection termination sequence TCP s TIME_WAIT state TCP and UDP buffering by the socket layer 2 Introduction UDP is a simple, unreliable datagram

More information

Vorlesung Kommunikationsnetze

Vorlesung Kommunikationsnetze Picture 15 13 Vorlesung Kommunikationsnetze Prof. Dr. H. P. Großmann mit B. Wiegel sowie A. Schmeiser und M. Rabel Sommersemester 2009 Institut für Organisation und Management von Informationssystemen

More information

416 Distributed Systems. Networks review; Day 1 of 2 Jan 5 + 8, 2018

416 Distributed Systems. Networks review; Day 1 of 2 Jan 5 + 8, 2018 416 Distributed Systems Networks review; Day 1 of 2 Jan 5 + 8, 2018 1 Distributed Systems vs. Networks Low level (c/go) Run forever Support others Adversarial environment Distributed & concurrent Resources

More information

Internet Layers. Physical Layer. Application. Application. Transport. Transport. Network. Network. Network. Network. Link. Link. Link.

Internet Layers. Physical Layer. Application. Application. Transport. Transport. Network. Network. Network. Network. Link. Link. Link. Internet Layers Application Application Transport Transport Network Network Network Network Link Link Link Link Ethernet Fiber Optics Physical Layer Wi-Fi ARP requests and responses IP: 192.168.1.1 MAC:

More information

ROUTE OPTIMIZATION EXTENSITON FOR THE MOBILE INTERNET PROTOCOL IN LINUX

ROUTE OPTIMIZATION EXTENSITON FOR THE MOBILE INTERNET PROTOCOL IN LINUX ROUTE OPTIMIZATION EXTENSITON FOR THE MOBILE INTERNET PROTOCOL IN LINUX ABSTRACT The base Mobile Internet Protocol (Mobile IP) provides a means for portable computers to roam freely, changing its point

More information

Different Layers Lecture 20

Different Layers Lecture 20 Different Layers Lecture 20 10/15/2003 Jian Ren 1 The Network Layer 10/15/2003 Jian Ren 2 Network Layer Functions Transport packet from sending to receiving hosts Network layer protocols in every host,

More information

Layer 4: UDP, TCP, and others. based on Chapter 9 of CompTIA Network+ Exam Guide, 4th ed., Mike Meyers

Layer 4: UDP, TCP, and others. based on Chapter 9 of CompTIA Network+ Exam Guide, 4th ed., Mike Meyers Layer 4: UDP, TCP, and others based on Chapter 9 of CompTIA Network+ Exam Guide, 4th ed., Mike Meyers Concepts application set transport set High-level, "Application Set" protocols deal only with how handled

More information

OSI Transport Layer. Network Fundamentals Chapter 4. Version Cisco Systems, Inc. All rights reserved. Cisco Public 1

OSI Transport Layer. Network Fundamentals Chapter 4. Version Cisco Systems, Inc. All rights reserved. Cisco Public 1 OSI Transport Layer Network Fundamentals Chapter 4 Version 4.0 1 Transport Layer Role and Services Transport layer is responsible for overall end-to-end transfer of application data 2 Transport Layer Role

More information

Networking and Internetworking 1

Networking and Internetworking 1 Networking and Internetworking 1 Today l Networks and distributed systems l Internet architecture xkcd Networking issues for distributed systems Early networks were designed to meet relatively simple requirements

More information

CSCI-GA Operating Systems. Networking. Hubertus Franke

CSCI-GA Operating Systems. Networking. Hubertus Franke CSCI-GA.2250-001 Operating Systems Networking Hubertus Franke frankeh@cs.nyu.edu Source: Ganesh Sittampalam NYU TCP/IP protocol family IP : Internet Protocol UDP : User Datagram Protocol RTP, traceroute

More information

TCP/IP and the OSI Model

TCP/IP and the OSI Model TCP/IP BASICS TCP/IP and the OSI Model TCP/IP BASICS The network protocol of the Internet Composed of six main protocols IP Internet Protocol UDP User Datagram Protocol TCP Transmission Control Protocol

More information

TCP/IP Networking. Part 4: Network and Transport Layer Protocols

TCP/IP Networking. Part 4: Network and Transport Layer Protocols TCP/IP Networking Part 4: Network and Transport Layer Protocols Orientation Application Application protocol Application TCP TCP protocol TCP IP IP protocol IP IP protocol IP IP protocol IP Network Access

More information

IP - The Internet Protocol. Based on the slides of Dr. Jorg Liebeherr, University of Virginia

IP - The Internet Protocol. Based on the slides of Dr. Jorg Liebeherr, University of Virginia IP - The Internet Protocol Based on the slides of Dr. Jorg Liebeherr, University of Virginia Orientation IP (Internet Protocol) is a Network Layer Protocol. IP: The waist of the hourglass IP is the waist

More information

UNIT IV -- TRANSPORT LAYER

UNIT IV -- TRANSPORT LAYER UNIT IV -- TRANSPORT LAYER TABLE OF CONTENTS 4.1. Transport layer. 02 4.2. Reliable delivery service. 03 4.3. Congestion control. 05 4.4. Connection establishment.. 07 4.5. Flow control 09 4.6. Transmission

More information

On Distributed Communications, Rand Report RM-3420-PR, Paul Baran, August 1964

On Distributed Communications, Rand Report RM-3420-PR, Paul Baran, August 1964 The requirements for a future all-digital-data distributed network which provides common user service for a wide range of users having different requirements is considered. The use of a standard format

More information

Communication Networks ( ) / Fall 2013 The Blavatnik School of Computer Science, Tel-Aviv University. Allon Wagner

Communication Networks ( ) / Fall 2013 The Blavatnik School of Computer Science, Tel-Aviv University. Allon Wagner Communication Networks (0368-3030) / Fall 2013 The Blavatnik School of Computer Science, Tel-Aviv University Allon Wagner Kurose & Ross, Chapter 4 (5 th ed.) Many slides adapted from: J. Kurose & K. Ross

More information

Networking for Data Acquisition Systems. Fabrice Le Goff - 14/02/ ISOTDAQ

Networking for Data Acquisition Systems. Fabrice Le Goff - 14/02/ ISOTDAQ Networking for Data Acquisition Systems Fabrice Le Goff - 14/02/2018 - ISOTDAQ Outline Generalities The OSI Model Ethernet and Local Area Networks IP and Routing TCP, UDP and Transport Efficiency Networking

More information

Chapter 6. The Protocol TCP/IP. Introduction to Protocols

Chapter 6. The Protocol TCP/IP. Introduction to Protocols Chapter 6 The Protocol TCP/IP 1 Introduction to Protocols A protocol is a set of rules that governs the communications between computers on a network. These rules include guidelines that regulate the following

More information

THE TRANSPORT LAYER UNIT IV

THE TRANSPORT LAYER UNIT IV THE TRANSPORT LAYER UNIT IV The Transport Layer: The Transport Service, Elements of Transport Protocols, Congestion Control,The internet transport protocols: UDP, TCP, Performance problems in computer

More information

Transport Layer. Gursharan Singh Tatla. Upendra Sharma. 1

Transport Layer. Gursharan Singh Tatla.   Upendra Sharma. 1 Transport Layer Gursharan Singh Tatla mailme@gursharansingh.in Upendra Sharma 1 Introduction The transport layer is the fourth layer from the bottom in the OSI reference model. It is responsible for message

More information

CHAPTER-2 IP CONCEPTS

CHAPTER-2 IP CONCEPTS CHAPTER-2 IP CONCEPTS Page: 1 IP Concepts IP is a very important protocol in modern internetworking; you can't really comprehend modern networking without a good understanding of IP. Unfortunately, IP

More information

Announcements. No book chapter for this topic! Slides are posted online as usual Homework: Will be posted online Due 12/6

Announcements. No book chapter for this topic! Slides are posted online as usual Homework: Will be posted online Due 12/6 Announcements No book chapter for this topic! Slides are posted online as usual Homework: Will be posted online Due 12/6 Copyright c 2002 2017 UMaine Computer Science Department 1 / 33 1 COS 140: Foundations

More information

Introduction to Internetworking

Introduction to Internetworking Introduction to Internetworking Introductory terms Communications Network Facility that provides data transfer services An internet Collection of communications networks interconnected by bridges and/or

More information

Chapter 7 Internet Protocol Version 4 (IPv4) Kyung Hee University

Chapter 7 Internet Protocol Version 4 (IPv4) Kyung Hee University Chapter 7 Internet Protocol Version 4 (IPv4) 1 7.1 Introduction The transmission mechanism used by the TCP/IP Unreliable and connectionless datagram protocol Best-effort delivery service IP packets can

More information

Network Layer: Internet Protocol

Network Layer: Internet Protocol Network Layer: Internet Protocol Motivation Heterogeneity Scale Intering IP is the glue that connects heterogeneous s giving the illusion of a homogenous one. Salient Features Each host is identified by

More information

ROUTE OPTIMIZATION EXTENSION FOR THE MOBILE INTERNET PROTOCOL IN LINUX

ROUTE OPTIMIZATION EXTENSION FOR THE MOBILE INTERNET PROTOCOL IN LINUX ROUTE OPTIMIZATION EXTENSION FOR THE MOBILE INTERNET PROTOCOL IN LINUX M. L. Jiang and Y. C. Tay ABSTRACT The base Mobile Internet Protocol (Mobile IP)[1] provides a means for portable computers to roam

More information

Problems of IP. Unreliable connectionless service. Cannot acquire status information from routers and other hosts

Problems of IP. Unreliable connectionless service. Cannot acquire status information from routers and other hosts Chapter 09 ICMP Problems of IP Unreliable connectionless service Best effort service IP datagrams are discarded If destination is not found If TTL becomes 0 If reassembly timer expires Cannot acquire status

More information

Transport Layer. The transport layer is responsible for the delivery of a message from one process to another. RSManiaol

Transport Layer. The transport layer is responsible for the delivery of a message from one process to another. RSManiaol Transport Layer Transport Layer The transport layer is responsible for the delivery of a message from one process to another Types of Data Deliveries Client/Server Paradigm An application program on the

More information

ICMP (Internet Control Message Protocol)

ICMP (Internet Control Message Protocol) ABSTRACT : ICMP stands for internet control message protocol it is a vital protocol of network layer among the seven layers of OSI(open system interconnection). Here we deal with the several situations

More information

Chapter 4: Network Layer

Chapter 4: Network Layer Chapter 4: Introduction (forwarding and routing) Review of queueing theory Routing algorithms Link state, Distance Vector Router design and operation IP: Internet Protocol IPv4 (datagram format, addressing,

More information

Interconnecting Networks with TCP/IP. 2000, Cisco Systems, Inc. 8-1

Interconnecting Networks with TCP/IP. 2000, Cisco Systems, Inc. 8-1 Interconnecting Networks with TCP/IP 2000, Cisco Systems, Inc. 8-1 Objectives Upon completion of this chapter you will be able to perform the following tasks: Identify the IP protocol stack, its protocol

More information

2 Background: Service Oriented Network Architectures

2 Background: Service Oriented Network Architectures 2 Background: Service Oriented Network Architectures Most of the issues in the Internet arise because of inflexibility and rigidness attributes of the network architecture, which is built upon a protocol

More information

6.1 Internet Transport Layer Architecture 6.2 UDP (User Datagram Protocol) 6.3 TCP (Transmission Control Protocol) 6. Transport Layer 6-1

6.1 Internet Transport Layer Architecture 6.2 UDP (User Datagram Protocol) 6.3 TCP (Transmission Control Protocol) 6. Transport Layer 6-1 6. Transport Layer 6.1 Internet Transport Layer Architecture 6.2 UDP (User Datagram Protocol) 6.3 TCP (Transmission Control Protocol) 6. Transport Layer 6-1 6.1 Internet Transport Layer Architecture The

More information

Guide To TCP/IP, Second Edition UDP Header Source Port Number (16 bits) IP HEADER Protocol Field = 17 Destination Port Number (16 bit) 15 16

Guide To TCP/IP, Second Edition UDP Header Source Port Number (16 bits) IP HEADER Protocol Field = 17 Destination Port Number (16 bit) 15 16 Guide To TCP/IP, Second Edition Chapter 5 Transport Layer TCP/IP Protocols Objectives Understand the key features and functions of the User Datagram Protocol (UDP) Explain the mechanisms that drive segmentation,

More information

Internet and Intranet Protocols and Applications

Internet and Intranet Protocols and Applications Internet and Intranet Protocols and Applications Lecture 1b: The Transport Layer in the Internet January 17, 2006 Arthur Goldberg Computer Science Department New York University artg@cs.nyu.edu 01/17/06

More information

Transport: How Applications Communicate

Transport: How Applications Communicate Transport: How Applications Communicate Week 2 Philip Levis 1 7 Layers (or 4) 7. 6. 5. 4. 3. 2. 1. Application Presentation Session Transport Network Link Physical segments packets frames bits/bytes Application

More information

Applied Networks & Security

Applied Networks & Security Applied Networks & Security TCP/IP Protocol Suite http://condor.depaul.edu/~jkristof/it263/ John Kristoff jtk@depaul.edu IT 263 Spring 2006/2007 John Kristoff - DePaul University 1 ARP overview datalink

More information

416 Distributed Systems. Networks review; Day 2 of 2 Fate sharing, e2e principle And start of RPC Jan 10, 2018

416 Distributed Systems. Networks review; Day 2 of 2 Fate sharing, e2e principle And start of RPC Jan 10, 2018 416 Distributed Systems Networks review; Day 2 of 2 Fate sharing, e2e principle And start of RPC Jan 10, 2018 1 Last Time Modularity, Layering, and Decomposition Example: UDP layered on top of IP to provide

More information

Concept Questions Demonstrate your knowledge of these concepts by answering the following questions in the space that is provided.

Concept Questions Demonstrate your knowledge of these concepts by answering the following questions in the space that is provided. 223 Chapter 19 Inter mediate TCP The Transmission Control Protocol/Internet Protocol (TCP/IP) suite of protocols was developed as part of the research that the Defense Advanced Research Projects Agency

More information

Network Layer. The Network Layer. Contents Connection-Oriented and Connectionless Service. Recall:

Network Layer. The Network Layer. Contents Connection-Oriented and Connectionless Service. Recall: Network Layer The Network Layer Recall: The network layer is responsible for the routing of packets The network layer is responsible for congestion control 1 2 Contents 4.1.1 Connection-Oriented and Connectionless

More information

Network Layer. Recall: The network layer is responsible for the routing of packets The network layer is responsible for congestion control

Network Layer. Recall: The network layer is responsible for the routing of packets The network layer is responsible for congestion control The Network Layer 1 Network Layer Recall: The network layer is responsible for the routing of packets The network layer is responsible for congestion control 2 Contents Connection-Oriented (virtual circuit)

More information

Introduction to Protocols

Introduction to Protocols Chapter 6 Introduction to Protocols 1 Chapter 6 Introduction to Protocols What is a Network Protocol? A protocol is a set of rules that governs the communications between computers on a network. These

More information

Configuring IP Services

Configuring IP Services This module describes how to configure optional IP services. For a complete description of the IP services commands in this chapter, refer to the Cisco IOS IP Application Services Command Reference. To

More information

CCNA Exploration Network Fundamentals. Chapter 06 Addressing the Network IPv4

CCNA Exploration Network Fundamentals. Chapter 06 Addressing the Network IPv4 CCNA Exploration Network Fundamentals Chapter 06 Addressing the Network IPv4 Updated: 20/05/2008 1 6.0.1 Introduction Addressing is a key function of Network layer protocols that enables data communication

More information

ICS 351: Networking Protocols

ICS 351: Networking Protocols ICS 351: Networking Protocols IP packet forwarding application layer: DNS, HTTP transport layer: TCP and UDP network layer: IP, ICMP, ARP data-link layer: Ethernet, WiFi 1 Networking concepts each protocol

More information

Introduction to TCP/IP networking

Introduction to TCP/IP networking Introduction to TCP/IP networking TCP/IP protocol family IP : Internet Protocol UDP : User Datagram Protocol RTP, traceroute TCP : Transmission Control Protocol HTTP, FTP, ssh What is an internet? A set

More information

No book chapter for this topic! Slides are posted online as usual Homework: Will be posted online Due 12/6

No book chapter for this topic! Slides are posted online as usual Homework: Will be posted online Due 12/6 Announcements No book chapter for this topic! Slides are posted online as usual Homework: Will be posted online Due 12/6 Copyright c 2002 2017 UMaine School of Computing and Information S 1 / 33 COS 140:

More information

PLEASE READ CAREFULLY BEFORE YOU START

PLEASE READ CAREFULLY BEFORE YOU START Page 1 of 11 MIDTERM EXAMINATION #1 OCT. 16, 2013 COMPUTER NETWORKS : 03-60-367-01 U N I V E R S I T Y O F W I N D S O R S C H O O L O F C O M P U T E R S C I E N C E Fall 2013-75 minutes This examination

More information

The Transmission Control Protocol (TCP)

The Transmission Control Protocol (TCP) The Transmission Control Protocol (TCP) Application Services (Telnet, FTP, e-mail, WWW) Reliable Stream Transport (TCP) Unreliable Transport Service (UDP) Connectionless Packet Delivery Service (IP) Goals

More information

Transport Over IP. CSCI 690 Michael Hutt New York Institute of Technology

Transport Over IP. CSCI 690 Michael Hutt New York Institute of Technology Transport Over IP CSCI 690 Michael Hutt New York Institute of Technology Transport Over IP What is a transport protocol? Choosing to use a transport protocol Ports and Addresses Datagrams UDP What is a

More information

What is a Network? TCP / IP. The ISO OSI Model. Protocols. The TCP/IP Protocol Suite. The TCP/IP Protocol Suite. Computer network.

What is a Network? TCP / IP. The ISO OSI Model. Protocols. The TCP/IP Protocol Suite. The TCP/IP Protocol Suite. Computer network. What is a Network? TCP / IP Computer network a set of computers using common protocols to communicate over connecting transmission media. Protocol a formal description of message formats and the rules

More information

EEC-682/782 Computer Networks I

EEC-682/782 Computer Networks I EEC-682/782 Computer Networks I Lecture 16 Wenbing Zhao w.zhao1@csuohio.edu http://academic.csuohio.edu/zhao_w/teaching/eec682.htm (Lecture nodes are based on materials supplied by Dr. Louise Moser at

More information

Single Network: applications, client and server hosts, switches, access links, trunk links, frames, path. Review of TCP/IP Internetworking

Single Network: applications, client and server hosts, switches, access links, trunk links, frames, path. Review of TCP/IP Internetworking 1 Review of TCP/IP working Single Network: applications, client and server hosts, switches, access links, trunk links, frames, path Frame Path Chapter 3 Client Host Trunk Link Server Host Panko, Corporate

More information

Communications Software. CSE 123b. CSE 123b. Spring Lecture 2: Internet architecture and. Internetworking. Stefan Savage

Communications Software. CSE 123b. CSE 123b. Spring Lecture 2: Internet architecture and. Internetworking. Stefan Savage CSE 123b CSE 123b Communications Software Spring 2003 Lecture 2: Internet architecture and Internetworking Stefan Savage Some history 1968: DARPANET (precursor to Internet) Bob Taylor, Larry Roberts create

More information

Unit 2.

Unit 2. Unit 2 Unit 2 Topics Covered: 1. PROCESS-TO-PROCESS DELIVERY 1. Client-Server 2. Addressing 2. IANA Ranges 3. Socket Addresses 4. Multiplexing and Demultiplexing 5. Connectionless Versus Connection-Oriented

More information

Chapter 6. What happens at the Transport Layer? Services provided Transport protocols UDP TCP Flow control Congestion control

Chapter 6. What happens at the Transport Layer? Services provided Transport protocols UDP TCP Flow control Congestion control Chapter 6 What happens at the Transport Layer? Services provided Transport protocols UDP TCP Flow control Congestion control OSI Model Hybrid Model Software outside the operating system Software inside

More information

Introduction to computer networking

Introduction to computer networking edge core Introduction to computer networking Comp Sci 3600 Security Outline edge core 1 2 edge 3 core 4 5 6 The edge core Outline edge core 1 2 edge 3 core 4 5 6 edge core Billions of connected computing

More information

Review of Important Networking Concepts

Review of Important Networking Concepts Review of Important Networking Concepts Review: ed communication architecture The TCP/IP protocol suite 1 Networking Concepts Protocol Architecture Protocol s Encapsulation Network Abstractions 2 1 Sending

More information

PLEASE READ CAREFULLY BEFORE YOU START

PLEASE READ CAREFULLY BEFORE YOU START Page 1 of 11 MIDTERM EXAMINATION #1 OCT. 13, 2011 COMPUTER NETWORKS : 03-60-367-01 U N I V E R S I T Y O F W I N D S O R S C H O O L O F C O M P U T E R S C I E N C E Fall 2011-75 minutes This examination

More information

ET4254 Communications and Networking 1

ET4254 Communications and Networking 1 Topic 9 Internet Protocols Aims:- basic protocol functions internetworking principles connectionless internetworking IP IPv6 IPSec 1 Protocol Functions have a small set of functions that form basis of

More information

(ICMP), RFC

(ICMP), RFC Internet et Control o Message Protocol (ICMP), RFC 792 http://icourse.cuc.edu.cn/networkprogramming/ linwei@cuc.edu.cn Nov. 2009 Overview The IP (Internet Protocol) relies on several other protocols to

More information

CS 356: Computer Network Architectures. Lecture 10: IP Fragmentation, ARP, and ICMP. Xiaowei Yang

CS 356: Computer Network Architectures. Lecture 10: IP Fragmentation, ARP, and ICMP. Xiaowei Yang CS 356: Computer Network Architectures Lecture 10: IP Fragmentation, ARP, and ICMP Xiaowei Yang xwy@cs.duke.edu Overview Homework 2-dimension parity IP fragmentation ARP ICMP Fragmentation and Reassembly

More information

CS519: Computer Networks. Lecture 2: Feb 2, 2004 IP (Internet Protocol)

CS519: Computer Networks. Lecture 2: Feb 2, 2004 IP (Internet Protocol) : Computer Networks Lecture 2: Feb 2, 2004 IP (Internet Protocol) A hypothetical service You want a mail delivery service You have two choices: Acme Guaranteed Mail Delivery Service We never fail Rocko

More information

QUIZ: Longest Matching Prefix

QUIZ: Longest Matching Prefix QUIZ: Longest Matching Prefix A router has the following routing table: 10.50.42.0 /24 Send out on interface Z 10.50.20.0 /24 Send out on interface A 10.50.24.0 /22 Send out on interface B 10.50.20.0 /22

More information

Layered Architecture

Layered Architecture 1 Layered Architecture Required reading: Kurose 1.7 CSE 4213, Fall 2006 Instructor: N. Vlajic Protocols and Standards 2 Entity any device capable of sending and receiving information over the Internet

More information

4. Basic IP Support Protocols

4. Basic IP Support Protocols 4. Basic IP Support Protocols There are a number of protocols that support the operation of IP. This section will only discuss the most basic three: ICMP, RARP, and ARP. Other more sophisticated protocols

More information

Router Architecture Overview

Router Architecture Overview Chapter 4: r Introduction (forwarding and routing) r Review of queueing theory r Router design and operation r IP: Internet Protocol m IPv4 (datagram format, addressing, ICMP, NAT) m Ipv6 r Generalized

More information

TCP/IP Overview. Basic Networking Concepts. 09/14/11 Basic TCP/IP Networking 1

TCP/IP Overview. Basic Networking Concepts. 09/14/11 Basic TCP/IP Networking 1 TCP/IP Overview Basic Networking Concepts 09/14/11 Basic TCP/IP Networking 1 What is TCP/IP? TCP/IP is a name refers to an entire collection of data communication protocols: TCP: Transmission Control Protocol

More information

Module 15 Communication at Data Link and Transport Layer

Module 15 Communication at Data Link and Transport Layer Computer Networks and ITCP/IP Protocols 1 Module 15 Communication at Data Link and Transport Layer Introduction Communication at data link layer is very important as it is between two adjacent machines

More information

CS4700/CS5700 Fundaments of Computer Networks

CS4700/CS5700 Fundaments of Computer Networks CS4700/CS5700 Fundaments of Computer Networks Lecture 5: Internet architecture Slides used with permissions from Edward W. Knightly, T. S. Eugene Ng, Ion Stoica, Hui Zhang Alan Mislove amislove at ccs.neu.edu

More information

Configuring IP Services

Configuring IP Services CHAPTER 8 Configuring IP Services This chapter describes how to configure optional IP services supported by the Cisco Optical Networking System (ONS) 15304. For a complete description of the commands in

More information

CSCI Computer Networks

CSCI Computer Networks CSCI-1680 - Computer Networks Chen Avin (avin) Based partly on lecture notes by David Mazières, Phil Levis, John Jannotti, Peterson & Davie, Rodrigo Fonseca Administrivia Sign and hand in Collaboration

More information

EE 610 Part 2: Encapsulation and network utilities

EE 610 Part 2: Encapsulation and network utilities EE 610 Part 2: Encapsulation and network utilities Objective: After this experiment, the students should be able to: i. Understand the format of standard frames and packet headers. Overview: The Open Systems

More information

Introduction to Networks and the Internet

Introduction to Networks and the Internet Introduction to Networks and the Internet CMPE 80N Announcements Project 2. Reference page. Library presentation. Internet History video. Spring 2003 Week 7 1 2 Today Internetworking (cont d). Fragmentation.

More information

Computer Networks and Data Systems

Computer Networks and Data Systems Computer Networks and Data Systems Transport Layer TDC463 Winter 2011/12 John Kristoff - DePaul University 1 Why a transport layer? IP gives us end-to-end connectivity doesn't it? Why, or why not, more

More information

Design Principles : Fundamentals of Computer Networks Bill Nace

Design Principles : Fundamentals of Computer Networks Bill Nace Design Principles 14-740: Fundamentals of Computer Networks Bill Nace Material from Computer Networking: A Top Down Approach, 6 th edition. J.F. Kurose and K.W. Ross Administrivia No Paper Review for today

More information

Chapter 2 - Part 1. The TCP/IP Protocol: The Language of the Internet

Chapter 2 - Part 1. The TCP/IP Protocol: The Language of the Internet Chapter 2 - Part 1 The TCP/IP Protocol: The Language of the Internet Protocols A protocol is a language or set of rules that two or more computers use to communicate 2 Protocol Analogy: Phone Call Parties

More information

NWEN 243. Networked Applications. Layer 4 TCP and UDP

NWEN 243. Networked Applications. Layer 4 TCP and UDP NWEN 243 Networked Applications Layer 4 TCP and UDP 1 About the second lecturer Aaron Chen Office: AM405 Phone: 463 5114 Email: aaron.chen@ecs.vuw.ac.nz Transport layer and application layer protocols

More information

High Speed Communication Protocols. ECE 677, High Speed Protocols 1

High Speed Communication Protocols. ECE 677, High Speed Protocols 1 High Speed Communication Protocols 1 Why? High Speed Transport Protocols Distributed processing - Generally characterized by client-server interactions - operating Systems provide Transparent and highperformance

More information

CSCD 433/533 Advanced Networks

CSCD 433/533 Advanced Networks CSCD 433/533 Advanced Networks Lecture 2 Network Review Winter 2017 Reading: Chapter 1 1 Topics Network Topics Some Review from CSCD330 Applications Common Services Architecture OSI Model AS and Routing

More information

Internet Technology 3/23/2016

Internet Technology 3/23/2016 Internet Technology // Network Layer Transport Layer (Layer ) Application-to-application communication Internet Technology Network Layer (Layer ) Host-to-host communication. Network Layer Route Router

More information

OSI Network Layer. Network Fundamentals Chapter 5. Version Cisco Systems, Inc. All rights reserved. Cisco Public 1

OSI Network Layer. Network Fundamentals Chapter 5. Version Cisco Systems, Inc. All rights reserved. Cisco Public 1 OSI Network Layer Network Fundamentals Chapter 5 Version 4.0 1 Objectives Identify the role of the Network Layer, as it describes communication from one end device to another end device. Examine the most

More information

ELEC5616 COMPUTER & NETWORK SECURITY

ELEC5616 COMPUTER & NETWORK SECURITY ELEC5616 COMPUTER & NETWORK SECURITY Lecture 17: Network Protocols I IP The Internet Protocol (IP) is a stateless protocol that is used to send packets from one machine to another using 32- bit addresses

More information

Page 1. Goals for Today" Discussion" Example: Reliable File Transfer" CS162 Operating Systems and Systems Programming Lecture 11

Page 1. Goals for Today Discussion Example: Reliable File Transfer CS162 Operating Systems and Systems Programming Lecture 11 Goals for Today" CS162 Operating Systems and Systems Programming Lecture 11 Reliability, Transport Protocols" Finish e2e argument & fate sharing Transport: TCP/UDP Reliability Flow control October 5, 2011

More information

Schahin Rajab TCP or QUIC Which protocol is most promising for the future of the internet?

Schahin Rajab TCP or QUIC Which protocol is most promising for the future of the internet? Schahin Rajab sr2@kth.se 2016 04 20 TCP or QUIC Which protocol is most promising for the future of the internet? Table of contents 1 Introduction 3 2 Background 4 2.1 TCP 4 2.2 UDP 4 2.3 QUIC 4 2.4 HTTP

More information

The Interconnection Structure of. The Internet. EECC694 - Shaaban

The Interconnection Structure of. The Internet. EECC694 - Shaaban The Internet Evolved from the ARPANET (the Advanced Research Projects Agency Network), a project funded by The U.S. Department of Defense (DOD) in 1969. ARPANET's purpose was to provide the U.S. Defense

More information

A Study on Intrusion Detection Techniques in a TCP/IP Environment

A Study on Intrusion Detection Techniques in a TCP/IP Environment A Study on Intrusion Detection Techniques in a TCP/IP Environment C. A. Voglis and S. A. Paschos Department of Computer Science University of Ioannina GREECE Abstract: The TCP/IP protocol suite is the

More information

Computer Network Fundamentals Spring Week 4 Network Layer Andreas Terzis

Computer Network Fundamentals Spring Week 4 Network Layer Andreas Terzis Computer Network Fundamentals Spring 2008 Week 4 Network Layer Andreas Terzis Outline Internet Protocol Service Model Addressing Original addressing scheme Subnetting CIDR Fragmentation ICMP Address Shortage

More information

Objectives. Chapter 10. Upon completion you will be able to:

Objectives. Chapter 10. Upon completion you will be able to: Chapter 10 Figure 10.1 Position of IGMP in the network layer Objectives Upon completion you will be able to: Know the purpose of IGMP Know the types of IGMP messages Understand how a member joins a group

More information

Fundamental Questions to Answer About Computer Networking, Jan 2009 Prof. Ying-Dar Lin,

Fundamental Questions to Answer About Computer Networking, Jan 2009 Prof. Ying-Dar Lin, Fundamental Questions to Answer About Computer Networking, Jan 2009 Prof. Ying-Dar Lin, ydlin@cs.nctu.edu.tw Chapter 1: Introduction 1. How does Internet scale to billions of hosts? (Describe what structure

More information

Computer Networks. Fall 2012 (M 6:15-9:00 in Jbarry 201B) Mirela Damian.

Computer Networks. Fall 2012 (M 6:15-9:00 in Jbarry 201B) Mirela Damian. Computer Networks Fall 2012 (M 6:15-9:00 in Jbarry 201B) Mirela Damian http://www.csc.villanova.edu/~mdamian/csc8400.html/ Slides by Rexford @ Princeton & Slides accompanying the Internet Lab Manual, slightly

More information

ECE4110 Internetwork Programming. Introduction and Overview

ECE4110 Internetwork Programming. Introduction and Overview ECE4110 Internetwork Programming Introduction and Overview 1 EXAMPLE GENERAL NETWORK ALGORITHM Listen to wire Are signals detected Detect a preamble Yes Read Destination Address No data carrying or noise?

More information

Implementation of a Reliable Multicast Transport Protocol (RMTP)

Implementation of a Reliable Multicast Transport Protocol (RMTP) Implementation of a Reliable Multicast Transport Protocol (RMTP) Greg Nilsen University of Pittsburgh Pittsburgh, PA nilsen@cs.pitt.edu April 22, 2003 Abstract While many network applications can be created

More information

Internetwork Protocols

Internetwork Protocols Internetwork Protocols Background to IP IP, and related protocols Internetworking Terms (1) Communications Network Facility that provides data transfer service An internet Collection of communications

More information

First Step Toward Internet Based Embedded Control System

First Step Toward Internet Based Embedded Control System First Step Toward Internet Based Embedded Control System Eka Suwartadi, Candra Gunawan, Ary Setijadi P, Carmadi Machbub Laboratory for Control and Computer Systems Department Of Electrical Engineering

More information