Establishing a "session" over the internet.
  Assuming system has already used DHCP to discover its own IP, the gateway 
    system, and the available DNS server.

  Application prepares data for communication and hands it off to the
    TCP/IP functions.
  
  Using user specified destination site's DNS name, it requests a valid IP 
    from a name server. Function of  TCP/IP.

    Name resolution (Domain Name Service) is part of the Internet protocol
      implemented on a distributed hierarchical database system.

    First, checks to see if already discovered.
    Else performs request sequence until satisfied.

    * If DNS is down, it is possible to contact a system by specifying
      a valid ip number if known.

  Depending on need, a TCP, UDP, or other packet is built.
    If data larger than one packet,
     data parsed into sequenced packets

    Adds sequence id to packet, if TCP.

    Port of service being contacted added to packet header.

    Port of sesssion requesting service added.
      Random port > 1024 gotten from network support software.
        Port id assigned when a particular session started.
        A session can be something as simple as openning an new tab
          in a browser.
 
        If 2 copies of ftp running, each would have its own port id.
        Web brower with 2 open tabs will also be using 2 ephemeral ports.

  Packet passed to IP layer where Source node's ip and target node's ip 
    are added with various support info.

  Packet passed to network interface card.

  DHCP (ARP) or local routing records accessed to determine whether network 
    level packets have local destination or should be sent to gateway 
    interface.

    * Systems support software will cache this so that it doesn't have
      to do look up for every packet.

  At this point, the network card 
    Possibly breaks the packet up into packets of an appropriate size for
      the LAN to move.

    Embeds packet in a network frame that makes is transportable at the 
      LAN level.
  
    Puts initiator's mac@ in frame and the mac@ of the target node or the
      gateway router leading out of the local subnet.
  
    Converts data to electronic/optical pulses appropriate to LAN.
 
  If destination on same LAN, process reversed.

  If destination elsewhere, the mac@ will target a special machine called 
    a gateway router. 

    The gateway strips the current link layer frame from the pacekt.

    It may then further manipulate the packets into a form appropriate to the 
      next hop on the "Internet", 
       i.e if IPv4 and frame size smaller than packet, 
         it may further sequence and fragment pacekt.
  
    It will then ecapulate the IP packet in the appropriate frame with the
      mac@ of the gateway node and the mac@ fo the target gateway router node.
      
    The target node may be a router complex with many alternative paths.  
      The same process reoccurs until the packet arrives at destination 
      or hop (IPv6) or TTL (IPv4) count hits zero.

    Like the local system, the router keeps rcords of available connecting
      node's mac@ and which ones were used to move a particular IP packet 
      along the Internet. 

      If an ICMP packet comes back indicating problems, the router will note 
        that and attemp to use an alternative node.

      By doing this, the router node build a continually changing database
        of best guesses for the next hop of an IP packet.
    
      While very good, not perfect and that is why we have the TTL/Hop count
       field.


A session is a term for an established connection between a client and a service usually consisting of a socket (IP/Port pair) being initiated on each end. Once these are openned, they can be reused unitl the session is closed. Openning a browser tab to the department's web page or using Putty to log into hopper are sessions. A tranaction is a term for a particular job, i.e fetching a web page. It may involve many packets but is performing one task. Fetching a particular web page or getting the results of an ls -l on your home directory are transactions.