Title: Implementing a Reliable Transport Protocol
1Implementing a Reliable Transport Protocol
2Content
- Project introduction
- Network Simulator introduction
- Environment interface
3Project introduction
- Implementing a simple reliable data transfer
protocol - Since you probably don't have standalone machines
(with an OS that you can modify), your code will
have to execute in a simulated hardware/software
environment - It runs on a simulated environment
4Project introduction
- The procedures are for the sending entity (A) and
the receiving entity (B). - Only unidirectional transfer of data (from A to
B) is required. - B side will have to send packets to A to
acknowledge (positively or negatively) receipt of
data.
5Project introduction
6Content
- Project introduction
- Network Simulator introduction
- Network event
- Environment interface
7Network Simulator introduction
- Compared to the cost and time involved in setting
up an entire test bed containing multiple
networked computers, routers and data links,
network simulators are relatively fast and
inexpensive - NS2, QualNet, OMNet
8NS2 Event Scheduler
9Network Event in this Project
struct event float evtime /
event time / int evtype / event
type code / int eventity / entity
where event occurs / struct pkt pktptr
/ ptr to packet (if any) assoc w/ this event /
struct event prev struct event next
10Event Scheduler
time, type, entity, pkt, next, previous
head_ -gt
head_ -gt
Call function based on event type
insert
time, type, entity, pkt, next, previous
11Content
- Project introduction
- Network Simulator introduction
- Environment interface
12Environment interface
- starttimer
- Insert an event into the list
- stoptimer
- Delete an event from the list
- tolayer3
- Send packets into layer3
- Insert an event into the list
13Project2 What to turn in
- 1. A report describing your implementation, and
how to compile/run your program. - 2. Your source code
- 3. Output from your test runs.Â
- Carefully choose probabilities of loss and
corruption so you dont have too much output. - Annotate your printout with a colored pen showing
how your protocol correctly recovered from packet
loss and corruption. - Let your procedures print out a message whenever
an event occurs at your sender or receiver (a
message/packet arrival, or a timer interrupt) as
well as any action taken in response. The output
should include for a run up to the point
(approximately) when 5 messages have been ACK'ed
correctly at the receiver, and a trace level of
2.Â