Tuesday, September 7, 2021

CST 311 - Intro to Computer Networks Module 1: Computer Networks and the Internet

Module 1 Learning outcomes:

1.0 Learn components of the Internet

Nuts and Bolts Description 

  • Nuts-and-Bolts: Internet can be described as a nuts-and-bolts system that is a computer network that interconnects billions of computing devices throughout the world. 
  • End-Systems (Hosts): All of the devices connected to the internet are called hosts or end systems. These end systems run protocols that control the information being sent and received within the internet. 
  • Among these protocols are TCP(Transmission Control Protocol) and IP (the Internet Protocol).The end systems are connected via communication links which are physical media that can transmit data; these include coaxial cable, copper wire, fiber optics, and radio waves.  
  • These communication links are indirectly connected to one another through an intermediary device known as a router. A router takes takes information arriving on one of its incoming communication links and then forwards that information on one of its outgoing communication links.
  • The Internet uses a technique known as packet switching that allows multiple communicating end systems to share a path, or parts of a path, at the same time which is a more efficient technique than circuit switching (where each  pair of communicating end systems gets a dedicated path).

Service Description

  • Service Description of the internet: The Internet allows apps running on its end systems to exchange data with each other. These applications include remote login, file transfer, electronic mail, audio and video streaming, real-time audio and video conferencing, distributed games, the World Wide Web, and much much more.

  • A connection-oriented service : Guarantees that data transmitted from a sender to a receiver will eventually be delivered to the receiver in-order and in its entirety

  • A Connectionless Service : Connectionless service does not make any guarantees about eventual deliver.

Network Protocol - A protocol defines the format and the order of messages exchanged between two or more communicating entities, as well as the actions taken on the transmission and/or receipt of a message.

  • Network Protocol : All activity in the Internet that involves two or more communicating remote entities is governed by a protocol.  Protocols in routers determine a packet's path from source to destination; hardware-implemented protocols in the network interface cards of two physically connected computers control the flow of bits on the "wire" between the two computers; a congestion control protocol controls the rate at which packets are transmitted between sender and receiver.

  • Protocols are running everywhere in the Internet, and consequently much of this book is about computer network protocols.

 The Network Edge(End Systems, Clients, Servers) 

  • Hosts(end systems) : the computers that we use on a daily basis. These are divided into clients and servers.

  • Clients : clients often tend to be desktop PC's or workstations.

  • Servers: servers are more powerful machines.

  • Client-server model : a client program running on one end system requests and receives information from a server running on another end system.  This client-server model is undoubtedly the most prevalent structure for Internet applications. 

  • Distributed applications : Since a client typically runs on one computer and the server runs on another computer, client-server  Internet applications are, by definition distributed applications.

 Network Core - the mesh of packet switches and links that interconnects the Internet’s end systems.

  • Packet Switching 

    • Packets - To send a message from a source end system to a destination end system, the source breaks long messages into smaller chunks of data known as packets 

    • Packet Switches - Between source and destination, each packet travels through communication links and packet switches (for which there are two predominant types, routers and link-layer switches).

    • Store-and-forward transmission - Store-and-forward transmission means that the packet switch must receive the entire packet before it can begin to transmit the first bit of the packet onto the outbound link.  

    • Output buffer (also called an output queue)- stores packets that the router is about to send into that link.

    • Queuing delays- Delay that occurs when arriving packet must wait in the queue until the current package is finished transmitting.  

    • Packet losseither the arriving packet or one of the already-queued packets will be dropped.  

    • Forwarding tablemaps destination addresses (or portions of the destination addresses) to that router’s outbound links.   

  • Circuit Switching -In circuit-switched networks, the resources needed along a path (buffers, link transmission rate) to provide for communication between the end systems are reserved for the duration of the communication session between the end systems

    • Circuit - A connection for which the switches on the path between the sender and receiver maintain connection state for that connection.

    • End-to-End Connection - The hosts (for example, PCs and workstations) are each directly connected to one of the switches. When two hosts want to communicate, the network establishes a dedicated end- to-end connection between the two hosts. Thus, in order for Host A to communicate with Host B, the network must first reserve one circuit on each of two links. 

    • Frequency-Division Multiplexing (FDM) - The frequency spectrum of a link is divided up among the connections established across the link. The link dedicates a frequency band to each connection for the duration of the connection. In telephone networks, this frequency band typically has a width of 4 kHz (that is, 4,000 hertz or 4,000 cycles per second). The width of the band is called, not surprisingly, the bandwidth. FM radio stations also use FDM to share the frequency spectrum between 88 MHz and 108 MHz, with each station being allocated a specific frequency band. 

    • Time-Division Multiplexing (TDM) - Time is divided into frames of fixed duration, and each frame is divided into a fixed number of time slots. When the network establishes a connection across a link, the network dedicates one time slot in every frame to this connection. These slots are dedicated for the sole use of that connection, with one time slot avail- able for use (in every frame) to transmit the connection’s data.  

    • Silent Periods - Proponents of packet switching have always argued that circuit switching is wasteful since the dedicated circuits are idle during silent periods. For example, when one person in a telephone call stops talking, the idle network resources (frequency bands or time slots in the links along the connection’s route) cannot be used by other ongoing connections.  

    • Customer - the Access ISP

    • Provider - the Global Transit ISP

    • Regional ISP - access ISPs in the region connect to regional ISPs.

    • Tier-1 ISP - There are approximately a dozen tier-1 ISPs, including Level 3 Communications, AT&T, Sprint, and NTT. 

1.1 Learn the concepts of delay, loss, and throughput and their impact in networks.

  • Processing Delay: The time required to examine the packet’s header and determine where to direct the packet. The processing delay can also include other factors, such as the time needed to check for bit-level errors in the packet that occurred in transmitting the packet’s bits from the upstream node to router A. Processing delays in high-speed routers are typically on the order of microseconds or less. 
  • Queuing Delay: Occurs as packet waits to be transmitted onto the link. The length of the queuing delay of a specific packet will depend on the number of earlier-arriving packets that are queued and waiting for transmission onto the link. If the queue is empty and no other packet is currently being transmitted, then our packet’s queuing delay will be zero.Queuing delays can be on the order of microseconds to milliseconds in practice.  
  • Transmission Delay: This delay is the amount of time required to push (that is, transmit) all of the packet’s bits into the link. Transmission delays are typically on the order of microseconds to milliseconds in practice.(L/R where L is length of packet in bits and R is transmission rate in bits/sec).
  • Propagation Delay: The time required to propagate from the beginning of the link to router B. The bit propagates at the propagation speed of the link. The propagation speed depends on the physical medium of the link (that is, fiber optics, twisted-pair copper wire, and so on) and is in the range of 2*108 meters/sec to 3*108 meters/sec which is equal to, or a little less than, the speed of light. The propagation delay is the distance between two routers divided by the propagation speed.In wide-area networks, propagation delays are on the order of milliseconds. 
  • Packet Loss: A queue preceding a link has finite capacity, although the queuing capacity greatly depends on the router design and cost. Because the queue capacity is finite, packet delays do not really approach infinity as the traffic intensity approaches 1. Instead, a packet can arrive to find a full queue. With no place to store such a packet, a router will drop that packet; that is, the packet will be lost
  • End-to-End Delay: The nodal delays(delays at each router) accumulate and give an end-to-end delay,dend-end = N(dproc + dtrans + dprop).
  • Instantaneous Throughput: The rate at which Host B is receiving the file.
  • Bottleneck Link: Thus, for this simple two-link network, the throughput is min{Rc, Rs}, that is, it is the transmission rate of the bottleneck link.

1.2 Learn the concept of protocol layers in the Internet architecture.

  •  
  • Protocol Layering: To provide structure to the design of network protocols, network designers organize protocols—and the network hardware and software that implement the protocols in layers.
  • Application Layer: The application layer is where network applications and their application layer protocols reside.
    • HTTP:  Provides for Web document request and transfer.
    • SMTP: Provides for the transfer of e-mail messages.
    • FTP: Provides for the transfer of files between two end system. 
  • Transport Layer: The Internet’s transport layer transports application-layer messages between application endpoints. 
    • TCP: Provides a connection oriented service to its applications. This service includes guaranteed delivery of application layer messages to the destination and flow control (that is, sender/receiver speed matching). TCP also breaks long messages into shorter segments and provides a congestion-control mechanism, so that a source throttles its transmission rate when the network is congested.  
    • UDP: The UDP protocol provides a connectionless service to its applications. This is a no-frills service that provides no reliability, no flow control, and no congestion control. In this book, we’ll refer to a transport-layer packet as a segment
  • Network Layer: The Internet’s network layer is responsible for moving network-layer packets known as datagrams from one host to another. 
    • IP: The Internet’s network layer includes the celebrated IP protocol, which defines the fields in the datagram as well as how the end systems and routers act on these fields.
  • Link Layer: The Internet’s network layer routes a datagram through a series of routers between the source and destination. To move a packet from one node (host or router) to the next node in the route, the network layer relies on the services of the link layer.  
    • Ethernet 
    • WiFi
    • DOCSIS
  • Physical Layer: While the job of the link layer is to move entire frames from one network element to an adjacent network element, the job of the physical layer is to move the individual bits within the frame from one node to the next. 
    • The protocols in this layer are again link dependent and further depend on the actual transmission medium of the link (for example, twisted-pair copper wire, single-mode fiber optic).
       

1.3 Study brief overview of network security.

  • Malware: Malicious programs that can infect devices which can cause it to do a lot of devious things such as deleting files and collecting private info. 
    • Self-Replicating: Much of the malware out there today is self-replicating: once it infects one host, from that host it seeks entry into other hosts over the Internet, and from the newly infected hosts, it seeks entry into yet more hosts.  
    • Viruses: Malware that require some form of user interaction to infect the user’s device. The classic example is an e-mail attachment containing malicious executable code.   
    • Worms: Malware that can enter a device without any explicit user interactio.  
  • Denial-of-service (DoS) attacks: As the name suggests, a DoS attack renders a network, host, or other piece of infrastructure unusable by legitimate users. Web servers, e-mail servers, DNS servers (discussed in Chapter 2), and institutional networks can all be subject to DoS attacks. Internet DoS attacks are extremely common, with thousands of DoS attacks occurring every year.
    • Vulnerability attack: sending a few well-crafted messages to a vulnerable application or operating system running on a targeted host. If the right sequence of packets is sent to a vulnerable application or operating system, the service can stop or, worse, the host can crash. 
    • Bandwidth flooding: The attacker sends a deluge of packets to the targeted host—so many packets that the target’s access link becomes clogged, preventing legitimate packets from reaching the server.  
    • Connection Flooding: The attacker establishes a large number of half-open or fully open TCP connections (TCP connections are discussed in Chapter 3) at the target host. The host can become so bogged down with these bogus connections that it stops accepting legitimate connections.    
  • Distributed DoS (DDoS): The attacker controls multiple sources and has each source blast traffic at the target. 
  • Packet Sniffer: A passive receiver that records a copy of every packet that flies by.
  • IP Spoofing: The ability to inject packets into the internet with a false source address which allows users to masquerade as another user.  

1.4 Study a brief history of the Internet.

  • 1961-1972: The Development of Packet Switching
  • 1972-1980: Proprietary networks and Internetworking 
  • 1980-1990: A Proliferation of Networks
  • 1990s: Internet Explosion
  • Now: New Millenium

 
1.5 Install and operate a virtual machine on your system.  

  • Learned how to install VirtualBox and use it. A virtual machine app creates a virtualized environment—called, simply enough, a virtual machine—that behaves like a separate computer system, complete with virtual hardware devices. The VM runs as a process in a window on your current operating system

1.6 Install a network emulator (Mininet) on this virtual machine

  • Learned how to use mininet in order to create different types of networks using different types of topology. 

1.7 Learn to use a software package (Wireshark) to examine network traffic.

  • Wireshark is an open source network scanner/monitor that allows you to see traffic coming through a network. I learned how to look at network traffic on my computer/network and learned to analyze data using the wireshark program.


No comments:

Post a Comment

CST 499 Capstone - Week 8 Learning Journal Final Entry

This is the very last entry of the journal of your CS Online learning!  Keeping regular journals is a great way for us to grow, both profe...