DOC PREVIEW
USF CS 682 - Distributed Software Development

This preview shows page 1-2-3-4-5-6 out of 18 pages.

Save
View full document
View full document
Premium Document
Do you want full access? Go Premium and unlock all 18 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 18 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 18 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 18 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 18 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 18 pages.
Access to all documents
Download any document
Ad free experience
Premium Document
Do you want full access? Go Premium and unlock all 18 pages.
Access to all documents
Download any document
Ad free experience

Unformatted text preview:

{small lecturenumber - heblocknumber :} A Brief overview of TCP/IPaddtocounter {blocknumber}{1}{small lecturenumber - heblocknumber :} Layeringaddtocounter {blocknumber}{1}{small lecturenumber - heblocknumber :} The OSI seven-layer modeladdtocounter {blocknumber}{1}{small lecturenumber - heblocknumber :} The OSI seven-layer modeladdtocounter {blocknumber}{1}{small lecturenumber - heblocknumber :} Message transmission across layersaddtocounter {blocknumber}{1}{small lecturenumber - heblocknumber :} Physical Layeraddtocounter {blocknumber}{1}{small lecturenumber - heblocknumber :} Data Link Layeraddtocounter {blocknumber}{1}{small lecturenumber - heblocknumber :} Network Layeraddtocounter {blocknumber}{1}{small lecturenumber - heblocknumber :} Network Layeraddtocounter {blocknumber}{1}{small lecturenumber - heblocknumber :} Transport Layeraddtocounter {blocknumber}{1}{small lecturenumber - heblocknumber :} Session Layeraddtocounter {blocknumber}{1}{small lecturenumber - heblocknumber :} Presentation Layeraddtocounter {blocknumber}{1}{small lecturenumber - heblocknumber :} Application Layeraddtocounter {blocknumber}{1}{small lecturenumber - heblocknumber :} An example: HTTPaddtocounter {blocknumber}{1}{small lecturenumber - heblocknumber :} HTTP requestsaddtocounter {blocknumber}{1}{small lecturenumber - heblocknumber :} HTTPaddtocounter {blocknumber}{1}{small lecturenumber - heblocknumber :} Summaryaddtocounter {blocknumber}{1}Distributed Software DevelopmentTCP/IP overviewChris BrooksDepartment of Computer ScienceUniversity of San FranciscoDepartment of Computer Science — University of San Francisco – p.1/??2b-0: A Brief overview of TCP/IPGoal: Understand how a network transmits messages atdifferent layers.How is a network composed?What really happens when Firefox opens a connection toa web server?Note: this will be an overview: For more details, youshould take Prof. Buckwalter’s class.Department of Computer Science — University of San Francisco – p.2/??2b-1: LayeringModern network design takes advantage of the idea oflayeringA particular service or module is constructed as a blackbox.Users of that service do not need to know its internals,just its interface.This makes it easy to later build new modules (or layers)that use the lower layers.For example, HTTP is built on top of TCP.A web browser does not typically need to worry aboutthe implementation of TCP, just that it works.Unlike modules in a typical OO system, the layers in anetworked system comprise protocols that span multiplemachines.Department of Computer Science — University of San Francisco – p.3/??2b-2: The OSI seven-layer modelISO (a standards body) developed a reference modelcalled OSI that defines the different layers needed forcommunication, and specifies which should do each job.The goal is to produce an open protocol that allows forheterogeneous, extensible systems.A protocol is a specification describing the order andformat of messages.An open protocol is one in which all of this information ispublicly available.Department of Computer Science — University of San Francisco – p.4/??2b-3: The OSI seven-layer modelApplicationPresentationSessionTransportNetworkData LinkPhysicalDepartment of Computer Science — University of San Francisco – p.5/??2b-4: Message transmission acrosslayersAn application (such as a web browser) wants to send amessage to another computer.That application constructs a message and passes it tothe application layer.The application layer attaches a header to the messageand passes it to the presentation layer.The presentation layer attaches a header and passes it tothe session layer, and so on.On the other end, the message is received by the physicallayer, who strips off the appropriate header and passesthe message up to the data link layer.This continues until the message reaches the applicationlayer of the receiving machine.High-level layers don’t need to worry about lower-levellayers.Lower-level layers treat everything from higher layers asdata to be sent.Department of Computer Science — University of San Francisco – p.6/??2b-5: Physical LayerThis is the lowest-level layer, responsible for transmitting0s and 1s.Governs transmission rates, full or half-duplex, etc.A modem works at the physical layer.Lots of interesting problems at this level that we won’t getinto ...Department of Computer Science — University of San Francisco – p.7/??2b-6: Data Link LayerThe data link layer provides error handling for the physicallayer.Individual bits are grouped together into frames.A checksum is then computed to detect transmissionerrors.The data link layer can then request a retransmission ofan error is detected.Messages are numbered; receiver can requestre-transmission of any message in a sequence.Each frame is a separate, distinct message.The Data link layer provides error-free transmission toupper-level layers.Department of Computer Science — University of San Francisco – p.8/??2b-7: Network LayerThe network layer is responsible for routing and flowcontrol.The network layer removes the data link header andexamines the resulting packet for a destination, and thenforwards it as appropriate.the Internet Protocol (IP) is one of the best-knownnetwork-layer protocols.Primary role: move packets from a sending host to areceiving host. This involves:Routing: determine the path that a packet should taketo get to its destination.Forwarding: When an incoming packet is received,place it on the output link that takes it to the next hop inits route.Department of Computer Science — University of San Francisco – p.9/??2b-8: Network LayerA router contains a forwarding table - when an incomingpacket is received, the router compares it to this table todetermine where to send it next.This is forwarding.These forwarding tables are configured by means of arouting algorithm.For example, the link-state algorithm is a version ofDjikstra’s algorithm - this computes a global routing table.Internet routing algorithms (such as BGP) are morecomplex, and use a decentralized routing table.In a nutshell, BGP lets subnets figure out how to reachother subnets via a gateway. That gateway is thenresponsible for routing within the subnet.Department of Computer Science — University of San Francisco – p.10/??2b-9: Transport LayerThe network layer still operates at the level of individualpackets, or datagrams.Packets may get lost, or arrive out of order.TCP is a transport-level protocol that


View Full Document

USF CS 682 - Distributed Software Development

Documents in this Course
Load more
Download Distributed Software Development
Our administrator received your request to download this document. We will send you the file to your email shortly.
Loading Unlocking...
Login

Join to view Distributed Software Development and access 3M+ class-specific study document.

or
We will never post anything without your permission.
Don't have an account?
Sign Up

Join to view Distributed Software Development 2 2 and access 3M+ class-specific study document.

or

By creating an account you agree to our Privacy Policy and Terms Of Use

Already a member?