Computer networks -- 2007-2008 -- info.uvt.ro/Course 6

From Wikiversity
Jump to navigation Jump to search
Important! These pages are somehow outdated and it is recommended to consult the newer version at Computer networks -- 2008-2009 -- info.uvt.ro (by Ciprian Crăciun).

Quick links:


Network layer[edit]

  • functions:
    • it delivers messages to and from the transport layer;
    • it decides on which data link to send them;
    • it handles network congestion;
  • goals:
    • the transport layer should be independent on the routing technology;
    • the transport layer should be shielded from the number, type, and topology of the routers;
    • the network addresses should be uniform across all types of physical networks (LAN, WLAN, etc.);
  • concepts:
    • routing;
    • network address;
    • datagram, packet;
  • types of services:
    • connection oriented or connection less?
    • ATM is connection oriented;
    • IP is connection less;
  • issues:
    • getting one message from the source to the destination may involve multiple hops;
    • we must know the physical topology in order to choose the correct route;
    • congestion;
    • quality of service;
  • links:

Internet Protocol[edit]

  • history:
    • developed by the USA DoD Department of Defense;
    • it was devised to preserve network integrity even in the event of a catastrophic war;
  • it bares the name TCP/IP Suite -- Transmission Control Protocol / Internet Protocol;
  • it does not have a formal unique document describing it; thus it is not standardized in the way the OSI model is;
  • links:

Layers[edit]

  • application -> application, presentation, session from OSI:
    • examples: HTTP, FTP, SMTP, POP3, etc.;
  • host-to-host, or transport -> transport from OSI:
    • creating reliable end-to-end communication;
    • ensuring error-free delivery;
    • packet sequencing;
    • packet retransmission;
    • examples: TCP, UDP, SCTP, etc.;
  • internet -> network from OSI:
    • logical transmission of packets;
    • addressing;
    • packet segmentation and reassembly;
    • routing among multiple networks;
    • various control protocols: ICMP, ARP, RARP, IGMP, etc;
  • host-to-network, or network access -> data link, and physical from OSI:
    • monitors data exchange between the host and the network;
    • it is left unspecified by any standard;
    • usually hardware addressing (for example MAC);
    • examples: PPP, Ethernet, Token Ring, etc.;

IP addressing[edit]

  • prerequisites:
    • conversions between binary, octal, decimal and hexadecimal;
    • nibble -- 4 bits;
    • byte / octet -- 8 bits;
  • IP address:
    • a numeric identifier assigned to each host on an IP network;
    • it designates the specific location of a host on the network;
    • it is an a software / logical address (as oposed to the MAC hardware address);
    • it was designed to allow host to host communication that spans over multiple networks with different physical types;
    • it is composed of 4 bytes (for IPv4);
    • it provides about 4.3 billion distinct addresses;
    • it can be seen as a hierarchical addressing scheme;
    • it has two parts: network address and host address;
  • discussion about hierarchical and flat addressing schemes:
    • routing efficiency;
    • routing table sizes;
    • network, subnet, host scheme;
    • comparison with telephony numbering system;
  • types of IP addresses:
    • network address;
    • broadcast address;
    • multicast address;
  • IP address structure:
    • network address:
      • uniquely identifies each network on the Internet;
      • every host on the same network has the same network address;
    • host (node) address:
      • uniquely identifies each node inside a network;
    • the split is based on network classes;
  • links:

Network classes[edit]

  • miscellaneous;
    • reasons;
    • multiple classes based on the needed size;
    • split is done based on the leading-bits section;
  • class A:
    • starts with the bit 0;
    • between 0.x.x.x and 127.x.x.x;
    • network.node.node.node;
    • 128 networks (only 126 usable);
    • about 16 million nodes per network;
  • class B:
    • starts with the bits 10;
    • between 128.x.x.x and 191.x.x.x;
    • network.network.node.node;
    • about 16 thousand networks;
    • about 65 thousand nodes per network;
  • class C:
    • starts with the bits 110;
    • between 192.x.x.x and 223.x.x.x;
    • network.network.network.node;
    • about 2 million networks;
    • 256 nodes per network (only 254 usable);
  • class D:
    • starts with 1110;
    • between 224.x.x.x and 239.x.x.x;
  • class E:
    • starts with 1111;
    • between 240.x.x.x and 255.x.x.x;
  • network address space exhaustion;
  • links:

Special purpose addresses[edit]

  • all 0 -- 0.0.0.0 -- any network;
  • all 1 -- 255.255.255.255 -- any host in the current network -- the global broadcast address;
  • 127.0.0.1 -- local loopback address;
  • network part plus all 0 for host part -- the network's address;
  • network part plus all 1 for host part -- all network's hosts -- the network broadcast address;

Private addresses[edit]

  • for local enterprise use;
  • not routable through the Internet, thus outside the local enterprise network;
  • could be used as a security measure;
  • it goes hand in hand with NAT;
  • addresses:
    • 10.x.x.x -- class A;
    • 172.16.x.x -- class B;
    • 192.168.x.x -- class C;
  • links:

NAT[edit]

  • used to translate between private and public addresses;
  • terminology:
    • inside (private or local) network -- the network subjected to NAT;
    • outside (public or global) network -- the public networks -- the Internet;
  • before any packets are frowarded (routed) the private address is transformed into a public one;
  • types:
    • Static NAT: one-to-one permanent mapping between a private and a public address;
    • Dynamic NAT: just like the Static NAT, but the mapping is done as needed;
    • Overloading:
      • maps more than one private address to one public address at the same time;
      • its also known as PAT -- port address translation;
  • links:

Subnetting[edit]

  • it allows us to break a large network address into smaller networks;
  • advantages:
    • reduced network traffic;
    • optimized network performance;
    • simplified management;
    • allows localization of computers;
  • how it works:
    • we take some left-most bits from the host address part and reserve them for a subnetwork address;
  • subnet mask, or network mask:
    • used to determine the network and host addresses from the IP address;
    • a 32 bit word in the form 1...10...0 -- only ones followed by only zeros;
    • can be written as x.x.x.x;
    • examples:
      • class A mask: 255.0.0.0;
      • class B mask: 255.255.0.0;
      • class C mask: 255.255.255.0;
  • steps:
    • determining the number of subnetworks;
    • determining the number of hosts for each subnetwork;
    • create network mask -- all the subnetworks will have the same mask;
    • determine the IP address ranges for each subnetwork;
  • links:

CIDR and VLSM[edit]

  • CIDR -- Classless Inter-Domain Routing;
  • VLSM -- Variable Length Subnet Masks;
  • used to split the entire IP address space into blocks;
  • CIDR format x.x.x.x/n -- where n is between 0 and 32 and represents the number of bits that denote the network address part;
  • subnetting implies that all the subnetworks have the same network mask;
  • VLSM offers the possibility for subnetworks to have different network masks;
  • examples:
    • for class A: 10.0.0.0/8;
    • for class B: 172.16.0.0/16;
    • for class C: 192.168.x.0/24;
  • links:

IP addressing helpful protocols[edit]

DNS[edit]

  • application layer protocol used to determine an IP address from a name;
  • FQDN -- Fully Qualified Domain Name;
  • it provides a hierarchical naming scheme -- domains are nested;
  • it could be seen as a distributed database;
  • it delegates control for lower domains to end users (usually enterprises);
  • links:

DHCP[edit]