Networking Basics - Outline

Protocols

  • negotiated language for communication
  • network protocols: definitions for communication between computers
    • Ethernet
    • Localtalk
    • Token Ring
      (Wouldn't the Internet be fun if it were Token Ring?)
    • FDDI
    • ATM
    • SONET
    • DSL
    • ISDN

Layer models

  • protocol stack, layering
  • each layer only communicates with the layers directly above and below
  • facilitates implementation and system interconnection
  • OSI 7 layer model
    • Application (layer 7)
    • Presentation
    • Session
    • Transport
    • Network
    • Data link
    • Physical (layer 1)
  • TCP/IP 4 layer model
    • Application (layer 4)
    • Transport
    • Internet
    • Network (layer 1)
  • Gogan's 9 layer model
    Same as the OSI 7-layer model, except for the addition of:
    • Political (layer 9)
    • Financial (layer 8)

Physical network topologies

Network divisions

  • LAN, WAN, MAN -- scope
  • intranet, extranet, DMZ -- audience
  • Internet -- the world
  • VLAN -- segmentation by software at the switch level

Packets

  • data transmitted in small bits
  • disassembly & reassembly
  • intermingled streams
  • source, destination, flags, data, checksum

Ethernet

  • MAC address xx:xx:xx:xx:xx:xx

IP

  • Internet protocol
  • IP address x.x.x.x
  • best effort delivery

UDP

  • user datagram protocol
  • best effort delivery
  • used for applications with
    • internal data reliability checks (NFS)
    • real-time sensitivity (multimedia)

TCP

  • transmission control protocol
  • guaranteed delivery
  • SYN, SYN/ACK, ACK
  • sequence numbers for data reassembly
  • slow start
  • additive increase, exponential decrease
  • most Internet applications use TCP (TCP/IP)
  • higher level protocols: http, ftp, smtp, pop, imap, etc.

ICMP

  • Internet control message protocol
  • used for informational messages between hosts
  • echo request/reply (ping)
  • traceroute reply messages

DHCP, BOOTP

See /etc/protocols

Switching

  • typically layer 2
  • for ethernet, MAC addresses are used
  • switch keeps MAC address tables to determine the destination switch port for a packet

Routing

  • layer 3 switching
  • separate broadcast domains
  • for communication between networks or subnetworks
  • default gateway for a host
  • neighbor routers share routing information

Routing protocols

  • RIP (routing information protocol)
    • for LANs
    • hop count determines path
  • OSPF (open shortest path first)
    • for LANs
    • uses designated routers and keeps link state information
  • BGP (border gateway protocol)
    • for WANs, Internet backbone ISPs use this protocol
    • weighted paths, least cost

ARP & Broadcasts

  • ARP (address resolution protocol) used to determine MAC address
  • packets sent to all hosts on a network segment
  • MAC address ff:ff:ff:ff:ff:ff
  • IP address -- it depends
    • subnet mask determines the network
    • e.g. 152.2.200.200 + 255.255.0.0 => 152.2.255.255
  • routers shouldn't retransmit broadcast packets

NAT

  • network address translation
  • typically uses 10.0.0.0, 192.168.0.0 network blocks
  • a gateway translates between internal IP addresses and the outside network

BSD sockets

  • ports 0-65535, UDP & TCP
  • permit multiple applications on the same system and multiple streams between systems
  • stream endpoints: src IP address & port, dst IP address & port
  • ports are assigned to applications, see /etc/services
  • typical ports
    • 80 http
    • 22 ssh
    • 20/21 ftp
    • 23 telnet

DNS

  • domain name service
  • associates human-readable text to numeric ip addresses

Security issues in networking

  • unauthorized communication with a host
    • valid credentials from an unauthorized source
    • exploitation of a vulnerability to bypass checks
  • denial of service

Remedies

  • packet filtering
    • host-based filters
    • router ACLs
  • preventing pings to broadcast addresses
  • stateful firewalls
  • encryption
    • application level (ssh, SSL, pgp)
    • network level (VPN, IPSec)
  • good network design
    • redundancy
    • fault tolerance