Possible topics for final - Click on topic to see linked page.

Networking.

TCP-IP model
  Combines and redistributes OSI model usually as 4 layers..
  
  Application layer -  ftp, http, etc. (filezilla, web browser)
    Includes OSI presentation and part of OSI session layer.

  Transport layer - handles host to host connection, TCP transport merges
    parts of the OSI session layer and transport layer.

    TCP - Transmission Control Protocol frame. A core protocol designed
      to reliably transfer a block of data between 2 end points.
 
      Connection based - uses a 3-way handshake to reserve a 'connection'.
        Client sends SYN.
        Listening server responds with SYN-ACK
        Client confirms with final ACK
        See : http://en.wikipedia.org/wiki/Transmission_Control_Protocol#Connection_establishment 

    UDP - User Datagram Protocol packet. Single packet transaction used
      to request or send small ammount of data. Considred unreliable.

      Connectionless. Performs no initial handshake to establish connection.
      Simply sends packet. If no response from target, will retry or give up. 
      Usefull for simple requests such as pinging existence of another 
      system or requsting time. 

      Also useful where delivering next packet of info on time is more
      important that recovering lost packet. e.g Streaming audio.

  
  Network layer - OSI network layer.
    IP - Internet Protocol packet - primary packet for moving Transport
      level packets from node to node across Internet.

    ICMP - Internet Control Message Protocol packet.
      Used for transmitting status/error messges beween nodes.

      ICMP packets contain error flags and IP of system whose packet triggered
      error. ICMP protocol will forward ICMP packet back to originating 
      system (but not application). It is up to system's IP level support
      to decide how to handle error.
        
  Datalink layer. - Because most modern network cards are custom
    microchip technology, the link layer basically is the datalink and hardware
    layers. You can't reprogram or rewire an Ethernet card to be anything
    else.

    Ethernet - IEEE 802.3  CSMA/CD
    Token Ring - IEEE 802.5
    Wireless - IEEE 802.11 a,b,g,n  CSMA/CA

Low level local networking

  Basic structure of an Ethernet frame.
    Contains source and destination hardware MAC addresses 
      (media access control)
    Payload 42-1500 octets
    Overall 84-1542 octets, includes trailing interframe gap.

  Mac address
    High 3 octets contain OUI - Organizationally Unique Indentifier
      Specifies issuer of id - usually card manufacturer.
   
    Low 3 octets conain NIC - Network Interface controller.
      Should be unique in the world.

  Basic structure of an IPv4 packet. (some fields not listed)
    Version type (ipv4/ipv6) *
    ILH - header length. Used to indicate options in header.
    Total length 16-bit - 65535 maximum payload
    Identification - used if need to fragment current payload.
    Fragment offset * - fragmenting across hops generally allowed.
    TTL * - time to live. Used to remove lost packets.
    Protocol number * - payload type = TCP, UDP, ICMP, etc.
      Check out http://en.wikipedia.org/wiki/List_of_IP_protocol_numbers
    Header Checksum * - only IPv4
    Source IP address *
    Destination IP address *
    Options
    Data payload.

  Basic structure of an IPv6 packet.
    * Main header always 40 Octets
    Version type *
    Payload length - 16 bit. *
      IPv6 limits packet size to smallest supported across connections.
      * Fragmentation not allowed on intermediate hops.
      If fragmentation required, it must be handled by source and destination
        nodes. 
    Next header - used to indicate additional options in header if needed.
    Hop Count * - used to remove lost packets. Time no longer monitored.
    Source IP address *
    Destination IP address *
     # No CRC, no error checking at this level.
    Data payload.
    
  Basic structure of a TCP segment frame. Transmission Control Protocol
    Source Port * 16-bit
    Destination port *  16-bit  
    Sequence number * ( TCP commuincation assumed to be multi-packet)
    ACK # if used. (hand shaking support)
    Data offset 4-bit - start of data portion. counts 32-bit words.
    Various flags for TCP transmission.
    Options - including segment size.
    Data

  Basic structure of a UDP segment frame. User Datagram Protocol
    Source Port * 16-bit
    Destination port *  16-bit  
    Length
    Checksum

    # UDP is a single packet, so no sequence count, 
      and no sync,sync/ack,ack handshaking.

  *******

How does token ring provide arbitration. (how does a node get access).
    Token passed from node to node. If node wishs to communicate, it converts
      empty token into a data frame. Other nodes can reserve next access as
      frame passes by.
     
      Frame passes around ring until it encounters target node. Target node 
        retrieves or inserts data depending on task, sets an acknowedgement 
        flag, and frame continues on back to sender.

      If no one flags need, sender can continue to control frame for a 
        limited additional time if desired.
    
      Other wise, converted back to empty token and passed on to next node 
        or to the node that made the reservation. 

How does Ethernet provide arbitration (how does a node get access).
    CSMA/CD  carrier sense, multiple acces / collision detection

    CSMA/CD 
  
How does Wireless provide arbitration.
  * Wireless LAN uses a variation, CSMA/CA (oollision avoidance) which
    uses a small packet to reserve bandwidth before larger transmission.
.
    CSMA/CA

  Internet name resolution is performed by the Domain Name System, port 53.
    All nodes on the network have basic program/function called a resolver.
    
    Resolving a name.
     
  Which service/system provides name to IP and IP to name resolution?
    http://faculty.cs.niu.edu/~berezin/330/N/internet-names.html

    Domain Name System (DNS).

  What program/function is responsible for querying the DNS system for 
     information -  the resolver.

  Which services provides hardware mac@ to ip assignment?
    http://faculty.cs.niu.edu/~berezin/330/N/dhcp.html

    DHCP : port 67/68 - Dynamic Host Connection Protocol : 
      current protocol/service used to resolve MAC@<->IP. Considered 
      application level protocol/service.

    * arp/rarp - address resolutin protocol/reverse address resolution protocol : 
       Original protocol implemented at datalink level, had to be implemented 
       on each subnet. 

    * bootp - Bootstrap protocol : advancement over ARP/RARP. Uses UDP datagrams
      to request resolution. Network level requst.
  
These are so "well known" that you should know them (helpful on the test).

Port     Service

20       ftp-data
21       ftp

22       ssh
23       telnet

25       SMT simple mail tranfer (unencrypted).

53       Domain Name Resolution services.

      DHCP
67       bootps(server) client requests info from server.
68       bootpc(client) server responds to client.

80       http (web)
443      https (secure web)


Email (useful for setting up your phone to get your email)

     Receiving email.

993      imap4 (secure) fetching email.
995      pop4 (secure) fetching email.

      Sending email from client to your mail server.

587      msa (message submission agent, secure)
465      smtps (simple message transportation protocol, secure)
         Most mail servers listen on both.

IPv4 Classes.
  Class A - Most significant bit of IP address set to 0
   0bbb bbbb.xx.xx.xx 
   Most significant octet identifies domain. 
   128 domains
   16M (2^24) nodes. *

  Class B - 2 MSbs set to 10
   10bb bbbb.xx.xx.xx 
   Top 2 octetes id domain.
   16384 (2^14) domains.
   65K (2^16) nodes. *

  Class C - 3 MSbs set to 110
    110b bbbb.xx.xx.xx
    Top 3 octets id domain.
    256 nodes. *
 
  Domain may use netmask to further separate assigned domain into
    smaller subdomains.

    NIU owns 13.156 and uses a subnet mask (netmask) of 255.255.255.0 which
      allows us to have up to 256 sub-net of 256 nodes.
 
      The subnet division does not have to fall on an octet break.

      Subnet mask of 255.255.255.128
        would create 512 subnets of 128 nodes.

*******************************
  Private IPs

  10.x.x.x  16 Million, 16,777,216 - NIU
  172.17.0.0 172.31.255.255 1,048,576
  192.168.x.x 65,000, 65536 - most home wireless interfaces