Computer Networks(CSC 345)
Fall 2004
Professor Haimeng Zhang
IVERS 234F
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
Voice andVideo
DataCommunication
Telecommunications
What is a Computer Network?
Application Application
Networks connect applicationson different stations
Frame
What is a Computer Network?
ClientStation
Mobile ClientStation
ServerStation
ServerStationStations are computers
and other devicessuch as cellphones and PDAs
Frame
What is a Computer Network?
ClientStation
Mobile ClientStation
ServerStation
ServerStationStations communicate by
sending messages calledFrames
Frame
What is a Computer Network?
FrameSwitch
Switch
Switch
Switch
Frames may passthrough multiple switches;
Each switch reads the frameAnd passes it on
What is a Computer Network?
AccessLink
AccessLink
AccessLink
AccessLink
Access links connectstations to the
first switch
Usually copper wire
What is a Computer Network?
TrunkLink
TrunkLink
Trunk Link
TrunkLink
TrunkLink
Trunk linksconnect switches
Higher capacitythan access links
Often opticalfiber
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
Routers
RouteSingle Network
Single Network
Multiple Networks
Connected by Routers
Path of a Packet is its Route
Packet
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
s
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
8010*100/8*10 66
610
8*106
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
910
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
• 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 Protocol Design
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
Top Related