Introduction to Computer Networks: Principles and Practices
This course provides a comprehensive overview of computer networks, covering essential concepts such as network architecture, protocols, and technologies. Students will gain hands-on experience with programming and network design while exploring topics like communication methods, bandwidth, and the Internet Protocol (IP). Designed for those with prior programming experience, the course includes lectures, projects, and readings from key texts, ensuring a solid foundation in networking principles. Join us to understand how networks enable communication and resource sharing in our connected world.
Introduction to Computer Networks: Principles and Practices
E N D
Presentation Transcript
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