Professional Documents
Culture Documents
Computer networks
A computer network is a collection of computers that are able to exchange information.
Computer networks are layers of software, each layer is called middleware.
Goals
Goals of computer networks:
• Resource sharing (making programs available to anyone on the internet)
• Communication (email, VoIP, etc)
• eCommerce (Webshops)
Forms
Forms of computer networks:
• Server-client model (client requests, server responds)
• Peer-to-peer model (requests and responses between computers, no server in between)
Network hardware
Types of transmission technology
• Broadcast: the communication channel is shared by all the machines in the network,
packets are sent by any machine, are received by all others machines in the network.
Each machine will check the address field of the incoming packet and only the target
machine will respond.
• Multicast: broadcast where multiple systems may respond to packets
• Point to point / unicast: to one specific machine, here finding good routes is important
Scale of networks
Both wireless and wired networks can be divided into static and dynamic designs. A static
allocation would be dividing time into discrete intervals and give each connection a chance to
communicate using a round-robin algorithm. Dynamic allocations for a common channel are
either centralized or decentralized.
An example of a centralized dynamic allocation are cellular networks, where a base station
determines which phone can communicate next. Decentralized dynamic allocation just means
each device can determine by itself when it should transmit. More on this later.
A wide area network consists of transmission lines (copper, fiberoptic) and switching elements
which are also commonly called routers.
This makes a WAN very similar to large LANs. The differences are:
• the hosts and subnet are owned by different people
• WAN routers will often connect different kinds of networks (ethernet, SONET, etc.)
• often an Internet Service Provider (ISP) builds and maintains these networks, and
customers connect to the ISPs network
Network scales
• Subnet: A collection of routers and communication lines owned by a network operator.
Does not include hosts themself.
• Network: subnet + hosts
• Internetwork: When distinct networks are interconnected.
• Gateway: connects two different networks, to create an internetwork
Network software
Network hierarchy
Each layer in the network stack acts like it's talking to the same layer on another machine. In
reality only the lowest, physical layer actually is.
Each layer adds some extra information (i.e. headers) to the sent data so it can be decoded
again on the other end. In each layer errors can occur, so the lower you get, the more error
correcting mechanisms should be present. This is difficult as error correcting codes also add
overhead so sometimes its most useful to just be able to detect errors and resend data.
Store and forward switching: each intermediate node waits until it received a full message
before sending it to the next node
Cut through switching: the retransmission of a message is started before it is fully received
Message sequence: each message has a clear boundary and when two messages are sent
they arrive as two distinct messages.
Byte streams: there are no clear boundaries. When a message is received there is no way to tell
if they were sent as two separate messages, or as one large message.
Some applications like file transfer rely on stable connections where messages are always
received correctly in the right order without errors. Other applications like VoIP do not require
this and actually benefit from not having it as the overhead would be unacceptable.
Services
A service is formally specified by a set of primitives (operations) available to user process to
access the service. The difference between a service and a protocol is that a service is a set of
primitives that a layer provides to a layer above it. A protocol is a set of rules governing the
format and meaning of messages.
Network layers
OSI
The OSI reference model
In OSI there are 7 layers according to the following rules:
• a layer should be created when a different abstraction is needed
• each layer should perform a well defined function
• the function of each layer should be chosen with an eye toward defining internationally
standardized protocols
• the layer boundaries should be chosen to minimize the information flow across the
interfaces
• the number of layers should be large enough that distinct functions need not be thrown
together in the same layer out of necessity and small enough that the architecture does
not become unwieldy
Critiques of OSI
• Bad timing: when OSI came around, companies did not want to support both OSI and
TCP/IP. This meant that every company was waiting for every other company to support
OSI first.
• Bad technology: some layers in OSI are almost empty (session, presentation) and this
makes it pretty inefficient.
• Bad implementations: this got OSI to be associated with poor quality.
TCP/IP
The TCP/IP model skips a few layers of the OSI model. It uses the following layers
• Layer 1: Network interface the OSI data link and physical layers
• Layer 2: Internet the OSI network layer
• Layer 3: Transport the OSI transport layer
• Layer 4: Application the OSI session, presentation and application layers
Critiques of TCP/IP
Mostly that it does not clearly distinguish the concepts of services, interfaces and protocols.
Network standardization
De facto: standards established by their wide usage like HTTP, WWW etc.
De Jure (by law): made by treaties between countries and some organisations like ITU, ISO,
IETF, IEEE
Some de facto standards evolve to be de jure. This is the case with HTTP which was quickly
picked up by IETF.
Example networks
The internet
Not really a network at all, but a huge collection of different networks.
The ARPANET
One of the first internets by the US Department of Defense
NSFNET
Mostly a followup of ARPANET
Either way, you connect to your ISP's IXPs (internet exchange point). One of the largest is the
Amsterdam Internet Exchange.