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:
- Physical layer
- hardware
- CAT-5 cable
- “95% of networking problems”
- 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
- Ethernet
- CDP (Cisco discovery protocol)
- Frame Relay, superced by MPLS
- LLDP (link layer discovery protocol)
- ARP = address resolution protocol, Wikipedia
- IP to MAC address mapping
- 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
- 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
- windowing
- 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
- TCP: 3-step handshake (SYN, ACK, SYN/ACK), no dropped packets
- Session layer
- https://www.youtube.com/watch?v=aPcku3orRmI
- https://www.youtube.com/watch?v=OgXB2HJgXZY
- connection state btwn client/server
- setup
- verify user’s credentials
- create a unique session ID
- coordinate sequence of who sends first
- maintaining
- data transfer
- re-establish disconnected session
- acknowledge receipt of data
- teardown
- mutual agreement or disconnected
- Protocols:
- H.323
- NetBIOS
- Presentation layer (OS)
- https://www.youtube.com/watch?v=AtITX-U2mL4
- https://www.youtube.com/watch?v=htw7DxtNlFs
- data formatting, e.g.
- HTML
- character formatting (ASCII, UTF)
- file formats (JPEG, PNG)
- encryption
- SSL
- Application layer (user interface–e.g. web browser)
- application services
- service discovery
- Protocols:
- HTTP
- SMTP
- TELNET