SlideShare a Scribd company logo
1 of 21
1
Department of Information Science and Engineering
M S Ramaiah Institute of Technology
(Autonomous Institute, Affiliated to VTU)
Bangalore-560054
NS2 Installation and Congestion control
A presentation submitted to
M S Ramaiah Institute of Technology
An Autonomous Institute, Affiliated to
Visvesvaraya Technological University, Belgaum
in partial fulfillment of 5th Sem Under
DATA COMMUNICATIONS
Submitted by
Suman Raj K(1MS14IS417)
Suneel N P(1MS13IS114)
under the guidance of
Dr. Mydhili K. Nair
OVERVIEW
 Installation of NS2
 Recompiling NS2
 Congestion Control
LINUX FOR NS2
 Linux
 Use of Linux is recommended
 Fedora (10, 12)
 If DVD Version- no need of additional package installation
 Install all the packages (if default installation selected, then additional
packages have to be installed)
 Ubuntu (9.04, 9.10, 10.04, 10.10)
 Additional packages to be installed, there may be GCC Issues, xgraph and
NAM issues
 Red Hat Enterprise Linux 5 (RHEL5)
 Cent OS is the alternative for RHEL
 Basic commands (ls, chmod, tar, rpm, make, gedit, vi, pwd,
passwd, echo, cd, etc)
 Directory structure and shell prompt
 Path variables setting, Installation of packages and
dependencies
INSTALLATION OF NS2
 Download from http://isi.edu/nsnam/ns/ns-
build.html#allinone
 Copy the file under /home/pradeep (if your
username is “abcdef” then home folder will be
/home/abcdef)
 Extract it using “tar zxvf ns-allinone-
2.34.tar.gz”
 “cd ns-allinone-2.34”
 “./install “ (if any errors, please correct it)
 Setting of paths in “.bash_profile” or “.bashrc”
BASIC ARCHITECTURE OF NS2
DIRECTORY STRUCTURE OF NS2
TCLCL
 TCLCL Consists of Six main classes
 Tcl (Methods to access the interpreted hierarchy)
 InstVar (binds member variable in both
hierarchies together
 TclObject (base class of all simulation objects)
 TclClass (maps class of IH to class of CH)
 TclCommand (global access to CH from IH)
 EmbeddedTcl (translates OTCL Script to C++
Code)
TCLCL
 Each class have various member functions
that are used to get compiled
 As a case study, lets start how to create a
simple agent.
SIMPLE AGENT
class TSPAgent : public Agent {
public:
TSPAgent();
protected:
int command(int argc, const char*const* argv);
private:
int tsp_var1;
double tsp_var2;
void TSPPrivFunc(void);
};
SIMPLE AGENT
static class TSPAgentClass : public TclClass {
public:
TSPAgentClass() : TclClass("Agent/TSPAgentOtcl") {}
TclObject* create(int, const char*const*) {
return(new TSPAgent());
}
} class_tsp_agent;
TSPAgent::TSPAgent() : Agent(PT_UDP) {
bind("tsp_var1_otcl", &tsp_var1);
bind("tsp_var2_otcl", &tsp_var2);
}
SIMPLE AGENT
int TSPAgent::command(int argc, const
char*const* argv) {
if(argc == 2) {
if(strcmp(argv[1], "call-tsp-priv-func") == 0)
{
TSPPrivFunc();
return(TCL_OK);
}
}
return(Agent::command(argc, argv));
}
SIMPLE AGENT
void TSPAgent::TSPPrivFunc(void) {
Tcl& tcl = Tcl::instance();
tcl.eval("puts "Message From
TSPPrivFunc"");
tcl.evalf("puts " tsp_var1 = %d"", tsp_var1);
tcl.evalf("puts " tsp_var2 = %f"", tsp_var2);
}
SIMPLE AGENT TO TEST
#name it as .tcl file
# Create TSPAgent
set myagent [new Agent/TSPAgentOtcl]
# Set configurable parameters of TSPAgent
$myagent set tsp_var1_otcl 2
$myagent set tsp_var2_otcl 3.14
# Give a command to TSPAgent
$myagent call-tsp-priv-fun
14
CONGESTION CONTROL
15
CONGESTION CONTROL
 When one part of the subnet (e.g. one or
more routers in an area) becomes
overloaded, congestion results.
 Because routers are receiving packets faster
than they can forward them, one of two things
must happen:
 The subnet must prevent additional packets from
entering the congested region until those already
present can be processed.
 The congested routers can discard queued
packets to make room for those that are arriving.
16
FACTORS THAT CAUSE CONGESTION
 Packet arrival rate exceeds the outgoing link
capacity.
 Insufficient memory to store arriving packets
 Bursty traffic
 Slow processor
17
CONGESTION CONTROL VS FLOW CONTROL
 Congestion control is a global issue –
involves every router and host within the
subnet
 Flow control – scope is point-to-point;
involves just sender and receiver.
18
CONGESTION CONTROL, CONT.
 Congestion Control is concerned with
efficiently using a network at high load.
 Techniques for detection and recovery
are:
Warning bit
Choke packets
Load shedding
19
WARNING BIT
 A special bit in the packet header is set by
the router to warn the source when
congestion is detected.
 The bit is copied and piggy-backed on the
ACK and sent to the sender.
 The sender monitors the number of ACK
packets it receives with the warning bit set
and adjusts its transmission rate accordingly.
20
CHOKE PACKETS
 A more direct way of telling the source
to slow down.
 A choke packet is a control packet
generated at a congested node and
transmitted to restrict traffic flow.
 The source, on receiving the choke
packet must reduce its transmission
rate by a certain percentage.
 An example of a choke packet is the
ICMP Source Quench Packet.
THANK YOU

More Related Content

What's hot

Network emulator
Network emulatorNetwork emulator
Network emulator
jeromy fu
 
Mirage: ML kernels in the cloud (ML Workshop 2010)
Mirage: ML kernels in the cloud (ML Workshop 2010)Mirage: ML kernels in the cloud (ML Workshop 2010)
Mirage: ML kernels in the cloud (ML Workshop 2010)
Anil Madhavapeddy
 

What's hot (20)

LF_OVS_17_OVS/OVS-DPDK connection tracking for Mobile usecases
LF_OVS_17_OVS/OVS-DPDK connection tracking for Mobile usecasesLF_OVS_17_OVS/OVS-DPDK connection tracking for Mobile usecases
LF_OVS_17_OVS/OVS-DPDK connection tracking for Mobile usecases
 
Skydive, real-time network analyzer
Skydive, real-time network analyzer Skydive, real-time network analyzer
Skydive, real-time network analyzer
 
Skydive 31 janv. 2016
Skydive 31 janv. 2016Skydive 31 janv. 2016
Skydive 31 janv. 2016
 
"The Virtual Network over TRILL: Private VLANs in open-source". Thomas Stocki...
"The Virtual Network over TRILL: Private VLANs in open-source". Thomas Stocki..."The Virtual Network over TRILL: Private VLANs in open-source". Thomas Stocki...
"The Virtual Network over TRILL: Private VLANs in open-source". Thomas Stocki...
 
RCU
RCURCU
RCU
 
Network for amin
Network for aminNetwork for amin
Network for amin
 
Semtex.c [CVE-2013-2094] - A Linux Privelege Escalation
Semtex.c [CVE-2013-2094] - A Linux Privelege EscalationSemtex.c [CVE-2013-2094] - A Linux Privelege Escalation
Semtex.c [CVE-2013-2094] - A Linux Privelege Escalation
 
mTCP使ってみた
mTCP使ってみたmTCP使ってみた
mTCP使ってみた
 
Network sockets
Network socketsNetwork sockets
Network sockets
 
5b Virtual Wall Papadimitriou
5b Virtual Wall Papadimitriou5b Virtual Wall Papadimitriou
5b Virtual Wall Papadimitriou
 
Socket Programming- Data Link Access
Socket Programming- Data Link AccessSocket Programming- Data Link Access
Socket Programming- Data Link Access
 
Writing an Ostinato Protocol Builder [FOSDEM 2021]
Writing an Ostinato Protocol Builder [FOSDEM 2021]Writing an Ostinato Protocol Builder [FOSDEM 2021]
Writing an Ostinato Protocol Builder [FOSDEM 2021]
 
Linux Linux Traffic Control
Linux Linux Traffic ControlLinux Linux Traffic Control
Linux Linux Traffic Control
 
Network emulator
Network emulatorNetwork emulator
Network emulator
 
Wdt Test
Wdt TestWdt Test
Wdt Test
 
Embedded TCP/IP stack for FreeRTOS
Embedded TCP/IP stack for FreeRTOSEmbedded TCP/IP stack for FreeRTOS
Embedded TCP/IP stack for FreeRTOS
 
Webrtc
WebrtcWebrtc
Webrtc
 
TDC2017 | São Paulo - Trilha Containers How we figured out we had a SRE team ...
TDC2017 | São Paulo - Trilha Containers How we figured out we had a SRE team ...TDC2017 | São Paulo - Trilha Containers How we figured out we had a SRE team ...
TDC2017 | São Paulo - Trilha Containers How we figured out we had a SRE team ...
 
Mirage: ML kernels in the cloud (ML Workshop 2010)
Mirage: ML kernels in the cloud (ML Workshop 2010)Mirage: ML kernels in the cloud (ML Workshop 2010)
Mirage: ML kernels in the cloud (ML Workshop 2010)
 
OVS-NFV Tutorial
OVS-NFV TutorialOVS-NFV Tutorial
OVS-NFV Tutorial
 

Similar to Installation of NS2 and Congestion Control

Final Report(Routing_Misbehavior)
Final Report(Routing_Misbehavior)Final Report(Routing_Misbehavior)
Final Report(Routing_Misbehavior)
Ambreen Zafar
 
Iaetsd implementation of hdlc protocol using verilog
Iaetsd implementation of hdlc protocol using verilogIaetsd implementation of hdlc protocol using verilog
Iaetsd implementation of hdlc protocol using verilog
Iaetsd Iaetsd
 
Explicit congestion notification
Explicit congestion notificationExplicit congestion notification
Explicit congestion notification
Abhishek Kesharwani
 
TCP Performance analysis Wireless Multihop Networks
TCP Performance analysis Wireless Multihop NetworksTCP Performance analysis Wireless Multihop Networks
TCP Performance analysis Wireless Multihop Networks
Abhishek Kona
 

Similar to Installation of NS2 and Congestion Control (20)

Network simulator 2 a simulation tool for linux
Network simulator 2 a simulation tool for linuxNetwork simulator 2 a simulation tool for linux
Network simulator 2 a simulation tool for linux
 
NUSE (Network Stack in Userspace) at #osio
NUSE (Network Stack in Userspace) at #osioNUSE (Network Stack in Userspace) at #osio
NUSE (Network Stack in Userspace) at #osio
 
Coscup2021 open source network os for datacenter
Coscup2021  open source network os for datacenterCoscup2021  open source network os for datacenter
Coscup2021 open source network os for datacenter
 
DCCN 2016 - Tutorial 2 - 4G for SmartGrid ecosystem
DCCN 2016 - Tutorial 2 - 4G for SmartGrid ecosystemDCCN 2016 - Tutorial 2 - 4G for SmartGrid ecosystem
DCCN 2016 - Tutorial 2 - 4G for SmartGrid ecosystem
 
Network programmability: an Overview
Network programmability: an Overview Network programmability: an Overview
Network programmability: an Overview
 
Network simulator 2
Network simulator 2Network simulator 2
Network simulator 2
 
VEGAS: Better Performance than other TCP Congestion Control Algorithms on MANETs
VEGAS: Better Performance than other TCP Congestion Control Algorithms on MANETsVEGAS: Better Performance than other TCP Congestion Control Algorithms on MANETs
VEGAS: Better Performance than other TCP Congestion Control Algorithms on MANETs
 
Scheduling in Time-Sensitive Networks (TSN) for Mixed-Criticality Industrial ...
Scheduling in Time-Sensitive Networks (TSN) for Mixed-Criticality Industrial ...Scheduling in Time-Sensitive Networks (TSN) for Mixed-Criticality Industrial ...
Scheduling in Time-Sensitive Networks (TSN) for Mixed-Criticality Industrial ...
 
Final Report(Routing_Misbehavior)
Final Report(Routing_Misbehavior)Final Report(Routing_Misbehavior)
Final Report(Routing_Misbehavior)
 
Introduction to ns3
Introduction to ns3Introduction to ns3
Introduction to ns3
 
DCCN 2016 - Tutorial 1 - Communication with LAN/WLAN
DCCN 2016 - Tutorial 1 - Communication with LAN/WLANDCCN 2016 - Tutorial 1 - Communication with LAN/WLAN
DCCN 2016 - Tutorial 1 - Communication with LAN/WLAN
 
Enabling 5G through end-to-end wireless and optical orchestration
Enabling 5G through end-to-end wireless and optical orchestrationEnabling 5G through end-to-end wireless and optical orchestration
Enabling 5G through end-to-end wireless and optical orchestration
 
Iaetsd implementation of hdlc protocol using verilog
Iaetsd implementation of hdlc protocol using verilogIaetsd implementation of hdlc protocol using verilog
Iaetsd implementation of hdlc protocol using verilog
 
Chapter 3. sensors in the network domain
Chapter 3. sensors in the network domainChapter 3. sensors in the network domain
Chapter 3. sensors in the network domain
 
opnet lab report
opnet lab reportopnet lab report
opnet lab report
 
Explicit congestion notification
Explicit congestion notificationExplicit congestion notification
Explicit congestion notification
 
tcp-wireless-tutorial.ppt
tcp-wireless-tutorial.ppttcp-wireless-tutorial.ppt
tcp-wireless-tutorial.ppt
 
Us 13-opi-evading-deep-inspection-for-fun-and-shell-wp
Us 13-opi-evading-deep-inspection-for-fun-and-shell-wpUs 13-opi-evading-deep-inspection-for-fun-and-shell-wp
Us 13-opi-evading-deep-inspection-for-fun-and-shell-wp
 
TCP Performance analysis Wireless Multihop Networks
TCP Performance analysis Wireless Multihop NetworksTCP Performance analysis Wireless Multihop Networks
TCP Performance analysis Wireless Multihop Networks
 
Lte imp
Lte impLte imp
Lte imp
 

Recently uploaded

Spellings Wk 3 English CAPS CARES Please Practise
Spellings Wk 3 English CAPS CARES Please PractiseSpellings Wk 3 English CAPS CARES Please Practise
Spellings Wk 3 English CAPS CARES Please Practise
AnaAcapella
 
The basics of sentences session 3pptx.pptx
The basics of sentences session 3pptx.pptxThe basics of sentences session 3pptx.pptx
The basics of sentences session 3pptx.pptx
heathfieldcps1
 
1029-Danh muc Sach Giao Khoa khoi 6.pdf
1029-Danh muc Sach Giao Khoa khoi  6.pdf1029-Danh muc Sach Giao Khoa khoi  6.pdf
1029-Danh muc Sach Giao Khoa khoi 6.pdf
QucHHunhnh
 

Recently uploaded (20)

Sociology 101 Demonstration of Learning Exhibit
Sociology 101 Demonstration of Learning ExhibitSociology 101 Demonstration of Learning Exhibit
Sociology 101 Demonstration of Learning Exhibit
 
Unit-V; Pricing (Pharma Marketing Management).pptx
Unit-V; Pricing (Pharma Marketing Management).pptxUnit-V; Pricing (Pharma Marketing Management).pptx
Unit-V; Pricing (Pharma Marketing Management).pptx
 
SKILL OF INTRODUCING THE LESSON MICRO SKILLS.pptx
SKILL OF INTRODUCING THE LESSON MICRO SKILLS.pptxSKILL OF INTRODUCING THE LESSON MICRO SKILLS.pptx
SKILL OF INTRODUCING THE LESSON MICRO SKILLS.pptx
 
ICT Role in 21st Century Education & its Challenges.pptx
ICT Role in 21st Century Education & its Challenges.pptxICT Role in 21st Century Education & its Challenges.pptx
ICT Role in 21st Century Education & its Challenges.pptx
 
How to Give a Domain for a Field in Odoo 17
How to Give a Domain for a Field in Odoo 17How to Give a Domain for a Field in Odoo 17
How to Give a Domain for a Field in Odoo 17
 
Fostering Friendships - Enhancing Social Bonds in the Classroom
Fostering Friendships - Enhancing Social Bonds  in the ClassroomFostering Friendships - Enhancing Social Bonds  in the Classroom
Fostering Friendships - Enhancing Social Bonds in the Classroom
 
Spellings Wk 3 English CAPS CARES Please Practise
Spellings Wk 3 English CAPS CARES Please PractiseSpellings Wk 3 English CAPS CARES Please Practise
Spellings Wk 3 English CAPS CARES Please Practise
 
Holdier Curriculum Vitae (April 2024).pdf
Holdier Curriculum Vitae (April 2024).pdfHoldier Curriculum Vitae (April 2024).pdf
Holdier Curriculum Vitae (April 2024).pdf
 
UGC NET Paper 1 Mathematical Reasoning & Aptitude.pdf
UGC NET Paper 1 Mathematical Reasoning & Aptitude.pdfUGC NET Paper 1 Mathematical Reasoning & Aptitude.pdf
UGC NET Paper 1 Mathematical Reasoning & Aptitude.pdf
 
Mixin Classes in Odoo 17 How to Extend Models Using Mixin Classes
Mixin Classes in Odoo 17  How to Extend Models Using Mixin ClassesMixin Classes in Odoo 17  How to Extend Models Using Mixin Classes
Mixin Classes in Odoo 17 How to Extend Models Using Mixin Classes
 
Key note speaker Neum_Admir Softic_ENG.pdf
Key note speaker Neum_Admir Softic_ENG.pdfKey note speaker Neum_Admir Softic_ENG.pdf
Key note speaker Neum_Admir Softic_ENG.pdf
 
ComPTIA Overview | Comptia Security+ Book SY0-701
ComPTIA Overview | Comptia Security+ Book SY0-701ComPTIA Overview | Comptia Security+ Book SY0-701
ComPTIA Overview | Comptia Security+ Book SY0-701
 
The basics of sentences session 3pptx.pptx
The basics of sentences session 3pptx.pptxThe basics of sentences session 3pptx.pptx
The basics of sentences session 3pptx.pptx
 
Single or Multiple melodic lines structure
Single or Multiple melodic lines structureSingle or Multiple melodic lines structure
Single or Multiple melodic lines structure
 
Accessible Digital Futures project (20/03/2024)
Accessible Digital Futures project (20/03/2024)Accessible Digital Futures project (20/03/2024)
Accessible Digital Futures project (20/03/2024)
 
Unit-IV- Pharma. Marketing Channels.pptx
Unit-IV- Pharma. Marketing Channels.pptxUnit-IV- Pharma. Marketing Channels.pptx
Unit-IV- Pharma. Marketing Channels.pptx
 
1029-Danh muc Sach Giao Khoa khoi 6.pdf
1029-Danh muc Sach Giao Khoa khoi  6.pdf1029-Danh muc Sach Giao Khoa khoi  6.pdf
1029-Danh muc Sach Giao Khoa khoi 6.pdf
 
TỔNG ÔN TẬP THI VÀO LỚP 10 MÔN TIẾNG ANH NĂM HỌC 2023 - 2024 CÓ ĐÁP ÁN (NGỮ Â...
TỔNG ÔN TẬP THI VÀO LỚP 10 MÔN TIẾNG ANH NĂM HỌC 2023 - 2024 CÓ ĐÁP ÁN (NGỮ Â...TỔNG ÔN TẬP THI VÀO LỚP 10 MÔN TIẾNG ANH NĂM HỌC 2023 - 2024 CÓ ĐÁP ÁN (NGỮ Â...
TỔNG ÔN TẬP THI VÀO LỚP 10 MÔN TIẾNG ANH NĂM HỌC 2023 - 2024 CÓ ĐÁP ÁN (NGỮ Â...
 
Explore beautiful and ugly buildings. Mathematics helps us create beautiful d...
Explore beautiful and ugly buildings. Mathematics helps us create beautiful d...Explore beautiful and ugly buildings. Mathematics helps us create beautiful d...
Explore beautiful and ugly buildings. Mathematics helps us create beautiful d...
 
Basic Civil Engineering first year Notes- Chapter 4 Building.pptx
Basic Civil Engineering first year Notes- Chapter 4 Building.pptxBasic Civil Engineering first year Notes- Chapter 4 Building.pptx
Basic Civil Engineering first year Notes- Chapter 4 Building.pptx
 

Installation of NS2 and Congestion Control

  • 1. 1 Department of Information Science and Engineering M S Ramaiah Institute of Technology (Autonomous Institute, Affiliated to VTU) Bangalore-560054 NS2 Installation and Congestion control A presentation submitted to M S Ramaiah Institute of Technology An Autonomous Institute, Affiliated to Visvesvaraya Technological University, Belgaum in partial fulfillment of 5th Sem Under DATA COMMUNICATIONS Submitted by Suman Raj K(1MS14IS417) Suneel N P(1MS13IS114) under the guidance of Dr. Mydhili K. Nair
  • 2. OVERVIEW  Installation of NS2  Recompiling NS2  Congestion Control
  • 3. LINUX FOR NS2  Linux  Use of Linux is recommended  Fedora (10, 12)  If DVD Version- no need of additional package installation  Install all the packages (if default installation selected, then additional packages have to be installed)  Ubuntu (9.04, 9.10, 10.04, 10.10)  Additional packages to be installed, there may be GCC Issues, xgraph and NAM issues  Red Hat Enterprise Linux 5 (RHEL5)  Cent OS is the alternative for RHEL  Basic commands (ls, chmod, tar, rpm, make, gedit, vi, pwd, passwd, echo, cd, etc)  Directory structure and shell prompt  Path variables setting, Installation of packages and dependencies
  • 4. INSTALLATION OF NS2  Download from http://isi.edu/nsnam/ns/ns- build.html#allinone  Copy the file under /home/pradeep (if your username is “abcdef” then home folder will be /home/abcdef)  Extract it using “tar zxvf ns-allinone- 2.34.tar.gz”  “cd ns-allinone-2.34”  “./install “ (if any errors, please correct it)  Setting of paths in “.bash_profile” or “.bashrc”
  • 7. TCLCL  TCLCL Consists of Six main classes  Tcl (Methods to access the interpreted hierarchy)  InstVar (binds member variable in both hierarchies together  TclObject (base class of all simulation objects)  TclClass (maps class of IH to class of CH)  TclCommand (global access to CH from IH)  EmbeddedTcl (translates OTCL Script to C++ Code)
  • 8. TCLCL  Each class have various member functions that are used to get compiled  As a case study, lets start how to create a simple agent.
  • 9. SIMPLE AGENT class TSPAgent : public Agent { public: TSPAgent(); protected: int command(int argc, const char*const* argv); private: int tsp_var1; double tsp_var2; void TSPPrivFunc(void); };
  • 10. SIMPLE AGENT static class TSPAgentClass : public TclClass { public: TSPAgentClass() : TclClass("Agent/TSPAgentOtcl") {} TclObject* create(int, const char*const*) { return(new TSPAgent()); } } class_tsp_agent; TSPAgent::TSPAgent() : Agent(PT_UDP) { bind("tsp_var1_otcl", &tsp_var1); bind("tsp_var2_otcl", &tsp_var2); }
  • 11. SIMPLE AGENT int TSPAgent::command(int argc, const char*const* argv) { if(argc == 2) { if(strcmp(argv[1], "call-tsp-priv-func") == 0) { TSPPrivFunc(); return(TCL_OK); } } return(Agent::command(argc, argv)); }
  • 12. SIMPLE AGENT void TSPAgent::TSPPrivFunc(void) { Tcl& tcl = Tcl::instance(); tcl.eval("puts "Message From TSPPrivFunc""); tcl.evalf("puts " tsp_var1 = %d"", tsp_var1); tcl.evalf("puts " tsp_var2 = %f"", tsp_var2); }
  • 13. SIMPLE AGENT TO TEST #name it as .tcl file # Create TSPAgent set myagent [new Agent/TSPAgentOtcl] # Set configurable parameters of TSPAgent $myagent set tsp_var1_otcl 2 $myagent set tsp_var2_otcl 3.14 # Give a command to TSPAgent $myagent call-tsp-priv-fun
  • 15. 15 CONGESTION CONTROL  When one part of the subnet (e.g. one or more routers in an area) becomes overloaded, congestion results.  Because routers are receiving packets faster than they can forward them, one of two things must happen:  The subnet must prevent additional packets from entering the congested region until those already present can be processed.  The congested routers can discard queued packets to make room for those that are arriving.
  • 16. 16 FACTORS THAT CAUSE CONGESTION  Packet arrival rate exceeds the outgoing link capacity.  Insufficient memory to store arriving packets  Bursty traffic  Slow processor
  • 17. 17 CONGESTION CONTROL VS FLOW CONTROL  Congestion control is a global issue – involves every router and host within the subnet  Flow control – scope is point-to-point; involves just sender and receiver.
  • 18. 18 CONGESTION CONTROL, CONT.  Congestion Control is concerned with efficiently using a network at high load.  Techniques for detection and recovery are: Warning bit Choke packets Load shedding
  • 19. 19 WARNING BIT  A special bit in the packet header is set by the router to warn the source when congestion is detected.  The bit is copied and piggy-backed on the ACK and sent to the sender.  The sender monitors the number of ACK packets it receives with the warning bit set and adjusts its transmission rate accordingly.
  • 20. 20 CHOKE PACKETS  A more direct way of telling the source to slow down.  A choke packet is a control packet generated at a congested node and transmitted to restrict traffic flow.  The source, on receiving the choke packet must reduce its transmission rate by a certain percentage.  An example of a choke packet is the ICMP Source Quench Packet.