home *** CD-ROM | disk | FTP | other *** search
/ ftp.ee.lbl.gov / 2014.05.ftp.ee.lbl.gov.tar / ftp.ee.lbl.gov / Networking-terminology.txt < prev    next >
Text File  |  2013-02-03  |  12KB  |  327 lines

  1. Terminology
  2. ===========
  3.  
  4. This writeup is meant to provide quick definitions for a number of networking
  5. terms that we will use as we discuss networking security issues.  The
  6. writeup is structured into a number of topics:
  7.  
  8.     General concepts
  9.     Layering
  10.     Terms associated with different layers
  11.     Terms associated with TCP
  12.     Protocols known by their acronyms
  13.     Notions particular to DNS
  14.  
  15. which in general reflects the order in which we discuss different facets
  16. of networking in the overview lecture.  Within each topic, terms are listed
  17. alphabetically, except for "General concepts" they (basically) follow the
  18. order of discussion in lecture.
  19.  
  20. -+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  21.  
  22. General concepts:
  23.  
  24.     Protocol
  25.         How a communication between distinct parties is specified
  26.         and structured.  This includes both its format (how to
  27.         determine the value of different groups of bits) and its
  28.         semantics (how to interpret what particular information
  29.         those values convey).
  30.  
  31.     Header
  32.         The portion of a packet or a message that includes information
  33.         particular to a given protocol.  The term refers to the
  34.         fact that generally headers come *before* the "data" 
  35.         (or "payload") portion of the packet or message.  Headers
  36.         for different protocols often come one after another, a
  37.         reflection of *layering*.
  38.  
  39.     End system
  40.         A computer that originates or receives packets in
  41.         a network, but does not forward them on behalf of
  42.         other systems.
  43.  
  44.     Host
  45.         This term is usually used as a synonym for "End system".
  46.         Sometimes, however, it is used as a synonym for the
  47.         related concept of "Node".
  48.  
  49.     Node
  50.         A computer that's a member of a network.  This can be
  51.         either an "end system" or a "router".
  52.  
  53.     Packet
  54.         An atomic unit of structured communication.  In lowest
  55.         level terms, a series of bits sent consecutively along
  56.         a network link.  The bits a structured in terms of
  57.         headers (reflecting the management information associated
  58.         with different protocols) and data for those protocols,
  59.         also referred to as "payload".
  60.  
  61.     Forwarding
  62.         Transmitting a packet or message along a single network
  63.         connection.
  64.  
  65.     End-to-end
  66.         Considering (or implementing) a property all the way from
  67.         its ultimate source to its ultimate destination.  Often
  68.         used in contrast to "Hop-by-hop".  For example, end-to-end
  69.         protection against packets getting mangled during transmission
  70.         would be implemented by the sender including some sort of
  71.         checksum for a message, and only the ultimate receiver
  72.         testing to see whether the checksum validates, discarding
  73.         the message if it does not validate.
  74.  
  75.     Layering
  76.         Building one protocol in terms of using the capabilities
  77.         and services provided by another protocol.  This is
  78.         especially done in terms of a "protocol stack".  See
  79.         below for a separate section on the names of standard
  80.         network layers.
  81.  
  82.     Protocol stack
  83.         A suite of protocols for which those at each layer (see
  84.         below) uses the functionality provided to it by one or
  85.         more protocols at the next layer "below" (i.e., by the
  86.         protocol one level below).
  87.  
  88.     Link
  89.         A communication path between/among two or more computers.
  90.         If specifically between two computers, the link is referred
  91.         to as a "point-to-point" link.  If among more than two,
  92.         it is generally a "broadcast" link.
  93.  
  94.     Subnetwork or Subnet
  95.         A network that uses a single physical technology.  That
  96.         is, all of the nodes in the network can communicate with
  97.         one another using that technology.
  98.  
  99.     Hop-by-hop
  100.         Considering (or implementing) a property in terms of
  101.         explicitly propagating it through each forwarding step
  102.         along a network path.  For example, hop-by-hop protection
  103.         against packets getting mangled during transmission could
  104.         be implemented by each router validating a packet's checksum
  105.         and discarding the packet if the checksum fails to validate.
  106.         The router might also compute a new checksum prior to
  107.         forwarding the packet.
  108.  
  109.     Routing
  110.         Used to both refer to the process of computing hop-by-hop
  111.         paths through a network, and to refer to the act of
  112.         forwarding packets along those paths.
  113.  
  114.     Datagram
  115.         See "Packet" (synonym).
  116.  
  117.     Message
  118.         A unit of communication between a sender and a receiver.
  119.         In some contexts, this is the same as "Packet" (see below),
  120.         but in other contexts, a message may be made up of multiple
  121.         packets.  For example, a single Web request is one HTTP
  122.         "message", but may require a large number of TCP messages
  123.         (packets), each of which is sent using an IP packet.
  124.  
  125.  
  126. -+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  127.  
  128. Layering:
  129.  
  130.     General notion
  131.         The Internet's design is layered, with each layer scoped
  132.         to provide a particular general class of functionality.
  133.         Each layer is designed to use the functionality provided
  134.         by the layer immediately below it, and to make available
  135.         functionality for use by the layer immediately above it.
  136.  
  137.     Physical layer
  138.         The lowest layer in the Internet's design ("layer 1").
  139.         Provides the service of transmitting individual bits over
  140.         a single physical link.
  141.  
  142.     Link layer
  143.         Uses the physical layer to transmit collections of bits
  144.         that have been grouped (or "framed") together into individual
  145.         messages ("packets") for transmission across a single
  146.         subnetwork.  Also referred to as "layer 2".
  147.         
  148.     Internetwork layer or Network layer or IP layer (or just IP)
  149.         Uses the link layers provided by a series of network hops
  150.         to connect together multiple subnets and provide end-to-end
  151.         "internetwork" connectivity between nodes.  As part of
  152.         providing this, introduces a notion of "global" (Internet-wide)
  153.         addresses.  Also referred to as "layer 3".
  154.  
  155.         IP = "Internet protocol", and refers to the Internet's
  156.         layer 3 protocol.
  157.  
  158.     Transport layer
  159.         Uses IP to provide end-to-end communication between
  160.         processes.  Can include a lot of additional end-to-end
  161.         functionality (such as reliability), though this is
  162.         not a fundamental requirement.  Includes a notion of
  163.         "ports" to identify the processes associated with the
  164.         communication.  Also referred to as "layer 4".
  165.  
  166.     Application layer
  167.         Uses a transport-layer protocol to provide functional
  168.         end-to-end communication.  All sorts of styles of
  169.         communication are possible.  Examples are email (the
  170.         "SMTP" protocol), web ("HTTP"), Skype, and BitTorrent.
  171.  
  172.         Also referred to as "layer 7 " (NOT "layer 5", due to
  173.         ancient history).
  174.  
  175.  
  176. -+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  177.  
  178. Terms associated with different layers:
  179.  
  180.     Address / IP address
  181.         A network-layer term that identifies a location in
  182.         the Internet.  Addresses usually refer to individual
  183.         network nodes, though some nodes can have multiple
  184.         addresses, and some devices ("NATs") can remap
  185.         addresses of nodes
  186.  
  187.     Best effort
  188.         The datagram delivery service provided by IP (the Internet's
  189.         network layer).  Despite the name, it actually means
  190.         "IP will not callously throw away a packet without reason -
  191.         but it will give one try at forwarding/delivering a packet,
  192.         and if that fails, it will give up and throw it away".
  193.  
  194.     Broadcast
  195.         The ability for a single message to be received by
  196.         every node on a network.  Usually used in the context
  197.         of physical-layer or link-layer transmission, such
  198.         as electrical signals along a shared cable (physical
  199.         layer) or WiFi's everyone-receives-each-transmission
  200.         (link layer).
  201.  
  202.     Port
  203.         A transport-layer notion that associates a 16-bit number
  204.         with a process at a given communication endpoint.
  205.         Internet transport-layer headers include a *source* port
  206.         (the number associated with the sender's process)
  207.         and a *destination* port (the number associated with
  208.         the receiver's process).  Some ports are by convention
  209.         associated with specific application-layer protocols,
  210.         such as TCP's port 80 with the HTTP protocol used for
  211.         standard web access.
  212.  
  213.  
  214. -+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  215.  
  216. Terms associated with TCP:
  217.  
  218.     Acknowledgment
  219.         A statement from one host in a TCP connection to the other
  220.         host confirming the reception of either a portion of the
  221.         byte stream or a previous control message.
  222.  
  223.     Byte Stream
  224.         An abstraction provided by the Internet's main transport
  225.         protocol, TCP.  A byte stream is a sequence of bytes that
  226.         a sender transmits into the network and that subsequently
  227.         arrives in the same order, and with high reliability, at
  228.         the receiver.
  229.  
  230.         Each TCP connection has *two* separate byte streams, one
  231.         from the host that initiated the connection (the "client")
  232.         to the host that accepted it (the "server"), and one
  233.         from the server to the client.
  234.  
  235.     Control flags
  236.         Bits in the TCP header that indicate particular types
  237.         of information associated with managing the connection:
  238.  
  239.         SYN    Indicates setting up a new connection.
  240.  
  241.         ACK     Indicates that a TCP packet includes an acknowledgment
  242.             of some sort.
  243.  
  244.         FIN    Used to agree on terminating a connection.
  245.  
  246.         RST     Indicates an abrupt termination of a connection
  247.             because the host can no longer continue due to a
  248.             problem.
  249.  
  250.     Initial sequence number or ISN
  251.         A 32-bit number that identifies the index associated
  252.         with the *beginning* of a byte stream.
  253.  
  254.  
  255. -+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  256.  
  257. Protocols known by their acronyms (for most, the expansion of the acronym
  258. isn't actually important, other than to help remember the acronym itself):
  259.  
  260.     DHCP    Dynamic Host Configuration Protocol
  261.         A layer-2 protocol for bootstrapping a host's network
  262.         setup.  Won't be covered until the second lecture.
  263.  
  264.     DNS    Domain Name System
  265.         A layer-7 protocol used to map human-readable names like
  266.         www.google.com to Internet addresses.  (Also provides other
  267.         forms of mapping that we will discuss as needed.)
  268.  
  269.     HTTP    Hypertext Transfer Protocol
  270.         The main (layer-7) protocol used for Web transfers/access.
  271.  
  272.     IP    Internet Protocol
  273.         The Internet's layer 3 protocol.
  274.  
  275.     SMTP    Simple Mail Transfer Protocol
  276.         The layer-7 protocol used for email.  Won't be covered
  277.         until later in the class.
  278.  
  279.     TCP    Transmission Control Protocol
  280.         The Internet's most significant layer-4 protocol.
  281.         Used to provide reliable communication between hosts.
  282.  
  283.     UDP    User Datagram Protocol
  284.         A lightweight layer-4 protocol, used for communication
  285.         where simplicity outweighs the needs for more complex
  286.         services such as reliability or a "byte stream" abstraction.
  287.  
  288.  
  289. -+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  290.  
  291. Notions particular to DNS:
  292.  
  293.     Authoritative name server
  294.         The name server responsible for a subtree of the DNS naming
  295.         hierarchy.  For example, there is a set of authoritative
  296.         name servers responsible for ".com", and a separate set
  297.         of authoritative name servers for ".google.com".
  298.  
  299.     Name server
  300.         A server that accepts incoming DNS lookup requests
  301.         and returns DNS answers in reply.
  302.  
  303.     Resolver
  304.         A server that a given client has been configured to use
  305.         to get DNS answers.  Sometimes this refers to a process
  306.         running on the same computer as the client; other times
  307.         it refers to a process running on a separate computer,
  308.         such as an ISP's resolver, meaning the name server that
  309.         an ISP configures its clients to use.
  310.  
  311.     Root
  312.         The topmost point in the DNS naming hierarchy, also referred
  313.         to as "." ("dot").  For example, both "com" and "org" are
  314.         names that can be looked up in ".".
  315.  
  316.     Top-level domain or TLD
  317.         A DNS name that comes just below the root, such as "com"
  318.         or "org".  These are often referred to with a leading
  319.         dot, such as "dot-com" or "dot-org".
  320.  
  321.     TTL or Time To Live
  322.         For DNS, refers to how long a DNS reply may be cached
  323.         (in seconds).  Note that TTL is used with a quite
  324.         different meaning in the IP protocol header, though
  325.         we will not encounter that use until later in the
  326.         course (if at all).
  327.