


































Study with the several resources on Docsity
Earn points by helping other students or get them with a premium plan
Prepare for your exams
Study with the several resources on Docsity
Earn points to download
Earn points by helping other students or get them with a premium plan
An in-depth exploration of distributed software development, focusing on networking, distributed systems, and communication protocols. Topics covered include the seven-layer model, tcp/ip, message transmission across layers, and the modern networking stack. Students will gain a solid understanding of the basics of distributed systems, their advantages and disadvantages, and the challenges of dealing with time and process failure.
Typology: Study notes
1 / 42
This page cannot be seen from the preview
Don't miss anything!



































Chris Brooks Department of Computer ScienceUniversity of San Francisco
Department of Computer Science — University of San Francisco – p. 1/
-^ Networking overview^ •^
Seven-layer model
-^ Intro to Distributed Systems^ •^
Characteristics • Desirable Properties • Dealing with Time
Department of Computer Science — University of San Francisco – p. 2/
-^ Goal: Understand how a network transmits messages atdifferent layers. •^ How is a network composed? •^ What really happens when Firefox opens a connection to aweb server? •^ Note: this will be an overview: for more details, take thenetworking class.
Department of Computer Science — University of San Francisco – p. 4/
-^ Modern network design takes advantage of the idea of^ layering •^ A particular service or module is constructed as a black box. •^ Users of that service do not need to know its internals, justits 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 OO modules, the layers in a networked systemcomprise protocols that span multiple machines.
Department of Computer Science — University of San Francisco – p. 5/
-^ Application •^ Presentation •^ Session •^ Transport •^ Network •^ Data Link •^ Physical
Department of Computer Science — University of San Francisco – p. 7/
Department of Computer Science — University of San Francisco – p. 8/
-^ Each layer constructs a packet containing a portion of thedata to be transmitted. •^ This packet has a data section, and a header.^ •^
The header contains origin and destination information,checksums, sequence numbers, and other identifyinginformation.
-^ When a message is sent by TCP, a packet is constructedand passed down to the IP layer. •^ This entire packet then becomes the data portion of the IPpacket, which is passed down to the network layer, and soon. •^ On the other end, the lowest layer removes the header andchecks the data integrity, then passes the data portion up tothe next layer.
Department of Computer Science — University of San Francisco – p. 10/
-^ This is the lowest-level layer, responsible for transmitting 0sand 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. 11/
-^ The network layer is responsible for routing and flow control. •^ 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, placeit on the output link that takes it to the next hop in itsroute.
Department of Computer Science — University of San Francisco – p. 13/
-^ A router contains a
forwarding table
packet 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: 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. 14/
-^ The session layer was designed to provide support for accessrights and synchronization. •^ In practice, it is not widely used, and is not present in theTCP/IP suite.
Department of Computer Science — University of San Francisco – p. 16/
-^ The presentation layer controls display of packetinformation. •^ This may include encryption/decryption, compression,translation between character formats.
Department of Computer Science — University of San Francisco – p. 17/
-^ HTTP is the protocol that drives the Web.^ •^
A side note/axe to grind: WWW != Internet!!
-^ It is a stateless protocol that uses TCP as its underlyingprotocol.^ •^
The client sends a request, which is processed by theserver. • The server sends a reply, and the exchange is ended.
Department of Computer Science — University of San Francisco – p. 19/
-^ HTTP has a very simple message format.^ GET /~brooks/index.html HTTP/1.1Host: www.cs.usfca.eduConnection: closeUser-agent: Mozilla/4.0Accept-language: en •^ You can try this out for yourself with telnet ...
Department of Computer Science — University of San Francisco – p. 20/