networking models and designs by: dan sibbernsen advisor: mikeyg

25
Networking Models and Networking Models and Designs Designs By: Dan Sibbernsen By: Dan Sibbernsen Advisor: MikeyG Advisor: MikeyG

Upload: lesley-lawson

Post on 02-Jan-2016

221 views

Category:

Documents


3 download

TRANSCRIPT

Page 1: Networking Models and Designs By: Dan Sibbernsen Advisor: MikeyG

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

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

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

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

http://www.oreillynet.comhttp://www.oreillynet.com

Packet AbstractionsPacket Abstractions

Page 6: Networking Models and Designs By: Dan Sibbernsen Advisor: MikeyG

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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