60-256 System Programming: Introduction to computer networks
Content
COMP 2560 System Programming:
Introduction to computer networks
Courtesy of Dr. B. Boufama
modified by Dan Wu
School of Computer Science University of Windsor
–
Instructor: Dr. Dan Wu
Introduction to computer networks
1
Copyright @ 2019, 2020, 2021 all rights reserved
Content
Content
1
Introduction to Computer networks
2
Network models OSI Model TCP/IP Model
3
Client/Server
Introduction to computer networks
2
Copyright @ 2019, 2020, 2021 all rights reserved
Introduction to Computer networks
Network models Client/Server
Introduction to computer networks
Computers: evolution
The old model: A single computer serving users who bring their works for processing
→ became obsolete.
The new model: A large number of separate but interconnected computers are serving users.
→ computer networks.
Introduction to computer networks
3
Copyright @ 2019, 2020, 2021 all rights reserved
Introduction to Computer networks
Network models Client/Server
Computer network
Interconnected computers: they are able of exchanging information
Computer network: interconnected collection of autonomous computers.
Ethernet cable
Introduction to computer networks
4
Copyright @ 2019, 2020, 2021 all rights reserved
Introduction to Computer networks
Network models Client/Server
Some typical network applications:
Applications
Exchange electronic mail (e-mail). Exchange files
Remote login
Share peripheral devices
Execute a program on another computer
Introduction to computer networks
5
Copyright @ 2019, 2020, 2021 all rights reserved
Introduction to Computer networks
Network models Client/Server
OSI Model TCP/IP Model
Layering
Given a specific task, say file transfer, it is hard to solve the entire problem in one step. Solving this problem needs:
A user interface
Coding data into packets Observing some protocols Routing the packets
A physical data transmission
Layers
Networks are organized in layers, where:
the number of layers and their functions differ from network to network
each layer offers some services to the higher layer. a same level ’layer peer’ on different machines can
converse using a protocol: rules and conventions used in this conversation.
Introduction to computer networks
6
Copyright @ 2019, 2020, 2021 all rights reserved
Introduction to Computer networks
Network models Client/Server
OSI Model TCP/IP Model
Network models
Computer Network Model describes how information is transmitted between two points in a network. Two models:
The OSI model (Open Systems Interconnect) proposed by ISO describes network activities as having a structure of seven layers, each of the layers has one or more protocols associated with it.
The TCP/IP model (Transmission Control Protocol/Internet Protocol) based on TCP/IP protocol suite.
Introduction to computer networks
7
Copyright @ 2019, 2020, 2021 all rights reserved
Introduction to Computer networks
Network models Client/Server
OSI Model TCP/IP Model
The OSI Reference Model
Application Application
Presentation Presentation
Transport Transport
Network Network
Data Link Data Link
Physical Physical
Layers Host A Protocols Host B
07
06
05 Session Session
04
03
02
01
Introduction to computer networks
8
Copyright @ 2019, 2020, 2021 all rights reserved
Introduction to Computer networks
Network models Client/Server
OSI Model TCP/IP Model
The OSI Reference Model
Each layer defines a function performed when data is transferred between applications across a network.
Application Layer: application programs that use the network.
Presentation Layer: standardizes data presented to the applications.
Session Layer: manages sessions between applications. Transport Layer: provides error detection and correction. Network Layer: manages network connections.
Data Link Layer: provides data delivery across the physical connection.
Physical Layer: defines the physical network media. Consists of cable and connectors and is responsible for converting analog signals into bits.
Introduction to computer networks
9
Copyright @ 2019, 2020, 2021 all rights reserved
Introduction to Computer networks
Network models Client/Server
OSI Model TCP/IP Model
The OSI Reference Model
Information is passed down through the layers until it is transmitted across the network, where it is passed back up the stack to the application at the remote end.
Each layer relies on the other layers to perform their functions.
Individual layers do not care how the other layers operate. They only need to know how to pass information up or down from one layer to another.
Introduction to computer networks
10
Copyright @ 2019, 2020, 2021 all rights reserved
Introduction to Computer networks
Network models Client/Server
OSI Model TCP/IP Model
Peer conversation
In each layer a function may be performed by any number of protocols.
Each protocol communicates with a peer that is an equivalent implementation of the same protocol on a remote system.
Each protocol layer is only concerned with communication to a peer at the other end of a link.
Example
e-mail is an application level protocol that communicates with a peer e-mail application on a remote system,
ftp is an application level protocol that communicates with a peer ftp application on a remote
These applications do not care whether or not the physical layer is a serial modem line or an ethernet connection.
Introduction to computer networks
11
Copyright @ 2019, 2020, 2021 all rights reserved
Introduction to Computer networks
Network models Client/Server
OSI Model TCP/IP Model
In practice, the OSI Reference Model is rarely used when working with networks.
TCP/IP Model
TCP/IP model is based on the OSI model.
TCP/IP is usually described as having fewer layers than the OSI model.
TCP/IP does not follow the OSI model exactly. It is based on the TCP/IP protocol suite.
The documentation on TCP/IP protocol standards is freely available and widely published.
The standards for TCP/IP protocols are developed and maintained independently from any specific hardware type or operating system.
Widely implemented on most operating systems and computers.
TCP/IP is built into the UNIX operating system and is used by the Internet
Introduction to computer networks
12
Copyright @ 2019, 2020, 2021 all rights reserved
Introduction to Computer networks
Network models Client/Server
OSI Model TCP/IP Model
The TCP/IP model
Protocols
Process
Network
Network
Transport Transport
Process
Layers
Host A
Host B
04
03
02
01
Data Link Data Link
Introduction to computer networks
13
Copyright @ 2019, 2020, 2021 all rights reserved
Introduction to Computer networks
Network models Client/Server
OSI Model TCP/IP Model
TCP/IP Model
TCP/IP Model
The Process Layer: it combines the top three layers of the OSI (application, presentation and session layers) into one. It defines standard Internet services and network applications that user can use (e.g. ftp, telnet…).
The Transport layer transmits messages from a process on one machine to a process on another machine.
The Network layer routes packets through a network to a destination node.
The Data Link layer: it combines the 2 bottom layers of the OSI model (Data Link and Physical layers). It transmits frames of bits across a single link between two machines.
Introduction to computer networks
14
Copyright @ 2019, 2020, 2021 all rights reserved
Introduction to Computer networks
Network models Client/Server
OSI Model TCP/IP Model
Some protocols
Process Layer: Simple Mail Transfer Protocol (SMTP) and Post Office Protocol (POP) used for e-mail, Hyper Text Transfer Protocol (HTTP) used for the World-Wide-Web, and File Transfer Protocol (FTP)…etc.
Transport Layer: In TCP/IP there are two Transport Layer protocols. The Transmission Control Protocol (TCP) guarantees that information is received as it was sent. The User Datagram Protocol (UDP) performs no end-to-end reliability checks.
Network Layer: This is commonly referred to as the Internet Layer. All upper and lower layer communications travel through Internet Protocol (IP) as they are passed through the TCP/IP protocol stack.
Data Link Layer: TCP/IP makes use of existing Data Link and Physical Layer standards rather than defining its own. Data Link Layer describes how IP utilizes existing data link protocols such as Ethernet, Token Ring,. . . etc.
Introduction to computer networks
15
Copyright @ 2019, 2020, 2021 all rights reserved
Introduction to Computer networks
Network models Client/Server
OSI Model TCP/IP Model
More about TCP/IP protocol
TCP: Transmission Control Protocol. A
connection-oriented protocol that provides a reliable,
full-duplex, byte stream for a user process (most used by Internet application).
UDP: User Datagram Protocol. A connectionless protocol for user processes.
IP: Internet Protocol. IP is the protocol that provides the packet delivery service for TCP and UDP.
Introduction to computer networks
16
Copyright @ 2019, 2020, 2021 all rights reserved
Introduction to Computer networks
Network models Client/Server
OSI Model TCP/IP Model
Encapsulation
Data
Data
Data
Data
Header
Header
Header
Header
Header
Header
Data Link Layer
(Ethernet, Token Ring,…)
Process Layer (telnet ftp,…)
Transport Layer (TCP, UDP,…)
Network Layer (IP)
Introduction to computer networks
17
Copyright @ 2019, 2020, 2021 all rights reserved
Introduction to Computer networks
Network models Client/Server
OSI Model TCP/IP Model
Example
Protocols
Host A
Host B
Layers
Application
Transport
TCP TCP
TCP protocol
Network
IP
IP
Link
Ethernet protocol
Ethernet driver Ethernet driver
IP protocol
FTP client FTP server
FTP protocol
Introduction to computer networks
18
Copyright @ 2019, 2020, 2021 all rights reserved
Introduction to Computer networks
Network models Client/Server
Client/Server…
Client/Server
The client/server model is the standard model for network applications, a typical scenario is:
The server process is started on some computer. It initializes itself, then goes to sleep waiting to be contacted by a client process for some service.
A client process is started on some computer connected to the server’s computer with a network. It sends a request across the network to the server asking for some service, remote login for instance.
The server provides its service in two ways:
1
2
for a short amount of time service, the server process handle the service itself and goes back to sleep, waiting for new requests.
otherwise, the server invokes another process to handle each client request, so that the server process can go back to sleep
Introduction to computer networks
19
Copyright @ 2019, 2020, 2021 all rights reserved