Title: Networks
1Networks
2What is a Computer Network?
- A Computer Network is two or more computers
connected together through some communication
medium for the purposes of sharing data and/or
devices.
3Network Types
- Three main types or categories of networks
- Local Area Network (LAN)
- Wide Area Network (WAN)
- Metropolitan Area Networks (MAN)
- We will focus on LANs and WANs
4Local Area Networks
- Smaller scope Building or small campus.
- Typically owned by same organization as attached
devices. - Internal data rates very high.
- Low propagation delay
- Less overall traffic
- Most common setup is Ethernet
5Wide Area Networks
- Large geographical area.
- Most well-known example The Internet
- Rely on common carrier circuits.
- Alternative technologies for networks
- Circuit switching.
- Packet switching.
6Circuit Switching
- Dedicated communications path established for the
duration of the conversation. - On each link, a logical channel is dedicated to
the connection. - At each node, incoming data are routed or
switched to the appropriate outgoing channel
without delay - Example Telephone network.
7Public Circuit SwitchedNetwork
8Packet Switching
- No dedicated path
- Divide message into small chunks (called packets)
of data - Send individual packets out onto the network
- Because no dedicated path, each packet may take a
different route to destination - Packets passed from node to node between source
and destination. - The entire packet is received, stored briefly,
and then transmitted to the next node.
9Packet Switching Operation
- A station breaks long message into packets.
- Packets sent one at a time to the network.
10Networking Basics
- A computer network is a set of independent
computer systems connected by telecommunication
links - Network applications are considered to work on a
layered architecture
Application Layer
Layer
Layer
Layer 2
Physical Layer
11Physical Layer
- What is the physical medium for transmitting
information? - Voice sound waves
- We can use radio waves, electromagnetic waves,
electrical impulses - Every medium has a bandwidth and a latency
- Bandwidth how much data can be sent in a given
period of time (usually measured in bits per
second bps) - Latency how much delay between source and
destination
12How Do You Connect to the Internet?
- Modem/Dial-Up?
- Cable?
- DSL?
13Modems Back in my day...
- In a computer system, information is represented
digitally - Voice-oriented telephone systems are analog
systems - So how can we send digital information over a
phone line? - MODULATOR / DEMODULATOR or MODEM
14Transmission media
- Twisted-pair copper wire type of wiring used in
telephone communications - Coaxial cable like the wires that bring cable TV
into your house - Fiber-optic cable
- Wireless radio, microwave, infrared signals
15From the computer science perspective
- All we really care about is that data can be
translated from 1s and 0s at one computer,
transported somehow to another computer, and
decoded into the same sequence of 1s and 0s. - Strictly speaking transmissions over networks are
never guaranteed to be completely error-free
16Simplified CommunicationsModel
17Between-node communication
- Lets look at the simplest useful network
possible 2 nodes, 1 link. Consider - a) What happens if the physical layer lets us
down? How do we detect the problem, how do we
react? - b) What happens if we send information too fast
to a receiver? - c) How do we agree on what 1's and 0's mean?
18Between-node communication (2)
- a) Detecting correcting transmission problems
- Message acknowledgments (or ACK's)
- Waiting for the acknowledgment timeout
- If an error is detected then we can request that
the sender repeat the message. - What is the problem with this?
- Are there alternative ways?
- integrity checks" so that the most likely types
of physical layer errors are caught (i.e. parity
bit, CRC checks)
19Error Checking
- Checksums one simple way of detecting errors.
- Add up the data and send that along with the
message - Receiver does same process, and if the calculated
checksum doesn't match the received one, then an
error must have occurred - Potential problem?
20Error Recovery
- Sometimes resending a message is extremely
expensive - When would this be true?
- Rather than just detect an error, can we repair
the error? - To a certain degree yes, and these are known as
error recovery mechanisms
21Between-node communication (3)
- b) What if information is sent too quickly?
- Flow Control giving senders/receivers capacity
for influencing the rate data is sent - Why is this necessary?
22Between-node communication (4)
- c) What does a given sequence of 1s and 0s
mean? - Answer whatever you want it to! But if you
want to communicate, youd better have a common
understanding! - Determine a protocol (accepted standard
mechanism for communication) - Analogy talking on the phone
23Network Routing
- What if we want communication between gt2 nodes?
24Network Routing
- Usually, in a LAN (local area network) this is
Ethernet
- Every message is broadcast to every node on the
line - Each node reads the address field and politely
discards message not addressed to it - Collisions are a problem!!
25Collisions
- How do we deal with them?
- In Ethernet use CSMA/CD
- Carrier Sense Multiple Access with Collision
Detection - A mouthful, but very simple
- Detect collisions by examining data sent with
data received - If collision, wait random amount of time and
resend
26CSMA/CD Example
27Network Routing
- How does a node know if a message belongs to it?
- IP ADDRESS 32-bit integer (usually written in
decimal dotted notation 142.104.96.5 - Each number is 8 bits, therefore what's the range
of values for each? - Coming soon IPv6 -gt 128-bit addresses
- Hierarchical addressing scheme
- 142 -gt BC, 104-gt Victoria, 96 -gtEngineering
Dept., 5-gt Machine X - IP stands for Internet Protocol
28Network Routing
- In a WAN (wide-area network)
-
-
- A message is chopped into packets . Each packet
hops from one node to another...not necessarily
using the same path!
29Routing Algorithms
- How do we pick which path through a network to
take? - Use a routing algorithm to pick a path
- Many possibilities, most common is Dijkstra's
Algorithm - Learn in detail in CSC 450
30Packet-switched vs. Circuit-switched Networks
- Advantages/disadvantages of each?
31Packet-switched vs. Circuit-switched Networks
- Phone calls are circuit-switched
- connection phase (during and after dialing)
- use of that circuit for all communications
between A and B - disconnection phase (after hanging up)
- Advantages of circuit switching
- Virtually no overhead during communications phase
- Route is established for the duration of the
call - Communications are guaranteed to be in sequence
- Disadvantages
- Delay establishing communication
- What happens if one link goes down
32Packet-switched vs. Circuit-switched Networks
- Computer networks are usually packet switched
- Network data is divided into packets
- Packets have a header which indicates (among
other things) the sender and receiver. - Advantages
- No overhead required to initiate a circuit
packets may flow to any destination without an
initial delay - Routing may take advantage of redundant links,
making it possible to "work around" problems or
balance network loads - Disadvantages
- Additional overhead on each packet (the packet
"header") - Packets may be delivered out of sequence or lost
33Packet-switched and Circuit-switched Networks
- Can we combine the advantages of each??
- Virtual circuit-switched networks write some
program that takes care of - Breaking messages into packets
- Making sure packets arrive in the right order at
the destination - Re-assembling the message
- to the user, it behaves like a circuit-switched
network! - This is the role of the TCP Transmission
Control Protocol - Usually used with IP protocol TCP/IP which is
the protocol suite of the Internet
34Packet-switched and Circuit-switched Networks
- For some applications, we dont care if the
packets arrive in order or if one is missed! - Example?
- For these applications, TCP is wasteful
- Instead we can use UDP User Datagram Protocol
- UDP just sends out packets over the network
(thus it is unreliable)
35Packet-switched and Circuit-switched Networks
36TCP/IP Protocol ArchitectureModel
37UDP
- User Datagram Protocol (UDP)
- Connectionless service for application level
procedures. - Unreliable.
- Delivery and duplication control not guaranteed.
- Reduced overhead.
- Example Network management.
- UDP header format
38UDP Usage
- Inward data collection
- Periodical sampling, monitoring.
- Loss will not cause a disaster.
- Outward data dissemination
- Broadcast messages.
- Distribution of real time clocks.
- Real time application (where delay is
catastrophic) - Ex VoIP
39TCP
- Transmission Control Protocol
- Connection-orientated service for application
level procedures - Reliable
- Delivery and duplication control guaranteed
(however no guarantees about delay) - Relatively high overhead compared to UDP
- Why is there a potential problem with latency or
delay in TCP vs UDP?
40TCP Usage
- File transfers
- Order of packets matters greatly, and missing
packets are catastrophic - Applications where users are logically
connected to a server for a period of time
41IP Addresses (IPv4)
- IP address consists of network ID and host ID.
Class A
Class B
Class C
Class D
Class E
42IP Addresses - Class A
- Few networks, each with many hosts.
- Network part and host part.
- Network identifies the network (typically a LAN)
and host identifies a machine on that network - Class A
- Start with binary 0.
- All 0 reserved.
- 01111111 (127) reserved for loopback (127.0.0.1
is sometimes referred to as the localhost
address) - Range 1.x.x.x to 126.x.x.x
- All allocated.
- Class A addresses are extremely rare and valuable
43IP Addresses - Class B
- Medium number of networks, each with a medium
number of hosts. - Start 10.
- Range 128.x.x.x to 191.x.x.x
- Second Octet also included in network address.
- Ex 140.23.234.10
- 140.23 is host
- 234.10 is network
- All allocated.
44IP Addresses - Class C
- Many networks, each with a few hosts.
- Start 110 (in binary).
- Range 192.x.x.x to 223.x.x.x
- All addresses in the range 192.168.0.0 to
192.168.255.255 are for private addresses - Routers/WAPs?
- Second and third octet also part of network
address. - Ex 232.234.33.10, 232.234.33 is network, 10 is
host - Nearly all allocated.
- See IPv6
- In the meantime, check out NAT and other
workarounds
45Applications Network Services
- The Internet is an internetwork a network of
networks. - The World Wide Web is one service available your
Web Browser connects to a Web Server that
provides graphics and text (or maybe movies,
mp3s) - Other services resource sharing, file servers,
print servers, email servers
46The client/server model
- The fundamental architecture of most network
applications today - This involves a server application that waits
passively for a message and a client application
that actively initiates the communication
47Client Software
- Generally, client software
- is invoked by the user
- actively initiates contact with a server
- runs locally on a users computer
48Server Software
- The server software
- Is a program dedicated to providing one service
(say HTTP, FTP, etc) - However, a server machine may run multiple server
applications (so the same machine may be your
HTTP and your FTP server) - Can handle multiple remote clients concurrently
- Waits passively for requests from remote clients
49Selecting a Service
- How do we as clients indicate to the server what
service we wish to use? (be it HTTP, FTP, SMTP,
POP, SSH, etc)
50Service Identification
- TCP assigns unique 16-bit integer values called
port numbers to different services - A client specifies the protocol port number of
the desired service when sending requests. A
server specifies the port number and waits
passively for incoming requests, - (The complete address of a service is therefore a
32-bit IP address plus 16-bit port address)
51Common Protocols And Port Numbers
- HTTP 80
- HTTPS 443
- SMTP 25
- FTP 20 (for data) and 21 (for control)
- SSH 22
- Telnet 23
- DNS 53
- POP3 110
52Example service DNS
- Domain Name Service
- It would be annoying to have to remember the IP
address of a server to see a web page! - Domain names can be purchased from commercial
companies a DNS server will correlate a domain
name (www.csc.uvic.ca) to an IP address
(142.104.106.242)
53P2P The Future?
- The client/server paradigm is currently dominant
- But a different approach is gaining in popularity
Peer to Peer or P2P - In P2P, each computer is just another node,
each equally important to the network as a whole
54P2P (cont)
- Very useful for file sharing
- no reliance on single server machine
- No single point of attack
- Redundancy reliability
- Most famous from the past Napster
- Currently most well-known BitTorrent
55A (very) brief history of the Internet and the WWW
- Mid 1960s researchers at MIT, RAND Corp. and
U.Ks NPL Research Lab start kicking around the
idea of large-scale networking - 1966 One researcher moves to ARPA (Department
of Defense) -gtlooking at packet-switched networks
for wartime communication - October 1969 first 2 nodes of ARPANET
- 1972 Demonstrated to the research community
also, Electronic Mail (e-mail) is invented
56A (very) brief history of the Internet and the
WWW (2)
- 1970s Everyone is developing their own
independent networks! - ARPA researchers develop internetworking
protocols so that these networks can communicate
with each other (TCP/IP, IP Addressing) - 1984 National Science Foundation builds NSFNet
to bring the information on this interconnection
of networks to entire academic professional
community - 1995 acceptance of the term Internet by U.S.
Government
57A (very) brief history of the Internet and the
WWW (3)
- World Wide Web different from the Internet!
- 1989 Tim Berners-Lee at CERN comes up with the
idea of hypertext wouldnt it be easier to
look at documents if they were interlinked,
presented nicely? - HTML Hypertext Markup Language
- HTTP Hypertext Transfer Protocol
- URL Uniform Resource Locator
- Tim Berners-Lees vision for the future
- the Semantic Web