Ch 1: Simulation of Computer Networks. 1.1 Computer Networks and the Layering Concept 1.1.1 Layering Concept Service Interface Protocol.

Slides:



Advertisements
Similar presentations
Chapter 5: TCP/IP and OSI Business Data Communications, 5e.
Advertisements

Answers of Exercise 7 1. Explain what are the connection-oriented communication and the connectionless communication. Give some examples for each of the.
Data and Computer Communications Eighth Edition by William Stallings Lecture slides by Lawrie Brown Chapter 2 – Protocol Architecture, TCP/IP, and Internet-Based.
CCNA 1 v3.1 Module 11 Review.
© 2007 Cisco Systems, Inc. All rights reserved.Cisco Public 1 Version 4.0 OSI Transport Layer Network Fundamentals – Chapter 4.
Data and Computer Communications Eighth Edition by William Stallings Lecture slides by Lawrie Brown Chapter 2 – Protocol Architecture, TCP/IP, and Internet-Based.
Networking Theory (Part 1). Introduction Overview of the basic concepts of networking Also discusses essential topics of networking theory.
Networking Theory (part 2). Internet Architecture The Internet is a worldwide collection of smaller networks that share a common suite of communication.
Protocols and the TCP/IP Suite
Networking Support In Java Nelson Padua-Perez Chau-Wen Tseng Department of Computer Science University of Maryland, College Park.
Data Communications Architecture Models. What is a Protocol? For two entities to communicate successfully, they must “speak the same language”. What is.
OSI Model 7 Layers 7. Application Layer 6. Presentation Layer
 The Open Systems Interconnection model (OSI model) is a product of the Open Systems Interconnection effort at the International Organization for Standardization.
Lecture slides prepared for “Business Data Communications”, 7/e, by William Stallings and Tom Case, Chapter 8 “TCP/IP”.
Fundamentals of Computer Networks ECE 478/578 Lecture #2 Instructor: Loukas Lazos Dept of Electrical and Computer Engineering University of Arizona.
Protocols and the TCP/IP Suite Chapter 4. Multilayer communication. A series of layers, each built upon the one below it. The purpose of each layer is.
Process-to-Process Delivery:
Data and Computer Communications Eighth Edition by William Stallings Lecture slides by Lawrie Brown Chapter 2 – Protocol Architecture, TCP/IP, and Internet-Based.
Review: – computer networks – topology: pair-wise connection, point-to-point networks and broadcast networks – switching techniques packet switching and.
Chapter 9.
Chapter 2 Network Models
Presentation on Osi & TCP/IP MODEL
Lecture 2 TCP/IP Protocol Suite Reference: TCP/IP Protocol Suite, 4 th Edition (chapter 2) 1.
What is a Protocol A set of definitions and rules defining the method by which data is transferred between two or more entities or systems. The key elements.
Copyright 2003 CCNA 1 Chapter 9 TCP/IP Transport and Application Layers By Your Name.
TCP/IP: Basics1 User Datagram Protocol (UDP) Another protocol at transport layer is UDP. It is Connectionless protocol i.e. no need to establish & terminate.
جلسه دهم شبکه های کامپیوتری به نــــــــــــام خدا.
Huda AL_Omairl - Network 71 Protocols and Network Software.
Networks – Network Architecture Network architecture is specification of design principles (including data formats and procedures) for creating a network.
William Stallings Data and Computer Communications 7 th Edition Data Communications and Networks Overview Protocols and Architecture.
Mukesh N. Tekwani Elphinstone College Mumbai
Data and Computer Communications Chapter 2 – Protocol Architecture, TCP/IP, and Internet-Based Applications 1.
Department of Electronic Engineering City University of Hong Kong EE3900 Computer Networks Introduction Slide 1 A Communications Model Source: generates.
Component 9 – Networking and Health Information Exchange Unit 1-1 ISO Open Systems Interconnection (OSI) This material was developed by Duke University,
1 Version 3.0 Module 11 TCP Application and Transport.
Chap 9 TCP/IP Andres, Wen-Yuan Liao Department of Computer Science and Engineering De Lin Institute of Technology
Data and Computer Communications Chapter 2 – Protocol Architecture, TCP/IP, and Internet-Based Applications.
Computer Networks. Introduction Computer Network2 A History Lesson of Networking 1969 – ARPANET, first packet switched network consist of UCLA, Stanford,
TCP/IP TCP/IP LAYERED PROTOCOL TCP/IP'S APPLICATION LAYER TRANSPORT LAYER NETWORK LAYER NETWORK ACCESS LAYER (DATA LINK LAYER)
TCP/IP Transport and Application (Topic 6)
11 TRANSPORT LAYER PROTOCOLS Chapter 6 TCP and UDP SPX and NCP.
The Transport Layer application transport network data link physical application transport network data link physical application transport network data.
CCNA 1 v3.0 Module 11 TCP/IP Transport and Application Layers.
TCP/IP Honolulu Community College Cisco Academy Training Center Semester 2 Version 2.1.
Network Protocols n ISO OSI 7-layer model n TCP/IP suite l TCP/UDP l IP l Ethernet/Token Ring l ICMP.
ECEN “Internet Protocols and Modeling”, Spring 2012 Course Materials: Papers, Reference Texts: Bertsekas/Gallager, Stuber, Stallings, etc Class.
William Stallings Data and Computer Communications
1 Transport Protocols Relates to Lab 5. An overview of the transport protocols of the TCP/IP protocol suite. Also, a short discussion of UDP.
CHAPTER 4 PROTOCOLS AND THE TCP/IP SUITE Acknowledgement: The Slides Were Provided By Cory Beard, William Stallings For Their Textbook “Wireless Communication.
1 Chapter 4. Protocols and the TCP/IP Suite Wen-Shyang Hwang KUAS EE.
Net 221D:Computer Networks Fundamentals
Sy Le CS 147.  Process of transferring information between computers virtually anywhere in the world.
Voice Over Internet Protocol (VoIP) Copyright © 2006 Heathkit Company, Inc. All Rights Reserved Presentation 5 – VoIP and the OSI Model.
McGraw-Hill Chapter 23 Process-to-Process Delivery: UDP, TCP Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display.
The OSI Model. Understanding the OSI Model In early 1980s, manufacturers began to standardize networking so that networks from different manufacturers.
COMPUTER NETWORKS Hwajung Lee. Image Source:
Data and Computer Communications Chapter 2 – Protocol Architecture, TCP/IP, and Internet-Based Applications.
11/18/2016Basic TCP/IP Networking 1 TCP/IP Overview Basic Networking Concepts.
Computer Networks.
Transport Protocols Relates to Lab 5. An overview of the transport protocols of the TCP/IP protocol suite. Also, a short discussion of UDP.
Computer Networks.
Understand the OSI Model Part 2
Protocols and the TCP/IP Suite
Transport Protocols Relates to Lab 5. An overview of the transport protocols of the TCP/IP protocol suite. Also, a short discussion of UDP.
Process-to-Process Delivery:
Protocols and the TCP/IP Suite
OSI Reference Model Unit II
Process-to-Process Delivery: UDP, TCP
OSI Model 7 Layers 7. Application Layer 6. Presentation Layer
Transport Protocols Relates to Lab 5. An overview of the transport protocols of the TCP/IP protocol suite. Also, a short discussion of UDP.
Presentation transcript:

Ch 1: Simulation of Computer Networks

1.1 Computer Networks and the Layering Concept Layering Concept Service Interface Protocol

1.1.2 OSI and TCP/IP Reference Models OSI (Open Systems Interconnection) by ISO (International Standards Organization) The TCP (Transmission Control Protocol)/IP (Internet Protocol) ARPANET five layers physical, data link, network, transport, and application application layer can be considered as the combination of session, presentation, and application layers of the OSI model.

Application Layer supports several higher-level protocols HTTP (Hypertext Transfer Protocol) for WWW SMTP (Simple Mail Transfer Protocol) for electronic mail, TELNET for remote virtual terminal, DNS (Domain Name Service) FTP (File Transfer Protocol) for file transfer.

Transport Layer to transport the messages from the application layer of the source host to that of the destination host. fragmentation is usually performed to break a long message into segments. two well-known protocols, TCP a reliable and connection-oriented communication flow control and error control UDP (User Datagram Protocol) unreliable connectionless transport.

Network Layer provides routing services to the transport layer. deliver the data units, usually called packets Link Layer Node to node delivery across each of the communication links. three main responsibilities. flow control Error control flow multiplexing/demultiplexing Ethernet, Point-to-Point Protocol (PPP), IEEE (i.e., WiFi), and Asynchronous Transfer Mode (ATM).

Physical Layer transmission of data bits across a communication link. transmission parameters (e.g., transmission power, modulation scheme) are set appropriately to achieve the required transmission performance (e.g., to achieve the target bit error rate performance).

1.2 System Modeling System modeling : important in system design and development two modeling approaches: Analytical Approach describe a system mathematically queuing and probability theories, cost-effective if system is simple and relatively small Not accurate if too many assumption Simulation Approach fewer simplifying assumptions Suitable for large and complex systems

1.3 Basics of Computer Network Simulation Simulation: The Formal Definition the process of designing a model of a real system and conducting experiments with this model Purpose understanding the behavior of the system and/ evaluating various strategies for the operation of the system.” For computer networks: a dynamic model of a real dynamic system.

1.3.2 Elements of Simulation Entities are objects which interact with one another For a computer network: computer nodes, packets, flows of packets, or non-physical objects such as simulation clocks. To distinguish the different entities unique attributes are assigned to each of them. Ex: a packet packet length, sequence number, priority, header.

1.3.2 Elements of Simulation Resources (limited) network resources shared among the network entities. Ex: bandwidth, air time, the number of servers, Activities and Events entities engage in some activities. Creates events / triggers stage change Ex: delay and queuing. send a packet but the medium is busy  wait  the packet is said to be engaged in a waiting activity.

1.3.2 Elements of Simulation Scheduler A scheduler maintains the list of events and their execution time. Global Variables Ex: the length of the packet queue in a single-server network, the total busy air time of the wireless network, or the total number of packets transmitted.

1.3.2 Elements of Simulation Random Number Generator (RNG) to introduce randomness in a simulation model. Pick up values from a deterministic sequence of psudo- random number In practice, an RNG needs to start picking numbers from different location (i.e., seed) Ex: a packet arrival process, waiting process, and service process Basic uniform distribution  exponential, Gaussian, Poisson, Binomial distribution functions

1.3.2 Elements of Simulation Statistics Gatherer to collect data generated by the simulation so that meaningful inferences can be drawn from such data

1.4 Time-Dependent Simulation Two types time-driven induces and executes events for every fixed time interval. event-driven induces events at arbitrary time

1.4.1 Time-Driven Simulation the simulation clock is advanced exactly by a fixed interval of Δ time units. looks for events that may have occurred during this fixed interval. If so, such events are treated as if they occurred at the end of this interval a,b,c are events.

1.4.1 Time-Driven Simulation disadvantage events b and c are considered to occur exactly at the end of the interval  not real Possible solution narrow down a simulation time interval Not recommended for the case where events occurs at random time.

Example 1.1. Program 1.1 Skeleton of the event-processing loop in a time-driven simulation. 1 initialize {system states} 2 SimClock := startTime; 3 while {SimClock < stopTime} 4 collect statistics from current state; 5 execute all events that occurred during 6 [SimClock, SimClock + step]; 7 SimClock := SimClock + step; 8 end while

1.4.2 Event-Driven Simulation is initiated and run by a set of events (schedule list). The time gap between two events is not fixed The simulation advance from one event to another Event may induce one or more events new event is usually inserted into the chain (i.e., list) gathering information right after every event execution.

Example 1.2. Program 1.2 Skeleton of the event-processing loop in an event-driven simulation. 1 initialize {system states} 2 initialize {list of events} 3 while {state != finalState} % or while {this.event != Null} 4 expunge the previous event from list of events; 5 set SimClock := time of current event; 6 execute this.event 7 end while

1.5 A Simulation Example: A Single- Channel Queuing System point-to-point wired communication link only a one-way communication from node A to node B Inter-arrival time: random Packet length: random  Service time also random

22 Traffic arrival We can model traffic arrival pattern for an application as I is const and L is a random variable L is const and I is a random variable L and I are two random variables time L I

Single queue system: FIFO C in out C: outgoing link speed For wireless network, C is not a const To Node B time Node A Node B channel Service time

Entities Server (medium availability) with idle and busy attributes, Packets with arrival time and service time attributes, Queue with empty and non-empty attributes. Resource the only resource in this example is the transmission time in the channel.

System State Variables and Events Two system state variables: num_system : the number of packets in the system channel_free : the status of the channel (server) which is either idle or busy. Two events: pkt_arrival: a packet arrival event. pkt_complete: a successful packet transmission event.

Two other important elements simulation clock An event list: packet arrival and successful packet transmission the simulation executes an event after another down the event list, and updates the simulation clock based on the time specified in the executed event.

Simulation Performance Measures Mean waiting time the average time that a packet spends in the queue. a global variable for total waiting time At the end of the simulation, we divide this value by the total number of packets Mean packet transmission latency average time that a packet spends in the system. Mean server utilization percentage time where the server is busy we measure the time where the server is busy. At the end of the simulation, we divide this busy time by the total simulation time

Program 1.3 Simulation skeleton of a single-channel queuing system. 1 % Initialize system states 2 channel_free = true; %Channel is idle 3 num_queue = 0; %Number of packets in queue 4 num_system = 0; %Number of packets in system 5 SimClock = 0; %Current time of simulation 6 %Generate packets and schedule their arrivals 7 event_list = create_list(); 8 % Main loop 9 while {event_list != empty} & {SimClock < stopTime} 10 expunge the previous event from event list; 11 set SimClock := time of current event; 12 call current event; 13 end while 14 %Define events 15 pkt_arrival(){ 16 if(channel_free) 17 channel_free = false; 18 num_system = num_system + 1; 19 % Update "event_list": Put "successful packet tx event" 20 % into "event_list," T is random service time. 21 schedule event "pkt_complete" at SimClock + T; 22 else 23 num_queue = num_queue + 1; %Place packet in queue 24 num_system = num_queue + 1; 25 } 26 pkt_complete(){ 27 num_system = num_system - 1; 28 num_queue = num_queue - 1; 29 if(num_queue > 0) 30 schedule event "pkt_complete" at SimClock + T; 31 else 32 channel_free = true; 33 num_system = 0; 34 num_queue = 0; 35 }

create_list() automatically generates packets and associates each packet with the random inter-arrival and service times. event_list data structure event type (arrival or completion) associated timestamp (inter-arrival time or service time). Initially, only the arrival events are put into the event_list. Arrival event  call pkt_arrival() Completion event  call pkt_complete()

1.0

the mean server utilization = the ratio of the time where the server is in use and the simulation time, which is 14/16 = in this case.

Remark It is important to note that all the above measures are the average values taken over time, implying that the longer the simulation, the more accurate the statistics.