0% found this document useful (0 votes)
2 views

Week 1

The document provides an overview of the Computer Communication & Networks (CC&N) course, emphasizing the importance of understanding data communications and networking for software engineers. It outlines success factors for students, key terminology, and the evolution of networking technologies. Additionally, it highlights the significance of network knowledge in application development and security considerations.
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)
2 views

Week 1

The document provides an overview of the Computer Communication & Networks (CC&N) course, emphasizing the importance of understanding data communications and networking for software engineers. It outlines success factors for students, key terminology, and the evolution of networking technologies. Additionally, it highlights the significance of network knowledge in application development and security considerations.
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/ 26

2/22/2021

SWE-306
Computer Communication &
Networks (CC&N)

Introduction
(Week 1 Lecture)

Course Overview
Brief description of CC&N Expectations

1
2/22/2021

Success Factors Summary


Attend class
• Do not multi-task
• Make notes from the book and slides
• Come prepared to ask questions in class
• Complete course work on time
• Review notes and study hard for the Quizzes

Terminology
Data Communications v Networking

2
2/22/2021

Terminology
• A computer is a
programmable machine that
can perform various
computations, store data,
and create documents
• It follows a set of
prerecorded instructions
called a Program.
• The data generated or stored
by the computer is a
collection of zeros and ones.

Terminology
Data communications

“is the sending of signals


that represent zeros and
ones over a point-to-point
circuit between two
computers.”

3
2/22/2021

Terminology
Networking

“begins when point-to-


point circuits are joined
together into a collection
of computers for the
exchange information and
the sharing of resources.”

Summary
• Data Communications
is concerned with bits
and bytes of digital
data getting from point
A to point B across a
direct link.

• Networking is concerned
with the *interoperability
and exchange of information
among applications

** Interoperability the ability of computer systems or software to exchange and make use of information.

4
2/22/2021

Data Communications v
Networking
I’m a programmer, why do I need to know about data communications?

Software Engineers need to know what happens in the


network cloud to write useful applications.

• Early days of networking not necessary for programmers to


understand networking
• Today programming and networking “converging”
• Program code and data no longer on same machine. Now stored
on different machines.
• To write effective programs, programmers need to understand
?
how the network is structured
• Networking personnel must understand programming in order to
set up the ACLs properly
• It gives an opportunity to better understand the platform your
applications will be operating on. Understanding the network
infrastructure would probably help you when building
applications that require High Availability or exotic (Structure)
network requirements.

5
2/22/2021

Software Engineers need to know what happens in the


network cloud to write useful applications.
• If you will be writing web applications, or applications that communicate
with a remote server, you will need to know a lot about networking. For
instance, just to have a working login form on a SPA (client-side web app)
you will need to know:

Transmission protocols
Token based authentication
Web API design ?
Sessions

• And if you want to do more than just log in, you will need a lot more; RESTful
APIs, application servers, load balancing, database sharing, etc.

Of course, if you are just want to create programs that do not connect to Representational state transfer (REST)
or RESTful web services are a way of providing
remote servers over the Internet, then you don't need to know anything interoperability between computer systems on
the Internet.
about networking. But who creates non-connected apps anymore?

Example: How many bits and how long to


transport one 8 1/2 X 11 page of information?
• 10 characters X 6.5 inches X 27 lines = 1,755
characters
• Using UniCode encoding:
1755 characters X 16 bits = 28,080 bits per
page
• How long will it take to transmit?
• Dialup @ 56000 bps = 28,080 / 56000 =0.5 seconds
approximately
• 4G @ 1.5Mbps = 28,080 / 1500000 = 0.019
?
approximately

To properly design a mobile application the programmer must be able to estimate the total
amount of data to be transmitted within a particular time period (seconds, minutes, hours)
to know how much throughput is needed by the network

6
2/22/2021

Network Speed is affected by:


• Weather – rain or snow can slows the network
• Bandwidth is share so the more users the
slower the network
• Distance from Cell tower – the further way the
slower the network
• Amount of Network Congestion – latency at
towers and routers slows the network
?

By understanding the layers of abstraction (Concept) below the network level you will be
better able to write and to troubleshoot a network application.

The goal is for you to be a more productive programmer.

US Network Speeds

7
2/22/2021

Canadian Network Speeds Summary

Legend

Dialup 56 kbs

4G – 1.5 Mbps

LTE – 2.5 Mbps

LTE-A – 5.5 Mbps

Software Engineer must also know how hackers can


exploit applications
• Writing secure applications means
you understand how hackers can
exploit applications for malicious
purposes
• Programmers need to understand
how hackers will try and use the
application in ways it was not
intended.
• Buffer Overflow, SQL injection
attacks are examples where the
programmer was overly trusting of
user input.

8
2/22/2021

Application Developer must also know how hackers can


exploit applications
• Everyone knows about IP address
such as 192.168.0.1, but as
programmers, we need to
understand the process of using
sockets in applications and how
application data can be changed by
malicious individuals.
• A good mobile application will have
a “choke-point” where all input
data will be checked to ensure the
data is in the format and length
expected by the application.
• And if not, how to **Applications developers translate software requirements into workable
sanitize(Cleaning) the input using programming code and maintain and develop programs for use in
stored procedures or regular business.
expressions Application data is information that is specific to a user. The
term applies to any data created and managed by
an application

Data Communication v
Networking
A Brief History

9
2/22/2021

John Gage has described the IT environment of


today as “The network is the computer.”

The Cloud is now a development


platform
The cloud can run programs and
store data just like the computer
And through virtualization the
cloud is a network of thousands
Virtualization is the process of creating a
of computers with unparalleled software-based, or virtual, representation of
(matchless) processing power. something, such as virtual applications, servers,
storage and networks. It is the single most
effective way to reduce IT expenses while
boosting efficiency and agility for all size
businesses

Data Communication & Networking: A Brief History


IT transformation is a complete reassessment and overhaul of an organization's information technology (IT) systems in
order to improve the efficiency and delivery in a digital economy
Mainframe (1950-1979)
Faced with unprecedented data and user growth, they were forced to re-invent the entire technology stack that powers
• Mainframe is a large powerful unit
their infrastructure. They reimagined hardware platforms, ways to manage compute resources, monitor and manage data
center infrastructure, route messages between applications, store data and analyze it. • Centralized processing, meaning that the data
and executable code ran on the same machine
• Mainframes can only “talk” to dumb terminals,
not PCs
• Very expensive, and usually hardware and
software sold from same vendor
(1991-2009) Client-Server (1980-1990)
• Client-Server architecture developed from the
marketing of the PC
(1980-1990) • Processing was distributed, meaning that the
code and data did not have to be on the same
computer.
• Led to a heterogeneous system where hardware
(1950-1979) and software not provided from same vendor
• Client-Server more affordable and led to 2-Tier
programming. Client interface front end with a
server processing back end
Internet (1991-2009)
• Led to n-Tier Programming where the client
interface, business logic, and data are stored on
different machines
• Led to a more heterogeneous system because
vendor’s started producing “middleware” to make
software and hardware from different vendors
work together
No single system — no matter how
fast — can handle the large and
growing scale of data and related
computational needs.

10
2/22/2021

n-Tier Programming

Expedia Example

Cloud and Programming


• The Cloud has now become a
development platform,Microsoft Azure,
Google’s Cloud
• The 15th version of MSOffice is fully
compatible with the cloud to allow
users to use the cloud as their local PC.
• Developers are rewriting existing
programs to run on clouds
• Joseph Hellerstein has developed a new
language called BLOOM which will help
programmers write complex data-
centric cloud applications.

11
2/22/2021

What is … ?
• Data
• refers to information presented in whatever form is agreed upon by the parties creating and
using the data.

• Communication
• Information transfer, according to agreed conventions using hand signals, language, Morse
code (on-off tones, lights, or clicks ), smoke signals etc.

• Telecommunication
• Communication at a distance, includes telephony, telegraphy, television etc.

RQ 23

Terminology
Data Communications & Networking

12
2/22/2021

What is … ?
• Data Communication
• Transfer of data from one or more sources to one or more destinations.

• Computer Network
• A network of data processing nodes that are interconnected for the purpose of
data communication.

• Node
• A node can be a computer or printer etc. or any other device capable of sending
and/or receiving data.

RQ 25

Components of data communication system


Message, Sender, Receiver, Medium, Protocol

A set of rules that The data (information) to


governs data be communicated
communication

The physical path by


which a message travels
26

13
2/22/2021

Effectiveness of Data Communication System


Depends on few characteristics, such as …
• Delivery
• To deliver data to correct destination
• Accuracy
• To deliver data accurately (unaltered)
• Timeliness
• To deliver data in a timely manner

27

Data representation

• Text
• ASCII
• American Standard Code for Information Interchange
• Extended ASCII
• Unicode
• Numbers
• Images
• Audio
• Video
28

14
2/22/2021

Direction of Data Flow

•Simplex

•Half-duplex

•Full-duplex
29

Networks
• A network is a set of devices (nodes) connected by
communication links.

Because of networks we can …


• Share resources ( Peripherals, files, internet
connection etc.)
• Communicate and collaborate
• Save data
30

15
2/22/2021

Types of Connection
• A link is a communications pathway that transfers data from one
device to another.

Point-to-point

Multipoint

31

Point-to-Point Connection

• Provides a dedicated link between devices.


• Entire capacity of the link is reserved for the two devices.
32

16
2/22/2021

Multipoint Connection

• More than two specific devices share a single link.


• The capacity of the channel is shared.

33

Network Topology
• It refers to the way in which a network is laid out(arranged) physically.

• It is a geometric representation of the relationship of all the links and


linking devices to one another.

34

17
2/22/2021

Mesh topology
• Every device has a dedicated
point-to-point link to every
other device.

• To connect n devices with


each device having n-1 I/O
ports.
• Need n(n-1)/2physical links

35

Star Topology
• Each device has a dedicated point-to-point link to a central
controller (usually a hub).

• Less expensive than mesh.

36

18
2/22/2021

Bus Topology
• One long cable acts as a backbone to link all devices.

• Multipoint connection (shared link)

37

Ring Topology

• Simple peer-to-peer* LAN topology

• Each networked workstation had two connections

• Data was transmitted unidirectionally around the ring

• Sending and receiving of data takes place by the help of TOKEN

*each computer can act as a server for the others, allowing shared access to files and
peripherals without the need for a central server.

19
2/22/2021

Ring Topology

• Token contains a piece of information which along with


data is sent by the source computer

• This token then passes to next node


• If yes, it receives it and passes the empty to into the network

• otherwise passes token along with the data to next node

Ring Topology

20
2/22/2021

Hybrid Topology
• A network can have hybrid or a combination of different topologies
• Example: a star backbone with three bus networks

41

Categories of networks

• A Network is categorized with respect to its size, its ownership, the


distance it covers and its physical architecture.

42

21
2/22/2021

Local Area Network (LAN)

• Smaller Scope
• Building or small campus
• Usually owned by same
organization as attached
devices
• Data rates much higher
• Usually broadcast systems

43

Metropolitan Area Network (MAN)


• Middle ground between LAN and WAN
• May be owned by Private company or a service provided by a public company
• It normally covers the area inside a town or a city

44

22
2/22/2021

Wide Area Network (WAN)


• Provides long-distance
communication over large
geographic areas that may
comprise a large region, a country,
a continent, or even the whole
world.

45

Wide Area Network (WAN)


• Can be as complex as the backbones that connect the Internet (switched WAN)
• Can be as simple as a dial-up line that connects a home computer to the Internet (point-
to-point WAN)

**switched WAN network is


used to connect multiple
end nodes through a
common WAN network. The
end nodes connect to a
switched WAN network to
either reach other nodes
connected to the switched
network or to connect to the
public Internet.
46

23
2/22/2021

Interconnection of Networks: Internetwork

When two or more networks are


connected, they become an
internetwork, or internet.

47

The Internet
• The Internet is a global
system of interconnected
computer networks.
• It is a network of
networks that consists of
millions networks, linked
by a broad array of
electronic, wireless, and
optical networking
technologies.

48

24
2/22/2021

Protocol and Standards


• A protocol is a set of rules that govern data communications.

• A protocol defines …

• what is communicated
• how it is communicated
• when it is communicated

• Standards provide guidelines to manufacturers, vendors, government


agencies, and other service providers to ensure the kind of
interconnectivity necessary in today's marketplace and in international
communications.

Standards Organizations

• Standards are developed through the cooperation of standards


creation committees, forums, and government regulatory agencies,
such as …
• International Organization for Standardization (ISO)
• International Telecommunication Union-Telecommunication Standards
Sector (ITU-T)
• American National Standards Institute (ANSI)
• Institute of Electrical and Electronics Engineers (IEEE)
• European Telecommunications Standards Institute (ETSI)

50

25
2/22/2021

Internet Standards
• An Internet Standard is a specification of a technology or methodology
applicable to the Internet.
• specified as one or more Request for Comments (RFC) document(s)
• published by the Internet Engineering Task Force (IETF)
• Contributions to the IETF start as an Internet Draft.
• This is a working document (a work in progress) with no official status and limited
lifetime
• Upon recommendation from the Internet authorities, a draft may be
promoted to RFC.
• RFCs may be labeled as Proposed Standards, Draft Standards or Internet
Standards depending on their maturity level.

51

26

You might also like