SlideShare a Scribd company logo
1
1 tohttps://github.com/syaifulahdan/
DATA COMMUNICATION
Protocol Architecture: TCP/IP model and OSI Model
Data Communications and Networking
 The need for a protocol architecture
 TCP/IP protocol architecture
 OSI model
Reading:
Book Chapter 2
Data and Computer Communications, 8th edition
By William Stallings
Data Communications and
Networking
Chapter 2
Protocol Architecture:
TCP/IP model and OSI Model
Reading:
Book Chapter 2
Data and Computer Communications, 8th edition
By William Stallings
2
3
3 tohttps://github.com/syaifulahdan/
Outline
• Section 1: The need for a protocol architecture
• Section 2: TCP/IP protocol architecture
• Section 3: OSI model
• Learning outcomes:
—Describe the network protocol architectures and
reference models
3
4
4 tohttps://github.com/syaifulahdan/
Section 1
The Need for a Protocol Architecture
4
5
5 tohttps://github.com/syaifulahdan/
What is a protocol?
• From dictionary:
—A general definition:
the accepted or established code of procedure or
behavior in any group, organization, or situation
—For computing:
set of rules governing the exchange or
transmission of data electronically between devices
5
6
6 tohttps://github.com/syaifulahdan/
Protocol
• To perform a task, the involved parties usually follow
a common protocol designed for this task
—The protocol is just a set of rules or conventions
—Different tasks use different protocols
• Some key features of a protocol
—Syntax
• Concerns the format of the data blocks
—Semantics
• Includes control information for coordination and error handling
—Timing
• Includes speed matching and sequencing
6
7
7 tohttps://github.com/syaifulahdan/
Examples of Protocol
• Two protocols will be studied in your first lab
— HTTP is the protocol used for browsing website
• Web browser <----> Web server
• http://www.youtube.com/watch?v=1IQFjTnDozo&feature=related
— SMTP is the protocol used for sending emails
• Email client software < ---- > SMTP server
• A new application usually uses a new protocol, e.g. BitTorrent protocol:
http://en.wikipedia.org/wiki/BitTorrent_(protocol)
• TCP is a protocol used by Internet hosts for reliable data transmission
— Recall that Internet packets could be lost inside the Internet
• IEEE 802.11 is the protocol used in WiFi
— How to coordinate a number of wireless devices within a WiFi network?
7
8
8 tohttps://github.com/syaifulahdan/
Need For Protocol Architecture
• There are lots of network applications
• Building each application from scratch is very time-
consuming and challenging
—What commands should be supported?
—How to respond to each command?
—How to identify the two peer applications?
• Each computer may run multiple applications!
—How to identify the two computers?
—How to convert the data into bit stream?
—How to convert the bit stream into signals?
—How to detect and handle data loss and data error?
• The network is not perfect!
—Etc.
8
9
9 tohttps://github.com/syaifulahdan/
(Cont.)
• Most of the network apps share some
common modules
Application A
Module A
Module T
Module I
Module N
Module P
Application B
Module B
Module T
Module I
Module N
Module P
Application C
Module C
Module T
Module I
Module N
Module P
Common
modules
9
10
10 tohttps://github.com/syaifulahdan/
(Cont.)
• A complex task is broken into subtasks: modular
design
—Each subtask is implemented separately as a layer, arranged
in a vertical stack
• Each layer performs a related subset of the functions
required to communicate with another system.
—It relies on the next lower layer to perform more primitive
functions and to conceal the details of those functions.
—It provides services to the next higher layer.
—Layers should be defined so that changes in one layer do
not require changes in other layers.
• So, instead of using a single complex protocol, it’s
more flexible to implement a stack of protocols!
—Reduce the design and development workload significantly!
10
11
11 tohttps://github.com/syaifulahdan/
Vertical Stack
Application A
Module A
Module T
Module I
Module N
Module P
Application B
Module B Module C
Application C
Module W
can be replaced by
other modules
Application developers
Operating System
Hardware
11
12
12 tohttps://github.com/syaifulahdan/
Example
• E.g., A can only speak Chinese, B can only
speak Spanish, how can A communicate with
B?
—A finds a translator C, who can speak Chinese and
English
—B finds a translator D, who can speak Spanish and
English
• Two layers:
—Higher layer: A and B
—Lower layer: C and D
12
13
13 tohttps://github.com/syaifulahdan/
A Two-layer example
messages
in Chinese
messages in English
messages
in Spanish
How to communicate?
A
C
B
D
Higher
Layer
Lower
Layer
Lower layer provides services to the next higher layer. 13
14
14 tohttps://github.com/syaifulahdan/
Section 2
TCP/IP Protocol Architecture
14
15
15 tohttps://github.com/syaifulahdan/
Protocol Architecture
• Tasks of communications are broken up into modules
—Each module (or layer) can have its own protocol
• In very general terms, communications can be said to
involve three components: applications, computers,
and networks.
• For example, file transfer could use three modules
(or layers)
—File transfer application
—Communications service module
—Network access module
• The stack of protocols is called “Protocol Stack”
—Or Protocol Architecture
15
16
16 tohttps://github.com/syaifulahdan/
TCP/IP Protocol Architecture
• Developed by the US Defense Advanced Research Project Agency
(DARPA) for its packet switched network (ARPANET)
• Used by the global Internet
• It consists of a large collection of protocols that have been
issued as Internet standard by the Internet Architecture Board
(IAB).
— Check http://www.ietf.org/rfc/rfc2026.txt
• The TCP/IP protocol architecture organizes the communication
task into five relatively independent layers:
— Layer 5: Application layer
— Layer 4: Transport layer, or Host to host (TCP belongs to this
layer)
— Layer 3: Internet layer, or Network layer (IP belongs to this layer)
— Layer 2: Network access layer, or Link layer
— Layer 1: Physical layer
• Remark: Each layer can have lots of different protocols!
16
17
17 tohttps://github.com/syaifulahdan/
Example
• World Wide Web
—Replies on the HTTP protocol
Web browser
HTTP
TCP
IP
IEEE 802.11
IEEE
802.11g
Web server
HTTP
TCP
IP
IEEE 802.3
IEEE 802.3
1000BASE-SXLayer 1
Layer 2
Layer 3
Layer 4
Layer 5
17
18
18 tohttps://github.com/syaifulahdan/
Benefit of layering
• The most challenging problem: how to
provide a reliable data transfer service on top
of an unreliable data network?
—This problem is so important that today’s
Operating Systems all provide such reliable
service.
• The burden of network application developers
has been reduced significantly!
—Hence the application developers can simply focus
on the application layer issues.
—We can easily develop thousands of network
applications.
18
19
19 tohttps://github.com/syaifulahdan/
Physical Layer
• The job of physical layer is to send individual bits
from one node to a directly connected node.
—Address the communications issue
• The physical layer also covers the physical interface
between a data transmission device (e.g., computer)
and a transmission medium or network.
• It is concerned with specifying characteristics of the
transmission medium, the nature of the signals, the
data rate, and related matters.
• Examples:
—Ethernet has many physical layer protocols: one for twisted-
pair copper wire, another one for coaxial cable, some others
for optical fiber, and so on.
—IEEE 802.11b, 802.11a, 802.11g are different physical
protocols for Wireless LAN, each with different transmission
capabilities.
19
20
20 tohttps://github.com/syaifulahdan/
Network Access Layer
• It is also called “Link layer”.
• It solves the problem of exchanging data between two or more
directly connected devices (computers, switches, routers, etc).
The link layer packets are usually referred to as frames.
— Point-to-point communications
— Multiple access communications
• The services provided by network access layer depend on the
specific link-layer protocol that is employed over the link.
• Issues to be addressed:
— Reliability (error detection and error correction)
— Priority (some data may be more important than others)
— Addressing (for multiple access)
• Examples of link layer protocols:
— Point-to-point Protocol (PPP)
— Ethernet: IEEE 802.3
— Wireless LAN: IEEE 802.11
Point-to-point
Multiple access
20
21
21 tohttps://github.com/syaifulahdan/
Internet Layer (IP)
• IP layer is responsible for moving network layer
packets known as datagrams from one host to
another.
—Main challenge: how to find a path from the source to the
destination?
• Two principal components:
—IP protocol: defines the format of the datagram, and how
the end systems and routers act on the datagram.
[http://www.ietf.org/rfc/rfc0791.txt ]
—Routing protocols: determine the routes that datagrams take
between sources and destinations. The Internet uses many
routing protocols.
• The Internet layer routes a datagram through a series
of packet switches called routers between source and
destination.
21
22
22 tohttps://github.com/syaifulahdan/
Postal System
To: Mr. Jacky Chan
No. 123, XX Road,
XXX, USA
22
23
23 tohttps://github.com/syaifulahdan/
Inside Postal System
Local Post Office (Kowloon Tong)
Central Post Office (Hong Kong)
Local Post Office (Tseung Kwan O)
Central Post Office (Beijing)Central Post Office (New York)
The delivery of
your package
depends on the
postal address.
23
24
24 tohttps://github.com/syaifulahdan/
What are the main functions of
Internet layer?
• Ultimate purpose: to provide a best-effort, connectionless, or datagram service
between end systems
— A host can send packets to any other host on the Internet
— Best-effort: No guarantee of packet delivery. Packets could be lost, contain errors, or
out-of-order.
• How to achieve the purpose?
— Addressing:
• Every host needs to have a unique IP address
• E.g., 158.182.6.41 is the IP address of our cslinux1 server.
— Networking
• It’s not possible to connect any two hosts directly, therefore we need some “switches” to help.
These “switches” are called IP Routers.
• E.g., if host A wants to send a packet to host B:
1. If A and B are in the same network:
— A can send the packet to B directly, without going through a router
2. If A and B are in different networks (very likely!):
— Condition: A must be connected to a router R1, B must be connected to a router R2, R1 may
not be connected to R2 directly, but R1 must be able to talk to R2 (through other routers)
— A first sends the packet to R1
— R1 helps to send the packet to R2 (this is a core part of the Internet layer) by checking the
destination IP address (i.e., B’s IP address) contained in the IP packet
— R2 sends the packet to B
24
25
25 tohttps://github.com/syaifulahdan/
IP Operation
LLC and MAC
are sub-layers of
Layer 2.
25
26
26 tohttps://github.com/syaifulahdan/
IP Address
• IPv4 address: 32-bit
• Dotted decimal notation
—192.5.48.3 <--> 11000000 00000101 00110000 00000011
• Each IP packet includes the source IP address and
the destination IP address
—So that the routers know how to forward
• Normally, we can think of a 32-bit IP address as
having an network portion and local portion, where
the network portion identifies a network, and the
local portion identifies a host in that network.
—E.g., in IP address 158.182.7.15
• 158.182.7 identifies a network of COMP department
• 15 identifies a PC in the network
26
27
27 tohttps://github.com/syaifulahdan/
Routers
• Routers are responsible for receiving and forwarding packets
through the interconnected set of networks.
— Each router is connected with a number of other routers.
— Routers use buffer to store the incoming packets.
— Incoming packets could be dropped if the buffer is too full.
• Each router makes routing decision based on a routing table.
— Where to send out each IP packet?
— Solution: make a search in the routing table based on the
destination IP address
• How to build up the routing table?
— Static method: input by network administrators
— Automatic method: by using routing protocols
• Routers exchange routing information using a special routing protocol
to build routing tables.
• We will learn the principles of routing protocols in this subject.
27
28
28 tohttps://github.com/syaifulahdan/
Example of a Routing Table
A
B C
D E
Network ID Next Hop
18.x.x.x B
21.x.x.x C
145.26.x.x D
212.134.7.x E
Routing table at router A:
18.x.x.x
145.26.x.x
212.134.7.x
F
21.x.x.x
G
28
29
29 tohttps://github.com/syaifulahdan/
Transport Layer
• How do software developers write network application
programs?
— They make use of the services provided by Transport Layer, which
is normally part of the Operating System.
— In fact, TCP/IP is indispensable for all the contemporary Operating
Systems (even for small devices like PDA or smart phone!).
• Transport layer transports application-layer messages between
the client application and the server application.
— Today’s multi-task computer can have a number of simultaneous
applications. One task of Transport layer is to differentiate the data
from/to different applications.
— Another possible task of transport layer is to provide reliability.
• Make the life of application developers much easier!
• How does Transport layer send out the message?
— Divide the message into packets
— Use the Internet Layer to send out each packet
29
30
30 tohttps://github.com/syaifulahdan/
Overview of TCP and UDP
• Two most commonly used transport protocols: TCP and UDP
• TCP:Transmission Control Protocol [http://www.ietf.org/rfc/rfc793.txt
]
— connection-oriented
• Temporary logical association between entities in different systems
— Provides reliable data transmission service
— Includes source and destination port numbers
• Identify respective applications
• A connection refers to a pair of ports
— The data are organized into TCP segments
• UDP: User Datagram Protocol [ http://www.ietf.org/rfc/rfc768.txt ]
— Lacks of reliability
• No guaranteed data delivery
• No preservation of sequence
• No protection against duplication
— With minimum overhead
— Includes source and destination port
• An Internet application needs to choose either TCP or UDP. 30
31
31 tohttps://github.com/syaifulahdan/
UDP
• User Datagram Protocol
—Defined in RFC 768
—http://www.ietf.org/rfc/rfc768.txt
• The UDP provides an unreliable
connectionless delivery service using IP to
transport messages between machines.
—Because IP is unreliable
—An application program the uses UDP needs to
handle the problem of reliability, including
message loss, duplication, delay, out-of-order
delivery, etc.
31
32
32 tohttps://github.com/syaifulahdan/
UDP Ports:
multiplexing and demultiplexing
• Today’s operating systems support multi-processing,
i.e., a number of applications can run
simultaneously.
• Multiplexing:
—Each application program using UDP to send out data must
first negotiate with the operating system to obtain a UDP
port.
—Any datagram the application program sends through the
port will have that port number in its UDP packet.
• Demultiplexing:
—UDP accepts incoming datagrams from the IP module, and
demultiplexes based on the UDP destination port.
32
33
33 tohttps://github.com/syaifulahdan/
UDP Applications
• UDP’s advantages
—Finer application-level control over what data is sent, and
when
—No connection establishment: saves time!
—No connection state
—Small packet header overhead: only 8 bytes
—Can support multicast
• Disadvantage: UDP is unreliable
• Applications using UDP:
—Streaming multimedia
—Internet Telephony
—Network management
—Routing protocols
—DNS
33
34
34 tohttps://github.com/syaifulahdan/
TCP
• RFC 793
— http://www.ietf.org/rfc/rfc793.txt
• TCP provides reliable communication between pairs of processes (by
using positive acknowledgement with retransmission).
— No data loss, no error, no out-of-order (from the application’s point of
view).
— TCP uses the idea of retransmission to recover packet loss.
• TCP is connection-oriented stream service.
— From the hosts’ point of view, two applications need to “setup” a TCP
connection (like virtual circuit) before they use TCP to exchange data.
• But from the network’s point of view, they are still processing normal IP packets.
Routers don’t distinguish between UDP packets and TCP packets.
— TCP connection is full-duplex.
— A TCP connection is recognized by (IPs, IPD, Ports, PortD, “TCP” )
— TCP only supports point-to-point communication between TWO hosts. It
cannot support multicast or broadcast which can be supported by UDP.
— Data is regarded as byte stream. The TCP must deliver exactly the same
sequence of bytes to the receiver application, though the IP packets may
arrive out of order.
— The stream is unstructured. There is no record boundaries.
34
35
35 tohttps://github.com/syaifulahdan/
TCP/IP Concepts
35
36
36 tohttps://github.com/syaifulahdan/
TCP segment
• A TCP application generates data as a byte
stream.
• TCP module receives some bytes from the
byte stream, then composes a TCP segment
by adding a TCP header, then sends the
segment to IP module.
• The size of TCP header is at least 20 octets.
—TCP header can have some options.
36
37
37 tohttps://github.com/syaifulahdan/
TCP
• TCP is the most complicated protocol in
Internet. It is evolving all the time.
• More than 90% of today’s Internet traffic are
TCP. It has very wide applications.
• You need to take another course to learn the
details of TCP/IP:
—COMP3040: Internet & the World Wide Web
37
38
38 tohttps://github.com/syaifulahdan/
Application Layer
• Contains the logic needed to support the user applications
• Usually, each type of application needs to have one or more protocols.
• E.g.
— Email applications
• Sending email -- smtp: [http://www.ietf.org/rfc/rfc821.txt]
• Accessing email -- pop3: [http://www.ietf.org/rfc/rfc1939.txt]
— telnet
• [http://www.ietf.org/rfc/rfc854.txt]
— File transfer
• FTP: File transfer protocol, [http://www.ietf.org/rfc/rfc959.txt]
— Web application
• HTTP/1.0: [http://www.ietf.org/rfc/rfc1945.txt]
• HTTP/1.1: [http://www.ietf.org/rfc/rfc2616.txt]
— P2P file sharing
• Lots of different protocols, like BitTorrent, eDonkey
• You can design and implement your own!
38
39
39 tohttps://github.com/syaifulahdan/
Some Protocols in TCP/IP Suite
39
40
40 tohttps://github.com/syaifulahdan/
Addressing Issue
• “Address” is used to identify an object
— It is common to use several addresses together to identify an object
• Process level address: to identify a process
— Port number (TCP/UDP)
• Network level address: to identify a host
— IP address (IP)
— Unique IP address for each end system (computer) and router. A
router has more than one IP addresses, each for a different
interface.
• Link level address: to identify a network card
— Physical address (MAC address)
• On Windows XP DOS prompt, type:
— C:>ipconfig /all
— C:>netstat -a
40
41
41 tohttps://github.com/syaifulahdan/
Trace of Simple Operation
• Process associated with port 1 in host A wants to
send message to port 2 in host B
—Process at A hands down message to TCP module, with
instructions to send it to host B, port 2
—TCP appends a TCP header, hands down to IP module to
send to host B, with instructions to send it to host B
—IP appends an IP header, hands down to network access
layer (e.g. Ethernet) to send to router J, with instructions to
send it to router J
—Network access layer appends link header, sends out the bits
to the connected router J through the network interface
—At router J, the link header is stripped off and the IP
header examined. From the IP header, router J knows that
this packet is destined to host B, and actions accordingly.
41
42
42 tohttps://github.com/syaifulahdan/
Protocol Data Units (PDUs)
in TCP/IP Architecture
42
43
43 tohttps://github.com/syaifulahdan/
Section 3
The OSI Model
43
44
44 tohttps://github.com/syaifulahdan/
OSI Reference Model
• OSI: Open Systems Interconnection
• It was developed by the International
Organization for Standardization (ISO),
starting from 1977.
• Seven layers later, OSI was published as ISO
standard, ISO 7498, in 1984.
• A theoretical system delivered too late!
• TCP/IP has become the de facto standard for
data communications.
44
45
45 tohttps://github.com/syaifulahdan/
OSI - The Model
• A layer model
—Each layer performs a related subset of the functions
required to communicate with another system.
—Each layer relies on the next lower layer to perform more
primitive functions and to conceal the details of those
functions.
—Each layer provides services to the next higher layer.
—Ideally, changes in one layer do not require changes in
other layers.
• The task of ISO was to define a set of layers and the
services performed by each layer.
—The partitioning should group functions logically and should
have enough layers to make each layer manageably small,
but should not have so many layers that the processing
overhead is burdensome.
45
46
46 tohttps://github.com/syaifulahdan/
OSI Layers
Seven layers have been
defined in OSI architecture.
46
47
47 tohttps://github.com/syaifulahdan/
The OSI Environment
47
48
48 tohttps://github.com/syaifulahdan/
OSI Layers (1)
• Physical Layer
—Physical interface between devices
• Mechanical
• Electrical
• Functional
• Procedural
• Data Link Layer
—Means of activating, maintaining and deactivating
a reliable link
—Error detection and control
—Higher layers may assume error free transmission
48
49
49 tohttps://github.com/syaifulahdan/
OSI Layers (2)
• Network Layer
—Transport of information
—Higher layers do not need to know about underlying
technology
—Not needed on direct links
• Transport Layer
—Exchange of data between end systems
—Error free
—In sequence
—No losses
—No duplicates
—Quality of service
49
50
50 tohttps://github.com/syaifulahdan/
Network layer: use of a Relay
50
51
51 tohttps://github.com/syaifulahdan/
OSI Layers (3)
• Session Layer
—Control of dialogues between applications
—Dialogue discipline
—Grouping
—Recovery
• Presentation Layer
—Data formats and coding
—Data compression
—Encryption
• Application Layer
—Means for applications to access OSI environment
51
52
52 tohttps://github.com/syaifulahdan/
OSI v TCP/IP
52
53
53 tohttps://github.com/syaifulahdan/
KEY POINTS
• A protocol architecture is the layered structure of
hardware and software that supports the exchange of
data between systems and supports distributed
applications, such as electronic mail and file transfer.
• At each layer of a protocol architecture, one or more
common protocols are implemented in communicating
systems. Each protocol provides a set of rules for the
exchange of data between systems.
• The most widely used protocol architecture is the
TCP/IP protocol suite, which consists of the following
layers: physical, network access, internet, transport,
and application.
• Another important protocol architecture is the seven-
layer Open Systems Interconnection (OSI) model.
53

More Related Content

What's hot

TCP-IP Reference Model
TCP-IP Reference ModelTCP-IP Reference Model
TCP-IP Reference ModelMukesh Tekwani
 
Computer network switching
Computer network switchingComputer network switching
Computer network switchingShivani Godha
 
TCP/IP Protocols With All Layer Description
TCP/IP Protocols With All Layer DescriptionTCP/IP Protocols With All Layer Description
TCP/IP Protocols With All Layer DescriptionShubham Khedekar
 
Presentation Routing algorithm
Presentation Routing algorithmPresentation Routing algorithm
Presentation Routing algorithmBasit Hussain
 
OSI and TCPIP Model
OSI and TCPIP ModelOSI and TCPIP Model
OSI and TCPIP ModelTapan Khilar
 
Circuit and packet_switching
Circuit and packet_switchingCircuit and packet_switching
Circuit and packet_switchinghoanv
 
MEDIUM ACCESS CONTROL
MEDIUM ACCESS CONTROLMEDIUM ACCESS CONTROL
MEDIUM ACCESS CONTROLjunnubabu
 
Internet control message protocol
Internet control message protocolInternet control message protocol
Internet control message protocolasimnawaz54
 
Unicasting , Broadcasting And Multicasting New
Unicasting , Broadcasting And Multicasting NewUnicasting , Broadcasting And Multicasting New
Unicasting , Broadcasting And Multicasting Newtechbed
 
OSI model and TCP/IP model
OSI model and TCP/IP modelOSI model and TCP/IP model
OSI model and TCP/IP modelRubal Sagwal
 
communication-protocols
 communication-protocols communication-protocols
communication-protocolsAli Kamil
 
Introduction to TCP/IP
Introduction to TCP/IPIntroduction to TCP/IP
Introduction to TCP/IPMichael Lamont
 

What's hot (20)

TCP-IP Reference Model
TCP-IP Reference ModelTCP-IP Reference Model
TCP-IP Reference Model
 
Computer network switching
Computer network switchingComputer network switching
Computer network switching
 
Osi model
Osi modelOsi model
Osi model
 
TCP/IP Protocols With All Layer Description
TCP/IP Protocols With All Layer DescriptionTCP/IP Protocols With All Layer Description
TCP/IP Protocols With All Layer Description
 
Layered Architecture
Layered ArchitectureLayered Architecture
Layered Architecture
 
Presentation Routing algorithm
Presentation Routing algorithmPresentation Routing algorithm
Presentation Routing algorithm
 
Data link layer
Data link layer Data link layer
Data link layer
 
OSI and TCPIP Model
OSI and TCPIP ModelOSI and TCPIP Model
OSI and TCPIP Model
 
Circuit and packet_switching
Circuit and packet_switchingCircuit and packet_switching
Circuit and packet_switching
 
Application layer protocols
Application layer protocolsApplication layer protocols
Application layer protocols
 
MEDIUM ACCESS CONTROL
MEDIUM ACCESS CONTROLMEDIUM ACCESS CONTROL
MEDIUM ACCESS CONTROL
 
OSI Model
OSI ModelOSI Model
OSI Model
 
Internet control message protocol
Internet control message protocolInternet control message protocol
Internet control message protocol
 
Bridging in Networking
Bridging in NetworkingBridging in Networking
Bridging in Networking
 
Unicasting , Broadcasting And Multicasting New
Unicasting , Broadcasting And Multicasting NewUnicasting , Broadcasting And Multicasting New
Unicasting , Broadcasting And Multicasting New
 
OSI model and TCP/IP model
OSI model and TCP/IP modelOSI model and TCP/IP model
OSI model and TCP/IP model
 
Tcp IP Model
Tcp IP ModelTcp IP Model
Tcp IP Model
 
Tcp/ip model
Tcp/ip  modelTcp/ip  model
Tcp/ip model
 
communication-protocols
 communication-protocols communication-protocols
communication-protocols
 
Introduction to TCP/IP
Introduction to TCP/IPIntroduction to TCP/IP
Introduction to TCP/IP
 

Similar to Dc ch02 : protocol architecture

Slides for protocol layering and network applications
Slides for protocol layering and network applicationsSlides for protocol layering and network applications
Slides for protocol layering and network applicationsjajinekkanti
 
Computer network coe351- part2- final
Computer network coe351- part2- finalComputer network coe351- part2- final
Computer network coe351- part2- finalTaymoor Nazmy
 
Topic02-Architecture.pptx
Topic02-Architecture.pptxTopic02-Architecture.pptx
Topic02-Architecture.pptxImXaib
 
Network protocols and Java programming
Network protocols and Java programmingNetwork protocols and Java programming
Network protocols and Java programmingdifatta
 
Unit 2 ppt-idc
Unit 2 ppt-idcUnit 2 ppt-idc
Unit 2 ppt-idchiya123jes
 
Datacom_Section_2_-_Protocols.ppt
Datacom_Section_2_-_Protocols.pptDatacom_Section_2_-_Protocols.ppt
Datacom_Section_2_-_Protocols.pptKristopher Hefner
 
Net essentials6e ch6
Net essentials6e ch6Net essentials6e ch6
Net essentials6e ch6APSU
 
1. RINA motivation - TF Workshop
1. RINA motivation - TF Workshop1. RINA motivation - TF Workshop
1. RINA motivation - TF WorkshopARCFIRE ICT
 
Web Services for the Internet of Things
Web Services for the Internet of ThingsWeb Services for the Internet of Things
Web Services for the Internet of ThingsMarkku Laine
 
02 protocols and tcp-ip
02 protocols and tcp-ip02 protocols and tcp-ip
02 protocols and tcp-ipkashish0313
 
Culturally Responsive Literacy Resources Template Part 1.docx
Culturally Responsive Literacy Resources Template Part 1.docxCulturally Responsive Literacy Resources Template Part 1.docx
Culturally Responsive Literacy Resources Template Part 1.docxdorishigh
 

Similar to Dc ch02 : protocol architecture (20)

clg_assgn.pptx
clg_assgn.pptxclg_assgn.pptx
clg_assgn.pptx
 
Slides for protocol layering and network applications
Slides for protocol layering and network applicationsSlides for protocol layering and network applications
Slides for protocol layering and network applications
 
Web technology unit I - Part B
Web technology unit I - Part BWeb technology unit I - Part B
Web technology unit I - Part B
 
Computer network coe351- part2- final
Computer network coe351- part2- finalComputer network coe351- part2- final
Computer network coe351- part2- final
 
6 osi vimp
6 osi vimp6 osi vimp
6 osi vimp
 
Topic02-Architecture.pptx
Topic02-Architecture.pptxTopic02-Architecture.pptx
Topic02-Architecture.pptx
 
Module 1 slides
Module 1 slidesModule 1 slides
Module 1 slides
 
Network protocols and Java programming
Network protocols and Java programmingNetwork protocols and Java programming
Network protocols and Java programming
 
Unit 2 ppt-idc
Unit 2 ppt-idcUnit 2 ppt-idc
Unit 2 ppt-idc
 
Datacom_Section_2_-_Protocols.ppt
Datacom_Section_2_-_Protocols.pptDatacom_Section_2_-_Protocols.ppt
Datacom_Section_2_-_Protocols.ppt
 
Net essentials6e ch6
Net essentials6e ch6Net essentials6e ch6
Net essentials6e ch6
 
1. RINA motivation - TF Workshop
1. RINA motivation - TF Workshop1. RINA motivation - TF Workshop
1. RINA motivation - TF Workshop
 
NP-lab-manual.docx
NP-lab-manual.docxNP-lab-manual.docx
NP-lab-manual.docx
 
NP-lab-manual (1).pdf
NP-lab-manual (1).pdfNP-lab-manual (1).pdf
NP-lab-manual (1).pdf
 
NP-lab-manual.pdf
NP-lab-manual.pdfNP-lab-manual.pdf
NP-lab-manual.pdf
 
Osi model
Osi modelOsi model
Osi model
 
Web Services for the Internet of Things
Web Services for the Internet of ThingsWeb Services for the Internet of Things
Web Services for the Internet of Things
 
02 protocols and tcp-ip
02 protocols and tcp-ip02 protocols and tcp-ip
02 protocols and tcp-ip
 
Culturally Responsive Literacy Resources Template Part 1.docx
Culturally Responsive Literacy Resources Template Part 1.docxCulturally Responsive Literacy Resources Template Part 1.docx
Culturally Responsive Literacy Resources Template Part 1.docx
 
Introduction to socket programming nbv
Introduction to socket programming nbvIntroduction to socket programming nbv
Introduction to socket programming nbv
 

More from Syaiful Ahdan

Sertifikat EC00202128391
 Sertifikat EC00202128391 Sertifikat EC00202128391
Sertifikat EC00202128391Syaiful Ahdan
 
SP2JPB - Aplikasi Sistem Pelayanan Pemesanan Jasa Perbaikan Pada Bengkel Alam...
SP2JPB - Aplikasi Sistem Pelayanan Pemesanan Jasa Perbaikan Pada Bengkel Alam...SP2JPB - Aplikasi Sistem Pelayanan Pemesanan Jasa Perbaikan Pada Bengkel Alam...
SP2JPB - Aplikasi Sistem Pelayanan Pemesanan Jasa Perbaikan Pada Bengkel Alam...Syaiful Ahdan
 
Sertifikat ec00202059774
Sertifikat ec00202059774Sertifikat ec00202059774
Sertifikat ec00202059774Syaiful Ahdan
 
Sertifikat ec00202059775
Sertifikat ec00202059775Sertifikat ec00202059775
Sertifikat ec00202059775Syaiful Ahdan
 
Sertifikat EC00202045078
Sertifikat EC00202045078Sertifikat EC00202045078
Sertifikat EC00202045078Syaiful Ahdan
 
Sertifikat EC00202044723
 Sertifikat EC00202044723 Sertifikat EC00202044723
Sertifikat EC00202044723Syaiful Ahdan
 
Sertifikat EC00202023523
Sertifikat EC00202023523Sertifikat EC00202023523
Sertifikat EC00202023523Syaiful Ahdan
 
Sertifikat EC00201826309
Sertifikat EC00201826309Sertifikat EC00201826309
Sertifikat EC00201826309Syaiful Ahdan
 
Sertifikat EC00202023149
Sertifikat EC00202023149Sertifikat EC00202023149
Sertifikat EC00202023149Syaiful Ahdan
 
Sertifikat EC00202022868
Sertifikat EC00202022868Sertifikat EC00202022868
Sertifikat EC00202022868Syaiful Ahdan
 
Sertifikat EC00202021343
Sertifikat EC00202021343Sertifikat EC00202021343
Sertifikat EC00202021343Syaiful Ahdan
 
Sertifikat EC00202022755
Sertifikat EC00202022755Sertifikat EC00202022755
Sertifikat EC00202022755Syaiful Ahdan
 
Sertifikat EC00201987196
Sertifikat EC00201987196Sertifikat EC00201987196
Sertifikat EC00201987196Syaiful Ahdan
 
Sertifikat EC00201856484
Sertifikat EC00201856484Sertifikat EC00201856484
Sertifikat EC00201856484Syaiful Ahdan
 
Sertifikat EC00201856352
Sertifikat EC00201856352Sertifikat EC00201856352
Sertifikat EC00201856352Syaiful Ahdan
 
Sertifikat EC00201856994
Sertifikat EC00201856994Sertifikat EC00201856994
Sertifikat EC00201856994Syaiful Ahdan
 
Sertifikat EC00201856895
Sertifikat EC00201856895Sertifikat EC00201856895
Sertifikat EC00201856895Syaiful Ahdan
 
Meeting 2 introdcution network administrator
Meeting 2   introdcution network administratorMeeting 2   introdcution network administrator
Meeting 2 introdcution network administratorSyaiful Ahdan
 

More from Syaiful Ahdan (20)

Sertifikat EC00202128391
 Sertifikat EC00202128391 Sertifikat EC00202128391
Sertifikat EC00202128391
 
SP2JPB - Aplikasi Sistem Pelayanan Pemesanan Jasa Perbaikan Pada Bengkel Alam...
SP2JPB - Aplikasi Sistem Pelayanan Pemesanan Jasa Perbaikan Pada Bengkel Alam...SP2JPB - Aplikasi Sistem Pelayanan Pemesanan Jasa Perbaikan Pada Bengkel Alam...
SP2JPB - Aplikasi Sistem Pelayanan Pemesanan Jasa Perbaikan Pada Bengkel Alam...
 
Sertifikat ec00202059774
Sertifikat ec00202059774Sertifikat ec00202059774
Sertifikat ec00202059774
 
Sertifikat ec00202059775
Sertifikat ec00202059775Sertifikat ec00202059775
Sertifikat ec00202059775
 
Sertifikat EC00202045078
Sertifikat EC00202045078Sertifikat EC00202045078
Sertifikat EC00202045078
 
Sertifikat EC00202044723
 Sertifikat EC00202044723 Sertifikat EC00202044723
Sertifikat EC00202044723
 
Sertifikat EC00202023523
Sertifikat EC00202023523Sertifikat EC00202023523
Sertifikat EC00202023523
 
Sertifikat EC00201826309
Sertifikat EC00201826309Sertifikat EC00201826309
Sertifikat EC00201826309
 
Sertifikat EC00202023149
Sertifikat EC00202023149Sertifikat EC00202023149
Sertifikat EC00202023149
 
Sertifikat EC00202022868
Sertifikat EC00202022868Sertifikat EC00202022868
Sertifikat EC00202022868
 
Sertifikat EC00202021343
Sertifikat EC00202021343Sertifikat EC00202021343
Sertifikat EC00202021343
 
Sertifikat EC00202022755
Sertifikat EC00202022755Sertifikat EC00202022755
Sertifikat EC00202022755
 
Sertifikat EC00201987196
Sertifikat EC00201987196Sertifikat EC00201987196
Sertifikat EC00201987196
 
Sertifikat EC00201856484
Sertifikat EC00201856484Sertifikat EC00201856484
Sertifikat EC00201856484
 
Sertifikat EC00201856352
Sertifikat EC00201856352Sertifikat EC00201856352
Sertifikat EC00201856352
 
Sertifikat EC00201856994
Sertifikat EC00201856994Sertifikat EC00201856994
Sertifikat EC00201856994
 
Sertifikat EC00201856895
Sertifikat EC00201856895Sertifikat EC00201856895
Sertifikat EC00201856895
 
Meeting 2 introdcution network administrator
Meeting 2   introdcution network administratorMeeting 2   introdcution network administrator
Meeting 2 introdcution network administrator
 
Pertemuan 5
Pertemuan 5Pertemuan 5
Pertemuan 5
 
Pertemuan 4
Pertemuan 4Pertemuan 4
Pertemuan 4
 

Recently uploaded

NLC-2024-Orientation-for-RO-SDO (1).pptx
NLC-2024-Orientation-for-RO-SDO (1).pptxNLC-2024-Orientation-for-RO-SDO (1).pptx
NLC-2024-Orientation-for-RO-SDO (1).pptxssuserbdd3e8
 
Salient features of Environment protection Act 1986.pptx
Salient features of Environment protection Act 1986.pptxSalient features of Environment protection Act 1986.pptx
Salient features of Environment protection Act 1986.pptxakshayaramakrishnan21
 
Synthetic Fiber Construction in lab .pptx
Synthetic Fiber Construction in lab .pptxSynthetic Fiber Construction in lab .pptx
Synthetic Fiber Construction in lab .pptxPavel ( NSTU)
 
Advances in production technology of Grapes.pdf
Advances in production technology of Grapes.pdfAdvances in production technology of Grapes.pdf
Advances in production technology of Grapes.pdfDr. M. Kumaresan Hort.
 
Application of Matrices in real life. Presentation on application of matrices
Application of Matrices in real life. Presentation on application of matricesApplication of Matrices in real life. Presentation on application of matrices
Application of Matrices in real life. Presentation on application of matricesRased Khan
 
Accounting and finance exit exam 2016 E.C.pdf
Accounting and finance exit exam 2016 E.C.pdfAccounting and finance exit exam 2016 E.C.pdf
Accounting and finance exit exam 2016 E.C.pdfYibeltalNibretu
 
2024_Student Session 2_ Set Plan Preparation.pptx
2024_Student Session 2_ Set Plan Preparation.pptx2024_Student Session 2_ Set Plan Preparation.pptx
2024_Student Session 2_ Set Plan Preparation.pptxmansk2
 
How to Break the cycle of negative Thoughts
How to Break the cycle of negative ThoughtsHow to Break the cycle of negative Thoughts
How to Break the cycle of negative ThoughtsCol Mukteshwar Prasad
 
Sha'Carri Richardson Presentation 202345
Sha'Carri Richardson Presentation 202345Sha'Carri Richardson Presentation 202345
Sha'Carri Richardson Presentation 202345beazzy04
 
Jose-Rizal-and-Philippine-Nationalism-National-Symbol-2.pptx
Jose-Rizal-and-Philippine-Nationalism-National-Symbol-2.pptxJose-Rizal-and-Philippine-Nationalism-National-Symbol-2.pptx
Jose-Rizal-and-Philippine-Nationalism-National-Symbol-2.pptxricssacare
 
Basic_QTL_Marker-assisted_Selection_Sourabh.ppt
Basic_QTL_Marker-assisted_Selection_Sourabh.pptBasic_QTL_Marker-assisted_Selection_Sourabh.ppt
Basic_QTL_Marker-assisted_Selection_Sourabh.pptSourabh Kumar
 
Instructions for Submissions thorugh G- Classroom.pptx
Instructions for Submissions thorugh G- Classroom.pptxInstructions for Submissions thorugh G- Classroom.pptx
Instructions for Submissions thorugh G- Classroom.pptxJheel Barad
 
Students, digital devices and success - Andreas Schleicher - 27 May 2024..pptx
Students, digital devices and success - Andreas Schleicher - 27 May 2024..pptxStudents, digital devices and success - Andreas Schleicher - 27 May 2024..pptx
Students, digital devices and success - Andreas Schleicher - 27 May 2024..pptxEduSkills OECD
 
Matatag-Curriculum and the 21st Century Skills Presentation.pptx
Matatag-Curriculum and the 21st Century Skills Presentation.pptxMatatag-Curriculum and the 21st Century Skills Presentation.pptx
Matatag-Curriculum and the 21st Century Skills Presentation.pptxJenilouCasareno
 
Sectors of the Indian Economy - Class 10 Study Notes pdf
Sectors of the Indian Economy - Class 10 Study Notes pdfSectors of the Indian Economy - Class 10 Study Notes pdf
Sectors of the Indian Economy - Class 10 Study Notes pdfVivekanand Anglo Vedic Academy
 
50 ĐỀ LUYỆN THI IOE LỚP 9 - NĂM HỌC 2022-2023 (CÓ LINK HÌNH, FILE AUDIO VÀ ĐÁ...
50 ĐỀ LUYỆN THI IOE LỚP 9 - NĂM HỌC 2022-2023 (CÓ LINK HÌNH, FILE AUDIO VÀ ĐÁ...50 ĐỀ LUYỆN THI IOE LỚP 9 - NĂM HỌC 2022-2023 (CÓ LINK HÌNH, FILE AUDIO VÀ ĐÁ...
50 ĐỀ LUYỆN THI IOE LỚP 9 - NĂM HỌC 2022-2023 (CÓ LINK HÌNH, FILE AUDIO VÀ ĐÁ...Nguyen Thanh Tu Collection
 

Recently uploaded (20)

NLC-2024-Orientation-for-RO-SDO (1).pptx
NLC-2024-Orientation-for-RO-SDO (1).pptxNLC-2024-Orientation-for-RO-SDO (1).pptx
NLC-2024-Orientation-for-RO-SDO (1).pptx
 
Salient features of Environment protection Act 1986.pptx
Salient features of Environment protection Act 1986.pptxSalient features of Environment protection Act 1986.pptx
Salient features of Environment protection Act 1986.pptx
 
Synthetic Fiber Construction in lab .pptx
Synthetic Fiber Construction in lab .pptxSynthetic Fiber Construction in lab .pptx
Synthetic Fiber Construction in lab .pptx
 
Mattingly "AI & Prompt Design: Limitations and Solutions with LLMs"
Mattingly "AI & Prompt Design: Limitations and Solutions with LLMs"Mattingly "AI & Prompt Design: Limitations and Solutions with LLMs"
Mattingly "AI & Prompt Design: Limitations and Solutions with LLMs"
 
Advances in production technology of Grapes.pdf
Advances in production technology of Grapes.pdfAdvances in production technology of Grapes.pdf
Advances in production technology of Grapes.pdf
 
Application of Matrices in real life. Presentation on application of matrices
Application of Matrices in real life. Presentation on application of matricesApplication of Matrices in real life. Presentation on application of matrices
Application of Matrices in real life. Presentation on application of matrices
 
Accounting and finance exit exam 2016 E.C.pdf
Accounting and finance exit exam 2016 E.C.pdfAccounting and finance exit exam 2016 E.C.pdf
Accounting and finance exit exam 2016 E.C.pdf
 
2024_Student Session 2_ Set Plan Preparation.pptx
2024_Student Session 2_ Set Plan Preparation.pptx2024_Student Session 2_ Set Plan Preparation.pptx
2024_Student Session 2_ Set Plan Preparation.pptx
 
How to Break the cycle of negative Thoughts
How to Break the cycle of negative ThoughtsHow to Break the cycle of negative Thoughts
How to Break the cycle of negative Thoughts
 
Operations Management - Book1.p - Dr. Abdulfatah A. Salem
Operations Management - Book1.p  - Dr. Abdulfatah A. SalemOperations Management - Book1.p  - Dr. Abdulfatah A. Salem
Operations Management - Book1.p - Dr. Abdulfatah A. Salem
 
Introduction to Quality Improvement Essentials
Introduction to Quality Improvement EssentialsIntroduction to Quality Improvement Essentials
Introduction to Quality Improvement Essentials
 
Sha'Carri Richardson Presentation 202345
Sha'Carri Richardson Presentation 202345Sha'Carri Richardson Presentation 202345
Sha'Carri Richardson Presentation 202345
 
Jose-Rizal-and-Philippine-Nationalism-National-Symbol-2.pptx
Jose-Rizal-and-Philippine-Nationalism-National-Symbol-2.pptxJose-Rizal-and-Philippine-Nationalism-National-Symbol-2.pptx
Jose-Rizal-and-Philippine-Nationalism-National-Symbol-2.pptx
 
Basic_QTL_Marker-assisted_Selection_Sourabh.ppt
Basic_QTL_Marker-assisted_Selection_Sourabh.pptBasic_QTL_Marker-assisted_Selection_Sourabh.ppt
Basic_QTL_Marker-assisted_Selection_Sourabh.ppt
 
Instructions for Submissions thorugh G- Classroom.pptx
Instructions for Submissions thorugh G- Classroom.pptxInstructions for Submissions thorugh G- Classroom.pptx
Instructions for Submissions thorugh G- Classroom.pptx
 
Students, digital devices and success - Andreas Schleicher - 27 May 2024..pptx
Students, digital devices and success - Andreas Schleicher - 27 May 2024..pptxStudents, digital devices and success - Andreas Schleicher - 27 May 2024..pptx
Students, digital devices and success - Andreas Schleicher - 27 May 2024..pptx
 
Ethnobotany and Ethnopharmacology ......
Ethnobotany and Ethnopharmacology ......Ethnobotany and Ethnopharmacology ......
Ethnobotany and Ethnopharmacology ......
 
Matatag-Curriculum and the 21st Century Skills Presentation.pptx
Matatag-Curriculum and the 21st Century Skills Presentation.pptxMatatag-Curriculum and the 21st Century Skills Presentation.pptx
Matatag-Curriculum and the 21st Century Skills Presentation.pptx
 
Sectors of the Indian Economy - Class 10 Study Notes pdf
Sectors of the Indian Economy - Class 10 Study Notes pdfSectors of the Indian Economy - Class 10 Study Notes pdf
Sectors of the Indian Economy - Class 10 Study Notes pdf
 
50 ĐỀ LUYỆN THI IOE LỚP 9 - NĂM HỌC 2022-2023 (CÓ LINK HÌNH, FILE AUDIO VÀ ĐÁ...
50 ĐỀ LUYỆN THI IOE LỚP 9 - NĂM HỌC 2022-2023 (CÓ LINK HÌNH, FILE AUDIO VÀ ĐÁ...50 ĐỀ LUYỆN THI IOE LỚP 9 - NĂM HỌC 2022-2023 (CÓ LINK HÌNH, FILE AUDIO VÀ ĐÁ...
50 ĐỀ LUYỆN THI IOE LỚP 9 - NĂM HỌC 2022-2023 (CÓ LINK HÌNH, FILE AUDIO VÀ ĐÁ...
 

Dc ch02 : protocol architecture

  • 1. 1 1 tohttps://github.com/syaifulahdan/ DATA COMMUNICATION Protocol Architecture: TCP/IP model and OSI Model Data Communications and Networking  The need for a protocol architecture  TCP/IP protocol architecture  OSI model Reading: Book Chapter 2 Data and Computer Communications, 8th edition By William Stallings
  • 2. Data Communications and Networking Chapter 2 Protocol Architecture: TCP/IP model and OSI Model Reading: Book Chapter 2 Data and Computer Communications, 8th edition By William Stallings 2
  • 3. 3 3 tohttps://github.com/syaifulahdan/ Outline • Section 1: The need for a protocol architecture • Section 2: TCP/IP protocol architecture • Section 3: OSI model • Learning outcomes: —Describe the network protocol architectures and reference models 3
  • 4. 4 4 tohttps://github.com/syaifulahdan/ Section 1 The Need for a Protocol Architecture 4
  • 5. 5 5 tohttps://github.com/syaifulahdan/ What is a protocol? • From dictionary: —A general definition: the accepted or established code of procedure or behavior in any group, organization, or situation —For computing: set of rules governing the exchange or transmission of data electronically between devices 5
  • 6. 6 6 tohttps://github.com/syaifulahdan/ Protocol • To perform a task, the involved parties usually follow a common protocol designed for this task —The protocol is just a set of rules or conventions —Different tasks use different protocols • Some key features of a protocol —Syntax • Concerns the format of the data blocks —Semantics • Includes control information for coordination and error handling —Timing • Includes speed matching and sequencing 6
  • 7. 7 7 tohttps://github.com/syaifulahdan/ Examples of Protocol • Two protocols will be studied in your first lab — HTTP is the protocol used for browsing website • Web browser <----> Web server • http://www.youtube.com/watch?v=1IQFjTnDozo&feature=related — SMTP is the protocol used for sending emails • Email client software < ---- > SMTP server • A new application usually uses a new protocol, e.g. BitTorrent protocol: http://en.wikipedia.org/wiki/BitTorrent_(protocol) • TCP is a protocol used by Internet hosts for reliable data transmission — Recall that Internet packets could be lost inside the Internet • IEEE 802.11 is the protocol used in WiFi — How to coordinate a number of wireless devices within a WiFi network? 7
  • 8. 8 8 tohttps://github.com/syaifulahdan/ Need For Protocol Architecture • There are lots of network applications • Building each application from scratch is very time- consuming and challenging —What commands should be supported? —How to respond to each command? —How to identify the two peer applications? • Each computer may run multiple applications! —How to identify the two computers? —How to convert the data into bit stream? —How to convert the bit stream into signals? —How to detect and handle data loss and data error? • The network is not perfect! —Etc. 8
  • 9. 9 9 tohttps://github.com/syaifulahdan/ (Cont.) • Most of the network apps share some common modules Application A Module A Module T Module I Module N Module P Application B Module B Module T Module I Module N Module P Application C Module C Module T Module I Module N Module P Common modules 9
  • 10. 10 10 tohttps://github.com/syaifulahdan/ (Cont.) • A complex task is broken into subtasks: modular design —Each subtask is implemented separately as a layer, arranged in a vertical stack • Each layer performs a related subset of the functions required to communicate with another system. —It relies on the next lower layer to perform more primitive functions and to conceal the details of those functions. —It provides services to the next higher layer. —Layers should be defined so that changes in one layer do not require changes in other layers. • So, instead of using a single complex protocol, it’s more flexible to implement a stack of protocols! —Reduce the design and development workload significantly! 10
  • 11. 11 11 tohttps://github.com/syaifulahdan/ Vertical Stack Application A Module A Module T Module I Module N Module P Application B Module B Module C Application C Module W can be replaced by other modules Application developers Operating System Hardware 11
  • 12. 12 12 tohttps://github.com/syaifulahdan/ Example • E.g., A can only speak Chinese, B can only speak Spanish, how can A communicate with B? —A finds a translator C, who can speak Chinese and English —B finds a translator D, who can speak Spanish and English • Two layers: —Higher layer: A and B —Lower layer: C and D 12
  • 13. 13 13 tohttps://github.com/syaifulahdan/ A Two-layer example messages in Chinese messages in English messages in Spanish How to communicate? A C B D Higher Layer Lower Layer Lower layer provides services to the next higher layer. 13
  • 15. 15 15 tohttps://github.com/syaifulahdan/ Protocol Architecture • Tasks of communications are broken up into modules —Each module (or layer) can have its own protocol • In very general terms, communications can be said to involve three components: applications, computers, and networks. • For example, file transfer could use three modules (or layers) —File transfer application —Communications service module —Network access module • The stack of protocols is called “Protocol Stack” —Or Protocol Architecture 15
  • 16. 16 16 tohttps://github.com/syaifulahdan/ TCP/IP Protocol Architecture • Developed by the US Defense Advanced Research Project Agency (DARPA) for its packet switched network (ARPANET) • Used by the global Internet • It consists of a large collection of protocols that have been issued as Internet standard by the Internet Architecture Board (IAB). — Check http://www.ietf.org/rfc/rfc2026.txt • The TCP/IP protocol architecture organizes the communication task into five relatively independent layers: — Layer 5: Application layer — Layer 4: Transport layer, or Host to host (TCP belongs to this layer) — Layer 3: Internet layer, or Network layer (IP belongs to this layer) — Layer 2: Network access layer, or Link layer — Layer 1: Physical layer • Remark: Each layer can have lots of different protocols! 16
  • 17. 17 17 tohttps://github.com/syaifulahdan/ Example • World Wide Web —Replies on the HTTP protocol Web browser HTTP TCP IP IEEE 802.11 IEEE 802.11g Web server HTTP TCP IP IEEE 802.3 IEEE 802.3 1000BASE-SXLayer 1 Layer 2 Layer 3 Layer 4 Layer 5 17
  • 18. 18 18 tohttps://github.com/syaifulahdan/ Benefit of layering • The most challenging problem: how to provide a reliable data transfer service on top of an unreliable data network? —This problem is so important that today’s Operating Systems all provide such reliable service. • The burden of network application developers has been reduced significantly! —Hence the application developers can simply focus on the application layer issues. —We can easily develop thousands of network applications. 18
  • 19. 19 19 tohttps://github.com/syaifulahdan/ Physical Layer • The job of physical layer is to send individual bits from one node to a directly connected node. —Address the communications issue • The physical layer also covers the physical interface between a data transmission device (e.g., computer) and a transmission medium or network. • It is concerned with specifying characteristics of the transmission medium, the nature of the signals, the data rate, and related matters. • Examples: —Ethernet has many physical layer protocols: one for twisted- pair copper wire, another one for coaxial cable, some others for optical fiber, and so on. —IEEE 802.11b, 802.11a, 802.11g are different physical protocols for Wireless LAN, each with different transmission capabilities. 19
  • 20. 20 20 tohttps://github.com/syaifulahdan/ Network Access Layer • It is also called “Link layer”. • It solves the problem of exchanging data between two or more directly connected devices (computers, switches, routers, etc). The link layer packets are usually referred to as frames. — Point-to-point communications — Multiple access communications • The services provided by network access layer depend on the specific link-layer protocol that is employed over the link. • Issues to be addressed: — Reliability (error detection and error correction) — Priority (some data may be more important than others) — Addressing (for multiple access) • Examples of link layer protocols: — Point-to-point Protocol (PPP) — Ethernet: IEEE 802.3 — Wireless LAN: IEEE 802.11 Point-to-point Multiple access 20
  • 21. 21 21 tohttps://github.com/syaifulahdan/ Internet Layer (IP) • IP layer is responsible for moving network layer packets known as datagrams from one host to another. —Main challenge: how to find a path from the source to the destination? • Two principal components: —IP protocol: defines the format of the datagram, and how the end systems and routers act on the datagram. [http://www.ietf.org/rfc/rfc0791.txt ] —Routing protocols: determine the routes that datagrams take between sources and destinations. The Internet uses many routing protocols. • The Internet layer routes a datagram through a series of packet switches called routers between source and destination. 21
  • 22. 22 22 tohttps://github.com/syaifulahdan/ Postal System To: Mr. Jacky Chan No. 123, XX Road, XXX, USA 22
  • 23. 23 23 tohttps://github.com/syaifulahdan/ Inside Postal System Local Post Office (Kowloon Tong) Central Post Office (Hong Kong) Local Post Office (Tseung Kwan O) Central Post Office (Beijing)Central Post Office (New York) The delivery of your package depends on the postal address. 23
  • 24. 24 24 tohttps://github.com/syaifulahdan/ What are the main functions of Internet layer? • Ultimate purpose: to provide a best-effort, connectionless, or datagram service between end systems — A host can send packets to any other host on the Internet — Best-effort: No guarantee of packet delivery. Packets could be lost, contain errors, or out-of-order. • How to achieve the purpose? — Addressing: • Every host needs to have a unique IP address • E.g., 158.182.6.41 is the IP address of our cslinux1 server. — Networking • It’s not possible to connect any two hosts directly, therefore we need some “switches” to help. These “switches” are called IP Routers. • E.g., if host A wants to send a packet to host B: 1. If A and B are in the same network: — A can send the packet to B directly, without going through a router 2. If A and B are in different networks (very likely!): — Condition: A must be connected to a router R1, B must be connected to a router R2, R1 may not be connected to R2 directly, but R1 must be able to talk to R2 (through other routers) — A first sends the packet to R1 — R1 helps to send the packet to R2 (this is a core part of the Internet layer) by checking the destination IP address (i.e., B’s IP address) contained in the IP packet — R2 sends the packet to B 24
  • 25. 25 25 tohttps://github.com/syaifulahdan/ IP Operation LLC and MAC are sub-layers of Layer 2. 25
  • 26. 26 26 tohttps://github.com/syaifulahdan/ IP Address • IPv4 address: 32-bit • Dotted decimal notation —192.5.48.3 <--> 11000000 00000101 00110000 00000011 • Each IP packet includes the source IP address and the destination IP address —So that the routers know how to forward • Normally, we can think of a 32-bit IP address as having an network portion and local portion, where the network portion identifies a network, and the local portion identifies a host in that network. —E.g., in IP address 158.182.7.15 • 158.182.7 identifies a network of COMP department • 15 identifies a PC in the network 26
  • 27. 27 27 tohttps://github.com/syaifulahdan/ Routers • Routers are responsible for receiving and forwarding packets through the interconnected set of networks. — Each router is connected with a number of other routers. — Routers use buffer to store the incoming packets. — Incoming packets could be dropped if the buffer is too full. • Each router makes routing decision based on a routing table. — Where to send out each IP packet? — Solution: make a search in the routing table based on the destination IP address • How to build up the routing table? — Static method: input by network administrators — Automatic method: by using routing protocols • Routers exchange routing information using a special routing protocol to build routing tables. • We will learn the principles of routing protocols in this subject. 27
  • 28. 28 28 tohttps://github.com/syaifulahdan/ Example of a Routing Table A B C D E Network ID Next Hop 18.x.x.x B 21.x.x.x C 145.26.x.x D 212.134.7.x E Routing table at router A: 18.x.x.x 145.26.x.x 212.134.7.x F 21.x.x.x G 28
  • 29. 29 29 tohttps://github.com/syaifulahdan/ Transport Layer • How do software developers write network application programs? — They make use of the services provided by Transport Layer, which is normally part of the Operating System. — In fact, TCP/IP is indispensable for all the contemporary Operating Systems (even for small devices like PDA or smart phone!). • Transport layer transports application-layer messages between the client application and the server application. — Today’s multi-task computer can have a number of simultaneous applications. One task of Transport layer is to differentiate the data from/to different applications. — Another possible task of transport layer is to provide reliability. • Make the life of application developers much easier! • How does Transport layer send out the message? — Divide the message into packets — Use the Internet Layer to send out each packet 29
  • 30. 30 30 tohttps://github.com/syaifulahdan/ Overview of TCP and UDP • Two most commonly used transport protocols: TCP and UDP • TCP:Transmission Control Protocol [http://www.ietf.org/rfc/rfc793.txt ] — connection-oriented • Temporary logical association between entities in different systems — Provides reliable data transmission service — Includes source and destination port numbers • Identify respective applications • A connection refers to a pair of ports — The data are organized into TCP segments • UDP: User Datagram Protocol [ http://www.ietf.org/rfc/rfc768.txt ] — Lacks of reliability • No guaranteed data delivery • No preservation of sequence • No protection against duplication — With minimum overhead — Includes source and destination port • An Internet application needs to choose either TCP or UDP. 30
  • 31. 31 31 tohttps://github.com/syaifulahdan/ UDP • User Datagram Protocol —Defined in RFC 768 —http://www.ietf.org/rfc/rfc768.txt • The UDP provides an unreliable connectionless delivery service using IP to transport messages between machines. —Because IP is unreliable —An application program the uses UDP needs to handle the problem of reliability, including message loss, duplication, delay, out-of-order delivery, etc. 31
  • 32. 32 32 tohttps://github.com/syaifulahdan/ UDP Ports: multiplexing and demultiplexing • Today’s operating systems support multi-processing, i.e., a number of applications can run simultaneously. • Multiplexing: —Each application program using UDP to send out data must first negotiate with the operating system to obtain a UDP port. —Any datagram the application program sends through the port will have that port number in its UDP packet. • Demultiplexing: —UDP accepts incoming datagrams from the IP module, and demultiplexes based on the UDP destination port. 32
  • 33. 33 33 tohttps://github.com/syaifulahdan/ UDP Applications • UDP’s advantages —Finer application-level control over what data is sent, and when —No connection establishment: saves time! —No connection state —Small packet header overhead: only 8 bytes —Can support multicast • Disadvantage: UDP is unreliable • Applications using UDP: —Streaming multimedia —Internet Telephony —Network management —Routing protocols —DNS 33
  • 34. 34 34 tohttps://github.com/syaifulahdan/ TCP • RFC 793 — http://www.ietf.org/rfc/rfc793.txt • TCP provides reliable communication between pairs of processes (by using positive acknowledgement with retransmission). — No data loss, no error, no out-of-order (from the application’s point of view). — TCP uses the idea of retransmission to recover packet loss. • TCP is connection-oriented stream service. — From the hosts’ point of view, two applications need to “setup” a TCP connection (like virtual circuit) before they use TCP to exchange data. • But from the network’s point of view, they are still processing normal IP packets. Routers don’t distinguish between UDP packets and TCP packets. — TCP connection is full-duplex. — A TCP connection is recognized by (IPs, IPD, Ports, PortD, “TCP” ) — TCP only supports point-to-point communication between TWO hosts. It cannot support multicast or broadcast which can be supported by UDP. — Data is regarded as byte stream. The TCP must deliver exactly the same sequence of bytes to the receiver application, though the IP packets may arrive out of order. — The stream is unstructured. There is no record boundaries. 34
  • 36. 36 36 tohttps://github.com/syaifulahdan/ TCP segment • A TCP application generates data as a byte stream. • TCP module receives some bytes from the byte stream, then composes a TCP segment by adding a TCP header, then sends the segment to IP module. • The size of TCP header is at least 20 octets. —TCP header can have some options. 36
  • 37. 37 37 tohttps://github.com/syaifulahdan/ TCP • TCP is the most complicated protocol in Internet. It is evolving all the time. • More than 90% of today’s Internet traffic are TCP. It has very wide applications. • You need to take another course to learn the details of TCP/IP: —COMP3040: Internet & the World Wide Web 37
  • 38. 38 38 tohttps://github.com/syaifulahdan/ Application Layer • Contains the logic needed to support the user applications • Usually, each type of application needs to have one or more protocols. • E.g. — Email applications • Sending email -- smtp: [http://www.ietf.org/rfc/rfc821.txt] • Accessing email -- pop3: [http://www.ietf.org/rfc/rfc1939.txt] — telnet • [http://www.ietf.org/rfc/rfc854.txt] — File transfer • FTP: File transfer protocol, [http://www.ietf.org/rfc/rfc959.txt] — Web application • HTTP/1.0: [http://www.ietf.org/rfc/rfc1945.txt] • HTTP/1.1: [http://www.ietf.org/rfc/rfc2616.txt] — P2P file sharing • Lots of different protocols, like BitTorrent, eDonkey • You can design and implement your own! 38
  • 40. 40 40 tohttps://github.com/syaifulahdan/ Addressing Issue • “Address” is used to identify an object — It is common to use several addresses together to identify an object • Process level address: to identify a process — Port number (TCP/UDP) • Network level address: to identify a host — IP address (IP) — Unique IP address for each end system (computer) and router. A router has more than one IP addresses, each for a different interface. • Link level address: to identify a network card — Physical address (MAC address) • On Windows XP DOS prompt, type: — C:>ipconfig /all — C:>netstat -a 40
  • 41. 41 41 tohttps://github.com/syaifulahdan/ Trace of Simple Operation • Process associated with port 1 in host A wants to send message to port 2 in host B —Process at A hands down message to TCP module, with instructions to send it to host B, port 2 —TCP appends a TCP header, hands down to IP module to send to host B, with instructions to send it to host B —IP appends an IP header, hands down to network access layer (e.g. Ethernet) to send to router J, with instructions to send it to router J —Network access layer appends link header, sends out the bits to the connected router J through the network interface —At router J, the link header is stripped off and the IP header examined. From the IP header, router J knows that this packet is destined to host B, and actions accordingly. 41
  • 42. 42 42 tohttps://github.com/syaifulahdan/ Protocol Data Units (PDUs) in TCP/IP Architecture 42
  • 44. 44 44 tohttps://github.com/syaifulahdan/ OSI Reference Model • OSI: Open Systems Interconnection • It was developed by the International Organization for Standardization (ISO), starting from 1977. • Seven layers later, OSI was published as ISO standard, ISO 7498, in 1984. • A theoretical system delivered too late! • TCP/IP has become the de facto standard for data communications. 44
  • 45. 45 45 tohttps://github.com/syaifulahdan/ OSI - The Model • A layer model —Each layer performs a related subset of the functions required to communicate with another system. —Each layer relies on the next lower layer to perform more primitive functions and to conceal the details of those functions. —Each layer provides services to the next higher layer. —Ideally, changes in one layer do not require changes in other layers. • The task of ISO was to define a set of layers and the services performed by each layer. —The partitioning should group functions logically and should have enough layers to make each layer manageably small, but should not have so many layers that the processing overhead is burdensome. 45
  • 46. 46 46 tohttps://github.com/syaifulahdan/ OSI Layers Seven layers have been defined in OSI architecture. 46
  • 48. 48 48 tohttps://github.com/syaifulahdan/ OSI Layers (1) • Physical Layer —Physical interface between devices • Mechanical • Electrical • Functional • Procedural • Data Link Layer —Means of activating, maintaining and deactivating a reliable link —Error detection and control —Higher layers may assume error free transmission 48
  • 49. 49 49 tohttps://github.com/syaifulahdan/ OSI Layers (2) • Network Layer —Transport of information —Higher layers do not need to know about underlying technology —Not needed on direct links • Transport Layer —Exchange of data between end systems —Error free —In sequence —No losses —No duplicates —Quality of service 49
  • 51. 51 51 tohttps://github.com/syaifulahdan/ OSI Layers (3) • Session Layer —Control of dialogues between applications —Dialogue discipline —Grouping —Recovery • Presentation Layer —Data formats and coding —Data compression —Encryption • Application Layer —Means for applications to access OSI environment 51
  • 53. 53 53 tohttps://github.com/syaifulahdan/ KEY POINTS • A protocol architecture is the layered structure of hardware and software that supports the exchange of data between systems and supports distributed applications, such as electronic mail and file transfer. • At each layer of a protocol architecture, one or more common protocols are implemented in communicating systems. Each protocol provides a set of rules for the exchange of data between systems. • The most widely used protocol architecture is the TCP/IP protocol suite, which consists of the following layers: physical, network access, internet, transport, and application. • Another important protocol architecture is the seven- layer Open Systems Interconnection (OSI) model. 53