September 23, 2019

OSI Layer Notes

I watched a series of YouTube videos on the OSI model to shore up my fluency on the details of computer networking and its different layers of abstraction.

Overview:

  1. Physical layer
    • hardware
    • CAT-5 cable
    • “95% of networking problems”
  2. Data-link layer
    • https://www.youtube.com/watch?v=vj3ut2uGCgs
    • https://www.youtube.com/watch?v=_gmnOBujm4Q
    • MAC address = media access control
      • every hardware device that has a NIC (network interface card) has a MAC
      • 48-bit address assigned to a NIC, hexadecimal characters (4-bits)
      • 1st half (24-bits or 6 characters) vendor code
      • 2nd half (24-bits or 6 characters) “unique value” for that particular card
    • LLC = link layer controls
      • acknowledges receipt of messages
      • flow control (occurs at other OSI layers too)
        • limit amt of data from sender
      • error control
        • allows receiver to notify sender when frame not received or checksum fails
      • Synchronizing transmissions (agreeing about clock)
        • isochronous (shared clock), lowest overhead
        • async
        • synchronous
    • Switches, bridges, NICs, VLANs
    • Protocols
  3. Network layer
    • https://www.youtube.com/watch?v=_d2zkAFytPk
    • https://www.youtube.com/watch?v=mp1l-x5AXi4
    • forwarding traffic based on addresses
    • IP v4/v6 addresses, logical addresses
    • switching
      • packet switching (routing “packets”)
      • circuit switching (dedicated link btwn 2 parties, e.g. telephony)
      • message switching (distinct from packets, but may be retained like emails)
    • route discovery and connection
      • routers maintain the routing table
      • manual or dynamically configured based on routing protocol
    • connection services
      • similar to layer 2, flow/error control, packet ordering
    • bandwidth usage
    • multiplexing strategy
    • Protocols:
      • ICMP
      • IPsec
      • RIP: old, do not need to know
      • OSPF
      • EIGRP
  4. Transport layer
    • https://www.youtube.com/watch?v=DsQcX-7n6fY
    • https://www.youtube.com/watch?v=YeB9RuFElVg
    • how large a block of data to transfer
      • windowing
        • dynamical segment size based on # of repeat successes
      • buffering
    • buffering/flushing IO via socket
    • WAN accelerators
    • load balancers
    • firewalls (TCP/IP)
    • Protocols:
      • TCP: 3-step handshake (SYN, ACK, SYN/ACK), no dropped packets
        • usage: reliable
      • UDP: no re-transmission of dropped packets, no guaranteed delivery order, no acknowldegments
        • usage: speed, audio/video streaming
  5. Session layer
  6. Presentation layer (OS)
  7. Application layer (user interface–e.g. web browser)
    • application services
    • service discovery
    • Protocols:
      • HTTP
      • SMTP
      • TELNET