Networking Models and Designs By: Dan Sibbernsen Advisor: MikeyG.
-
Upload
lesley-lawson -
Category
Documents
-
view
222 -
download
3
Transcript of Networking Models and Designs By: Dan Sibbernsen Advisor: MikeyG.
![Page 1: Networking Models and Designs By: Dan Sibbernsen Advisor: MikeyG.](https://reader036.fdocuments.net/reader036/viewer/2022062408/56649ee15503460f94bf1c5e/html5/thumbnails/1.jpg)
Networking Models and Networking Models and DesignsDesigns
By: Dan SibbernsenBy: Dan Sibbernsen
Advisor: MikeyGAdvisor: MikeyG
![Page 2: Networking Models and Designs By: Dan Sibbernsen Advisor: MikeyG.](https://reader036.fdocuments.net/reader036/viewer/2022062408/56649ee15503460f94bf1c5e/html5/thumbnails/2.jpg)
Discussion GoalsDiscussion Goals
Brief look at Internet packets Brief look at Internet packets – Layers of abstractionLayers of abstraction
BLAST algorithmBLAST algorithm– UsesUses– AdvantagesAdvantages– DisadvantagesDisadvantages
My Implementation of BLASTMy Implementation of BLAST
![Page 3: Networking Models and Designs By: Dan Sibbernsen Advisor: MikeyG.](https://reader036.fdocuments.net/reader036/viewer/2022062408/56649ee15503460f94bf1c5e/html5/thumbnails/3.jpg)
Packet OverviewPacket Overview
In every networking model, data is sent across a In every networking model, data is sent across a physical line through abstractions of 0s and 1s called physical line through abstractions of 0s and 1s called packets.packets.
From FTP to HTTP, whatever you use the internet for, From FTP to HTTP, whatever you use the internet for, they all send information the same way, through the use they all send information the same way, through the use of packets.of packets.Each packet carries with it certain informationEach packet carries with it certain information– a sending addressa sending address– a receiving addressa receiving address– data to be transferreddata to be transferred
![Page 4: Networking Models and Designs By: Dan Sibbernsen Advisor: MikeyG.](https://reader036.fdocuments.net/reader036/viewer/2022062408/56649ee15503460f94bf1c5e/html5/thumbnails/4.jpg)
http://www.uic.eduhttp://www.uic.edu
TCP PacketTCP Packet
With more layers of abstraction, however, these required With more layers of abstraction, however, these required fields grow.fields grow.
![Page 5: Networking Models and Designs By: Dan Sibbernsen Advisor: MikeyG.](https://reader036.fdocuments.net/reader036/viewer/2022062408/56649ee15503460f94bf1c5e/html5/thumbnails/5.jpg)
http://www.oreillynet.comhttp://www.oreillynet.com
Packet AbstractionsPacket Abstractions
![Page 6: Networking Models and Designs By: Dan Sibbernsen Advisor: MikeyG.](https://reader036.fdocuments.net/reader036/viewer/2022062408/56649ee15503460f94bf1c5e/html5/thumbnails/6.jpg)
http://publib.boulder.ibm.comhttp://publib.boulder.ibm.com
Lower LayersLower Layers
This is a breakdown of the very basic This is a breakdown of the very basic levels of networking.levels of networking.
![Page 7: Networking Models and Designs By: Dan Sibbernsen Advisor: MikeyG.](https://reader036.fdocuments.net/reader036/viewer/2022062408/56649ee15503460f94bf1c5e/html5/thumbnails/7.jpg)
ProblemProblem
Suppose we want to send more data than Suppose we want to send more data than can fit in one packet across the network.can fit in one packet across the network.
![Page 8: Networking Models and Designs By: Dan Sibbernsen Advisor: MikeyG.](https://reader036.fdocuments.net/reader036/viewer/2022062408/56649ee15503460f94bf1c5e/html5/thumbnails/8.jpg)
GoalsGoals
To implement a basic packet-switching To implement a basic packet-switching network protocol on top of the Kaya network protocol on top of the Kaya Operating System.Operating System.
To analyze the Blast algorithm for packet To analyze the Blast algorithm for packet transfer.transfer.
![Page 9: Networking Models and Designs By: Dan Sibbernsen Advisor: MikeyG.](https://reader036.fdocuments.net/reader036/viewer/2022062408/56649ee15503460f94bf1c5e/html5/thumbnails/9.jpg)
BLASTBLAST
A networking algorithm that solves the problem A networking algorithm that solves the problem of having message sizes larger than the of having message sizes larger than the maximum data allowed in one packet.maximum data allowed in one packet.
![Page 10: Networking Models and Designs By: Dan Sibbernsen Advisor: MikeyG.](https://reader036.fdocuments.net/reader036/viewer/2022062408/56649ee15503460f94bf1c5e/html5/thumbnails/10.jpg)
BLAST-WhatBLAST-What
Receives a large message (i.e. 32MB).Receives a large message (i.e. 32MB).
Breaks up the message into much smaller Breaks up the message into much smaller packets, and transmits them immediately.packets, and transmits them immediately.
![Page 11: Networking Models and Designs By: Dan Sibbernsen Advisor: MikeyG.](https://reader036.fdocuments.net/reader036/viewer/2022062408/56649ee15503460f94bf1c5e/html5/thumbnails/11.jpg)
BLAST data PacketBLAST data Packet
The Key Components are as follows:The Key Components are as follows:– MIDMID
What message this packet is a part ofWhat message this packet is a part of
– TypeTypeEither DATA or SRREither DATA or SRR
– NumFragsNumFragsHow many packets are contained in this message.How many packets are contained in this message.
– FragMaskFragMaskWhat packet this is (0..n)What packet this is (0..n)
![Page 12: Networking Models and Designs By: Dan Sibbernsen Advisor: MikeyG.](https://reader036.fdocuments.net/reader036/viewer/2022062408/56649ee15503460f94bf1c5e/html5/thumbnails/12.jpg)
BLAST Sender SideBLAST Sender Side
FragMaskFragMask– a 32 bit representation of which packet this isa 32 bit representation of which packet this is
For instance, if this is the 5For instance, if this is the 5thth packet, then bit 5 is marked 1 packet, then bit 5 is marked 1 and the rest are 0s.and the rest are 0s.
NumFragsNumFrags– Represents how many packets the sender should Represents how many packets the sender should
expect.expect.If the Message is broken down into 12 packets, then this If the Message is broken down into 12 packets, then this number is 12.number is 12.
TypeType– For the sender, this will always be DATA.For the sender, this will always be DATA.
![Page 13: Networking Models and Designs By: Dan Sibbernsen Advisor: MikeyG.](https://reader036.fdocuments.net/reader036/viewer/2022062408/56649ee15503460f94bf1c5e/html5/thumbnails/13.jpg)
BLAST – SenderBLAST – Sender
TimersTimers– When the last packet is sent, a timer is When the last packet is sent, a timer is
started. started. – If an SRR hasn’t been received when this If an SRR hasn’t been received when this
timer expires, it resends all of the packets.timer expires, it resends all of the packets.– It does this x number of times before it quits.It does this x number of times before it quits.
![Page 14: Networking Models and Designs By: Dan Sibbernsen Advisor: MikeyG.](https://reader036.fdocuments.net/reader036/viewer/2022062408/56649ee15503460f94bf1c5e/html5/thumbnails/14.jpg)
BLAST Receiver SideBLAST Receiver Side
When the Receiver gets the first packet, it When the Receiver gets the first packet, it creates a data structure to accept the rest.creates a data structure to accept the rest.
The packets then begin arriving and are put into The packets then begin arriving and are put into the data structure according to what their the data structure according to what their FragMask says they are.FragMask says they are.
![Page 15: Networking Models and Designs By: Dan Sibbernsen Advisor: MikeyG.](https://reader036.fdocuments.net/reader036/viewer/2022062408/56649ee15503460f94bf1c5e/html5/thumbnails/15.jpg)
Internet ACKsInternet ACKs
An ACK (or acknowledgement) is a way for the receiver An ACK (or acknowledgement) is a way for the receiver to notify the sender that a packet has been received.to notify the sender that a packet has been received.
However, BLAST sends out all of its packets for a However, BLAST sends out all of its packets for a message without waiting for an ACK from the receiver.message without waiting for an ACK from the receiver.
BLAST needed a new way to perform an ACK so that it BLAST needed a new way to perform an ACK so that it could account for multiple packet loss.could account for multiple packet loss.
![Page 16: Networking Models and Designs By: Dan Sibbernsen Advisor: MikeyG.](https://reader036.fdocuments.net/reader036/viewer/2022062408/56649ee15503460f94bf1c5e/html5/thumbnails/16.jpg)
BLAST ACKBLAST ACK
Key Components of the BLAST ACKKey Components of the BLAST ACK
FragMaskFragMask– This represents which packets have not been This represents which packets have not been
received, so if packets 4 and 7 haven’t been received, received, so if packets 4 and 7 haven’t been received, bits 4 and 7 are set to 0, while the rest are 1s.bits 4 and 7 are set to 0, while the rest are 1s.
TypeType– For the Receiver, this will always be an SRR.For the Receiver, this will always be an SRR.
![Page 17: Networking Models and Designs By: Dan Sibbernsen Advisor: MikeyG.](https://reader036.fdocuments.net/reader036/viewer/2022062408/56649ee15503460f94bf1c5e/html5/thumbnails/17.jpg)
SRRs- WhenSRRs- When
An SRR is sent out when 1 of 2 events An SRR is sent out when 1 of 2 events occuroccur– The last packet arrivesThe last packet arrives– A timer finishesA timer finishes
This is to protect against the last packet being lost.This is to protect against the last packet being lost.
If this timer expires 3 times (with an SRR sent If this timer expires 3 times (with an SRR sent each time), the receiver quits and frees up all the each time), the receiver quits and frees up all the received packets.received packets.
![Page 18: Networking Models and Designs By: Dan Sibbernsen Advisor: MikeyG.](https://reader036.fdocuments.net/reader036/viewer/2022062408/56649ee15503460f94bf1c5e/html5/thumbnails/18.jpg)
BLAST-AdvantagesBLAST-Advantages
The BLAST algorithm is not heavily dependent upon the The BLAST algorithm is not heavily dependent upon the use of timers.use of timers.– The Timers protect against the worst-case scenario: the packets The Timers protect against the worst-case scenario: the packets
simply cannot get from the sender to the receiver.simply cannot get from the sender to the receiver.
![Page 19: Networking Models and Designs By: Dan Sibbernsen Advisor: MikeyG.](https://reader036.fdocuments.net/reader036/viewer/2022062408/56649ee15503460f94bf1c5e/html5/thumbnails/19.jpg)
BLAST-DrawbacksBLAST-Drawbacks
No guaranteed transmissionNo guaranteed transmission– Message is too smallMessage is too small
If only 1-2 packets are sent, neither might arrive.If only 1-2 packets are sent, neither might arrive.
If last packet gets in faster than the rest, SRR is sent, If last packet gets in faster than the rest, SRR is sent, resulting in more packets than necessary being resulting in more packets than necessary being redelivered.redelivered.
![Page 20: Networking Models and Designs By: Dan Sibbernsen Advisor: MikeyG.](https://reader036.fdocuments.net/reader036/viewer/2022062408/56649ee15503460f94bf1c5e/html5/thumbnails/20.jpg)
My ProjectMy Project
Implementation of the BLAST algorithm on Implementation of the BLAST algorithm on top of the Kaya Operating System.top of the Kaya Operating System.
Requirements:Requirements:– vde (Virtual Distributed Ethernet)vde (Virtual Distributed Ethernet)– uMPS (micro MPS simulator)uMPS (micro MPS simulator)– a working phases 1-3 of Kayaa working phases 1-3 of Kaya
![Page 21: Networking Models and Designs By: Dan Sibbernsen Advisor: MikeyG.](https://reader036.fdocuments.net/reader036/viewer/2022062408/56649ee15503460f94bf1c5e/html5/thumbnails/21.jpg)
HowHow
TransmitTransmit– Transmit would essentially take input of a Transmit would essentially take input of a
packet.packet.Source MAC addressSource MAC address
Destination MAC addressDestination MAC address
Data to be transferredData to be transferred
– Pass this information into a device in uMPS Pass this information into a device in uMPS for sending to the receiver.for sending to the receiver.
![Page 22: Networking Models and Designs By: Dan Sibbernsen Advisor: MikeyG.](https://reader036.fdocuments.net/reader036/viewer/2022062408/56649ee15503460f94bf1c5e/html5/thumbnails/22.jpg)
HowHow
ReceiveReceive– Interrupt would occur on receiving machineInterrupt would occur on receiving machine
Process the packetProcess the packet– Put it into a data structurePut it into a data structure– Await further packetsAwait further packets– When last packet arrives, send an SRRWhen last packet arrives, send an SRR
![Page 23: Networking Models and Designs By: Dan Sibbernsen Advisor: MikeyG.](https://reader036.fdocuments.net/reader036/viewer/2022062408/56649ee15503460f94bf1c5e/html5/thumbnails/23.jpg)
Future EndeavoursFuture Endeavours
Given time and the right motivationGiven time and the right motivation– Implement more layers upon BLAST, for instance, one that Implement more layers upon BLAST, for instance, one that
would guarantee packet delivery.would guarantee packet delivery.– Look into other possible Operating Systems this could be Look into other possible Operating Systems this could be
implemented on.implemented on.
![Page 24: Networking Models and Designs By: Dan Sibbernsen Advisor: MikeyG.](https://reader036.fdocuments.net/reader036/viewer/2022062408/56649ee15503460f94bf1c5e/html5/thumbnails/24.jpg)
SourcesSources
Peterson, Larry L. & Davie, Bruce S. Peterson, Larry L. & Davie, Bruce S. Computer Networks: A Systems Approach.Computer Networks: A Systems Approach. San San Francisco: Morgan Kaufmann, 1996.Francisco: Morgan Kaufmann, 1996.
![Page 25: Networking Models and Designs By: Dan Sibbernsen Advisor: MikeyG.](https://reader036.fdocuments.net/reader036/viewer/2022062408/56649ee15503460f94bf1c5e/html5/thumbnails/25.jpg)
Special ThanksSpecial Thanks
Michael Goldweber, for being my advisor, and also letting me use his Kaya Michael Goldweber, for being my advisor, and also letting me use his Kaya phases 1-3, as well as his contribution to the uMPS project.phases 1-3, as well as his contribution to the uMPS project.
Creators of uMPSCreators of uMPS– Renzo DavoliRenzo Davoli– Michael GoldweberMichael Goldweber
Creator of VDECreator of VDE– Renzo DavoliRenzo Davoli