[ndnSIM] how to get the transmission delay

Xiaoke Jiang shock.jiang at gmail.com
Sun May 12 00:47:06 PDT 2013


Hi Alex,
	Thank you very much! I think now I know how to calculate delay. Only one question remained: how to trace Propagation delay?

	Since queueing delay can be traced, transmission delay can be calculated. But how to trace propagation delay?

thanks

My Regards,
Xiaoke Jiang (蒋小可)

Ph.D Candidate,
Dept. of Computer Science and Technology,
Tsinghua University, P. R. China

On May 12, 2013, at 1:33 PM, Alex Afanasyev <alexander.afanasyev at ucla.edu> wrote: Propagation delay

> Hi Xiaoke,
> 
> Let me list give you the same list, but with minor corrections
> 
> 0. There is no delay to deliver interest from an application to consumer.
> 
> --- 1. This step doesn't exist, since there is no any kind of queueing when Interest is send out from the application (at least with default forwarding strategy).
> 
> 2. Again, with the available strategies, interest is immediately processed by the forwarding strategy 
> 
> +++ 2.5  As soon as interface is decided, if it is a network interface, then there is an attempt to send out a packet.
> +++ If packet cannot be immediately put on wire, then packet will be enqueued.  It *is* possible to trace such event using "Enqueue" and "Dequeue" trace sources (http://www.nsnam.org/docs/release/3.16/doxygen/classns3_1_1_queue.html#details)
> 
> 3. Propagation delay + transmission delay (what you wrote is the definition of the transmission delay)
> 
> --- 4. Does not exist, since NS-3 does not emulate notion of input queues (at least not with PointToPointNetDevice/PointToPointChannel, cannot authoritatively tell about other modules.  May be Natalya can help me, since she was researching this issue some time ago).  
> 
> 5. Strategy immediately decides what to do with interest.  
> If packet is send out to an application face (e.g., in your case), it will be immediately delivered to the app via a callback.
> 
> If node generates data immediately, then the data will be send out to NDN stack immediately without delays 
> 
> --- 6. Same as step 1. There is no queueing of interest/data by NDN stack
> 
> +++ 6.5. Queueing delay, if packet cannot be put on wire immediately
> 
> 7. Propagation delay + transmission delay
> 
> --- 8. No input queueing with PointToPointNetDevice
> 
> 9. Data is immediately send out the the app.
> 
> ---
> Alex
> 
> On May 11, 2013, at 3:20 AM, Xiaoke Jiang <shock.jiang at gmail.com> wrote:
> 
>> Hi Alex,
>> 	Now I am very confused on the gap calculation of NS3.
>> 
>> For example, consumer on node A send Interest to A, and A forward it to node B, and B forward it to provider on itself. If provider app generate Data immediately, then data is sent to B, then to A, then  to consumer application. During this whole process, the delay will include, as I can understand:
>> 0). consumer sent the Interest and Interest enqueue of node A.---------- 0 seconds
>> 1). Interest wait in the queue of node A. ---------This delay can't be traced?
>> 2). procedure of ndn stack on node A. ------------0 seconds
>> 3). Interest propagation delay on link between A and B: put the first bit on the link between A and B until Interest is enqueue of B: ---------- PacketSize/BitRate
>> 4). Interest packet wait in the queue of node B. ------- can't be traced?
>> 5). node B forward Interest to provider application and the application generate data and send to A -- 0 seconds
>> 6). Data wait in the queue of node B. -----can't be traced?
>> 7). Data propagation delay on link between B and A: put the first bit on the link between B and A until Interest is enqueue of A: ---------- PacketSize/BitRate
>> 8). Data waits in the queue of node A. -----can't be traced?
>> 9). node send the data to consumer application. ---------0 seconds
>> 
>> Would you please check it for me? I want the accurate mechanism of the simulator.  Thank you in advance!
>> 
>> thanks process
>> 
>> My Regards,
>> Xiaoke Jiang (蒋小可)
>> 
>> Ph.D Candidate,
>> Dept. of Computer Science and Technology,
>> Tsinghua University, P. R. China
>> 
>> On May 10, 2013, at 2:51 PM, Alex Afanasyev <alexander.afanasyev at ucla.edu> wrote:
>> 
>>> Queuing delay could be a reason, though I cannot be 100% certain at this point.  
>>> 
>>> The reason that there is no explicit queuing delay parameter is because it is not an artificial delay like propagation delay, but a necessity to queue packets if there is an arrival burst.  
>>> 
>>> What you can try to do is to set MaxPackets parameter to 1 (you can try also 0). This way you basically disable any queuing and you'll see drops if packets cannot be forwarded immediately.
>>> 
>>> ---
>>> Alex
>>> 
>>> On May 9, 2013, at 11:39 PM, Xiaoke Jiang <shock.jiang at gmail.com> wrote:
>>> 
>>>> Hi Alex,
>>>> 	Is the queueing delay the reason for the difference?  I found that if there were more interests is received at the same time, the transmission delay is larger (no drop packet happened).
>>>> 
>>>> 	Now I am quite curious on the queueing delay. But http://www.nsnam.org/docs/release/3.16/doxygen/classns3_1_1_drop_tail_queue.html#details presents no parameter of delay.
>>>> 
>>>> thanks
>>>> 
>>>> My Regards,
>>>> Xiaoke Jiang (蒋小可)
>>>> 
>>>> Ph.D Candidate,
>>>> Dept. of Computer Science and Technology,
>>>> Tsinghua University, P. R. China
>>>> 
>>>> On May 10, 2013, at 1:39 PM, Alex Afanasyev <alexander.afanasyev at ucla.edu> wrote:
>>>> 
>>>>> Hi Xiaoke,
>>>>> 
>>>>> Propagation delay (time to transmit one bit from one end to another end of the link)  != transmission delay (time difference between putting the first and the last bit of the packet on the wire).  You zeroed the propagation delay, but there is also a finite bandwidth, could be a reason for some delay.  Though I'm not entirely sure why these delays are not equal...
>>>>> 
>>>>> ---
>>>>> Alex
>>>>> 
>>>>> On May 9, 2013, at 6:57 PM, Xiaoke Jiang <shock.jiang at gmail.com> wrote:
>>>>> 
>>>>>> Hi Alex, 
>>>>>> 	As you describe I install consumer and producer on the same node, and I get all the data back immediately. But if I install them on adjacent nodes, their is time gap between arrival of data.
>>>>>> 
>>>>>> 	Config::SetDefault ("ns3::PointToPointChannel::Delay", StringValue ("0ms"));
>>>>>> 
>>>>>> 	I set propagation delay (transmitting on the wire) zero, thus the remained it queue delay. The result is showed in the following. (Interest of Seq 0,1,2,3 is received on the same time)
>>>>>> 
>>>>>> Time	Node	AppId	SeqNo	Type	DelayS	DelayUS	RetxCount	HopCount
>>>>>> 0.008872	0	1	0	LastDelay	0.008872	8872	1	4
>>>>>> 0.008872	0	1	0	FullDelay	0.008872	8872	1	4
>>>>>> 0.017344	0	1	1	LastDelay	0.017344	17344	1	4
>>>>>> 0.017344	0	1	1	FullDelay	0.017344	17344	1	4
>>>>>> 0.025816	0	1	2	LastDelay	0.025816	25816	1	4
>>>>>> 0.025816	0	1	2	FullDelay	0.025816	25816	1	4
>>>>>> 0.034288	0	1	3	LastDelay	0.034288	34288	1	4
>>>>>> 0.034288	0	1	3	FullDelay	0.034288	34288	1	4
>>>>>> 
>>>>>> 
>>>>>>  But the bandwidth is enough is carry the traffic, why the queue delay is so large, up to 0.01s.
>>>>>> 
>>>>>> How to set the queue delay?
>>>>>> 
>>>>>> thanks
>>>>>> 
>>>>>> My Regards,
>>>>>> Xiaoke Jiang (蒋小可)
>>>>>> 
>>>>>> Ph.D Candidate,
>>>>>> Dept. of Computer Science and Technology,
>>>>>> Tsinghua University, P. R. China
>>>>>> 
>>>>>> On May 10, 2013, at 12:59 AM, Alex Afanasyev <alexander.afanasyev at ucla.edu> wrote:
>>>>>> 
>>>>>>> If your producer is installed on the same node as the requester, then the requester will get data back "immediately" with 0 delay of simulation time (btw m_transmittedContentObjects 
>>>>>>> is just for tracing purposes and doesn't simulate anything).
>>>>>>> 
>>>>>>> The only reason for consumer's observed delay is due to packet propagation between nodes. That is, time will move forward only when inter-node network operations kick in.
>>>>>>> 
>>>>>>> ---
>>>>>>> Alex
>>>>>>> 
>>>>>>> On May 9, 2013, at 9:23 AM, Xiaoke Jiang <shock.jiang at gmail.com> wrote:
>>>>>>> 
>>>>>>>> Hi Alex,
>>>>>>>> 	My code as followings:
>>>>>>>> 
>>>>>>>> 	Interests
>>>>>>>> 	for Interest in Interests {
>>>>>>>> 		packet = CreateData(Interest)	 
>>>>>>>> 	m_protocolHandler (packet);
>>>>>>>> 
>>>>>>>> 	m_transmittedContentObjects (header, packet, this, m_face);
>>>>>>>> 	etc ..
>>>>>>>> 	}
>>>>>>>> 	
>>>>>>>> 	In the above code, the data packet is not answered on the same time, is it?   Since the m_protocolHandler and m_transmittedContentObjects functions will make the timeline forward.
>>>>>>>> 
>>>>>>>> 	Is there a way to answer all the data packets on the same time?
>>>>>>>> 
>>>>>>>> thanks
>>>>>>>> 
>>>>>>>> My Regards,
>>>>>>>> Xiaoke Jiang (蒋小可)
>>>>>>>> 
>>>>>>>> Ph.D Candidate,
>>>>>>>> Dept. of Computer Science and Technology,
>>>>>>>> Tsinghua University, P. R. China
>>>>>>>> 
>>>>>>>> On May 10, 2013, at 12:18 AM, Alex Afanasyev <alexander.afanasyev at ucla.edu> wrote:
>>>>>>>> 
>>>>>>>>> Propagation delay is just a link delay (the one you configure).
>>>>>>>>> I forgot to mention the transmission delay which is also simulated by NS-3, and which includes queuing delay and delay placing packet bits on the wire.
>>>>>>>>> 
>>>>>>>>> ---
>>>>>>>>> Alex
>>>>>>>>> 
>>>>>>>>> On May 9, 2013, at 9:03 AM, Xiaoke Jiang <shock.jiang at gmail.com> wrote:
>>>>>>>>> 
>>>>>>>>>> Thank you Alex. But what does propagation delay include?
>>>>>>>>>> 
>>>>>>>>>> thanks
>>>>>>>>>> 
>>>>>>>>>> My Regards,
>>>>>>>>>> Xiaoke Jiang (蒋小可)
>>>>>>>>>> 
>>>>>>>>>> Ph.D Candidate,
>>>>>>>>>> Dept. of Computer Science and Technology,
>>>>>>>>>> Tsinghua University, P. R. China
>>>>>>>>>> 
>>>>>>>>>> On May 10, 2013, at 12:02 AM, Alex Afanasyev <alexander.afanasyev at ucla.edu> wrote:
>>>>>>>>>> 
>>>>>>>>>>> Hi Xiaoke,
>>>>>>>>>>> 
>>>>>>>>>>> The delays that are observed by app-delay-tracer include everything you mentioned (queuing delay, propagation delay, which is related to packet size), except processing delay.  This exception comes from the fact that in NS-3 unless you specifically simulate processing delay (which requires additional models), each function call, no matter how complex, is running in zero simulation time.
>>>>>>>>>>> 
>>>>>>>>>>> ---
>>>>>>>>>>> Alex
>>>>>>>>>>> 
>>>>>>>>>>> On May 9, 2013, at 8:53 AM, Xiaoke Jiang <shock.jiang at gmail.com> wrote:
>>>>>>>>>>> 
>>>>>>>>>>>> What's more, I am not sure whether the delay includes the router processing time, such as creating PIT entry, Content Store look up , etc.
>>>>>>>>>>>> 
>>>>>>>>>>>> thanks
>>>>>>>>>>>> 
>>>>>>>>>>>> My Regards,
>>>>>>>>>>>> Xiaoke Jiang (蒋小可)
>>>>>>>>>>>> 
>>>>>>>>>>>> Ph.D Candidate,
>>>>>>>>>>>> Dept. of Computer Science and Technology,
>>>>>>>>>>>> Tsinghua University, P. R. China
>>>>>>>>>>>> 
>>>>>>>>>>>> On May 9, 2013, at 11:33 PM, Xiaoke Jiang <shock.jiang at gmail.com> wrote:
>>>>>>>>>>>> 
>>>>>>>>>>>>> Hi all,
>>>>>>>>>>>>> 	I am trying to get the transmission delay with app tracer. But I am not sure what's concluded in the delay. For example, Queuing time on the router, transmitting time on the wire, etc.
>>>>>>>>>>>>> 	Can anyone give me any hints? Thank you in advance.
>>>>>>>>>>>>> 	
>>>>>>>>>>>>> in my file:
>>>>>>>>>>>>>   Config::SetDefault ("ns3::PointToPointNetDevice::DataRate", StringValue ("10Mbps"));
>>>>>>>>>>>>>   Config::SetDefault ("ns3::PointToPointChannel::Delay", StringValue ("1ms"));
>>>>>>>>>>>>> 
>>>>>>>>>>>>> 
>>>>>>>>>>>>> And is the delay related to packet size?
>>>>>>>>>>>>> 
>>>>>>>>>>>>> thanks
>>>>>>>>>>>>> 
>>>>>>>>>>>>> My Regards,
>>>>>>>>>>>>> Xiaoke Jiang (蒋小可)
>>>>>>>>>>>>> 
>>>>>>>>>>>>> Ph.D Candidate,
>>>>>>>>>>>>> Dept. of Computer Science and Technology,
>>>>>>>>>>>>> Tsinghua University, P. R. China
>>>>>>>>>>>>> 
>>>>>>>>>>>> 
>>>>>>>>>>>> _______________________________________________
>>>>>>>>>>>> ndnSIM mailing list
>>>>>>>>>>>> ndnSIM at lists.cs.ucla.edu
>>>>>>>>>>>> http://www.lists.cs.ucla.edu/mailman/listinfo/ndnsim
>>>>>>>>>> 
>>>>>>>>>> _______________________________________________
>>>>>>>>>> ndnSIM mailing list
>>>>>>>>>> ndnSIM at lists.cs.ucla.edu
>>>>>>>>>> http://www.lists.cs.ucla.edu/mailman/listinfo/ndnsim
>>>>>>>> 
>>>>>>>> _______________________________________________
>>>>>>>> ndnSIM mailing list
>>>>>>>> ndnSIM at lists.cs.ucla.edu
>>>>>>>> http://www.lists.cs.ucla.edu/mailman/listinfo/ndnsim
>>>>>> 
>>>>>> _______________________________________________
>>>>>> ndnSIM mailing list
>>>>>> ndnSIM at lists.cs.ucla.edu
>>>>>> http://www.lists.cs.ucla.edu/mailman/listinfo/ndnsim
>>>>> 
>>>> 
>>>> _______________________________________________
>>>> ndnSIM mailing list
>>>> ndnSIM at lists.cs.ucla.edu
>>>> http://www.lists.cs.ucla.edu/mailman/listinfo/ndnsim
>> 
>> _______________________________________________
>> ndnSIM mailing list
>> ndnSIM at lists.cs.ucla.edu
>> http://www.lists.cs.ucla.edu/mailman/listinfo/ndnsim
> 

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.lists.cs.ucla.edu/pipermail/ndnsim/attachments/20130512/1ec6ceea/attachment.html>


More information about the ndnSIM mailing list