Giter Site home page Giter Site logo

networking's Introduction

Networking

We'll be covering the following topics:

  • Introduction to networking
  • Network communication protocols
    • TCP/IP protocol, DHCP and DNS
  • Network Topology
    • Star, Ring, Tree, Fully connected, etc.
  • Network Types
    • Personal Area Network (PAN), Local Area Network (LAN), Campus Area Network (CAN), etc.

What is networking?

Two or more nodes (e.g. computers) connected together by some means of communication so as to share or distribute resources.

Connection can be achieved by cables, radio signals, telephone lines, signals over power lines, optical signals, satellite communications, etc.

This concept extends from small local clusters of computers to the internet.

image

Method of communication - TCP/IP

To function as a network, nodes need to utilise a common method of communication. The de facto standard specification for communication is TCP/IP (Transmission Control Protocol/Internet Protocol).

TCP/IP is maintained by a global standards body called the Internet Engineering Task Force (IETF). It's a large open international community of network designers, operators, vendors and researchers concerned with the evolution of the internet architecture and the smooth operation of the internet. It's open to any interested individual.

The protocol stack

This is generally referred to as the four-layer model, although there are six components to it in this case.

The protocol stack provides layers of abstractions to the communication process so that a logical communication can be considered between nodes at each layer. Think in terms of a postal or courier service as an analogy. Standards define the protocol stack itself (RFC1122) and various protocols within the stack.

image

image

The Application layer

Examples of applications are web browsers, mail client, etc. Examples of application-layer protocols are:

  • HTTP
  • SMTP
  • POP3
  • FTP
  • DNS

From an application (and user) perspective a communication channel is established between two network nodes, e.g. a mail client and mail server. This requires the node's IP addressess and port number, i.e. a web server (HTTP) identified by port 80.

image

The Transport layer

Makes use of two main protocols:

  • TCP (Transmission Control Protocol)
  • UDP (User Datagram Protocol)

TCP

  • Connection-oriented service - information exchanged prior to message transfer. (Handshaking protocol).
  • Reliable transport (flow control, sequence numbers).
  • Retransmission of lost packets.
  • Congestion control - Slows down the transmission process in case of congestion.
  • Used for mail, remote terminal, web access, file transfer, etc.
There's a 3-way Handshaking phase:

image

Connection tear-down:

image

User Datagram Protocol (UDP)

  • Connectionless, unreliable service.
  • No handshaking protocol required.
  • No congestion control.
  • One to many broadcasting.
  • Used for media streaming, telephony, etc.

Network Layer

  • Network service model specifies end-to-end data transport between one network node and another.
  • The paths between thes nodes are identified by the network layer routing protocol.
  • Various protocols identified at the network layer, i.e. the Internet Control Message Protocol (ICMP) and arguably the most important netwrok layer protocol: the Internet Protocol (IP)

IP addressing

IPv4 is still the main addressing method.

  • 32 bit (4 byte) address usually written in dotted-deminal notation, e.g. 192.168.1.10.
  • All global internet addresses should be unique.
  • There's the potential for a total of 2^32 possible addresses and these are allocated to countries by Internet Assigned Numbers Authority (IANA).

Domain Name System (DNS)

  • Hierarchical naming structure for hostnames and is the mapping of hostnames to IP addresses.
  • Hostnames can be considered as leaves in the hierarchical domain name structure.
  • Name hierarchy is from right to left.
  • Top level domain (TLD), e.g. com, net, etc. and country indicators, e.g. uk, cn, au, etc. are administered by the International Corporation for Assigned Names and Numbers (ICANN)!
  • Followed by Second Level Domain (SLD), etc.

DNS creates addresses that are comprehensible by humans.

Dynamic Host Configuration Protocol (DCHP)

  • This allows for automatic allocation of IP addresses.
  • Also identifies DNS server(s) and first-hop router.
  • Can be part of private network assigning addresses within the private range (subject to masking).

Link Layer

  • This is the layer that communicates with the physical device (e.g. network adapter, Wi-Fi adapter).
  • Communication from node to node using unique Media Access Control (MAC) addresses.
  • MAC is a six byte address which implies that there are potential 2^48 different addresses that can be used.
  • This address is assigned to the node's adapter.

Network Topology

Network topology refers to the arrangement of various elements (i.e. nodes, connecting lines, etc.) of a communication network. There are different layouts that are used to describe the toplogy of a network. The most common are:

  • Star network
  • Ring network
  • Tree network
  • Fully connected network, etc.

Star Layout

The star network is one of the most popular network topologies. All peripheral nodes are connected only to a central hub (core node).

image

  • Advantages
    • Failure of one node does not affect the other nodes
    • Mobility of devices is flexible (i.e. a node can be added or removed without affecting the network)
  • Disadvantages
    • A hub failure would make the entire network collapse.
    • There's a high cost of building a star network

Ring Layout

In the ring network, the nodes are connected only to the adjacent ones.

image

  • Advantages
    • No central hub or core node needed, therefore the workload and services are handled from all the nodes.
    • Unidirectional connection of the layout facilitates the identification and isolation of failures and errors.
  • Disadvantages
    • The failure of one node will affect the other nodes and certainly the network operation.
    • Mobility of devices isn't flexible (i.e. you cannot add or remove a node without affecting the functionality of the network).

Tree Layout

The tree network arranges the network nodes in a hierarchical way, where there is a parent-child relation between the nodes.

image

  • Advantages
    • It's scalable as leaf nodes can accommodate more nodes in the hierarchical chain.
    • Other hierarchical networks are not affected if one of them gets damaged.
  • Disadvantages
    • Failure of one node affects the nodes that belong to the same sub-tree structure.
    • Mobility of devices isn't really flexible (i.e. it depends on the node that's being added or removed).
    • It's expensive to build as huge cabling is required.

Fully Connected Layout

In a fully-connected network, any two nodes of the network can bi-directionally communicate, as they are directly connected to each other.

image

  • Advantages
    • Data can be transmitted from different devices concurrently. This topology can handle high traffic.
    • Failure of one node won't affect the other nodes (at least not seriously)
  • Disadvantages
    • Mobility of devices isn't flexible.
    • Expensive to build as huge cabling is required.

networking's People

Contributors

samatar26 avatar

Stargazers

 avatar

Watchers

James Cloos avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.