560 likes | 696 Views
Computer Networks (CSC 345). Fall 2004 Professor Haimeng Zhang IVERS 234F zhang@cord.edu x4742. Course Objectives. Motivation: What is the Internet and how it works To present a comprehensive view of the principles and fundamental concepts in Computer Networks
E N D
Computer Networks(CSC 345) Fall 2004 Professor Haimeng Zhang IVERS 234F zhang@cord.edu x4742
Course Objectives • Motivation: What is the Internet and how it works • To present a comprehensive view of the principles and fundamental concepts in Computer Networks • To learn about the basics in design and implementation of network protocols • To provide an understanding of the components of a network and how they are connected. • To acquire some hands-on experience
Course Requirements • Prerequisites: • Programming experience with C/C++, equivalent to CSC 225 • Good to have the knowledge on OS • Required Textbook: • Douglas Comer: Computer Networks and Internets with Internet Applications, 4th ed. Prentice Hall, 2004 • Reference Book: • R. Stevens, TCP/IP Illustrated, Volume 1: The Protocols, Addison-Wesley, 1994. • Supplementary class notes – available on line • Course web page:http://www.cord.edu/faculty/zhang/cs345/cs345.html
Course Organization • Lectures – TH 10:30am – 12:10pm, IVERS 218 • Homework assignments – once every two weeks • Programming project – one group project • Reading project – individual project • Midterm • Final
Course Outline • Introduction • Fundamental concepts • Basic definitions • Network architecture • Communication Basics • Media and signals • Asynchronous and synchronous communication • Relationship among bandwidth, throughput, and noise • Frequency-division and time-division multiplexing
Course Outline (Continued) • Networking and network technologies • Packing switching • Framing, parity, and error detection • Local and wide area technologies • Network addressing • Connection, wiring and extension (repeaters, bridges, hubs, switches) • Forwarding and measuring of delay and throughput
Course Outline (Continued) • Internets and Internetworking • Motivation and concept • Internet Protocol (IP) datagram format and addressing • Internet routers and routing • Address binding (ARP) • Internet Control Message Protocol (ICMP) • User Datagram Protocol (UDP) • Transmission Control Protocol (TCP)
Course Outline (Continued) • Network Applications • Domain Name System (DNS) • File Transfer Protocol (FTP) • Remote Login Protocol (TELNET) • Email Transfer (SMTP) • Web technologies and protocol (HTTP) • Putting all pieces together
Schedule of Topics • Signals, media, bandwidth, throughput and multiplexing – 2 weeks • Packet transmission: concepts, technologies – 5 weeks • Internetworking fundamentals – 5 weeks • Internet applications – 2 weeks
What is a Computer Network? • A collection of computers (PCs, workstations) and other devices (e.g. printers, credit card readers) are all interconnected • Components: • Hosts (computers) • Links (coaxial cable, twisted pair, optical fiber, radio, satellite) • Switches/routers (intermediate systems) • Goal: provide ubiquitous access to resources (e.g., database servers, Web), allow remote users to communicate (e.g., email) • User runs applications
What is a Computer Network? • Major Network Categories • The global Internet • Internal corporate networks • The worldwide telephone system
Telecommunications Voice and Video Data Communication What is a Computer Network? • Telecommunications spans two concerns • Voice and video communication versus • Data communication • At least one party is a computer • The two are converging
Application Application Frame Networks connect applications on different stations What is a Computer Network?
Frame Server Station Client Station Stations are computers and other devices such as cellphones and PDAs Server Station Mobile Client Station What is a Computer Network?
Frame Server Station Client Station Stations communicate by sending messages called Frames Server Station Mobile Client Station What is a Computer Network?
Switch Frame Switch Switch Switch Frames may pass through multiple switches; Each switch reads the frame And passes it on What is a Computer Network?
Access links connect stations to the first switch Usually copper wire Access Link Access Link Access Link Access Link What is a Computer Network?
Trunk Link Trunk Link Trunk Link Trunk links connect switches Higher capacity than access links Often optical fiber Trunk Link Trunk Link What is a Computer Network?
What is a Computer Network? • In summary, a network is a system of hardware, software and transmission components that collectively allow two application programs on two different stations connected to the network to communicate well
What is a Computer Network? • Direct links (connectivity) Point-to-point communication Multiple-access
What is a Computer Network? • Switched Networks • Circuit - switched network: public telephone network • Packet switched network: Internet (collection of networks)
Circuit-Switching • Set up a connection path (circuit) between the source and the destination (permanent for the lifetime of the connection) • All bytes follow the same dedicated path • Used in telephony • Advantages: dedicated resources • Disadvantages: not very efficient (lower utilization, e.g., a person talks < 35% of the time during a call) • While A talks to C, B cannot talk to D on the same line.
Packet-Switching • Packets from different sources are interleaved • Efficient use of resources (since they are used on a demand): statistical multiplexing. Nobody reserves a lane on a freeway • Can accommodate bursty traffic (as opposed to circuit-switching where transmission is at constant rate).
Features of a Packet-Switching • Store and forward: intermediate nodes (e.g., routers) store (buffer) incoming packets, process them and forward them to the appropriate outgoing link. • Allows for flexibility and robustness. Packets can travel through alternate paths (adaptive routing). • Undesired situations such congestion, long delays may occur.
Packet Switched Networks: Example • Packets can travel on different networks/links that may have different line speeds
What is the Internet? • In the 60’s and 70’s the Internet (ARPANET) was a small network connecting universities, research labs and government agencies. Main application: email, FTP. Motivation: share & research • Today it is a global, non-regulated communications network with millions of hosts and users. Main applications: Web, multimedia (audio/video), email. Motivation: commercialization • A large number of different network technologies and standards exist: LANs, WANs, B-ISDN, Optical Nets, Wireless, Satellite.
The Internet Today-- Complicated • A huge and arbitrary collection of heterogeneous nets. A network of networks! • More than 70 million hosts • Growing exponentially– doubling every 18 months • Hierarchically structured • LANs (e.g., Ethernet) • CANs (e.g., FDDI) • National/global (e.g., ATM or optical backbone) • Fully distributed operation (i.e., no centralized system or computer)
Multiple Networks Connected by Routers Path of a Packet is its Route Single Network Routers Packet Route Single Network An Internet
Probing the Network-Example • Concordia campus network http://www.cord.edu/faculty/dduncan/$cordnet.htm • Minnesota State Network http://graphs.onvoy.com/infrastructure • Ping - sends message that is echoed by remote computer • Traceroute - reports path to remote computer
Internet Today • Packet - switched network • Packets • Data are chopped up into small blocks called packets (e.g., ~ 4500 bytes) • Each packet carries extra information to allow it to reach its destination • Each intermediate node processes the packet and forward it to the next node
Issues • Resource sharing (i.e., accommodate many users over the same link or through the same router) • Addressing and routing (i.e., how does an email message finds its way to the receiver) • Reliability and recovery: guarantee end-to-end delivery • Traffic management: monitoring and policing the network! Regulate traffic
Network Performance • There is a number of measures that characterize and capture the performance of a network • It is not enough that networks work • They must work well • Quality of service (QoS) defines quantitative measures of service quality • Speed • Delay (Latency) • Reliability • Security (not a QoS measure but crucial)
Network Performance • Speed • Bits per second (bps) • Multiples of 1,000 (not 1,024) • Kilobits per second (kbps) Note the lower case “k” • Megabits per second (Mbps) • Gigabits per second (Gbps) • Terabits per second (Tbps) • Related to link bandwidth
Network Performance • Congestion and Latency • Congestion because traffic chronically or momentarily exceeds capacity • Latency delay measured in milliseconds (ms), microseconds ( ). • Especially bad for some services such as voice communication or highly interactive applications
Network Performance • Delay: • Transmission time: time it takes to transmit a packet (depends on the link speed) = packet size/ speed • Propagation delay: time for a bit to travel across a link (depends on the distance, physical medium) • Queuing delay: waiting time inside a buffer • Processing delay: time to process a packet • RTT (round-trip time): time for a bit to travel to the destination and come back
Network Performance • Example: consider a 100 Mbps link which is 4,000 miles long, if data travels at 40,000 miles/sec and a packet is 1MB (= Bytes = bits), then: • Transmission delay = 1MB/100 Mbps = ms = 0.080 sec • Propagation delay = 4,000/40,000 = 0.1 sec
Reliability and Recovery • Reliability • Availability – percentage of time the network is available to users for transmission and reception • Error rate – percentage of lost or damaged messages or bits. (For example, bit error rate of ) • Examples: • Bit errors (bits are flipped, e.g., due to electrical signal interference.) • Packet loss (packets may be dropped due to insufficient buffer space.) • Packet delays (e.g., due to large queue size) • Nodes or links can fail (go down) • Malicious users
Reliability and Recovery • As a consequence: • Packets delivered to the wrong destination • Long delays on packets • Packets delivered out-of-order • Duplicate packets • Recovery: • Implement error-control mechanism • Hop by hop (I.e., between nodes) • End-to-end (source-to-destination). • Retransmissions • End-to-end security (e.g., encryption, authentication)
User Applications • Users run application programs (web, email, ftp) at the hosts interconnected through a network • Hosts need to communicate in a meaningful way. User should not be concerned with the underlying network • Network supports process-to-process (uni- or bi-directional) communication among the hosts • Applications need to take into consideration limitations imposed by the networks physical characteristics
What is a Protocol? • Set of rules that specify the format and meaning of messages exchanged between computers across a network • Format is sometimes called syntax • Meaning is sometimes called semantics • Example from everyday life: traffic laws!
One Or Many Protocols? • Computer communication across a network is a very hard problem • Complexity requires multiple protocols, each of which manages a part of the problem • May be simple or complex; must all work together
Protocol Suites • A set of related protocols that are designed for compatibility is called a protocol suite • Protocol suite designers: • Analyze communication problem • Divide problems into subproblems • Design a protocol for each subproblem
Layered Protocol Design • Layering model is a solution to the problem of complexity in network protocols • Model suggests dividing the network protocol into layers, each of which solves part of the network communication problem • These layers have several constraints, which ease the design problem • Network protocol designed to have a protocol or protocols for each layer
Layered Network Architecture • Application data need to be transformed into packets (the basic transmission unit) • Peer entities in layer N+1 communicate with each other by communication services provided by layer N (below them) • Each layer has specific tasks and functionality. It also provides services to the layers above and below it • Peer entities communicate by exchanging messages
ISO 7-Layer Reference Model • International Organization for Standards (ISO) defined a 7-layer reference model as a guide to the design of a network protocol suite
ISO 7-Layer Reference Model • Layers are named and numbered; reference to ``layer n'' often means the nth layer of the ISO 7-layer reference model • many modern protocols do not exactly fit the ISO model, and the ISO protocol suite is mostly of historic interest
ISO 7-Layer Reference Model • Layer 7: Application Application-specific protocols such as FTP and SMTP (electronic mail) • Layer 6: Presentation Common formats for representation of data • Layer 5: Session Management of sessions such as login to a remote computer • Layer 4: Transport Reliable delivery of data between computers
ISO 7-Layer Reference Model • Layer 3: Network Address assignment and data delivery across a physical network • Layer 2: Data Link Format of data in frames and delivery of frames through network interface • Layer 1: Physical Basic network hardware – media transmission