INF397 Full Stack Technologies View Schedule Print

Network Overview

Concepts

  • Node - a device in the network
  • Connection - a link between devices
  • Protocol - a set of data formats and rules for communication
  • Stack - layers of protocols
  • Topology - the graph of connections

The OSI stack

  • Application Layer Protocols (HTTP, FTP, SSH)
  • Transport Layer (TCP, UPD)
  • Network Layer (IPv4, IPv6)
  • Link Layer (Ethernet, Point-to-Point)
  • Physical Layer (ISDN, WiFi, Optic-Fiber)

The OSI stack

Topologies

  • Bus (Shared)
  • Star (Centralized)
  • Ring (Linear)
  • Mesh

Topologies

Modes of communication

  • Polling (Request/Response)
  • Long Polling (Keep-alive, Response on data)
  • Streaming (Chuncked encoding)
  • Web Sockets (Two-way channel)

Modes of communication

Concepts

Bandwidth
The total capacity of a connection (measured in Gb/s)

Throughput
The amount of data a node can process (measured in Gb/s)

Latency
The amount of time a client waits for a response (measured in milisecons)

Concepts

Packet switching
breaking messages into small chunks and interleaving them

Durability
the maximum amount of time/hops a message takes to reach its destination

Reliability
the level of guarantee given by the network a message will be delivered

Web Protocols:

  • TCP/IP
  • HTTP
  • HTTPS
  • DNS
  • WebSocket
  • WebRTC

HTTP (1999)

  • Intended for simple document retreval
  • Text-based
  • Request-Response model
  • Limitations have led to many workarounds
HTTP Request

    POST /docs/add.html HTTP/1.1
    Host: www.nowhere123.com
    Accept: text/html
    Accept-Language: en-us
    Accept-Encoding: gzip, deflate
    User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1)
    (blank line)
    The body of the request
  
HTTP Response

  HTTP/1.1 200 OK
  Date: Sun, 18 Sep 2016 08:56:53 GMT
  Server: Apache/2.2.14 (Win32)
  Last-Modified: Sat, 18 Sep 2016 07:16:26 GMT
  ETag: "10000000565a5-2c-3e94b66c2e680"
  Accept-Ranges: bytes
  Content-Length: 44
  Connection: close
  Content-Type: text/html
  (blank line)
  <html><body>
  Saved <a href="http://site123.com/xt76-24a">here</a>
  </body></html>
  

HTTP/2 (2015)

  • Faster and smarter (headers compression)
  • Two-way communication
  • Eliminated head-of-line blocking
  • Breaks many hacks around http 1.1

Secure Socket Layer SSL

  • Handshake |
  • Certificates |
  • Trust

SSL: Secure Socket Layer

  • attacker cannot read messages
  • attacker cannot change message
  • guaranteed through certificates

Security

  • Man in the middle
  • Data leak / loss
  • Cache poisoning
  • Message replay
  • Denial of service

WebSockets

  • full-duplex |
  • real-time |
  • fallback to polling

Domain Name System (DNS)

  • hierarchical |
  • distrubuted |
  • caching

Course Schedule:

week 1 03.02.2017 History of the web Fullstack Principles Development Processes Agile Processes DevOps Basics Git
week 2 10.02.2017 Frontend Overview Backend Overview Network Overview Testing JavaScript Overview JavaScript Tooling
week 3 17.02.2017 Web Architectures RESTful principles SOLID principles Web Components Continuous Integration
week 4 24.02.2017 Databases basics Using APIs Deployment Automation Monitoring In-class project consultations
week 5 17.03.2017 Project presentations
Final Test
Course Retrospective and Q&A