Computer networks -- 2008-2009 -- info.uvt.ro/Course 7

From Wikiversity

Quick links: front; agenda; courses 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13; examination.

Important! Please note that the current work serves mainly as general guidance and discussion topics, and is by no means the reference material for the course. For further information please consult the dedicated section.

Internetworking (summary)[edit]

  • overview:
    • joining (combining) multiple LANs, MANs, or WANs;
    • it implies specialized hardware and software;
    • typical example: the Internet;
  • CISCO iconography;
  • references:

Data link layer (summary)[edit]

  • purpose:
    • device level communication (node-to-node);
    • only in the same physical network;
  • communication channels:
    • unshared vs shared;
    • point-to-point vs broadcast;
  • responsibilities:
    • framing;
    • addressing;
    • error detection;
    • (maybe) flow control;
    • (maybe) reliability;

HDLC[edit]

  • overview:
    • HDLC (High-Level Data Link Control);
    • works with synchronous serial links (links that are seen as a flow of bits without any frame marking);
    • it is a bit oriented protocol;
    • it works with only one network layer protocol;
    • there are multiple incompatible, vendor specific implementations;
    • it can be characterized as a __ protocol:
      • point-to-point;
      • connection-oriented;
      • usually reliable (but could also be unreliable);
      • ordered;
    • it allows flow-control;
    • it can be used for communications between one central device, with multiple subordinated devices (but each in turn and only when polled);
    • (started as part of IBM's SNA model;)
    • (it is the grandfather of a lot of data-link protocols;)
  • frame structure:
    flag (8 bits)
    the pattern 01111110;
    address (8 bits)
    the data-link layer address of the devices;
    control (8 bits)
    information needed for the protocol for housekeeping (frame type, acknowledgements, sequence numbers, etc.);
    payload (16 bits)
    specific to each frame type (usually containing higher layer packet);
    FCS (Frame Check Sequence);
    • the minimum size is 32bits without flags;
  • problems:
    • what if I want to send an actual byte containing the flag pattern?
      • we use bit stuffing, in which after each 5 consecutive 1 bits we add an 0 bit when sending, and we remove the extra bit when receiving;
    • what if I want to send as data something that isn't a multiple of 8 bits?
    • what if I don't have anything to transmit?
      • we continuously send the flag pattern;
  • references:
    • Computer Networks, 4th edition -- section 3.6.1 HDLC-High-Level Data Link Control;
    • CCNA (Cisco Certified Network Associated Study Guide, 5th edition -- chapter 11 -- section High-Level Data-Link Control (HDLC) Protocol;

PPP[edit]

  • usages:
    • between two computers over a phone line by using modems;
    • between two routers connected through leased lines;
    • between a computer (the client) and a router (the ISP);
  • overview:
    • PPP (Point-to-Point Protocol);
    • resembles HDLC and is one of its successors;
    • it is standardized;
    • it allows:
      • multiple network layer protocols;
      • network layer parameters negotiation;
      • authentication:
        • PAP (Password Authentication Protocol);
        • CHAP (Challenge-Handshake Authentication Protocol);
      • compression;
      • multilink-ing (multiple physical links can be used for the same data-link connection);
    • it can be characterized as a __ protocol:
      • byte-oriented;
      • connection-oriented;
      • ordered;
      • usually unreliable, but could also be reliable;
  • sub-layers:
    • LCP (Link Control Protocol):
      • manages connection establishment and tear-down;
      • it allows the usage of either synchronous or asynchronous circuits;
      • it can use both bit-oriented or byte-oriented encodings;
    • NCP (Network Control Protocol):
      • used to establish parameters for network layer protocols;
      • for each instance of an network layer protocol we can have a separate NCP specific to it;
  • working principle:
    • (prerequisite) the physical connection is established;
    • a sequence of LCP frames are exchanged in order to negotiate the parameters of the PPP itself;
    • for each network layer protocol a sequence of NCP frames are exchanged, for configuring that particular protocol;
    • data exchange happens;
    • a series of NCP are exchanged to tear-down the network layer channel;
    • a series of LCP frames are exchanged;
    • the physical connection is terminated;
  • frame structure:
    flag (8 bits)
    just like in the case of HDLC;
    address (8 bits)
    usually 8 bits of 1;
    control (8 bits)
    usually the sequence 00000011, which means
    protocol (8 or 16 bits)
    • protocols starting with a 0 bit are network layer protocols;
    • protocols starting with a 1 are negotiation protocols (like LCP or NCP for each instance);
    • (the size is negotiated by LCP;)
    payload (multiple of 8 bits)
    unspecified maximum length, negotiated by NCP, and usually up to 1500 bytes;
    checksum (16 or 32 bits)
    the size can be negotiated by LCP;
    • the address and control fields could be omitted if negotiated (by LCP);
  • discussion about the state diagram of a PPP connection;
  • references:
    • Computer Networks, 4th edition -- section 3.6.2 The Data Link Layer in the Internet;
    • CCNA (Cisco Certified Network Associated Study Guide, 5th edition -- chapter 11 -- section Point-to-Point Protocol (PPP);

Ethernet[edit]

  • references (for all subsections):
    • CCNA (Cisco Certified Network Associated Study Guide, 5th edition -- chapter 1 -- section Ethernet Networking;

IEEE 802[edit]

  • overview:
    • IEEE 802 for LAN and MAN:
    • it targets both the physical layer and the data link layer;
    • it splits the data link layer into:
      • LLC (Logical Link Control) -- not used in Internet;
      • MAC (Media Access Control) -- widely used;

CSMA/CD[edit]

CSMA/CD algorithm
  • overview:
    • CSMA/CD (Carrier Sense Multiple Access with Collision Detection);
    • allows multiple devices use the same shared (broadcast) communication medium;
    • it shares the bandwidth evenly;
  • working principle in the case of a device that wants to transmit:
    • the device checks to see if anyone is transmitting; if so it waits;
    • if none transmits, then itself starts to transmit;
    • during the transmission, the device continues to check if someone else has started also;
      • if it happens (thus the collision occurs), it stops transmitting the data, and instead transmits an extended jamming signal; it restarts the entire process;
  • problems (and questions):
    • if the device checks for transmission, how come collisions occure?
    • what if the same collision happens over and over again?
      • the solution is using randomized waiting timeouts (backoff algorithms) and maximum retries (defaulting to 15);

Overview[edit]

  • advantages:
    • simple to implement;
    • scalable;
    • extensible (i.e. Fast Ethernet, Gigabit Ethernet);

Full- vs half-duplex[edit]

  • overview:
    • definitions: from previous course;
    • half-duplex:
      • uses only one pair;
      • usable with shared mediums;
    • full-duplex:
      • uses two (or all four) pairs;
      • (we could say that each wire acts like a half-duplex channel but in only one way;)
      • the bandwidth is 100% in both directions; (no sharing occurs;)
      • usable only in collision free transmission mediums;
      • it actually results a point-to-point connection between the devices;
  • usage:
    • full-duplex:
      • switch to switch;
      • switch to computer;
      • computer to computer;
    • half-duplex: anywhere where a hub is involved;

Modes[edit]

  • type -- cabling -- maximum length -- maximum nodes per segment:
    • Ethernet:
      • 10Base2 -- thin coaxial cable -- 185 m -- 30 nodes;
      • 10Base5 -- thick coaxial cable -- max 500 m -- max 100 nodes;
      • 10BaseT -- twisted pair -- 100 m -- 1024 nodes -- category 3 UTP;
      • 10BaseF -- fiber optics -- 2000 m -- 1024 nodes;
    • Fast Ethernet:
      • 100BaseT4 -- twisted pair -- 100 m -- category 3 UTP;
      • 100BaseTX -- twisted pair -- 100 m -- full duplex -- category 5, 6, or 7 UTP;
      • 100BaseFX -- fiber optics -- 412 m -- full duplex;
    • Gigabit Ethernet:
      • 1000BaseSX -- fiber optics -- 550 m -- multi-mode;
      • 1000BaseLX -- fiber optics -- 3000 m - 10000 m -- single-mode or multi-mode;
      • 1000BaseT -- 4 pairs of UTP -- 100 m -- category 5 UTP;

Addressing[edit]

  • address structure (6 bytes or 48 bits):
    • individual (0) / group flag (1) (1 bit);
    • globally (1) / locally assigned (0) (1 bit);
    • OUI (Organizationally Unique Identifier) (22 bits);
    • vendor defined (24 bits);
  • limits:
    • more than 4 million vendors possible;
    • more than 16 million vendor specific values;

Framing[edit]

Ethernet II frame
  • frame types:
    • Ethernet II (the most simple and most used); (it allows multiple network layer protocols;)
    • IEEE 802.3 (a newer version); (it implies only one network layer protocol;)
    • IEEE 802.2 and SNAP (miscellaneous);
  • Ethernet II frame structure:
    preamble (7 bytes) / SFD (Start Frame Delimiter) (+ 1 byte)
    • alternating pattern of 101010...;
    • the last two bits of SFD are 11;
    MAC header
    destination address (6 bytes);
    source address (6 bytes)
    • no group flag allowed;
    either EtherType (2 bytes)
    • identifies the upper layer protocol;
    or length (2 bytes);
    data
    • at least 64 bytes, at most 1500 bytes;
    • (jumbo frames;)
    FCS (Frame Check Sequence) (4 bytes);

The current page is (in almost all parts) a recompilation of the following pages (from previous year):