Title: EEC-484/584 Computer Networks
1EEC-484/584Computer Networks
- Lecture 3
- Wenbing Zhao
- wenbingz_at_gmail.com
- (Part of the slides are based on Drs. Kurose
Rosss slides for their Computer Networking book)
2Outline
- Protocol layers, reference models
- Network standards
- Internet history
- Application layer
- Principles of networked applications
3Protocol Layers
- Networks are complex!
- many pieces
- hosts
- routers
- links of various media
- applications
- protocols
- hardware, software
- Question
- Is there any hope of organizing structure of
network? - Or at least our discussion of networks?
4Organization of Air Travel
5Layering of Airline Functionality
- Layers each layer implements a service
- Via its own internal-layer actions
- Relying on services provided by layer below
6Why Layering?
- Dealing with complex systems
- Explicit structure allows identification,
relationship of complex systems pieces - Layered reference model for discussion
- Modularization eases maintenance, updating of
system - Change of implementation of layers service
transparent to rest of system - E.g., change in gate procedure doesnt affect
rest of system
7Internet Protocol Stack
- Application supporting network applications
- HTTP, DNS, SMTP
- Transport process-process data transfer
- TCP, UDP
- Network routing of datagrams from source to
destination - IP, routing protocols
- Link data transfer between neighboring network
elements - PPP, Ethernet
- Physical bits on the wire
8ISO/OSI Reference Model
- Presentation allow applications to interpret
meaning of data, e.g., encryption, compression,
machine-specific conventions - Session synchronization, checkpointing, recovery
of data exchange - Internet stack missing these layers!
- these services, if needed, must be implemented in
application
9Encapsulation
source
message
application transport network link physical
segment
datagram
frame
switch
destination
application transport network link physical
router
10Network Standardization
- Why standard?
- Only way to achieve interoperability
- Standards also increase the market for products
adhering to them - Two kinds of standards
- De facto from the fact (standards that just
happened) - De jure by law (formal, legal standards adopted
by authorized organization)
11Treaty Organization between Nations
12Voluntary, Nontreaty Organization
13IEEE 802 Standards
14Internet Standard Body
- Internet Society (used to be Internet
Architecture Board) - Internet Research Task Force (IRTF)
- Concentrate on long term research
- Internet Engineering Task Force (IETF)
- Deal with short term engineering issues
- Standardization process
- Proposed standard request for comments (RFCs)
- Draft standard after gt 4 month test by gt 2
sites - Internet standard if convinced the idea is sound
15Internet History
1961-1972 Early packet-switching principles
- 1972
- ARPAnet public demonstration
- NCP (Network Control Protocol) first host-host
protocol - first e-mail program
- ARPAnet has 15 nodes
- 1961 Kleinrock - queueing theory shows
effectiveness of packet-switching - 1964 Baran - packet-switching in military nets
- 1967 ARPAnet conceived by Advanced Research
Projects Agency - 1969 first ARPAnet node operational
16Internet History
1972-1980 Internetworking, new and proprietary
nets
- 1970 ALOHAnet satellite network in Hawaii
- 1974 Cerf and Kahn - architecture for
interconnecting networks - 1976 Ethernet at Xerox PARC
- late70s proprietary architectures DECnet, SNA,
XNA - late 70s switching fixed length packets (ATM
precursor) - 1979 ARPAnet has 200 nodes
- Cerf and Kahns internetworking principles
- Minimalism, autonomy - no internal changes
required to interconnect networks - Best effort service model
- Stateless routers
- Decentralized control
- Define todays internet architecture
17Internet History
1980-1990 new protocols, a proliferation of
networks
- 1983 deployment of TCP/IP
- 1982 SMTP e-mail protocol defined
- 1983 DNS defined for name-to-IP-address
translation - 1985 FTP protocol defined
- 1988 TCP congestion control
- New national networks Csnet, BITnet, NSFnet,
Minitel - 100,000 hosts connected to confederation of
networks
18Internet History
1990, 2000s commercialization, the Web, new apps
- Early 1990s ARPAnet decommissioned
- 1991 NSF lifts restrictions on commercial use of
NSFnet (decommissioned, 1995) - Early 1990s Web
- Hypertext Bush 1945, Nelson 1960s
- HTML, HTTP Berners-Lee
- 1994 Mosaic, later Netscape
- Late 1990s commercialization of the Web
- Late 1990s 2000s
- More killer apps instant messaging, P2P file
sharing - Network security to forefront
- Est. 50 million host, 100 million users
- Backbone links running at Gbps
19Internet History
- 2007
- 500 million hosts
- Voice, Video over IP
- P2P applications BitTorrent (file sharing),
Skype (VoIP), PPLive (video) - More applications youtube, gaming
- Wireless, mobility
20Introduction Summary
- Covered a ton of material!
- Internet overview
- Whats a protocol?
- Network edge, core, access network
- Packet-switching versus circuit-switching
- Internet structure
- Performance loss, delay, throughput
- Layering, reference models
- Networking standards
- History
- You now have
- Context, overview, feel of networking
- More depth, detail to follow!
21Application Layer Protocols
- Principles of networked applications
- Client server model
- Sockets
- Addressing
- Protocol
- What do we need from transport layer?
22Creating a Network Application
- Write programs that
- run on different end systems and
- communicate over a network
- No need to write code for devices in subnet
- Subnet devices do not run user application code
- application on end systems allows for rapid app
development, propagation
23Inter-Process Communications
- Process program running within a host
- Processes in different hosts communicate by
exchanging messages
- Client process process that initiates
communication - Server process process that waits to be
contacted
More accurately, client and server should be
regarded as the roles played by a process. A
process can be both a client and a server
24Sockets
- Process sends/receives messages to/from its
socket - For each point-to-point connection, there are two
sockets, one on each side - API (Application Programming Interface) (1)
choice of transport protocol (2) ability to fix
a few parameters
Controlled by app developer
Internet
Controlled by OS
25Addressing
- To receive messages, a process must have an
identifier - Each host device has a unique 32-bit IP address
- Question Does the IP address of the host on
which the process runs suffice for identifying
the process?
26Addressing
- Identifier includes both IP address and port
numbers (16-bit) associated with process on host - Example port numbers
- HTTP server 80
- SSH server 22
- To send HTTP request to academic.csuohio.edu Web
server - IP address 137.148.49.46
- Port number 80
27Application Layer Protocol Defines
- Types of messages exchanged
- e.g., request, response
- Message syntax
- what fields in messages how fields are
delineated - Message semantics
- meaning of information in fields
- Rules for when and how processes send respond
to messages
- Public-domain protocols
- defined in RFCs
- allows for interoperability
- e.g., HTTP, SMTP
- Proprietary protocols
- e.g., KaZaA
28What Transport Service Does an Application Need?
- Data loss
- some apps (e.g., audio) can tolerate some loss
- other apps (e.g., file transfer, telnet) require
100 reliable data transfer
- Bandwidth
- some apps (e.g., multimedia) require minimum
amount of bandwidth to be effective - other apps (elastic apps) make use of whatever
bandwidth they get
- Timing
- some apps (e.g., Internet telephony, interactive
games) require low delay to be effective
29Exercise
- A system has an n-layer protocol hierarchy.
Applications generate messages of length M bytes.
At each of the layers, an h-byte header is added.
What fraction of the network bandwidth is filled
with headers?