Networking, or Not Working?

Filevine Tech Talk
March 30th, 2023

Microservices are hard to debug

OSI Model

  1. Physical Layer
  2. Data Link Layer
  3. Network Layer
  4. Transport Layer
  5. Session Layer
  6. Presentation Layer
  7. Application Layer

Please Do Not Trust Senator Palpatine, Anakin

Layer 1: Physical Layer

  • Transmission of raw bits
  • Electrical, optical, or radio signals
  • Physical media
  • Wires, cables, fiber, radio waves

Layer 2: Data Link Layer

  • Transmission of frames
  • Frames are packets of data
  • Frames are sent over a physical medium
  • Frames are addressed to a specific device (MAC address)

Layer 3: Network Layer

  • Transmission of packets
  • Packets are frames with additional information
  • Packets are sent over a physical medium
  • Packets are addressed to a specific device (IP address with NAT)

Layer 4: Transport Layer

  • Transmission of segments
  • Segments are packets with additional information
  • Segments are sent over a physical medium
  • Segments are addressed to a specific device (IP address and port number)

Layer 5: Session Layer

  • Establishing and maintaining a connection
  • Establishing a connection
  • Terminating a connection
  • Resuming a connection

Layer 6: Presentation Layer

  • Encoding and decoding data
  • Encryption
  • Compression
  • Conversion

Layer 7: Application Layer

  • Transmission of application data
  • HTTP
  • FTP
  • SSH
Network topologies https://www.dnsstuff.com/what-is-network-topology
DNS Haiku
Tech words don't solve problems

Kubernetes

  • Container-to-Container
    • namespace != namespace
  • Pod-to-Pod
  • Pod-to-Service
  • Internet-to-Service

Kubernetes Dashboard

  1. SSH tunnel to Pi cluster
  2. kubectl proxy to expose API server
  3. Service
  4. Pod
  5. Container
  6. App calls
Network Layout

Demo

Questions?