Network Simulator 2, Protocol Implementation Assignment for Telecommunications Laboratory Course

Size: px
Start display at page:

Download "Network Simulator 2, Protocol Implementation Assignment for Telecommunications Laboratory Course"

Transcription

1 Network Simulator 2, Protocol Implementation Assignment for Telecommunications Laboratory Course

2 1 Introduction This document describes the Major NS2 Assignment for the Simulation Part of the Telecommunications Laboratory Course. This assignment is personal (meaning it is not done in groups). The protocol to be implemented using Network Simulator 2 is Go-Back-N ARQ and is described later in this document as a state machine. Also a couple of MSCs (Message Sequence Charts) of the most typical situations are provided. The basic idea of the protocol should be familiar at least to some extent to the reader, but if it is not, many books dealing with protocols describe Go-Back-N ARQ (for example Data and Computer Communications, 6th edition by William Stallings). 2 Pre-requisites The Minor NS2 assignment must be done before this assignment. In addition to that, the student should have a basic knowledge about object-oriented programming and C++ (the course Olio-ohjelmointi/Object-oriented Programming would be of great help). 3 The assignment The first thing to do when you start doing the assignment is to go through Marc Greis' tutorial's Chapter VII A new protocol for ns. It gives you the needed background for implementing new protocol agents using NS2. You should download a tar-file which includes a Makefile and an implementation for the timer to be used with Go-Back-N. In Makefile and in GoBackNTimer.h you should replace strings XXXXXX with the name of the file that contains your implementation of Go-Back-N ARQ. The name of the class that contains your implementation of Go- Back-N should be named GoBackNAgent. Executing make ns produces a binary file 'ns' into the directory in which Makefile is located. Your implementation of Go-Back-N should be capable of 1) reading data from a given input file (text file), 2) transmitting this data to the peer using Go-Back-N ARQ and 3) writing the correctly received data into an output file. The protocol agent that you implement should work according to the state machine given in the next chapter. In addition to that, it should be possible to configure, through Tcl, the maximum size of the sending window and the maximum sequence number for the agent. Also, it should be possible to specify the name of the file from which the agent reads the data to be transmitted, as well as the name of the file into which the agent writes the received data. The agent should print out some key information during the simulation. From the printing it should be possible to determine what the agent is doing. Also visualization of the simulation using nam is required.

3 You can make some assumptions, for example that all the parameters described in the preceding paragraph are given in Tcl script before the simulation is started. It is sufficient to test the agent with simulations in which one agent is sending all the data and the other one is only receiving data (of course it must and REJ PDUs as needed but not data). To make your task easier, some modifications to the ns-2 source files packet.h and tcl/lib/ns-packet.tcl in /export/local/src/ns-allinone-2.1b6/ns-2.1b6, have already been done for you. These include: In packet.h Addition of line PT_GO_BACK_N to type enum_packet_t Addition of line name_[pt_go_back_n] = "go-back-n"; to p_info() member function and in tcl/lib/ns-packet.tcl Addition of line { GoBackN off_go_back_n_ } Modification that is recommended in the tutorial to be made to file ns-default.tcl has not been done. You should set the default packet size at the start of your Tcl script with the line Agent/GoBackN set packetsize_ 10. Later on in the simulation you can set the size of the packet to be created using allocpkt() by setting member variable size_ to the preferred value just before the call of allocpkt(). The functionality of the agent will be tested using Error Model provided by NS2 that drops some of the sent packets. The agent should recover from random packet loss. Agent is not however required to implement a retansmission counter. Also it will be tested that the agent correctly handles the situation where the sequence number space is wrapped, i.e sequence numbers of the sent packets return to zero like in the followingexample(maximumsequencenumberis7)0,1,2,3,4,5,6,7,0,1,2,...

4 4 State machine, packet header and some MSCs RR AND (RR.flag == POLL) AND RR.seqno == next_to_receive (RR.seqno = next_to_receive - 1, RR.flag = NONE) RR AND (RR.flag == POLL) AND (RR.seqno!= next_to_receive - 1) send REJ (REJ.seqno = next_to_receive, REJ.flag = NONE) RR AND (RR.flag == NONE) remove acked from sent queue DATA AND (DATA.seqno!= next_to_receive) send REJ (REJ.seqno = next_to_receive, REJ.flag = NONE) IDLE REJ resend sent DATA packets starting from REJ.seqno timeout (RR.seqno = last_sent, RR.flag = POLL), restart timer DATA AND (DATA.seqno == next_to_receive) data to output, update next_to_receive, (RR.seqno = next_to_receive, RR.flag = NONE) call from Tcl to send data if(data_to_send AND window not full) send DATA, put sent data to sent_queue, restart timer The packet header should contain fields for the PDU type, sequence number of PDU and flag (for polling). type seqno flag type ::= DATA RR REJ seqno ::= max_seqno flag ::= NONE POLL

5 5 What you should return You should return a modified Makefile, well commented C++ code files and at least one Tcl script file according to the instructions given on the assistant's page. The script should produce a simulation in which one agent sends the contents of a file to another agent which writes the correctly received data to an output file. In the script you must also use Error Model provided by NS2 in order to demonstrate that your agent recovers from occasional packet loss. 6 Hints 1. In order to have the agent to send data at fixed interval (of course limited by sending window) you should write a procedure in Tcl that schedules calling of itself after a given interval. 2. You should use PacketQueue in the sender for buffering the sent data that has not been acknowledged yet by the receiver (see ns manual Chapter for details). 3. You should note that in sending a data packet you should construct two matching packets from which one is sent to peer and the other one is put to the PacketQueue. You must not put the same instance of the packet to the queue that you send - otherwise when the receiver receives the packet and deletes it also the packet in the sender's PacketQueue (same instance) is deleted and the result is undefined. 4. You should use the timer class provided in the tar-file that you downloaded for timeouts caused by occasional packet loss. Timer can be scheduled by calling timer's member function resched(double delay). 5. You might want to include header files agent.h and queue.h in your C++ code. 6. Before you call allocpkt() in your code you must set the variable size_ to the value matching the number of data bytes in the Packet you are about to build. Actual user data is contained in the instance of class PacketData, which is then set on the actual packet. Class PacketData has a function data() that returns a pointer to the start of the data area and function size(), which returns the length of the data. Below is an example illustrating the handling of user data. In sender : data_bytes = 20; Packet* pkt = allocpkt(); PacketData* data = new PacketData(data_bytes); memcpy(data->data(), buffer, data_bytes); pkt->setdata(data); In receiver - pkt is the received Packet : PacketData* data; data = (PacketData*)pkt->userdata(); memcpy(buffer, data->data(), data->size());

VANET-Skeleton for ns2

VANET-Skeleton for ns2 VANET-Skeleton for ns2 Daniel Jungels Laboratory for computer Communications and Applications (LCA) EPFL December 23, 2005 This document quickly describes how to install ns2, and how to implement a VANET

More information

NS2 How to implement a new protocol?

NS2 How to implement a new protocol? NS2 How to implement a new protocol? Chang-Gun Lee (cglee@snu.ac.kr) Assistant Professor The School of Computer Science and Engineering Seoul National University NS directory structure ns-2.30 C++ objects

More information

Service Location Protocol for MANET (SLPManet)

Service Location Protocol for MANET (SLPManet) Service Location Protocol for MANET (SLPManet) User Manual April 2005 Mohamed M. Abou El Saoud moaz@sce.carleton.ca Department of Systems & Computer Engineering Carleton University 1 Required Files First,

More information

Principles of Reliable Data Transfer

Principles of Reliable Data Transfer Principles of Reliable Data Transfer 1 Reliable Delivery Making sure that the packets sent by the sender are correctly and reliably received by the receiver amid network errors, i.e., corrupted/lost packets

More information

Introduction to Wireless and Mobile Networking

Introduction to Wireless and Mobile Networking Introduction to Wireless and Mobile Networking NS-2 Tutorial-4 Hung-Yu Wei National Taiwan University Speaker: Chih-Yu Wang Creating A New Protocol NS-2 tutorial: Section VII http://www.isi.edu/nsnam/ns/tutorial/index.h

More information

Flow control: Ensuring the source sending frames does not overflow the receiver

Flow control: Ensuring the source sending frames does not overflow the receiver Layer 2 Technologies Layer 2: final level of encapsulation of data before transmission over a physical link responsible for reliable transfer of frames between hosts, hop by hop, i.e. on a per link basis

More information

Simple Data Link Protocols

Simple Data Link Protocols Simple Data Link Protocols Goals 1) Become familiar with Network Simulator 2 2) Simulate Stop & wait and Sliding Window 3) Investigate the effect of channel with loss on link utilization Introduction Data

More information

Data Link Control Protocols

Data Link Control Protocols Protocols : Introduction to Data Communications Sirindhorn International Institute of Technology Thammasat University Prepared by Steven Gordon on 23 May 2012 Y12S1L07, Steve/Courses/2012/s1/its323/lectures/datalink.tex,

More information

The DTN code has been tested with ns-2.35 [1]. There is no need to re-install ns-2 if ns-2.35 has already been installed.

The DTN code has been tested with ns-2.35 [1]. There is no need to re-install ns-2 if ns-2.35 has already been installed. DTN Code for ns-2.35 The DTN code has been tested with ns-2.35 [1]. There is no need to re-install ns-2 if ns-2.35 has already been installed. The DTN code may work with earlier ns-2 versions, too. However,

More information

Multi Service Link Layers: An Introduction

Multi Service Link Layers: An Introduction Multi Service Link Layers: An Introduction George Xylomenos October 2007 Abstract This document provides an introduction to the Multi Service Link Layer framework, describing its components and their interaction.

More information

Chapter 5. Simulation Environment. Chapter 5 Simulation Environment... V Network Simulator... V NS-2 Installation...

Chapter 5. Simulation Environment. Chapter 5 Simulation Environment... V Network Simulator... V NS-2 Installation... Chapter 5 Simulation Environment Chapter 5 Simulation Environment... V-2 5.1 Network Simulator... V-2 5.2 NS-2 Installation... V-4 5.3 Sample Script... V-9 5.4 Adding New Routing Protocol in NS2... V-12

More information

Project Network Simulation CSE 5346/4346

Project Network Simulation CSE 5346/4346 Project Network Simulation CSE 5346/4346 Project Overview This is a comprehensive project designed to be completed by 4 phases, and intended to demonstrate network performance and quality of service (QoS)

More information

file:///c:/users/hpguo/dropbox/website/teaching/fall 2017/CS4470/H...

file:///c:/users/hpguo/dropbox/website/teaching/fall 2017/CS4470/H... 1 of 9 11/26/2017, 11:28 AM Homework 3 solutions 1. A window holds bytes 2001 to 5000. The next byte to be sent is 3001. Draw a figure to show the situation of the window after the following two events:

More information

Data Communications. Automatic Repeat Request Medium Access Control

Data Communications. Automatic Repeat Request Medium Access Control Data Communications Automatic Repeat Request Medium Access Control Handling Error Cases Automatic Repeat request(arq), also known as Automatic Repeat Query, is an error-control method ARQ uses acknowledgements

More information

The GBN sender must respond to three types of events:

The GBN sender must respond to three types of events: Go-Back-N (GBN) In a Go-Back-N (GBN) protocol, the sender is allowed to transmit several packets (when available) without waiting for an acknowledgment, but is constrained to have no more than some maximum

More information

Chapter 11 Data Link Control 11.1

Chapter 11 Data Link Control 11.1 Chapter 11 Data Link Control 11.1 Copyright The McGraw-Hill Companies, Inc. Permission required for reproduction or display. 11-1 FRAMING The data link layer needs to pack bits into frames, so that each

More information

Transport Layer. Application / Transport Interface. Transport Layer Services. Transport Layer Connections

Transport Layer. Application / Transport Interface. Transport Layer Services. Transport Layer Connections Application / Transport Interface Application requests service from transport layer Transport Layer Application Layer Prepare Transport service requirements Data for transport Local endpoint node address

More information

Mohammad Hossein Manshaei 1393

Mohammad Hossein Manshaei 1393 Mohammad Hossein Manshaei manshaei@gmail.com 1393 A brief Introduction to ns-2 2 Contents 1. Introduction to ns-2 2. ns-2 Components 3. Create a Basic ns-2 Model 4. Case Study: WiFi Simulation 5. Simulation

More information

16.682: Communication Systems Engineering. Lecture 17. ARQ Protocols

16.682: Communication Systems Engineering. Lecture 17. ARQ Protocols 16.682: Communication Systems Engineering Lecture 17 ARQ Protocols Eytan Modiano Automatic repeat request (ARQ) Break large files into packets FILE PKT H PKT H PKT H Check received packets for errors Use

More information

The Transport Layer: TCP & Reliable Data Transfer

The Transport Layer: TCP & Reliable Data Transfer The Transport Layer: TCP & Reliable Data Transfer Smith College, CSC 249 February 15, 2018 1 Chapter 3: Transport Layer q TCP Transport layer services: v Multiplexing/demultiplexing v Connection management

More information

ns-2 Tutorial Exercise (1)

ns-2 Tutorial Exercise (1) ns-2 Tutorial Exercise (1) Multimedia Networking Group, The Department of Computer Science, UVA Jianping Wang Adopted from Nicolas s slides Jianping Wang, 2002 cs757 On to the Tutorial Work in group of

More information

Network Simulator 2: Introduction

Network Simulator 2: Introduction Network Simulator 2: Introduction Presented by Ke Liu Dept. Of Computer Science SUNY Binghamton Spring, 2006 1 NS-2 Overview 2 NS-2 Developed by UC Berkeley Maintained by USC Popular simulator in scientific

More information

Network Technology 1 5th - Transport Protocol. Mario Lombardo -

Network Technology 1 5th - Transport Protocol. Mario Lombardo - Network Technology 1 5th - Transport Protocol Mario Lombardo - lombardo@informatik.dhbw-stuttgart.de 1 overview Transport Protocol Layer realizes process to process communication data unit is called a

More information

Data Link Control CHAPTER 11. Solutions to Review Questions and Exercises. Review Questions

Data Link Control CHAPTER 11. Solutions to Review Questions and Exercises. Review Questions CHAPTER 11 Data Link Control Solutions to Review Questions and Exercises Review Questions 1. The two main functions of the data link layer are data link control and media access control. Data link control

More information

3. Data Link Layer 3-2

3. Data Link Layer 3-2 3. Data Link Layer 3.1 Transmission Errors 3.2 Error Detecting and Error Correcting Codes 3.3 Bit Stuffing 3.4 Acknowledgments and Sequence Numbers 3.5 Flow Control 3.6 Examples: HDLC, PPP 3. Data Link

More information

Data Link Layer. Goals of This Lecture. Engineering Questions. Outline of the Class

Data Link Layer. Goals of This Lecture. Engineering Questions. Outline of the Class Data Link Layer Kuang Chiu Huang TCM NCKU Goals of This Lecture Through the lecture and in-class discussion, students are enabled to describe role and functions of the link layer, and compare different

More information

Advanced Computer Networks. Rab Nawaz Jadoon DCS. Assistant Professor COMSATS University, Lahore Pakistan. Department of Computer Science

Advanced Computer Networks. Rab Nawaz Jadoon DCS. Assistant Professor COMSATS University, Lahore Pakistan. Department of Computer Science Advanced Computer Networks Rab Nawaz Jadoon Department of Computer Science DCS COMSATS Institute of Information Technology Assistant Professor COMSATS University, Lahore Pakistan Advanced Computer Networks

More information

10.1 REVIEW QUESTIONS

10.1 REVIEW QUESTIONS CHAPTER 10 Data Link Control 10.1 REVIEW QUESTIONS 1. Transmission means to put a signal on a line. Communication is a meaningful and orderly relationship between devices that send and receive data. 3.

More information

CSE 3461/5461 Programming Assignment 3.

CSE 3461/5461 Programming Assignment 3. CSE 3461/5461 Programming Assignment 3. 1. Goal To design the full version of Go-Back-N ARQ protocol. Changes from Programming Assignmnet 2: o In the previous assignment, when the info-frame timer expires,

More information

COM-208: Computer Networks - Homework 3

COM-208: Computer Networks - Homework 3 COM-208: Computer Networks - Homework 3 1 Application Layer 1. (P22) Consider distributing a file of F = 15 Gbits to N peers. The server has an upload rate of u s = 30 Mbps, and each peer has a download

More information

Chapter 11 Data Link Control 11.1

Chapter 11 Data Link Control 11.1 Chapter 11 Data Link Control 11.1 Copyright The McGraw-Hill Companies, Inc. Permission required for reproduction or display. 11-1 1 FRAMING The data link layer needs to pack bits into frames,, so that

More information

PROBLEMSAND EXERCISES

PROBLEMSAND EXERCISES Departamento de Tecnología Electrónica Computer Networking Unit 3: Transport layer PROBLEMSAND EXERCISES Transport Layer 95 Pr1: port numbers Suppose that the client A initiates a TCP connection to a Web

More information

Computer Networking. Reliable Transport. Reliable Transport. Principles of reliable data transfer. Reliable data transfer. Elements of Procedure

Computer Networking. Reliable Transport. Reliable Transport. Principles of reliable data transfer. Reliable data transfer. Elements of Procedure Computer Networking Reliable Transport Prof. Andrzej Duda duda@imag.fr Reliable Transport Reliable data transfer Data are received ordered and error-free Elements of procedure usually means the set of

More information

CSCD 330 Network Programming

CSCD 330 Network Programming CSCD 330 Network Programming Lecture 10 Transport Layer Continued Spring 2018 Reading: Chapter 3 Some Material in these slides from J.F Kurose and K.W. Ross All material copyright 1996-2007 1 Last Time.

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

c. If the sum contains a zero, the receiver knows there has been an error.

c. If the sum contains a zero, the receiver knows there has been an error. ENSC-37 Fall 27 Assignment#3 Due Date 6 Oct. 27 Problem-:[4] UDP and TCP use s complement for their checksums. Suppose you have the following three 8-bit bytes:,, and. a. [6] What is the s complement of

More information

Direct Link Communication I: Basic Techniques. Data Transmission. ignore carrier frequency, coding etc.

Direct Link Communication I: Basic Techniques. Data Transmission. ignore carrier frequency, coding etc. Direct Link Communication I: Basic Techniques Link speed unit: bps abstraction Data Transmission ignore carrier frequency, coding etc. Point-to-point link: wired or wireless includes broadcast case Interested

More information

*************************************************************************** *********/

*************************************************************************** *********/ File: readme.asn Author: Adnan Abu-Mahfouz Date: March 2012 Description: Localisation system in wireless sensor networks using ns-2 / / 1. Introduction: ns-2 contains several flexible features that encourage

More information

Problem Set Name the 7 OSI layers and give the corresponding functionalities for each layer.

Problem Set Name the 7 OSI layers and give the corresponding functionalities for each layer. Problem Set 1 1. Why do we use layering in computer networks? 2. Name the 7 OSI layers and give the corresponding functionalities for each layer. 3. Compare the network performance of the 3 Multiple Access

More information

TCP Strategies. Keepalive Timer. implementations do not have it as it is occasionally regarded as controversial. between source and destination

TCP Strategies. Keepalive Timer. implementations do not have it as it is occasionally regarded as controversial. between source and destination Keepalive Timer! Yet another timer in TCP is the keepalive! This one is not required, and some implementations do not have it as it is occasionally regarded as controversial! When a TCP connection is idle

More information

Lab 1 - Reliable Data Transport Protocol

Lab 1 - Reliable Data Transport Protocol Lab 1 - Reliable Data Transport Protocol Handout: March 8, 2018 Deadline: March 18 23:00, 2018 (No extension) Assignment overview: In this assignment, you will be implementing the sending and receiving

More information

ECE 333: Introduction to Communication Networks Fall 2001

ECE 333: Introduction to Communication Networks Fall 2001 ECE 333: Introduction to Communication Networks Fall 2001 Lecture 28: Transport Layer III Congestion control (TCP) 1 In the last lecture we introduced the topics of flow control and congestion control.

More information

(Sicherungsschicht) Chapter 5 (part 2) [Wa0001] HDLC - 1.

(Sicherungsschicht) Chapter 5 (part 2) [Wa0001] HDLC - 1. Data Link Layer (cont.) (Sicherungsschicht) Chapter 5 (part 2) [Wa0001] HDLC - 1 LOGICAL LINK CONTROL MEDIUM ACCESS CONTROL PHYSICAL SIGNALING DATA LINK LAYER PHYSICAL LAYER ACCESS UNIT INTERFACE PHYSICAL

More information

1 Overhaul of IEEE Modeling and Simulation in NS-2 (802.11Ext)

1 Overhaul of IEEE Modeling and Simulation in NS-2 (802.11Ext) 1 Overhaul of IEEE 802.11 Modeling and Simulation in NS-2 (802.11Ext) Authors: Qi Chen +, Felix Schmidt-Eisenlohr *, Daniel Jiang +, Marc Torrent-More *, Luca Delgrossi +, Hannes Hartenstein * * University

More information

The Transport Layer. Why is there a transport layer? Addressing

The Transport Layer. Why is there a transport layer? Addressing The Transport Layer Provides logical communication between processes network layer: data transfer between end systems transport layer: data transfer between processes Two types of transport service is

More information

Data and Computer Communications

Data and Computer Communications Data and Computer Communications Chapter 7 Data Link Control Protocols Eighth Edition by William Stallings Lecture slides by Lawrie Brown Data Link Control Protocols "Great and enlightened one," said Ten-teh,

More information

The flow of data must not be allowed to overwhelm the receiver

The flow of data must not be allowed to overwhelm the receiver Data Link Layer: Flow Control and Error Control Lecture8 Flow Control Flow and Error Control Flow control refers to a set of procedures used to restrict the amount of data that the sender can send before

More information

Data Link Layer (cont.) ( h h h ) (Sicherungsschicht) HDLC - 1.

Data Link Layer (cont.) ( h h h ) (Sicherungsschicht) HDLC - 1. Data Link Layer (cont.) ( h h h ) (Sicherungsschicht) HDLC - 1 LOGICAL L LINK CONTROL MEDIUM ACCESS CONTROL PHYSICAL SIGNALING DATA LINK LAYER PHYSICAL LAYER ACCESS UNIT INTERFACE PHYSICAL MEDIA ATTACHMENT

More information

Telematics. 5rd Tutorial - LLC vs. MAC, HDLC, Flow Control, E2E-Arguments

Telematics. 5rd Tutorial - LLC vs. MAC, HDLC, Flow Control, E2E-Arguments 19540 - Telematics 5rd Tutorial - LLC vs. MAC, HDLC, Flow Control, E2E-Arguments Matthias Wa hlisch Department of Mathematics and Computer Science Institute of Computer Science 19. November, 2009 Institute

More information

Name Student ID Department/Year. Midterm Examination. Introduction to Computer Networks Class#: 901 E31110 Fall 2006

Name Student ID Department/Year. Midterm Examination. Introduction to Computer Networks Class#: 901 E31110 Fall 2006 Name Student ID Department/Year Midterm Examination Introduction to Computer Networks Class#: 901 E31110 Fall 2006 9:20-11:00 Tuesday November 14, 2006 Prohibited 1. You are not allowed to write down the

More information

Peer to Peer Instant Messaging

Peer to Peer Instant Messaging Peer to Peer Instant Messaging Assignment in Data communication I, Department of Information Technology, Uppsala University. Overview In this programming exercise you will implement a peer to peer instant

More information

An Introduction to NS-2

An Introduction to NS-2 An Introduction to NS-2 * Roadmap For Today s Lecture 1. ns Primer 2. Extending ns Part I: ns Primer What is ns? Object-oriented, discrete event-driven network simulator Written in C++ and OTcl By VINT:

More information

Data Link Control. Claude Rigault ENST Claude Rigault, ENST 11/3/2002. Data Link control 1

Data Link Control. Claude Rigault ENST Claude Rigault, ENST 11/3/2002. Data Link control 1 Data Link Control Claude Rigault ENST claude.rigault@enst.fr Data Link control Data Link Control Outline General principles of Data Link Control HDLC Data Link control 2 General principles of Data Link

More information

Protocol Specification. Using Finite State Machines

Protocol Specification. Using Finite State Machines Protocol Specification Using Finite State Machines Introduction Specification Phase of Protocol Design allows the designer to prepare an abstract model of the protocol for testing and analysis. Finite

More information

Mobile Transport Layer Lesson 02 TCP Data Stream and Data Delivery

Mobile Transport Layer Lesson 02 TCP Data Stream and Data Delivery Mobile Transport Layer Lesson 02 TCP Data Stream and Data Delivery 1 TCP Data Stream Consists of bytes Delivered using a virtual connection between sockets Each socket has the port number and IP address

More information

Simulations: ns2 simulator part I a

Simulations: ns2 simulator part I a Simulations: ns2 simulator part I a Lecturer: Dmitri A. Moltchanov E-mail: moltchan@cs.tut.fi http://www.cs.tut.fi/ moltchan/modsim/ a Based on: Eitan Altman and Tania Jimenez NS Simulator for Beginners,...

More information

Announcements Computer Networking. Outline. Transport Protocols. Transport introduction. Error recovery & flow control. Mid-semester grades

Announcements Computer Networking. Outline. Transport Protocols. Transport introduction. Error recovery & flow control. Mid-semester grades Announcements 15-441 Computer Networking Lecture 16 Transport Protocols Mid-semester grades Based on project1 + midterm + HW1 + HW2 42.5% of class If you got a D+,D, D- or F! must meet with Dave or me

More information

Peer-to-Peer Protocols and Data Link Layer. Chapter 5 from Communication Networks Leon-Gracia and Widjaja

Peer-to-Peer Protocols and Data Link Layer. Chapter 5 from Communication Networks Leon-Gracia and Widjaja Peer-to-Peer Protocols and Data Link Layer Chapter 5 from Communication Networks Leon-Gracia and Widjaja Peer-to-Peer Protocols At each layer two (or more) entities execute These are peer processes For

More information

Chapter 3. The Data Link Layer. Wesam A. Hatamleh

Chapter 3. The Data Link Layer. Wesam A. Hatamleh Chapter 3 The Data Link Layer The Data Link Layer Data Link Layer Design Issues Error Detection and Correction Elementary Data Link Protocols Sliding Window Protocols Example Data Link Protocols The Data

More information

CSE 461: Introduction to Computer Communication Networks. Chunjong Park

CSE 461: Introduction to Computer Communication Networks. Chunjong Park CSE 461: Introduction to Computer Communication Networks Chunjong Park Reliable Data Transfer A sends a packet to B Ideally, the packet should arrive at B But A does not know whether B receives it How

More information

Networked Systems and Services, Fall 2018 Chapter 3

Networked Systems and Services, Fall 2018 Chapter 3 Networked Systems and Services, Fall 2018 Chapter 3 Jussi Kangasharju Markku Kojo Lea Kutvonen 4. Transport Layer Reliability with TCP Transmission Control Protocol (TCP) RFC 793 + more than hundred other

More information

Networked Systems and Services, Fall 2017 Reliability with TCP

Networked Systems and Services, Fall 2017 Reliability with TCP Networked Systems and Services, Fall 2017 Reliability with TCP Jussi Kangasharju Markku Kojo Lea Kutvonen 4. Transmission Control Protocol (TCP) RFC 793 + more than hundred other RFCs TCP Loss Recovery

More information

TCP/IP. Chapter 5: Transport Layer TCP/IP Protocols

TCP/IP. Chapter 5: Transport Layer TCP/IP Protocols TCP/IP Chapter 5: Transport Layer TCP/IP Protocols 1 Objectives Understand the key features and functions of the User Datagram Protocol Explain the mechanisms that drive segmentation, reassembly, and retransmission

More information

Comparison of ISO-OSI and TCP/IP Suit. Functions of Data Link Layer:

Comparison of ISO-OSI and TCP/IP Suit. Functions of Data Link Layer: Comparison of ISO-OSI and TCP/IP Suit Functions of Data Link Layer: 1. Frame generation ( Character Count, Character Stuffing, Bit Stuffing) 2. Error Processing (Parity(EVEN or ODD), Block Parity, Hamming

More information

INSTITUT NATIONAL DES TELECOMMUNICATIONS. MSc Computer and Communication Networks MSc Information Technology Final Examination

INSTITUT NATIONAL DES TELECOMMUNICATIONS. MSc Computer and Communication Networks MSc Information Technology Final Examination INSTITUT NATIONAL DES TELECOMMUNICATIONS Course: Computer Networking (CCN112) Duration: 2 hours MSc Computer and Communication Networks MSc Information Technology Final Examination Date: 13 February 2007

More information

CS 395-0, Section 22 Project Part B Dinda, Fall TCP for Minet. Project Part B

CS 395-0, Section 22 Project Part B Dinda, Fall TCP for Minet. Project Part B TCP for Minet Project Part B Overview In this part of the project, you and your partner will build an implementation of TCP for the Minet TCP/IP stack. You will be provided with all parts of the stack

More information

TDTS06: Computer Networks

TDTS06: Computer Networks TDTS06: Computer Networks Instructor: Niklas Carlsson Email: niklas.carlsson@liu.se Notes derived from Computer Networking: A Top Down Approach, by Jim Kurose and Keith Ross, Addison-Wesley. The slides

More information

The Transport Layer Reliability

The Transport Layer Reliability The Transport Layer Reliability CS 3, Lecture 7 http://www.cs.rutgers.edu/~sn4/3-s9 Srinivas Narayana (slides heavily adapted from text authors material) Quick recap: Transport Provide logical communication

More information

HDLC PROTOCOL. Michel GARDIE

HDLC PROTOCOL. Michel GARDIE HDLC PROTOCOL Michel GARDIE INT/LOR/RIP October 15, 2007 The version of this document is temporary. There are still several mistakes. I'm sorry for that. email: michel.gardie@int-edu.eu 1985 FRANCE TELECOM

More information

Written exam for EE2T21 (Part B) Data Communications Networking

Written exam for EE2T21 (Part B) Data Communications Networking Written exam for EET (Part B) Data Communications Networking dr. J. Sanders MSc July 6th, 8 Friday 6th of July, 3:3 5:3. Responsible teacher: dr. Jaron Sanders MSc Material: This examination covers Chapters

More information

CRC. Implementation. Error control. Software schemes. Packet errors. Types of packet errors

CRC. Implementation. Error control. Software schemes. Packet errors. Types of packet errors CRC Implementation Error control An Engineering Approach to Computer Networking Detects all single bit errors almost all 2-bit errors any odd number of errors all bursts up to M, where generator length

More information

CSE 123: Computer Networks

CSE 123: Computer Networks Student Name: PID: UCSD email: CSE 123: Computer Networks Homework 1 Solution (Due 10/12 in class) Total Points: 30 Instructions: Turn in a physical copy at the beginning of the class on 10/10. Problems:

More information

Evaluation and simulation of Video using EvalVid Tool

Evaluation and simulation of Video using EvalVid Tool Evaluation and simulation of Video using EvalVid Tool V.Sowmya Devi 1, Nagaratna P Hegde 2 1 Dept of CSE, GITAM University, Hyderabad, India. 2 Dept. of CSE, Vasavi College of Engineering, Hyderabad, India.

More information

Implementation of Feedback Mechanism into AODV based on NS2

Implementation of Feedback Mechanism into AODV based on NS2 Implementation of Feedback Mechanism into AODV based on NS2 Sebastian Roschke [sebastian.roschke@hpi.uni-potsdam.de] 2007-05-16 Abstract This paper gives an overview on the implementation of a feedback

More information

The Transport Layer. Part 1

The Transport Layer. Part 1 The Transport Layer Part 1 2 OVERVIEW Part 1 User Datagram Protocol Transmission Control Protocol ARQ protocols Part 2 TCP congestion control Mowgli XTP SCTP WAP 3 Transport Layer Protocols Connect applications

More information

Name Student ID Department/Year. Midterm Examination. Introduction to Computer Networks Class#: 901 E31110 Fall 2007

Name Student ID Department/Year. Midterm Examination. Introduction to Computer Networks Class#: 901 E31110 Fall 2007 Name Student ID Department/Year Midterm Examination Introduction to Computer Networks Class#: 901 E31110 Fall 2007 9:30-11:10 Tuesday November 27, 2007 Prohibited 1. You are not allowed to write down the

More information

CSE/EE 461. Sliding Windows and ARQ. Last Time. This Time. We finished up the Network layer Internetworks (IP) Routing (DV/RIP, LS/OSPF)

CSE/EE 461. Sliding Windows and ARQ. Last Time. This Time. We finished up the Network layer Internetworks (IP) Routing (DV/RIP, LS/OSPF) CSE/EE 46 Sliding Windows and ARQ Last Time We finished up the Network layer Internetworks (IP) Routing (DV/RIP, LS/OSPF) It was all about routing: how to provide end-to-end delivery of packets. Application

More information

a. (4pts) What general information is contained in a LSR-PDU update that A might send?

a. (4pts) What general information is contained in a LSR-PDU update that A might send? B1: Networks (25 points) Link State Routing (LSR). (Hint: flooding and Dijkstra s Algorithm). Assume Router A has physical links to Routers W, X, Y, Z. a. (4pts) What general information is contained in

More information

Problem 7. Problem 8. Problem 9

Problem 7. Problem 8. Problem 9 Problem 7 To best answer this question, consider why we needed sequence numbers in the first place. We saw that the sender needs sequence numbers so that the receiver can tell if a data packet is a duplicate

More information

[MC-SMP]: Session Multiplex Protocol. Intellectual Property Rights Notice for Open Specifications Documentation

[MC-SMP]: Session Multiplex Protocol. Intellectual Property Rights Notice for Open Specifications Documentation [MC-SMP]: Intellectual Property Rights Notice for Open Specifications Documentation Technical Documentation. Microsoft publishes Open Specifications documentation ( this documentation ) for protocols,

More information

Randomization. Randomization used in many protocols We ll study examples:

Randomization. Randomization used in many protocols We ll study examples: Randomization Randomization used in many protocols We ll study examples: Ethernet multiple access protocol Router (de)synchronization Switch scheduling 1 Ethernet Single shared broadcast channel 2+ simultaneous

More information

Randomization used in many protocols We ll study examples: Ethernet multiple access protocol Router (de)synchronization Switch scheduling

Randomization used in many protocols We ll study examples: Ethernet multiple access protocol Router (de)synchronization Switch scheduling Randomization Randomization used in many protocols We ll study examples: Ethernet multiple access protocol Router (de)synchronization Switch scheduling 1 Ethernet Single shared broadcast channel 2+ simultaneous

More information

QoS in Network Simulator 2

QoS in Network Simulator 2 QoS in Network Simulator 2 This experiment provides experience in how to apply and simulate QoS mechanisms in communication networks by means of NS2. We focus on RSVP in this experiment. 1. RSVP in NS2

More information

CS 5565 Spring CS 5565 Midterm

CS 5565 Spring CS 5565 Midterm CS 5565 This is a closed-book, closed-internet, closed-cellphone and closed-computer exam. However, you may refer to your sheet of prepared notes. Your exam should have 11 pages with 5 questions totaling

More information

S Quality of Service in Internet. Introduction to the Exercises Timo Viipuri

S Quality of Service in Internet. Introduction to the Exercises Timo Viipuri S-38.180 Quality of Service in Internet Introduction to the Exercises Timo Viipuri 8.10.2003 Exercise Subjects 1) General matters in doing the exercises Work environment Making the exercises and returning

More information

CSE 3461/5461 Programming Assignment 2

CSE 3461/5461 Programming Assignment 2 CSE 3461/5461 Programming Assignment 2 1. Goal o To extend the design of the basic data link layer from Programming Assignment 1 and implement the simplified version of the Go-Back-N ARQ protocol. 2. Layered

More information

a) Adding the two bytes gives Taking the one s complement gives

a) Adding the two bytes gives Taking the one s complement gives EE33- solutions for homework #3 (3 problems) Problem 3 Note, wrap around if overflow One's complement = To detect errors, the receiver adds the four words (the three original words and the checksum) If

More information

ET3110 Networking and Communications UNIT 2: Communication Techniques and Data Link Control Protocol skong@itt-tech.edutech.edu Learning Objectives Identify methods of detecting errors. Use Hamming code

More information

Performance Evaluation. of Input and Virtual Output Queuing on. Self-Similar Traffic

Performance Evaluation. of Input and Virtual Output Queuing on. Self-Similar Traffic Page 1 of 11 CS 678 Topics in Internet Research Progress Report Performance Evaluation of Input and Virtual Output Queuing on Self-Similar Traffic Submitted to Zartash Afzal Uzmi By : Group # 3 Muhammad

More information

Department of Computer and IT Engineering University of Kurdistan. Transport Layer. By: Dr. Alireza Abdollahpouri

Department of Computer and IT Engineering University of Kurdistan. Transport Layer. By: Dr. Alireza Abdollahpouri Department of Computer and IT Engineering University of Kurdistan Transport Layer By: Dr. Alireza Abdollahpouri TCP/IP protocol suite 2 Transport Layer The transport layer is responsible for process-to-process

More information

Chapter 3 Transport Layer

Chapter 3 Transport Layer Chapter 3 Transport Layer A note on the use of these Powerpoint slides: We re making these slides freely available to all (faculty, students, readers). They re in PowerPoint form so you see the animations;

More information

L12: end to end layer

L12: end to end layer L12: end to end layer Dina Katabi 6.033 Spring 2007 http://web.mit.edu/6.033 Some slides are from lectures by Nick Mckeown, Ion Stoica, Frans Kaashoek, Hari Balakrishnan, Sam Madden, and Robert Morris

More information

NS-2: A Free Open Source Network Simulator

NS-2: A Free Open Source Network Simulator : A Free Open Source Network Simulator srinath@it.iitb.ac.in Open Source Software Research Center Workshop on FOSS tools for Engineering June 27, 2005 Simulation Introduction Definition A simulation imitates

More information

CS 455: INTRODUCTION TO DISTRIBUTED SYSTEMS [NETWORKING] Frequently asked questions from the previous class surveys

CS 455: INTRODUCTION TO DISTRIBUTED SYSTEMS [NETWORKING] Frequently asked questions from the previous class surveys CS 455: INTRODUCTION TO DISTRIBUTED SYSTEMS [NETWORKING] The Receiver's Buffer Small it may be But throttle the mightiest sender It can Not just the how much But also the when Or if at all Shrideep Pallickara

More information

Practice Problems: P22, 23, P24, P25, P26, P27, P28, P29, P30, P32, P44 and P45. Hand-in the following: P27, P28, P32, P37, P44

Practice Problems: P22, 23, P24, P25, P26, P27, P28, P29, P30, P32, P44 and P45. Hand-in the following: P27, P28, P32, P37, P44 Practice Problems: P, 3, P4, P5, P6, P7, P8, P9, P30, P3, P44 and P45. Hand-in the following: P7, P8, P3, P37, P44 Chapter-3 Assigned/ Practice - Problems Problem a) Here we have a window size of N=3.

More information

Internet transport-layer protocols. Transport services and protocols. Sending and receiving. Connection-oriented (TCP) Connection-oriented

Internet transport-layer protocols. Transport services and protocols. Sending and receiving. Connection-oriented (TCP) Connection-oriented Transport services and protocols Internet -layer protocols logical communication between processes protocols run in end systems send side: breaks app messages into segments, passes to layer rcv side: reassembles

More information

Lecture 7: Flow Control"

Lecture 7: Flow Control Lecture 7: Flow Control" CSE 123: Computer Networks Alex C. Snoeren No class Monday! Lecture 7 Overview" Flow control Go-back-N Sliding window 2 Stop-and-Wait Performance" Lousy performance if xmit 1 pkt

More information

Secure RTP Library API Documentation. David A. McGrew Cisco Systems, Inc.

Secure RTP Library API Documentation. David A. McGrew Cisco Systems, Inc. Secure RTP Library API Documentation David A. McGrew Cisco Systems, Inc. Contents 1 Overview 1 2 Secure RTP Functions 3 srtp protect().................................... 3 srtp unprotect()..................................

More information

Lecture 7: Sliding Windows. CSE 123: Computer Networks Geoff Voelker (guest lecture)

Lecture 7: Sliding Windows. CSE 123: Computer Networks Geoff Voelker (guest lecture) Lecture 7: Sliding Windows CSE 123: Computer Networks Geoff Voelker (guest lecture) Please turn in HW #1 Thank you From last class: Sequence Numbers Sender Receiver Sender Receiver Timeout Timeout Timeout

More information

Chapter 5 Peer-to-Peer Protocols. School of Info. Sci. & Eng. Shandong Univ..

Chapter 5 Peer-to-Peer Protocols. School of Info. Sci. & Eng. Shandong Univ.. hapter 5 Peer-to-Peer Protocols School of Info. Sci. & Eng. Shandong Univ.. Outline 5. Peer-to-peer protocols and service models 5. RQ Protocols 5.3 Other daptation Functions Sliding Window Flow ontrol

More information