lecture1 - CIS 525/725 Computer Networks Lecture 1...

Info iconThis preview shows page 1. Sign up to view the full content.

View Full Document Right Arrow Icon
This is the end of the preview. Sign up to access the rest of the document.

Unformatted text preview: CIS 525/725 Computer Networks Lecture 1: Introduction Mitch Neilsen [email protected] Course Objectives This course presents an overview of the terminology, concepts, and technologies required for telecommunication in local area networks and over the global Internet. You will learn the fundamentals of: Telecommunications, Network application development, Networking and network technologies, Protocol engineering, Internets and internetworking, and Network management and security. Lecture Topics Traditional Layering Internet architecture Routing (IP) Transport (TCP) Queue management (FQ, RED) Naming (DNS) Network management (SNMP) Recent Topics Multicast Mobility/wireless Active networks QOS Security Network measurement Overlay networks P2P applications Cloud computing Telecommunication Telecommunication is the exchange of information ("communication") over a distance ("tele"). Advances in telecommunications have been driven by two different forces: Computer Industry - want to allow hosts in a network to communicate. Communications Industry - want to automate telecom systems using computers. Computer Network A computer network is an interconnected collection of autonomous computers. Networks A network can be defined recursively as... two or more nodes connected by links, or two or more networks connected by nodes Motivations for Networking Information access file server, etc. Interaction between cooperating processes cluster computing, etc. Resource sharing - shared printers, etc. Increased reliability - replicated systems. Economics - better price/performance ratio. Communication - e-mail, multimedia, etc. Network Building Blocks Nodes: PC, special-purpose hardware... hosts routers and switches Links: coax cable, optical fiber... point-to-point multiple access ... What a Network Includes A network includes: Special purpose hardware devices that: Interconnect transmission media Control transmission of data Run protocol software Protocol software that: Encodes and formats data Detects and corrects problems encountered during transmission What a Network Does Provides communication that is: Reliable Fair Efficient End-to-End between peer applications Networks automatically: Detects and/or corrects errors Finds an optimal path from source to destination Network Switching Strategies Circuit switching: carry bit streams original telephone network Packet switching: store-and-forward network Internet Back in the Old Days... Packet Switching (Internet) Packets Store-and-Forward Network (Backbone) Addressing and Routing Address: byte-string that identifies a node usually unique Routing: process of forwarding messages to the destination node based on its address Types of addresses unicast: node-specific broadcast: all nodes on the network multicast: some subset of nodes on the network Multiplexing Time-Division Multiplexing (TDM) Frequency-Division Multiplexing (FDM) Statistical Multiplexing L1 L2 L3 Switch 1 Switch 2 R1 R2 R3 Inter-Process Communication Turn host-to-host connectivity into process-to-process communication. Fill gap between what applications expect and what the underlying technology provides. Host Host Application Host Application Channel Host Host Typical IPC Abstractions Request/Reply distributed file systems digital libraries (web) Stream-Based Multicast video: sequence of frames video applications on-demand video video conferencing What Can Go Wrong in a Network Bit-level errors (electrical interference) Packet-level errors (congestion) Link and node failures Messages are delayed Messages are deliver out-of-order Third parties eavesdrop Viruses/worms Layering Use abstractions to hide complexity Abstraction naturally leads to layering Alternative abstractions may exist at each layer Application programs Request/reply Message stream channel channel Host-to-host connectivity Hardware Protocols Protocols are the building blocks of a network architecture. Each protocol object has two different interfaces: service interface: operations on this protocol peer-to-peer interface: define the messages exchanged between peers Term "protocol" is overloaded specification of peer-to-peer interface module that implements this interface Interfaces Host 1 Host 2 High-level object Service interface High-level object Protocol Peer-to-peer interface Protocol Protocol Machinery Protocol Graph most peer-to-peer communication is indirect peer-to-peer is direct only at hardware level Host 1 File application Host 2 File application Digital library application Video application Digital library application Video application RRP RTP RRP RTP HHP HHP 23 Machinery (cont) Multiplexing and Demultiplexing (demux key) Encapsulation (header/body) Host 1 Application program Data RRP RRP Data HHP HHP RRP RRP Data Application program Data Host 2 HHP RRP Data 24 Network Architecture A network architecture is a set of layers and protocols used to reduce network design complexity. The TCP/IP Protocol Suite (also called the Internet Architecture) is an important example of a network architecture. The OSI 7-Layer Reference Model [ISO,1984] is a guide that specifies what each layer should do, but not how each layer is implemented. ISO 7-Layer Reference Model End host Application End host Application Presentation Presentation Session Session Transport Transport Network Network Network Network Data link Data link Data link Data link Physical Physical Physical Physical One or more nodes within the subnetwork Routing Routers send packet towards destination H R H R R R H R R H R R H: Hosts R: Routers H Internet Architecture Defined by Internet Engineering Task Force See http://www.ietf.org (IETF) Hourglass Design FTP HTTP TCP IP NV UDP TFTP NET1 NET2 ... NETn Summary Outline: Understand communication between threads and processes on a single host (IPC). Understand communication between hosts (using various APIs: Berkeley Sockets, etc.). Put the two together. Understand the underlying theory and protocols. To Do: Read Chapter 1, obtain a CIS account, check out the resources available via http://online.ksu.edu ...
View Full Document

This note was uploaded on 09/06/2009 for the course CIS 21092 taught by Professor Neilsen during the Spring '09 term at Kansas State University.

Ask a homework question - tutors are online