* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
Download Computer Networks (CSC 345)
Net neutrality law wikipedia , lookup
Multiprotocol Label Switching wikipedia , lookup
Asynchronous Transfer Mode wikipedia , lookup
Distributed firewall wikipedia , lookup
Zero-configuration networking wikipedia , lookup
Wake-on-LAN wikipedia , lookup
Network tap wikipedia , lookup
Piggybacking (Internet access) wikipedia , lookup
Computer network wikipedia , lookup
Deep packet inspection wikipedia , lookup
Cracking of wireless networks wikipedia , lookup
Airborne Networking wikipedia , lookup
Internet protocol suite wikipedia , lookup
List of wireless community networks by region wikipedia , lookup
Packet switching wikipedia , lookup
Quality of service wikipedia , lookup
Recursive InterNetwork Architecture (RINA) wikipedia , lookup
Computer Networks (CSC 345) Fall 2004 Professor Haimeng Zhang IVERS 234F [email protected] 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 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 Telecommunications Voice and Video Data Communication What is a Computer Network? Application Application Frame Networks connect applications on different stations What is a Computer Network? Frame Client Station Mobile Client Station Stations are computers and other devices such as cellphones and PDAs Server Station Server Station What is a Computer Network? Frame Client Station Mobile Client Station Stations communicate by sending messages called Frames Server Station Server Station What is a Computer Network? Frame Switch 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 links connect switches Higher capacity than access links Often optical fiber Trunk Link Trunk Link Trunk Link 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 Packet-Switched Networks: Topologies 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) An Internet Multiple Networks Connected by Routers Path of a Packet is its Route Single Network Routers Packet Single Network Route 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 ( s ). • 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 6 10 miles/sec and a packet is 1MB (= Bytes = 10 6 * 8 bits), then: – Transmission delay = 1MB/100 Mbps = 106 * 8 / 100 *106 80 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 10 9 ) • 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 bidirectional) 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 Layering Principle Layering Principle • 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 Data Communications • On the sender, each layer: – Accepts an outgoing message from the layer above – Adds a header and other processing – Passes resulting message to next lower layer • On the receiver, each layer: – Receives an incoming message from the layer below – Removes the header for that layer and performs other processing – Passes the resulting message to the next higher layer Data Communications • The software at each layer communicates with the corresponding layer through information stored in headers • Each layer adds its header to the front of the message from the next higher layer • Headers are nested at the front of the message as the message traverses the network Data Communications Internet Protocol Architecture • Originally it was based on the ISO reference model • Currently, Internet is mostly based on the TCP/IP protocol suite (designed in late 70’s) • TCP/IP became popular as it was bundled with the UNIX/C environment • ISO is still influential in designing networks • Other architectures: ATM. Frame Relay Reading Materials • Textbook – Chapters 1, 2 and Sections 3.1, 3.2 of Chapter 3 – Chapter 16