Sei sulla pagina 1di 57

ECE

436 Computer
Communication Networks II

Introduction
Goals and Motivation
Focus of the course

Client
? ? ? ?
Server
Goals and Motivation
Focus of the course
Three networking topics
Different types of apps builds on top of
Distributed Systems networks. E.g., multiplayer gaming, video
streaming, video conferencing, etc.

Networking How packets are carried across networks


and how Internet operates

Communications How to use signals to carry information


and bits across the networks

We are in the middle.


Goals and Motivation
Goal of the course
Goal I: Learn how the Internet works.
What really happens when you browse the web?
What are TCP/IP, DNS, HTTP, 802.11, etc.?
How networking protocols are related to some
advanced topics: multimedia networking, mobile
networks, network security, and cloud networking
Why learn about the Internet?
Curiosity
Job
Impact on our world
Goals and Motivation
Goal of the course

Goal I: Learn how the Internet works.


Why learn about the internet?
Impact on our world
Goals and Motivation
Goal of the course

Goal I: Learn how the Internet works.


Why learn about the internet?
Impact on our world

- Access to information Wikipedia


- Socialization Facebook, Twitter
- Personal relationships match.com
- Sharing jokes Imgur
- Education coursera, khan academy
- Economy - Online advertising (google ads), shopping
(amazon), crowdsourcing (wikipedia), crowdfunding
(kickstarter), etc.
Goals and Motivation
Goal of the course

Goal II: Learn the fundamentals of computer


networks
Understand the hard problems that computer
networks need to solve
The design strategies which have been proven
valuable
Goals and Motivation
Goal of the course

Goal II: Learn the fundamentals of computer


networks
Why learn about the fundamentals?
Fundamentals apply to all kinds of computer
networks. E.g., techniques developed for WiFi may apply to
satellite networks
Intellectual interest
Change/reinvention
The Internet is constantly being reinvented
Todays Internet is different from yesterdays, and the
tomorrow will be different again
But the fundamentals remain the same
Course Information, Tentative
Syllabus, Policies, and Requirements

See Blackboard
Roadmap
Goals and Motivation

Course Information, Tentative Syllabus, Policies, and


Requirements

Network Components

Protocols and Layers

Reference Models

History of the Internet


Network Components
Parts of a Network

Application Application

Node

Link
Network Components
Parts of a Network

Application Application

Node Host
Host Link
Routers
Network Components
Parts of a Network

Applications Application

Host Router Router Host

We have different parts of network


components which are key for a network
Network Components

Component Function Example


Application, app, user Uses the network YouTube, Facebook,
CandyCrash
Host, or end-system, Support apps Smartphones, laptop,
edge device, node, desktop
source, sink
Router, or switch, Relays messages Access point,
node, hub, between links cable/DSL modem,
intermediate system laptop, desktop
Link, or channel Connects nodes Wired, wireless
Types of Links
Full-duplex: Bi-directional
Applications Application

Host Host

Half-duplex: Bi-directional. E.g., wireless


Applications Application

Simplex: Unidirectional. Only one direction at all times.


Wireless Links
Message is broadcast
Received by all nodes in the transmission range
Wireless Links
Message is broadcast
Received by all nodes in the transmission range
Wireless Links
Message is broadcast
Received by all nodes in the transmission range
Building a Network
Connect two/more laptops.

We can also have large networks.


Building a Network
Example Networks
mobile network

WiFi (802.11)
global ISP
Ethernet
ISP (Internet Service Provider)
Cable/DSL home
network
Cellular (2G, 3G, 4G) regional ISP
Bluetooth
Telephone
Satellite

Techniques we will learn in this class can be


applied in different networks institutional
network
Network names by scale
mobile network

Scale Type Example


global ISP
Close PAN(Personal Area Bluetooth
proximity Network)
Building LAN (Local Area WiFi, home
Network) Ethernet network
regional ISP
City, MAN (Metropolitan Cable, DSL
Campus Area Network)
Country WAN (Wide Area Large ISP
Network)
The Internet The
Planet (network of all Internet
networks)
institutional
network
Roadmap
Goals and Motivation

Course Information, Tentative Syllabus, Policies, and


Requirements

Network Components

Protocols and Layers

Reference Models

History of the Internet


Protocols and Layers
Networks Need Modularity
Make and break connections
Find a path through the network
Transfer information reliably
Transfer arbitrary length of information
Send as fast as the network allows
Shares bandwidth among users
Secures information in transit
Lets many new hosts be added

We need a form of modularity,
to help manage complexity and support reuse
This is exactly what protocols and layering give us.
Protocols and Layers
Protocols and layering are the main structuring methods used
to divide up network functionality.
Each instance of a protocol talks virtually to its peer using
the protocols
Each instance of a protocol uses only the services of the
lower layer
Protocols and Layers

Protocol X Instance of
Instance of
X X protocol X
protocol X
at peer node

Instance of Protocol Y
lower layer Y Y
protocol Y

Node 1 Node 2
Protocols and Layers

Hi

Hi
Got the
time?
2:00
Protocols and Layers
Protocols talk to each other horizontally: Protocols X at node 1
talks to protocols Y at node 2
Layers talks to each other vertically: Protocol X at the higher layer
talks to protocol Y in the lower layer at node 1 (or node 2)

Protocol X Instance of
Instance of
X X protocol X
protocol X
at peer node

Instance of Protocol Y
lower layer Y Y
protocol Y

Node 1 Node 2
Protocols and Layers
Set of protocols in use is called a protocol stack
Protocols and Layers
Example protocol stack used by a web browser on a host that is
wirelessly connected to the Internet mobile network

Web
Browser global ISP

HTTP
home
network
regional ISP
TCP

IP

802.11

Wireless institutional
network
Medium
Encapsulation
We said that layers are implemented on top of each other,
but we did not talk about how this layering scheme works

Encapsulation is the mechanism used for effective protocol


layering

Lower layer wraps higher layer content, adding its own


information to make a new message for delivery

Like sending a letter in an envelope; postal service


doesnt look inside
Encapsulation

HTTP
HTTP

HTTP TCP
TCP

HTTP TCP IP
IP

802.11 HTTP TCP IP 802.11


Encapsulation

HTTP HTTP HTTP HTTP

HTTP TCP TCP TCP HTTP TCP

HTTP TCP IP HTTP TCP IP


IP IP

HTTP TCP IP 802.11 802.11 802.11 HTTP TCP IP 802.11

HTTP TCP IP 802.11


Encapsulation
Normally we draw a message like this:
Each layer adds its own header

802.11 IP TCP HTTP

First bit on the wire/air Last bits

It may be more complicated in practice


Trailers as well as headers, encrypt/compress contents
Segmentation (divide long message) and reassembly
Demultiplexing
Incoming message must be passed to the protocols that it
uses

SMTP HTTP DNS

TCP UDP

IP ARP

Ethernet

???
Demultiplexing
Done with demultiplexing keys in the headers

SMTP HTTP DNS

TCP port number TCP UDP

IP protocol field IP ARP

Ethertype value Ethernet

Incoming
Ethernet IP TCP HTTTP message
Advantage of Layering
Information hiding and reuse

Browser Server Browser Server

HTTP HTTP HTTP HTTP

TCP TCP TCP TCP


OR
IP IP IP IP

Ethernet Ethernet 802.11 802.11


Disadvantage of Layering

Adds overhead
But minor for a long message

Hides information
App may care whether it is running over wired or
wireless
Roadmap
Goals and Motivation

Course Information, Tentative Syllabus, Policies, and


Requirements

Network Components

Protocols and Layers

Reference Models

History of the Internet


Reference Models

What functionality should we implement at which layer? For


example, sharing bandwidth @ which layer?

This is a key question

No clear answer to this question, but

Reference models provide frameworks that guide us


Reference Models
OSI 7 Layer Reference Model

Open Systems Interconnection (OSI) model


A principled, international standard, to connect systems
Influential, but not used in practice

(7) Application - Provides functions needed by users


(6) Presentation - Converts different representations
(5) Session - Manages task dialogs
(4) Transport - Provides end-to-end delivery
(3) Network - Sends packets over multiple links
(2) Data Link - Send frames of information
(1) Physical - Sends bits as signals
Reference Models
Internet Reference Model

Mostly used in practice


A four layer model based on experience; omits some OSI
layers and uses IP and the network layer.

Application - Programs that use network service


Transport - Provides end-to-end data delivery
Internet (IP) - Send packets over multiple networks
Link - Send frames over a link
Reference Models
Internet Reference Model

Mostly used in practice


A four layer model based on experience; omits some OSI
layers and uses IP and the network layer.

7 Application - Programs that use network service


4 Transport - Provides end-to-end data delivery
3 Internet (IP) - Send packets over multiple networks
2/1 Link - Send frames over a link
Reference Models
Internet Reference Model

With examples of common protocols in each layer

7 Application - HTTP, RTP, SMTP, DNS


4 Transport - TCP, UDP
3 Internet (IP) - IP
2/1 Link - 3G cellular, Ethernet, DSL, Cable, 802.11
Reference Models
Internet Reference Model

IP is the narrow waist of the Internet


Supports many different links below and apps above

7 Application - HTTP, RTP, SMTP, DNS


4 Transport - TCP, UDP
3 Internet (IP) - IP
2/1 Link - 3G cellular, Ethernet, DSL, Cable, 802.11
Standard Bodies
Where all the protocols come from!
Focus is on interoperability

Body Area Examples


ITU Telecom ADSL, H.264,
MPEG4
IEEE Communications Ethernet, 802.11,
WiFi
IETF Internet RFC 2616,
HTTP/1.1, DNS
W3C Web HTML5 standard
CSS standard
Layer-based Names

For units of data

Layer Unit of Data


Application Message
Transport Segment
Network Packet
Link Frame
Physical Bit
Layer-based Names

For units of data

Layer Unit of Data


Application Message
Transport Segment
Network Packet
Link Frame
Physical Bit
Layer-based Names
For devices in the network:

Repeater (or hub) Physical Physical

Switch (or bridge) Link Link

Network Network
Router Link Link
Layer-based Names
For devices in the network:

App App
Proxy or Transport Transport
Middlebox or
Network Network
gateway
Link Link
A Note About Layers

They are guidelines, not strict

May have multiple protocols working together in one


layer

May be difficult to assign a specific protocol to a layer


Roadmap
Goals and Motivation

Course Information, Tentative Syllabus, Policies, and


Requirements

Network Components

Protocols and Layers

Reference Models

History of the Internet


Internet History
1961-1972: Early packet-switching principles
1961: Kleinrock - 1972:
queueing theory shows ARPAnet public demo
effectiveness of packet-
switching NCP (Network Control
Protocol) first host-host
1964: Baran - packet-
protocol
switching in military nets
1967: ARPAnet first e-mail program
conceived by Advanced ARPAnet has 15 nodes
Research Projects
Agency
1969: first ARPAnet node
operational
Internet History
1972-1980: Internetworking, new and proprietary nets

1970: ALOHAnet satellite


network in Hawaii Cerf and Kahns
1974: Cerf and Kahn - internetworking principles:
architecture for interconnecting minimalism, autonomy - no
networks internal changes required to
interconnect networks
1976: Ethernet at Xerox PARC best effort service model
late70s: proprietary stateless routers
architectures: DECnet, SNA, decentralized control
XNA define todays Internet
late 70s: switching fixed length architecture
packets (ATM precursor)
1979: ARPAnet has 200 nodes
Internet History
1980-1990: new protocols, a proliferation of networks

1983: deployment of new national networks:


TCP/IP Csnet, BITnet, NSFnet,
1982: smtp e-mail Minitel
protocol defined 100,000 hosts connected
1983: DNS defined for to confederation of
name-to-IP-address networks
translation
1985: ftp protocol defined
1988: TCP congestion
control
Internet History
1990, 2000s: commercialization, the Web, new apps
early 1990s: ARPAnet late 1990s 2000s:
decommissioned
1991: NSF lifts restrictions on more killer apps: instant
commercial use of NSFnet messaging, P2P file sharing
(decommissioned, 1995)
network security to
early 1990s: Web
forefront
hypertext [Bush 1945,
Nelson 1960s] est. 50 million host, 100
HTML, HTTP: Berners-Lee million+ users
1994: Mosaic, later backbone links running at
Netscape Gbps
late 1990s:
commercialization of the Web
Internet History
2005-present
~750 million hosts
Smartphones and tablets
Aggressive deployment of broadband access
Increasing ubiquity of high-speed wireless access
Emergence of online social networks:
Facebook: soon one billion users
Service providers (Google, Microsoft) create their own
networks
Bypass Internet, providing instantaneous
access to search, emai, etc.
E-commerce, universities, enterprises running their services
in cloud (eg, Amazon EC2)

Potrebbero piacerti anche