knx ip simulation - tu wien ip simulation (revised).pdf · omnet++. a discrete event simulation...
TRANSCRIPT
![Page 1: KNX IP Simulation - TU Wien IP Simulation (Revised).pdf · OMNeT++. A discrete event simulation environment ... Source(s)) Sink. Routing_Busy ... KNX IP Simulation](https://reader038.vdocuments.net/reader038/viewer/2022103107/5aa77c367f8b9a294b8c2286/html5/thumbnails/1.jpg)
Automation Systems GroupInstitute of Computer Aided Automation
Vienna University of TechnologyVienna, Austria
www.auto.tuwien.ac.at
KNX IP Simulation
First InsightsRevised after KNX IP TF Meeting 08-11-25
Wolfgang Kastner
![Page 2: KNX IP Simulation - TU Wien IP Simulation (Revised).pdf · OMNeT++. A discrete event simulation environment ... Source(s)) Sink. Routing_Busy ... KNX IP Simulation](https://reader038.vdocuments.net/reader038/viewer/2022103107/5aa77c367f8b9a294b8c2286/html5/thumbnails/2.jpg)
KNX Scientific Conference 2008KNX IP Simulation (revised after KNX IP TF Meeting) – 2
Simulation
• Why?• To evaluate new network protocols before use • To evaluate the performance of (existing) protocols• To run large scale experiments
• How?• Discrete event system• α = < s0, (e0, t0), s1, (e1, t1), s2, … >, ti ≤ ti+1
• Input parameters• Discrete event simulation
![Page 3: KNX IP Simulation - TU Wien IP Simulation (Revised).pdf · OMNeT++. A discrete event simulation environment ... Source(s)) Sink. Routing_Busy ... KNX IP Simulation](https://reader038.vdocuments.net/reader038/viewer/2022103107/5aa77c367f8b9a294b8c2286/html5/thumbnails/3.jpg)
KNX Scientific Conference 2008KNX IP Simulation (revised after KNX IP TF Meeting) – 3
Discrete Event Simulator
init; // set up internal data structure, // insert initial events into the FES
while (FES not empty) {
retrieve first event from FES;
timestamp this event;
process event; // new events may be// inserted or deleted
}
finish; // clean up, write// statistical results, etc.
![Page 4: KNX IP Simulation - TU Wien IP Simulation (Revised).pdf · OMNeT++. A discrete event simulation environment ... Source(s)) Sink. Routing_Busy ... KNX IP Simulation](https://reader038.vdocuments.net/reader038/viewer/2022103107/5aa77c367f8b9a294b8c2286/html5/thumbnails/4.jpg)
KNX Scientific Conference 2008KNX IP Simulation (revised after KNX IP TF Meeting) – 4
OMNeT++
A discrete event simulation environment
• Mainly focused for communication networks
• Flexible (C++ based) programming model
• Clear separation among simulation kernel and developed models
• Several random number generators
• GUI support
• Open (complete source code available)
• Free for academic and non-profit use
• Several component add-on libraries available
![Page 5: KNX IP Simulation - TU Wien IP Simulation (Revised).pdf · OMNeT++. A discrete event simulation environment ... Source(s)) Sink. Routing_Busy ... KNX IP Simulation](https://reader038.vdocuments.net/reader038/viewer/2022103107/5aa77c367f8b9a294b8c2286/html5/thumbnails/5.jpg)
KNX Scientific Conference 2008KNX IP Simulation (revised after KNX IP TF Meeting) – 5
OMNeT++
system module
compound module
simple simple simple
… output gate
… connection
… message
… input gate
![Page 6: KNX IP Simulation - TU Wien IP Simulation (Revised).pdf · OMNeT++. A discrete event simulation environment ... Source(s)) Sink. Routing_Busy ... KNX IP Simulation](https://reader038.vdocuments.net/reader038/viewer/2022103107/5aa77c367f8b9a294b8c2286/html5/thumbnails/6.jpg)
KNX Scientific Conference 2008KNX IP Simulation (revised after KNX IP TF Meeting) – 6
OMNeT++
• Simple module• C++ using the OMNeT simulation class library• Class derived from cSimpleModule
• Redefine virtual member functions initialize(), handleMessage(), finish()
• NED description of interface
• Compound module• Unlimited nesting• NED only: parameters, gates and connections
![Page 7: KNX IP Simulation - TU Wien IP Simulation (Revised).pdf · OMNeT++. A discrete event simulation environment ... Source(s)) Sink. Routing_Busy ... KNX IP Simulation](https://reader038.vdocuments.net/reader038/viewer/2022103107/5aa77c367f8b9a294b8c2286/html5/thumbnails/7.jpg)
KNX Scientific Conference 2008KNX IP Simulation (revised after KNX IP TF Meeting) – 7
OMNeT++
• Messages• Sent among modules• Attributes: name, kind, length, source and destination
modul and gate, sending and arrival times• Structure may be defined in a msg file and then
automatically generate C++
• Channel Characteristics• Propagation delay• Bit error rate• Data rate
message sent
message arrived
propagation delay
transmission delay
![Page 8: KNX IP Simulation - TU Wien IP Simulation (Revised).pdf · OMNeT++. A discrete event simulation environment ... Source(s)) Sink. Routing_Busy ... KNX IP Simulation](https://reader038.vdocuments.net/reader038/viewer/2022103107/5aa77c367f8b9a294b8c2286/html5/thumbnails/8.jpg)
KNX Scientific Conference 2008KNX IP Simulation (revised after KNX IP TF Meeting) – 8
Build and Run Simulations
Network description
Implementation of simple modules
Nedtool compiler
Implementation of structure
C++ compiler
Linker
Simulation kernel library
User interface libraries
Simulation programSetup
parameter
Results
Model structure
Add behavior
![Page 9: KNX IP Simulation - TU Wien IP Simulation (Revised).pdf · OMNeT++. A discrete event simulation environment ... Source(s)) Sink. Routing_Busy ... KNX IP Simulation](https://reader038.vdocuments.net/reader038/viewer/2022103107/5aa77c367f8b9a294b8c2286/html5/thumbnails/9.jpg)
KNX Scientific Conference 2008KNX IP Simulation (revised after KNX IP TF Meeting) – 9
INET Framework
• Network interfaces(e.g. Ethernet, 802.11)
• Network protocols(e.g. IP, IPv6, ARP, ICMP)
• Transport protocols (e.g. TCP, UDP)
• Application models(e.g. EthernetAPP, PingApp, TCPApp, UDPApp)
• Nodes (e.g. Hub, Router, Switch, StandardHost)
![Page 10: KNX IP Simulation - TU Wien IP Simulation (Revised).pdf · OMNeT++. A discrete event simulation environment ... Source(s)) Sink. Routing_Busy ... KNX IP Simulation](https://reader038.vdocuments.net/reader038/viewer/2022103107/5aa77c367f8b9a294b8c2286/html5/thumbnails/10.jpg)
KNX Scientific Conference 2008KNX IP Simulation (revised after KNX IP TF Meeting) – 10
KNX IP Device Modeling
• Assumption:• MAC part (Ethernet)• µP part (KNX IP)• Buffer in between
• Specific parameters:• KNX IP device conformance class• Buffer size and data transmission rate MAC / µP• KNX IP flow control• Ethernet flow control• Network parameters
![Page 11: KNX IP Simulation - TU Wien IP Simulation (Revised).pdf · OMNeT++. A discrete event simulation environment ... Source(s)) Sink. Routing_Busy ... KNX IP Simulation](https://reader038.vdocuments.net/reader038/viewer/2022103107/5aa77c367f8b9a294b8c2286/html5/thumbnails/11.jpg)
KNX Scientific Conference 2008KNX IP Simulation (revised after KNX IP TF Meeting) – 11
IEEE 802.3 Annex 31B
• “MAC Pause Operation“
• Reserved multicast address
• The specification states“…it is not required that an implementation be able to transmit PAUSE frames."
• However, a node has to respond to PAUSE frames
pause
…
pausewait
waitbuffer
![Page 12: KNX IP Simulation - TU Wien IP Simulation (Revised).pdf · OMNeT++. A discrete event simulation environment ... Source(s)) Sink. Routing_Busy ... KNX IP Simulation](https://reader038.vdocuments.net/reader038/viewer/2022103107/5aa77c367f8b9a294b8c2286/html5/thumbnails/12.jpg)
KNX Scientific Conference 2008KNX IP Simulation (revised after KNX IP TF Meeting) – 12
IEEE 802.3 Annex 31B
Assumption:
Destination address has to correspond to the reserved
multicast address
![Page 13: KNX IP Simulation - TU Wien IP Simulation (Revised).pdf · OMNeT++. A discrete event simulation environment ... Source(s)) Sink. Routing_Busy ... KNX IP Simulation](https://reader038.vdocuments.net/reader038/viewer/2022103107/5aa77c367f8b9a294b8c2286/html5/thumbnails/13.jpg)
KNX Scientific Conference 2008KNX IP Simulation (revised after KNX IP TF Meeting) – 13
IEEE 802.3 Annex 31B
A method for flow controlling an individual link it is not a method for end-to-end flow control!
pause
pauseParticular multicast address has been reserved for
use in PAUSE frames.
IEEE 802.1D-conformant bridges will not forward frames sent to this multicast destination address.
![Page 14: KNX IP Simulation - TU Wien IP Simulation (Revised).pdf · OMNeT++. A discrete event simulation environment ... Source(s)) Sink. Routing_Busy ... KNX IP Simulation](https://reader038.vdocuments.net/reader038/viewer/2022103107/5aa77c367f8b9a294b8c2286/html5/thumbnails/14.jpg)
KNX Scientific Conference 2008KNX IP Simulation (revised after KNX IP TF Meeting) – 14
KNX IP Flow Control
• KNX TF IP / AN 117
• Each KNX IP device may generate 50 routing datagrams per second
• Parameters:• twait ≤ 100ms• trand = [0..1]*N*50ms• tslowdur = N*100ms• tslow = 5ms• tdec_N = 5ms
buffer
Routing_IndSource(s)) Sink
Routing_Busy
…
…
twait
twait
trand
tslowdur
tdec_N
![Page 15: KNX IP Simulation - TU Wien IP Simulation (Revised).pdf · OMNeT++. A discrete event simulation environment ... Source(s)) Sink. Routing_Busy ... KNX IP Simulation](https://reader038.vdocuments.net/reader038/viewer/2022103107/5aa77c367f8b9a294b8c2286/html5/thumbnails/15.jpg)
KNX Scientific Conference 2008KNX IP Simulation (revised after KNX IP TF Meeting) – 15
KNX IP Flow Control (Sink)
ROUTING_INDICATION && !high_water_mark insert_payload_in_KNXIP_buffer();
Normal
ROUTING_INDICATION && high_water_mark insert_payload_in_KNXIP_buffer();ROUTING_BUSY(tw);start_timer(twait, tw);
ROUTING_INDICATION if (KNXIP_buffer != full)
insert_payload_in_KNXIP_buffer();else
ROUTING_LOST;
StressedUCTprocess_KNXIP_buffer();
twait expired
ROUTING_BUSY(tw) start_timer(twait, max(tw,twait));
![Page 16: KNX IP Simulation - TU Wien IP Simulation (Revised).pdf · OMNeT++. A discrete event simulation environment ... Source(s)) Sink. Routing_Busy ... KNX IP Simulation](https://reader038.vdocuments.net/reader038/viewer/2022103107/5aa77c367f8b9a294b8c2286/html5/thumbnails/16.jpg)
KNX Scientific Conference 2008KNX IP Simulation (revised after KNX IP TF Meeting) – 16
KNX IP Flow Control (Source)
ROUTING_BUSY(tw) N++;start_timer(twait, tw);
ROUTING_BUSY(tw) start_timer(twait, max(tw,twait));UCT ROUTING_INDICATION;
10ms expiredROUTING_BUSY(tw) N++;start_timer(twait, max(tw,twait));
twait expired start_timer(trand, [0..1]*N*50ms);
trand expired start_timer(tslowdur, N*100ms);
tslow expired ROUTING_
INDICATION;
tslowdur expired
5ms expired if (N > 0) N - -;
Pause 10msNormal
Pause twaitPause tslowdur
Pause trand
![Page 17: KNX IP Simulation - TU Wien IP Simulation (Revised).pdf · OMNeT++. A discrete event simulation environment ... Source(s)) Sink. Routing_Busy ... KNX IP Simulation](https://reader038.vdocuments.net/reader038/viewer/2022103107/5aa77c367f8b9a294b8c2286/html5/thumbnails/17.jpg)
KNX Scientific Conference 2008KNX IP Simulation (revised after KNX IP TF Meeting) – 17
MAC
µP
KNX IP Device Model
• KNX IP conformance class
• Variable data rate of routing datagrams (max. 50 per second)
• twait, trand, tslow
• Processing time and KNX IP buffer size (water mark)
• Buffer size between MAC and μP
• Data transmission rate between MAC and μP
• IEEE 802.3x buffer size
• Network parameters Ethernet
802.3x
IP
UDP
KNX IP twait, trand, tslow
KNX Application
KN
X IP
Drive
r
![Page 18: KNX IP Simulation - TU Wien IP Simulation (Revised).pdf · OMNeT++. A discrete event simulation environment ... Source(s)) Sink. Routing_Busy ... KNX IP Simulation](https://reader038.vdocuments.net/reader038/viewer/2022103107/5aa77c367f8b9a294b8c2286/html5/thumbnails/18.jpg)
KNX Scientific Conference 2008KNX IP Simulation (revised after KNX IP TF Meeting) – 18
Roadmap
• Network reserved for KNX IP• Limited to one multicast address (255 devices)• More than one multicast addresses (up to
65.000 devices)
• Network shared with office equipment• Limited to one multicast address• More than one multicast addresses• Broadcast traffic load• Additional multicast load
![Page 19: KNX IP Simulation - TU Wien IP Simulation (Revised).pdf · OMNeT++. A discrete event simulation environment ... Source(s)) Sink. Routing_Busy ... KNX IP Simulation](https://reader038.vdocuments.net/reader038/viewer/2022103107/5aa77c367f8b9a294b8c2286/html5/thumbnails/19.jpg)
KNX Scientific Conference 2008KNX IP Simulation (revised after KNX IP TF Meeting) – 19
Conclusion and Outlook
• Clarify protocol (state machines)
• Intensive code review
• Run simulations (traffic load analysis)
• KNX IP Router and KNXnet/IP Router
• Office Traffic Load Generator
• Later on…• Connection to real world devices?• Analytical approach?