0% found this document useful (0 votes)
29 views50 pages

NWProg S23

Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
29 views50 pages

NWProg S23

Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 50

Dr.

Hatem Yousry
Network Programming
Network Programming 1
Dr. Hatem Yousry
Agenda
• Introduction
• Motivation and implication.

Dr. Hatem Yousry


• Network Architecture.
• Layers and Network Protocols.

Network Programming
• Network Models.

2
Learning Outcomes
• Understand the basic concepts and protocols
of the network based on the OSI and TCP/IP

Dr. Hatem Yousry


reference models.
• Students should have a high level appreciation of the basics of
the computer Networks theory and applications (Network

Network Programming
Architecture, OSI Model, TCP/IP Model, data frames, packet
transmission, Addressing, Socket, network services, network
protocols and client-serve networking). Be familiar with the
most important protocols used on networks; understand the
addressing mechanism used on the Internet; and understand the
basic principles of client/server programming.
3
History and Motivation
• Early computers were highly centralized.
• Single point of failure
• User has to “go to” the computer.

Dr. Hatem Yousry


• Low cost computers and networks help us get past these 2
primary disadvantages.
• Computing power everywhere

Network Programming
• Distributed systems
• Computers and networks bring about new challenges

4
Motivation
• Sharing of resources.
• Price/Performance.

Dr. Hatem Yousry


• Use each piece of equipment for what it is best
at work.
• Centralized/hierarchical administration of

Network Programming
distributed sites.
• Computers as communication tools.
• Networks as information sources.
• Providing application services. 5
Introduction
• Introduction of data communication and networking. Basic
concepts of communication systems of both analog and digital.
The different communication methods and the basics of
signaling. The basic computer networking technologies and
infrastructure. The different encoding schemes of both digital
and analog. Data Transmission techniques, Data
communication interface, asynchronous and synchronous
transmission. Flow control, error detection and correction,
High level Data link control (HDLC), Multiplexing and
Modulation Techniques. Layered network architecture, OSI
and TCP/IP Models, Data Link Control Protocols, MAC
sublayer and Addressing mechanism, Local Area Networks,
and Wide Area Networking issues including routing and
switching control. Practical communication systems xDSL, 6
and IEEE802.11 Standard.
Computer networks are now everywhere

• PCs <-> Servers


• Automated tellers

Dr. Hatem Yousry


• Embedded systems
• Communications systems

Network Programming
• The Internet and Web
• Mobile/cellular networks
• Sensor networks
• Internet of Things (IoT)
7
What’s the Internet: “nuts and bolts” view

• Millions of connected
computing devices: hosts, end-

Dr. Hatem Yousry


systems
• PC’s, workstations, servers
• phones, toasters, watches
running network apps

Network Programming
• Communication links
• fiber, copper, radio, satellite
• Routers : forward packets
(chunks) of data thru network
8
Telecommunications Channels
• Types of telecommunication channels:
• Broadcasting (e.g. Radio, TV, satellite service) .
• Point-to-point (e.g. Telephone, cellular) .
• Point to multi-point (e.g. ISP).

9
Telecommunications Channels
• A point-to-multipoint channel, also known as broadcasting
medium (not to be confused with broadcasting channel): In this
channel, a single sender transmits multiple messages to different
destination nodes. All wireless channels except radio links can be
considered as broadcasting media, but may not always provide
broadcasting service. The downlink of a cellular system can be
considered as a point-to-multipoint channel, if only one cell is
considered and inter-cell co-channel interference is neglected.
However, the communication service of a phone call is unicasting.
• Multiple access channel: In this channel, multiple senders transmit
multiple possible different messages over a shared physical medium
to one or several destination nodes. This requires a channel access
scheme, including a media access control (MAC) protocol combined
with a multiplexing scheme. This channel model has applications in 10
the uplink of the cellular networks.
Telecommunications Channels
• Relay channel: In this channel, one or several intermediate
nodes (called relay, repeater or gap filler nodes) cooperate
with a sender to send the message to an ultimate destination
node. Relay nodes are considered as a possible add-on in the
upcoming cellular standards like 3GPP Long Term Evolution
(LTE).
• Interference channel: In this channel, two different senders
transmit their data to different destination nodes. Hence, the
different senders can have a possible cross-talk or co-channel
interference on the signal of each other. The inter-cell
interference in the cellular wireless communications is an
example of the interference channel. In spread spectrum
systems like 3G, interference also occur inside the cell if non-
orthogonal codes are used. 11
Telecommunications Channels
• A unicasting channel is a channel that provides a unicasting
service, i.e. that sends data addressed to one specific user. An
established phone call is an example.
• A broadcasting channel is a channel that provides a
broadcasting service, i.e. that sends data addressed to all
users in the network. Cellular network examples are the
paging service as well as the Multimedia Broadcast Multicast
Service.
• A multicasting channel is a channel where data is addressed
to a group of subscribing users. LTE examples are the
Physical Multicast Channel (PMCH) and MBSFN (Multicast
Broadcast Single Frequency Network).
12
Telecommunications Channels
• To receive radio signals an antenna must be used. However,
since the antenna will pick up thousands of radio signals at a
time, a radio tuner is necessary to tune into a particular
frequency (or frequency range).
• The distance over which radio communications is useful
depends significantly on things other than wavelength, such as
transmitter power, receiver quality, type, size, and height of
antenna, mode of transmission, noise, and interfering
signals.
• Ground waves, tropospheric scatter and skywaves can all
achieve greater ranges than line-of-sight (LOS) propagation.
The study of radio propagation allows estimates of useful
13
range to be made.
Data Communication
• The basic computer networking technologies and
infrastructure.
• The different encoding schemes.
• Data Transmission techniques.
• Network performance and metrics, Bandwidth,
Throughput and Latency.
• Layered network architecture.
• Switching and Routing algorithms.
• Practical communication systems xDSL, and
IEEE802.11 Standard.
14
Most commonly known Networks
• Ethernet (LAN) - ADSL – WiFi – Hotspot - 3G/4G or 5G.

15
Why Learn about Networking?
• Important part of modern society
• Commercial – e-commerce, banking, inventorying,
telecommunications, archiving, health
• Social – critical infrastructure, homeland security, policing
• Human interaction/communication – email, chat,
videoconferencing, social networking, entertainment

• Appears in every facet of engineering


• Modern trend – Network every (electronic) device (computers,
phones, sensors, planes, cars, TVs, appliances, heart monitors, …)

• Graduate studies
• Many problems remain unsolved
• Research funding is still strong 16
Definition of a Network
• Networking, also known as computer networking, is the practice of
transporting and exchanging data between nodes over a shared
medium in an information system.
• Networking facilitates everything from telephone calls to text
messaging to streaming video to the internet of things (IoT).
• The foundations of networking: switches, routers, and wireless
access points. Switches, routers, and wireless access points are the
essential networking basics.

17
Definition of a Network
• A system that carries a Services and share Resourses between
2 or more entities.
• Examples: Transportation network, electric grid, postal, water,
telephone
• Computer network: A system that carries information between
2 or more entities, in the form of electric signals

18
Transportation Vs. Computer Networks

Transportation Network Computer Network


• Vehicles/People. • Packets/Payload.
• Street address. • IP address
• Intersection . • Bridge/router
• Street, highway, path. • Link/broadband/path
• Traffic jam. • Network congestion
• Stop and go traffic light. • Flow control
• Taking alternative path. • Alternative route
• Collision. • Collision of packets
• Lane. • Flow Priority
• Following a route to school. • Routing algorithm
19
• …………… • …………
Most commonly known Networks
• Ethernet (LAN) - ADSL – WiFi – Hotspot - 3G/4G.

20
What is the Internet?
• It is a network of networks that consists of private,
public, academic, business, and government networks
of local to global scope, linked by a broad array of
electronic, wireless, and optical networking
technologies.
• The Internet carries a vast range of information
resources and services, such as the inter-linked hypertext
documents and applications of the World Wide Web
(WWW), electronic mail, telephony, and file sharing.
• It connects millions of computers together globally,
forming a network in which any computer can
communicate with any other computer as long as they
are both connected to the Internet. 21
How does the Internet Look Like?

22
Where are we headed?

23
What Drives Network Design?
• Applications
• WWW, email, chat, videoconferencing, e-commerce, audio/video
streaming, VOIP, file sharing

• Who deploys the network


• Enterprise, government, end-user

• Where is the network deployed


• Home, building, campus, state, country, continent, globe

24
What Do Users Expect?

25
How is Time Spent?

26
http://marketingland.com/study-27-of-time-online-in-the-us-is-spent-on-social-networking-40269
What’s the Internet: a service view
• Communication infrastructure enables distributed
applications:
• WWW, email, games, EC, database,

Dr. Hatem Yousry


voting, … more?

• Communication services :

Network Programming
• connectionless
• connection-oriented

• Cyberspace [Gibson]:
• “a consensual hallucination experienced daily by billions of
operators, in every nation, ...." 27
Internet of Things (IoT)

i.e. Smart spaces: “A smart space is a physical or digital environment in


which humans and technology-enabled systems interact in increasingly open,
connected, coordinated and intelligent ecosystems. Multiple elements —
including people, processes, services and things — come together in a
smart space to create a more immersive, interactive and automated
experience for a target set of personas or industry scenarios,” Gartner 28
explained. Examples include smart cities, digital workplaces, smart homes
and connected factories.
Blockchain and Cybersecurity
• Blockchain Technology is
defined as a decentralized
distributed ledger system
which is used to record data
transactions across multiple
computers.

29
Blockchain and Cybersecurity

30
Blockchain and Cybersecurity
• Blockchain is a system in which a record of transactions made in
bitcoin or another cryptocurrency are maintained across several
computers that are linked in a peer-to-peer network.

• Cybersecurity refers to preventative methods used to protect


information from being stolen, Cybersecurity is the protection of
internet-connected systems, including hardware, software and
data, from cyberattacks. In a computing context, security
comprises cybersecurity and physical security -- both are used by
enterprises to protect against unauthorized access to data centers and
other computerized systems.

• A Public Key Infrastructure (PKI) is a back-end


cybersecurity measure that is described as a “set of rules, policies
and procedures needed to create, manage, distribute, use, store
and revoke digital certificates and manage public-key
encryption.” 31
Blockchain and Cybersecurity

32
Blockchain and Cybersecurity

33
Satellite Constellation Networks
• A satellite constellation, also called a satellite swarm, is a system of
satellites that work together to achieve a single purpose. So a succession
of LEO satellites is needed to cover any given region. These are
smaller satellites, as being closer to the earth allows them to use less power.
So in the end, it is a trade between a large constellation of
smaller satellites in LEO orbit or a few larger satellites in GEO.
• Satellite constellations are used for broadband internet and satellite phone
and cellular phone networks.
• Although the performance doesn't yet match due to latency and breaks in
communication and needed to avoid.

34
Usage of Internet
• Web-browsing (World Wide Web)
• E-mail

Dr. Hatem Yousry


• Telnet (remote login to another computer)
• FTP (transfer files between computers)

Network Programming
• Newsgroups / Chat rooms
• E-Commerce
• Multimedia and games
• Scientific applications
• ... 35
What’s the Internet: “nuts and bolts” view

• Protocols : control sending, receiving of


message

Dr. Hatem Yousry


• TCP, IP, HTTP, FTP, …
• Internet : “network of networks”
• loosely hierarchical

Network Programming
• public Internet versus private intranet
• Internet standards
• RFC: Request for comments
• IETF: Internet Engineering Task Force 36
World Wide Web
• The World Wide Web(WWW) is an information sharing
system based on

Dr. Hatem Yousry


• inter-linked documents (web-pages)
• that can be accessed over the Internet and
• viewed graphically (using a web-browser)

Network Programming
• Located via a URL(Uniform Resource Locator):
• <protocol>://<internet address>/page
• https://nctu.edu.eg/
• https://nctu.edu.eg/information-and-communication-
technology/
37
• http://lms.nctu.edu.eg/
Networked Computers Traditional Uses

• Communication (email).
• File exchange, disk sharing.

Dr. Hatem Yousry


• Sharing peripherals (printers, tape drives).
• Remote execution.

Network Programming
38
New Uses for Networked Computers

• Entertainment, distributed games


• MP3, YouTube, on-line games, …

Dr. Hatem Yousry


• E-Commerce
• Automation of business processes
• Collaborative computing

Network Programming
• Clustered computing, P2P systems
• Worldwide Computing
• Web services
• Social networks
• Grid computing, cloud computing 39
Layering Abstraction
• Layer: A set of functionalities encapsulated in an object that can be
used by other network components
• Example: The network layer implements the end-to-end packet
delivery
• Why layering? Think complexity and common services
• Layers consist of protocols

40
A simple layering example
• Two Internet hosts connected via
two routers and the corresponding
layers used at each hop.
• The application on each host
executes read and write operations
as if the processes were directly
connected to each other by some
kind of data pipe.
• Every other detail of the
communication is hidden from each
process.
• The underlying mechanisms that
transmit data between the host
computers are located in the lower
protocol layers. 41
Looking into layers a bit closer
• Protocols in each layer have
• Service interface with upper layer/lower layer
• Peer-to-peer interface with host on same layer

42
Hierarchical Layer Structure
• Layering implies the use of a layer hierarchy

43
Network Protocols
• Network protocols are formal standards and policies
comprised of rules, procedures and formats that define
communication between two or more devices over a
network. Network protocols govern the end-to-end processes
of timely, secure and managed data or network
communication.
• Network protocols incorporate all the processes,
requirements and constraints of initiating and
accomplishing communication between computers, servers,
routers and other network enabled devices.
• Network protocols must be confirmed and installed by the
sender and receiver to ensure network/data communication
and apply to software and hardware nodes that communicate
on a network. 44
Network Protocols

45
Network Protocols

46
What is a protocol?
• Human protocols: • Network protocols:

Dr. Hatem Yousry


• “what’s the time?” • Machines rather than
• “I have a question” humans
• Introductions • All communication
activity in Internet

Network Programming
• … specific msgs sent governed by protocols
… specific actions • Protocols define
taken when msgs format, order of msgs
received, or other events sent and received
among network
entities, and actions
taken on msg
transmission, receipt 47
48
Thank You

Dr. Hatem Yousry


Network Programming
Dr. Hatem Yousry
49
E-mail: [email protected]
Network Programming Dr. Hatem Yousry
50

You might also like