1. Introduction to the Internet 1. Computer Networks 2. The Internet 3. Part of the Internet 4. Packet Switching 5. History of the Internet 6. Growth of the Internet 7. Communication Protocols 8. Protocols and Layering 9. TCP/IP 5-layer Reference Model 10. TCP/IP layers with some protocols 11. Data Passing Through Layers 12. Headers and Layers 13. Internet Communication Paradigms 14. Connection-Oriented Communication 15. Client-Server Model 16. Client Software 17. Server Software 18. Server Identification 19. Service Identification 20. Client-Server Interaction 21. A specific example 1.1. Computer Networks computer networks are everywhere they form an essential part of our infrastructure used o at home o at work o by governments o on the move o ... there are many different types of networks and standards we will concentrate on the Internet
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
1. Introduction to the Internet
1. Computer Networks
2. The Internet
3. Part of the Internet
4. Packet Switching
5. History of the Internet
6. Growth of the Internet
7. Communication Protocols
8. Protocols and Layering
9. TCP/IP 5-layer Reference Model
10. TCP/IP layers with some protocols
11. Data Passing Through Layers
12. Headers and Layers
13. Internet Communication Paradigms
14. Connection-Oriented Communication
15. Client-Server Model
16. Client Software
17. Server Software
18. Server Identification
19. Service Identification
20. Client-Server Interaction
21. A specific example
1.1. Computer Networks
computer networks are everywhere
they form an essential part of our infrastructure
used
o at home
o at work
o by governments
o on the move
o ...
there are many different types of networks and standards
we will concentrate on the Internet
1.2. The Internet
(the above is a very old figure showing an internet)
each ellipse represents a network connecting a number of computers
directly
an internet is a federation of computer networks, connected by routers
the Internet is the world-wide federation of packet-switched networks
running TCP/IP
important applications include email and the World Wide Web (WWW)
1.3. Part of the Internet
(the above figure is taken from the book by Kurose and Ross)
1.4. Packet Switching
early communication networks evolved from telephone systems
used physical pair of wires between two parties to form a
dedicated circuit
circuit switching was the task of deciding which circuit to use when two
parties wanted to communicate
the circuit is reserved for the two parties during communication
so it is not available to other parties
the Internet uses packet switching which is considered more efficient
packet switching
o divides data into small blocks, called packets
o allows multiple users to share a network
o includes identification of the intended recipient in each packet
o devices throughout the network each have information about how
to reach each possible destination
1.5. History of the Internet
(1957) Advanced Research Projects Agency (ARPA) established by US
Department of Defense
(1968-9) first packet-switching networks
(1972) Telnet
(1973) File Transfer Protocol (FTP); ARPANET goes international:
o University College, London (UK)
o Royal Radar Establishment (Norway)
(1974) design of TCP (Transmission Control Protocol)
(1977) email
(1982) TCP and IP (Internet Protocol) used for ARPANET
(1984) DNS (Domain Name Service) introduced
(1991) WWW released
1.6. Growth of the Internet
1.7. Communication Protocols
communication always involves at least two entities
o one that sends information and another that receives it
all entities in a network must agree on how information will be
represented and communicated
o the way that electrical signals are used to represent data
o procedures used to initiate and conduct communication
o the format of messages
all communicating parties follow the same set of rules, a set
of specifications
a specification for network communication is called a
communication protocol
1.8. Protocols and Layering
computer networks are complex systems including both hardware and
software
rather than a single, huge specification for all possible forms of
communication, designers divide the communication problem into
subparts, called layers
the interfaces between the layers are defined by protocols
layers provide for modularity, making implementation and changes
easier
the combination of layers is sometimes called a protocol stack
1.9. TCP/IP 5-layer Reference Model
physical layer corresponds to the basic network hardware
network interface, or link, layer specifies how data is divided into
packets
Internet layer specifies how packets are forwarded to
particular machines over the Internet, using the Internet Protocol (IP)
transport layer specifies how to communicate with
particular processes on machines, using the Transmission Control
Protocol (TCP) or User Datagram Protocol (UDP)
application layer specifies how applications use the Internet, and
includes protocols such as the HyperText Transfer Protocol (HTTP) and
the Domain Name System (DNS)
1.10. TCP/IP layers with some protocols
1.11. Data Passing Through Layers
1.12. Headers and Layers
1.13. Internet Communication Paradigms
Internet supports two basic communication paradigms:
o stream paradigm
o message paradigm
stream paradigm message paradigm
connection-oriented connectionless
one-to-one communication many-to-many communication
sequence of individual bytes sequence of individual messages
arbitrary length transfer each message limited to 64 Kbytes
used by most applications used for multimedia applications
built on TCP protocol built on UDP protocol
we will focus on the stream paradigm
1.14. Connection-Oriented Communication
Internet stream service is connection-oriented
two applications must request that a connection be created
once it has been established, the connection allows the applications to
send data in either direction
finally, when they finish communicating, the applications request that
the connection be terminated
1.15. Client-Server Model
server application client application
starts first starts second
does not need to know which client will
contact it must know which server to contact
waits passively and arbitrarily long for
contact from a client
initiates contact whenever communication is
needed
communicates with a client by both sending
and receiving data
communicates with a server by both sending
and receiving data
stays running after servicing one client, and
waits for another may terminate after interacting with a server
1.16. Client Software
is an arbitrary application program that becomes a client temporarily
when remote access is needed, but also performs other computation
is invoked directly by a user, and executes only for one session
runs locally on a user's personal computer
actively initiates contact with a server
can access multiple services as needed, but usually contacts one remote
server at a time
does not require especially powerful computer hardware
1.17. Server Software
is a special-purpose, privileged program
is dedicated to providing one service that can handle multiple remote
clients at the same time
is invoked automatically when a system boots, and continues to execute
through many sessions
runs on a large, powerful computer
waits passively for contact from arbitrary remote clients
accepts contact from arbitrary clients, but offers a single service
requires powerful hardware and a sophisticated operating system (OS)
1.18. Server Identification
Internet protocols divide identification into two pieces:
o an identifier for the computer on which a server runs
o an identifier for a service on the computer
identifying a computer
o each computer on the Internet is assigned a unique 32-
bit identifier known as an Internet Protocol address (IP address)
o 4 bytes written as n1.n2.n3.n4 where each ni is a decimal number,
e.g., 18.23.0.22
o a client must specify the server's IP address
o to make server identification easy for humans, each computer is
also assigned a name, and the Domain Name System (DNS) is
used to translate a name into an address
o thus, a user specifies a name such as www.dcs.bbk.ac.uk rather
than an integer address
1.19. Service Identification
each service available in the Internet is assigned a unique 16-
bit identifier known as a protocol port number (or port number)
o examples: email -> port number 25, and the web -> port number
80
when a server begins execution
o it registers with its local OS by specifying the port number for its
service
when a client contacts a remote server to request service
o the request contains a port number
when a request arrives at a server computer
o software on the server uses the port number in the request to
determine which application on the server computer should handle
the request
1.20. Client-Server Interaction
following diagram illustrates client-server interaction
o client on the left
o server on the right
1.21. A specific example
suppose I want to retrieve a web page from www.w3.org
my browser will use DNS to find the IP address 128.30.52.37
my browser will compose a message based on HTTP asking to get the
page
HTTP will ask TCP to connect to port 80 on 128.30.52.37
TCP will ask IP to send the message to 128.30.52.37
IP will send the message to a router on the local network
this router will send the message to another router
...
the router on the local network for 128.30.52.37 will receive the
message
it will send the message to 128.30.52.37
IP will receive it and pass it up to TCP
TCP will see that it is for port 80 and will pass it to the web server
process
the web server will interpret the HTTP and send the page to my browser
2. Internet Applications
1. Representation and Transfer
2. Web Protocols
3. Some Other Application Layer Protocols
4. Uniform Resource Identifiers (URIs)
5. Uniform Resource Locators (URLs)
6. URL schemes
7. Escaping Special URI characters
8. Domain Name System (DNS)
9. DNS Design
10. Top-Level Domains
11. DNS Server Hierarchy
12. DNS Server Model
13. Name Resolution
14. URIs, URNs and URLs
15. Uniform Resource Names (URNs)
16. Internet Electronic mail
17. Sending e-mail
18. Example SMTP Session
19. Email Representation Standards
20. Multi-purpose Internet Mail Extensions (MIME)
21. MIME Headers
22. Base64 Encoding
2.1. Representation and Transfer
application-layer protocols specify two aspects of interaction
o representation
o transfer
representation:
o syntax of data items exchanged
o specific form during transfer
o translation of integers, characters and files between computers
transfer:
o interaction between client and server
o message syntax and semantics
o valid and invalid exchange
o error handling
o termination of interaction
2.2. Web Protocols
World Wide Web (WWW) is one of the most widely used services on
the Internet
major WWW standards are
o HyperText Markup Language (HTML): representation standard
specifying contents and layout of a web page
o Uniform Resource Identifier (URI): representation standard
specifying format and meaning of web page identifiers
o HyperText Transfer Protocol (HTTP): transfer protocol specifying
how a browser interacts with a web server
2.3. Some Other Application Layer Protocols
telnet (for remote login)
o defined in RFC 318 (1972)
ftp (file transfer protocol)
o defined in RFC 454 (1973)
email protocols
o SMTP (Simple Mail Transfer Protocol)
o POP3 (Post Office Protocol version 3)
o IMAP4 (Internet Mail Access Protocol)
DNS (Domain Name System)
o defined in RFC 1034 and RFC 1035 (1987)
RTP (Real-time Transfer Protocol) for audio and video
o defined in RFC 3550 (2003)
2.4. Uniform Resource Identifiers (URIs)
a Uniform Resource Identifier (URI) is a unique identifier for identifying
a resource on the internet
basic syntax is:
scheme ":" scheme-specific-part
where
o scheme identifies a naming scheme, e.g., http
o scheme-specific-part identifies resource in some way specific to