Computer Networks
Notes
Introduction
- A transit network is used to carry traffic between your ISP and content provider if they are not directly connected.
- Transit networks typically charge the ISP and content provider for carrying traffic end-to-end.
- If the network hosting the content and the access network exchange enough traffic, they may decided to interconnect directly.
- Transit networks are traditionally called backbone networks because they have had the role of carrying traffic between two endpoints.
- In a WAN you have the transmission lines and the router.
- The network using a routing algorithm to decide which path to use
- Routers use a forwarding algorithm to decided where to send a packet next
- A collection of interconnected networks is called the internetwork or internet.
- The Internet is one specific internet.
- A network is comprised of a subnet and its hosts.
- Gateway is the device that makes a connection between two or more networks.
- The gateway sits on the network layer and router is an example gateway.
- ISPs connect their traffic at IXPs (Internet eXchange Points)
- Peering IXPs depend on the business relationship between ISPs e.g. a small ISP might pay a larger ISP for internet connectivity to reach distance hosts. In this case, the small ISP is said to pay for transit.
- There are a small handful of transit providers that operate backbone networks. These ISPs don’t pay for transit and are usually called tier-1 ISPs.
- In the past content provides, YouTube/Google, use to have to rely on transit providers for connectivity but nowadays they can often connected directly with other content providers.
- The common Internet path is directly from your ISP to the content provider.
- packet-switching vs circuit-switching:
- packet: connectionless design, every packet is routed independently of every other packet.
- circuit: connection, all words and packets follow the same route.
- Flow control helps from a fast sender swamping a slow receiver with data.
- Congestion is when network is oversubscribed because too many computers want to send too much traffic.
A service is formally specified by a set of primitives available to user processes to access the service. These are normally system calls in the OS.
Primitive Meaning LISTENBlock waiting for an incoming connection CONNECTEstablish a connection with a waiting peer ACCEPTAccept an incoming connection from a peer RECEIVEBlock waiting for an incoming message SENDSend a message to the peer DISCONNECTTerminate a connection Service relate to the interface between layers in contrast protocols relate to the packets sent between peer entities on difference machines.
TCP (Transmission Control Protocol) is a reliable connection-oriented protocol that allows a byte stream originating on one machine to be delivered without error on any other machine in the internet. It segments the incoming byte stream into discrete messages and passes each one on to the internet layer. At the dest, the receiving TCP process reassembles the received messages into the output stream. TCP also handles flow control to make sure fast sender cannot swamp a slow receiver with more messages that it can handle. (TCP is at the L4 of OSI - Transport Layer).
UDP (User Datagram Protocol) is an unreliable, connectionless protocol for applications that do not want TCP’s sequencing or flow control and wish to provide their own. It can also be used for one-shot, client-server-type request-reply queries and applications in which prompt delivery is more important than accurate delivery.