v Telecommunications Industry AssociationTR-30.3/ Lake Buena Vista, FL December 8 - 9, 2008
Update on new IP network emulation algorithm Alan Clark, Telchemy 10/14/08
Structures system src_model netblock qlink netblock
System init Create system –Establish root for everything, set system params (e.g. time) Create source –Define src type, parameters Create netblock –Define link speeds, max queue sizes for rtl and ltr qlinks Create interconnections –Link netblocks, link sources Start
qlink typedef struct qlink { u32link_speed; u32max_qbytes; emtimemax_qdelay; emtimemax_shared_qdelay; probloss_prob; emtimeqdelay; } qlink_t; Allows maxqsize to be set in terms of delay or bytes (manipulated in terms of delay). Emtime is a localized scaled integer time representation Prob is a scaled integer probability i.e. all integer representation
source typedef struct src_model { u16traffic_type; probp12, p21; u32burst_rate; /*pps*/ u16state; emtimetransition_time_to_burst; emtimeremaining_duration_in_burst; qlink_t*output; src_model_t *prev, *next; } src_model_t; Traffic type = TCP, VoIP, IPTV…. P12, p21 = probabilities associated with transition to/from packet bursts Burst rate = packet burst rate Times = when did burst state, how much time left Output = destination qlink Prev/ next = links to other sources (for maintenance)
Next step Compute delays –Main simulation function