SlideShare a Scribd company logo
Computer Networks and Information Security
24BIT4C30
UNIT-I
SURESH KUMAR S
Assistant Prof, IT Department,
STC, Pollachi
Topic 1- Introduction to
Network
Technology Revolution
• 18th Century - The great mechanical systems
accompanying the Industrial Revolution
•19th Century - The age of the steam engine
• 20th Century - The key technology was
information gathering, processing, and
distribution
Technology Revolution
•During the first two decades of their
existence, computer systems were highly
centralized, usually within a single large room.
•A medium-sized company or university might
have had one or two computers
•While very large institutions had at most a
few dozen.
Technology Revolution
The old model of a single computer serving all
of the organization’s computational needs
has been replaced by
one in which a large number of separate but
interconnected computers do the job.
These systems are called computer networks.
What is a Computer Network
The term ‘‘computer network’’ to mean a
collection of autonomous computers
interconnected by a single technology.
Two computers are said to be interconnected if
they are able to exchange information.
A set of communication elements connected by
communication links
➭ Communication elements
• Computers, printers, mobile phones, …
• Routers, switches, ...
➭ Communication links
• optic fiber
• coaxial cable
• twisted pair
• wireless (radio, microwave, satellite)
➭ Topologies
• Ring, Star, Bus, Tree, Mesh
What is a Computer Network
A software/hardware infrastructure
➭ Share resources
• data, files, computing power, video,…
➭ Information highway
• communication between geographically dispersed users
➭ Electronic Society
•Cyberspace
•Virtual global nation
What is a Computer Network
Introduction
 Computer Network
– an interconnected collection of autonomous computers
Internet: “network of networks”
– loosely hierarchical
– public Internet versus private intranet
WWW a distributed systems run on the top of Internet
 Distributed System
– High degree of cohesiveness and transparency
– A software system built on top of a network
Uses of Computer Networks
• Business Applications
• Home Applications
• Mobile Users
• Social Issues
Business Applications of Networks
A network with two clients and one server.
a. Resource sharing (hardware, software, information, …)
c. Doing business electronically (B2B, B2C, e-commerce)
b. Providing communication medium (e-mail, videoconferenceing)
Goals of Networks for Companies
 Resource sharing: equipment, programs, data
 high reliability
– replicated data
– hardware
 Saving money
– mainframe: 10 times faster, but 1000 times more
expensive than PC
– client-server model
 Scalability
– mainframe: replace a larger one
– client-server model: add more servers
 Communication medium for separated employees
Business Applications of Networks (2)
• The client-server model involves requests and replies.
a. Two processes are involved
b. A communication network is needed
Home Network Applications
• Access to remote information
• Person-to-person communication
• Interactive entertainment
• Electronic commerce
 Networks for People
– Access to remote information
• e.g.: financial, shopping, customized newspapers,
on-line digital library, WWW
– Person-to-person communication
• email, video conference, newsgroup
– Interactive entertainment
• interactive movies or TVs, game playing
Home Network Applications (2)
In peer-to-peer system there are no fixed clients and servers.
Home Network Applications (3)
Some forms of e-commerce.
Mobile Network Users
Combinations of wireless networks and mobile computing.
mobile-commerce
Social Issues
• Politics
• Religion
• Sex
• Privacy
• Crime
• junk mail
 Each country has different
laws.
 Debate rages!
Network Hardware
• Local Area Networks
• Metropolitan Area Networks
• Wide Area Networks
• Wireless Networks
• Home Networks
• Internetworks
Types of transmission technology
• Broadcast links
• Point-to-point links
Network Hardware
Network Hardware
– Broadcast networks
• single communication channel shared by all
machines
• broadcasting or multicasting (via packets)
– broadcasting: a special code in address field
– multicasting: reserve one bit to indicate multicasting, the
remaining n-1address bits can hold a group number. Each
machine can subscribe to any groups
• used by localized networks (or satellites)
– point-to-point networks
• many hops
• routing algorithms: multiple routes are possible
• used by large networks
Classification of interconnected
processors by scale
Local Area Networks (LANs)
Two broadcast networks
(a) Bus
(b) Ring
· Characterics of LANs: (a) privated-owned, (b) small size,
(c) transmission technology, (d) topology
· Ethernets are most popular (up to 10 Gb/s)
Local Area Networks
 Characteristics
– small size
– transmission technology
• single cable
• 10Mbps ~ 10Gb/s
• 10Gb/s : 10,000,000.000 bps
– topology:
• bus
– Ethernet (IEEE 802.3): 10 or 100 Mbps (10Gb/s)
• ring
– IBM token ring (IEEE 802.5): 4 or 16 Mbps
 Channel allocation of broadcast networks
– static: each machine has an allocated time slot
– dynamic
Metropolitan Area Networks
A metropolitan area network based on cable TV.
Wide Area Networks (WANs)
Relation between hosts on LANs and the subnet.
·WANs are point-to-point networks
·WANs consist of two distinct components:
transmission lines (copper, fiber, microwave) and switches (electronics, optics)
 Store-and-forward or packet-switched subnet
Network Topology
Subnet (WANs)
Subnet (WANs) is consists of two components:
– transmission lines (circuits, channels, trunks)
• move bits between machines
– switching elements
• connect transmission lines
• Router: also called packet switching nodes,
intermediate systems, and data switching exchanges
• Operate in store-and-forward, or packet-switched
mode.
Wide Area Networks (2)
A stream of packets from sender to receiver. (virtual- circuit)
 Routing decisions are made locally·
 How A makes that decision is called the routing algorithm.
 Will be studied in detail in Chapter 5.
9/17 End
Wireless Networks
Categories of wireless networks:
• System interconnection
(short-range radio, e.g. Bluetooth)
• Wireless LANs
(802.11a, 802.11b, 802.11g)
• Wireless WANs
(802.16, Cellular telephones, Satellites)
• Wireless sensor networks
Wireless Networks (2)
(a) Bluetooth configuration
(b) Wireless LAN
Wireless Networks (3)
(a) Individual mobile computers
(b) A flying LAN
Home Network Categories
 Computers (desktop PC, PDA, shared peripherals)
 Entertainment (TV, DVD, VCR, camera, stereo, MP3)
 Telecomm (telephone, cell phone, intercom, fax)
 Appliances (microwave, fridge, clock, furnace, airco.,
light)
 Telemetry (utility meter, smoke/burglar alarm,
babycam).
 Fundamentally different properties
1. Devices have to be easy to install
2. The network and devices have to be foolproof in
operation
3. Low price is essential
4. The network needs sufficient capacity ( for multimedia
application)
5. The network interface and wiring have to be stable for
many years
6. Security and reliability will be very important
(minimize false alarm or misalarm)
 Home networks may be wired or wireless
Internetworks
• Internetworks connect networks with different hardware
and software
• A collection of interconnected networks is called
an internetwork or internet
• Internet is one specific internet
• Gateways are used to make the connection and to
provide the necessary translation (protocol convertion)
Network Software
Network Software
• Protocol Hierarchies (Layer structure)
• Design Issues for the Layers
• Connection-Oriented and Connectionless Services
• Service Primitives
• The Relationship of Services to Protocols
Network Software
Protocol Hierarchies
– a series of layers (levels)
– lower layer provides service to higher layers
– protocol:
• an agreement between the communication parties on how
communication is to proceed
– Peers:
• the corresponding layers on different machines.
– Network architecture: a set of layers and protocols
– Protocol stack:
• a list of protocols used by a certain system, one protocol per
layer
Network Software
Protocol Hierarchies
Layers, protocols, and interfaces.
 Peer
Network Architecture: A set of layers and protocols
Protocol Stack: A list of protocols used by a certain system, one protocol per layer.
Virtual
Communication
Physical
Communication
Layering
➭ To make things simple: modularization
➭ Different layer has different functions
➭ Create layer boundary such that
• description of services can be small
• number of interactions across boundary are minimized
• potential for interface standardized
➭ Different level of abstraction in the handling of data (e.g.,
syntax, semantics)
➭ Provide appropriate services to upper layer
➭ Use service primitives of lower layer
Network Software
Protocol Hierarchies (2)
The philosopher-translator-secretary architecture.
Protocol Hierarchies (3)
Example information flow supporting virtual communication in layer 5.
Message segmentation Encapsulation
Design Issues for the Layers
• Addressing (telephone number, e-mail address, IP
address,…)
• Error Control (error correction codes, ARQ, HARQ,…)
• Flow Control (feedback-based, rate-based)
• Multiplexing (gathering several small messages with the
same destination into a single large message or vice
versa  Demultiplexing)
• Routing (directing traffic to the destination)
Design Issues for Layers
 Identify senders and receivers
– multiple computers and processes: addressing
 Data transfer
– simplex, half-duplex, full-duplex communication
– # of logical channels per connections, priorities
 Error control
– error detection
– error correction
 Sequencing of pieces
Design Issues for Layers
 Flow control
– feedback from the receiver
– agreed upon transmission rate
 Length of messages
– long messages: disassemble, transmit, and reassmeble
messages
– short messages: gather several small messages
 Multiplexing and Demultiplexing
– when expensive to set up a separate connection
– needed in physical layer
 Routing: split over two or more layers
– High level: London -> France or Germany -> Rome
– Low level: many available circuits
Connection-Oriented and Connectionless
Services
Six different types of service.
Service Primitives (Operations)
Five service primitives for implementing a simple connection-
oriented service.
A service is formally defined by a set of primitives (operations)
available to a user process to access the services.
Service Primitives (2)
Packets sent in a simple client-server interaction on a
connection-oriented network.
If the protocol stack is located in the operating system,
the primitives are normally system calls.
Services to Protocols Relationship
The relationship between a service and a protocol.
·The service defines what operations the layer is prepared to perform on behalf of its users
·A service is a set of primitives that a layer provides to the layer above it.
·A protocol is a set of rules governing the format and meaning of the packets which are
exchanged by the peer entities in the same layer.
Service Providers
Service Users
Services related to the interfaces between layers;
 Protocols related to the packets sent between peer entities on different machine.
Reference Models
• The OSI Reference Model
• The TCP/IP Reference Model
• A Comparison of OSI and TCP/IP
• A Critique of the OSI Model and Protocols
• A Critique of the TCP/IP Reference Model
OSI Reference Model
• Reference Model gives a conceptual framework that standardizes
communication between heterogeneous networks.
•OSI Reference model is based on a proposal developed by the
International Standards Organization (ISO) as a first step toward
international standardization of the protocols used in the various layers
(Day and Zimmermann, 1983).
• It was revised in 1995 (Day, 1995).
• The model is called the ISO-OSI (Open Systems Interconnection)
Reference Model because it deals with connecting open systems, i.e.
systems that are open for communication with other systems.
Principles that were applied to arrive at
the seven layers
• A layer should be created where a different abstraction is needed.
• Each layer should perform a well-defined function.
• The function of each layer should be chosen with an eye toward
defining internationally standardized protocols.
• The layer boundaries should be chosen to minimize the
information
flow across the interfaces.
• The number of layers should be large enough that distinct
functions
need not be thrown together in the same layer out of necessity and
small enough that the architecture does not become unwieldy.
The OSI layers
1. Physical Layer
2. Data Link Layer
3. Network Layer
4. Transport Layer
5. Session Layer
6. Presentation Layer
7. Application Layer
Andrew S. Tanenbaum - Computer Networks.
The Physical Layer
•Tansmits raw bits over a communication channel.
•Design issue :
To make sure that when one side sends a 1 bit, it is
received by the other side as a 1 bit, not as a 0 bit.
The Data Link Layer
•The sender break up the input data into data frames and transmits the frames
sequentially. If the service is reliable, the receiver confirms correct receipt of
each frame by sending back an acknowledgement frame.
•Design Issues:
Error Handling - To transform a raw transmission facility into a line that
appears free of undetected transmission errors to the network layer.
Flow Control - To keep a fast transmitter from drowning a slow receiver in
data - Some traffic regulation mechanism is needed to let the transmitter
know how much buffer space the receiver has at the moment.
These two issues are frequently integrated.
The Network Layer
The network layer controls the operation of the subnet.
Design issues:
• How packets are routed from source to destination.
•Routes can also be determined at the start of each conversation,
•Routes can be highly dynamic, based on the current network load.
• To control congestion in the network layer
• Quality of service provided
•When a packet has to travel from one network to
another to get to its destination, many problems can
arise.
The addressing used may be different
The packet size may vary
The protocols may differ, and so on. ..
Other Issues in the Network Layer
•When a packet has to travel from one network to
another to get to its destination, many problems can
arise.
•The addressing used may be different
•The packet size may vary
•The protocols may differ, and so on. ..
•The network layer have to overcome all these problems to
allow heterogeneous networks to be interconnected.
•In broadcast networks, the routing problem is simple, so
the network layer is thin or nonexistent.
The Transport Layer
•The basic function is to accept data from above, split it up into smaller units
if needed and pass these to the network layer.
Design Issues:
•To ensure that the pieces arrive correctly at the other end.
•To determine what type of service to provide to the session layer, and,
also to the users of the network.
The most popular type - an error-free point-to-point channel.
Transporting of isolated messages.
Broadcasting of messages to multiple destinations.
(The type of service is determined when the connection is established.)
The transport layer is a true end-to-end layer, all the way from the source to
the destination.
•A program on the source machine carries on a conversation with
a similar program on the destination machine, using the message
headers and control messages.
•In the lower layers, the protocols are between each machine and
its immediate neighbours, and not between the ultimate source
and destination machines, which may be separated by many
routers.
The Session Layer
To establish sessions between users on different
machines.
Sessions offer various services:
•Dialog Control - keeping track of whose turn it is
to transmit
•Token Management - preventing two parties from
attempting the same critical operation at the same
time
•Synchronization - check pointing long
transmissions to allow them to continue from where
they were after a crash
The Presentation Layer
•It is concerned with the syntax and semantics of the information
transmitted.
• For computers with different data representations to communicate,
abstract data structures can be defined along with a standard encoding
to be used.
•This layer manages these abstract data structures and allows higher-level
data structures to be defined and exchanged.
The Application Layer
•The application layer contains a variety of protocols that are commonly
needed by users.
•One widely-used application protocol is HTTP (Hypertext Transfer
Protocol), which is the basis for the World Wide Web. When a browser
wants a Web page, it sends the name of the page it wants to the server
using HTTP. The server then sends the page back.
•Other application protocols are used for file transfer, electronic mail,
and network news.
Questions
The OSI model has _______ layers.
a) 4
b) 5
c) 6
d) 7
Which layer is responsible for process to process delivery?
a) network layer
b) transport layer
c) session layer
d) data link layer
Which layer links the network support layers and user support layers
a) session layer
b) data link layer
c) transport layer
d) network layer
Which layer provides the services to user?
a) application layer
b) session layer
c) presentation layer
d) none of the mentioned
OSI stands for
a) open system interconnection
b) operating system interface
c) optical service implementation
d) none of the mentioned
The TCP/IP Protocol Suite
•The TCP/IP protocol suite was developed prior to the OSI model.
•Therefore, the layers in the TCP/IP protocol suite do not match
exactly with those in the OSI model.
•The original TCP/IP protocol suite was defined as four software
layers built upon the hardware.
•Today, however, TCP/IP is thought of as a five-layer model with
the layers named similarly to the ones in the OSI model.
Layers in the TCP/IP Protocol
Suite
TCP/IP reference model has only 4 layers,
1. Host-to-Network Layer
2. Internet Layer
3. Transport Layer
4. Application Layer
The TCP/IP internet layer is similar in
functionality to the OSI network layer
Host-to-Network Layer
•The host has to connect to the network using some
protocol so it can send IP packets to it.
•This protocol is not defined and varies from host to
host and network to network.
Internet Layer
•This layer holds the whole architecture together.
•It allows hosts to inject packets into any network and let them travel
independently to the destination (potentially on a different network). They may
even arrive in a different order than they were sent, in which case it is the job of
higher layers to rearrange them, if in-order delivery is desired.
•The internet layer defines an official packet format and protocol called IP
(Internet Protocol) - It delivers IP packets to their respective destinations.
Major issues:
Packet Routing
Congestion Control
The Transport Layer
•It is designed to allow peer entities on the source and
destination hosts to carry on a conversation, just as in the OSI
transport layer.
•Two end-to-end transport protocols are defined here:
TCP (Transmission Control Protocol) - Reliable
Connection-oriented Protocol
UDP (User Datagram Protocol) – Unreliable
Connectionless Protocol
TCP (Transmission Control
Protocol)
• It is a reliable connection-oriented protocol that allows a byte
stream originating on one machine to be delivered without error on
any other machine in the internet.
• It fragments the incoming byte stream into discrete messages
and passes each one on to the internet layer.
• At the destination, the receiving TCP process reassembles the
received messages into the output stream.
• TCP also handles flow control to make sure a fast sender cannot
swamp a slow receiver with more messages than it can handle.
UDP (User Datagram Protocol)
• It is an unreliable, connectionless protocol for
applications that do not want TCP's sequencing or
flow control and wish to provide their own.
• It is also widely used for client-server-type request
reply queries and applications in which prompt
delivery is more important than accurate delivery,
such as transmitting speech or video.
Relationship of IP, TCP &UDP
The Application Layer
• The TCP/IP model does not have session or presentation layers.
• On top of the transport layer is the application layer.
• It contains all the higher-level protocols like TELNET, FTP,
SMTP,...
– TELNET - The virtual terminal Protocol allows a user on
one machine to log onto a distant machine and work there.
– FTP - The File Transfer Protocol provides a way to move
data efficiently from one machine to another.
– SMTP – The Simple Mail Transfer Protocol - specialized
protocol developed for Electronic mail transfer.
– Many other protocols have been added to
these over the years:
• The Domain Name System (DNS) for mapping
host names onto their network addresses,
• Hyper Text Transfer Protocol (HTTP) for
fetching pages on the World Wide Web, .....
Questions
TCP/IP reference model contains how many layers
a) 3
b) 4
c) 6
d) 7
Which layer is responsible for process to process delivery?
a) network layer
b) transport layer
c) session layer
d) data link layer
TCP/IP model was developed _____ the OSI model.
a) prior to
b) after
c) simultaneous to
d) none of the mentioned
TCP/IP model does not have ______ layer but OSI model have
this layer.
a) session layer
b) presentation layer
c) application layer
d) both (a) and (b)
Telnet
A)allows user to connect client machine
B)transferring files
C)sharing files
D)none of above
The design principle of the OSI reference
model
• A layer should be created where a different
abstraction is needed
• Each layer should perform a well defined function
• The function of each layer can be chosen as an
international standard
• The layer boundaries should be chosen to
minimize the information flow across the
interfaces
• The number of layers should be not too large or
not too small
Reference Models
The OSI
reference
model.
The functions of the seven layers
• The physical layer is concerned with transmitting raw bits over a
communication channel
• The data link layer performs flow control and also transforms a
raw transmission facility into a line that appears error free (ARQ)
• The network layer controls the operation of the subnet, e.g.
routing, flow control, internetworking,…
• The transport layer performs assembling and disassembling,
isolates the upper layers from the changes in the network hardware,
and determines the type of services
• The session layer establishes sessions (dialog control, …)
• The presentation layer is concerned with the syntax and semantics
• The application layer contains a variety of commonly used
protocols (e.g. Hyper Text Transfer Protocol for WWW, file
transfer, e-mail, network news,…)
Reference Models (2)
The TCP/IP reference model.
Reference Models (3)
Protocols and networks in the TCP/IP model initially.
Comparing OSI and TCP/IP Models
Concepts central to the OSI model
• Services: defines layer’s semantics
• Interfaces: tells the processes above it
how to access it.
• Protocols
Probably the biggest contribution of the OSI model is to make the
distinction between these three concepts explicit.
A Critique of the OSI Model and Protocols
Why OSI did not take over the world
• Bad timing
• Bad technology
• Bad implementations
• Bad politics
Bad Timing
The apocalypse of the two elephants.
new
discovery
investment
opportunity
right time
to make
Bad Technology
• The choice of seven layers was political
- session and presentation layers are nearly empty
- Data and network layers are overfull
• The OSI model is extraordinarily complex
• Some functions e.g. addressing, flow control,
error control reappear again and again
Bad Implementations
• Huge, Unwieldy, and Slow
Bad Politics
• bureaucrats involved too much (European
telecommunication ministries, community, us
government)
A Critique of the TCP/IP Reference Model
Problems:
• Service, interface, and protocol not distinguished
• Not a general model
• Host-to-network “layer” not really a layer (is an interface)
• No mention of physical and data link layers
• Minor protocols deeply entrenched, hard to replace
(The virtual terminal protocol, TELNET, was designed for
mechanical teletype terminal)
Hybrid Model
The hybrid reference model to be used in this book.

More Related Content

PPT
Andrew S. Tanembaum, Computer Networks, 4th ed.ppt
PDF
COMPUTER NETWORKS NOTES.pdf
PDF
Computer network unit 1 notes
PPTX
Computer networrs (VTU 22-scheme) first module full PPT.
PPTX
Data Communication and Networks
PPT
Networking And Telecommunications
PDF
Cs8591 Computer Networks
PPT
Chapter 4-The Medium Access Control Sublayer.ppt
Andrew S. Tanembaum, Computer Networks, 4th ed.ppt
COMPUTER NETWORKS NOTES.pdf
Computer network unit 1 notes
Computer networrs (VTU 22-scheme) first module full PPT.
Data Communication and Networks
Networking And Telecommunications
Cs8591 Computer Networks
Chapter 4-The Medium Access Control Sublayer.ppt

What's hot (20)

PPTX
Guided And Unguided Media
PPTX
Cellular system
PPTX
PPTX
Structure of Telephone System.pptx
PPT
Switching
PPTX
TELECOMMUNICATIONS SYSTEMS
PPTX
Multiplexing in mobile computing
PPTX
Unit 1 introduction to computer networks
PPTX
Wireless transmission
PPT
Guided Transmission Media
PPTX
Local area network & Metropolitan area network
PPT
FAST ETHERNET
PPT
Isdn networking
PPT
Ppt for tranmission media
PPTX
types of networks
PPTX
Computer Network Complete Introduction
PPTX
COMPUTER NETWORK
PPTX
Mobile computing-Unit 1,GSM
PDF
Networking devices
PPTX
Physical Layer
Guided And Unguided Media
Cellular system
Structure of Telephone System.pptx
Switching
TELECOMMUNICATIONS SYSTEMS
Multiplexing in mobile computing
Unit 1 introduction to computer networks
Wireless transmission
Guided Transmission Media
Local area network & Metropolitan area network
FAST ETHERNET
Isdn networking
Ppt for tranmission media
types of networks
Computer Network Complete Introduction
COMPUTER NETWORK
Mobile computing-Unit 1,GSM
Networking devices
Physical Layer
Ad

Similar to Andrew S. Tanenbaum - Computer Networks. (20)

PDF
Chapter1.pdf
PPT
Lecture3 - Computer Networks by the Professor.ppt
PPT
computer networks chapter1 FundamentalsChapter1.ppt
PPTX
Introduction to Networks
PPT
computer_networks_unit1_totalunitsnotes.ppt
PPTX
CN module for the first mod momodule.ppt
PDF
Modue 1 part 1 of computer networks for your university exams
PPT
Jaimin chp-1 - introduction - 2011 batch
PDF
Computer networking (nnm)
PDF
Lecture Notes - Introduction to Computer Network
PPT
Data & comp. communication
PPTX
A computer network is a system of interconnected devices that can share resou...
PPTX
Unit 1 Introduction (1).pptx
PPTX
Module 1 CN -new.pptx
PPTX
Network Fundamentals1.pptx
PPT
Computer network
PPT
Computer network
PPT
Networking Fundamentals
PPT
JNTUHS-11-12-2024.ppt computer networks notes
PPTX
unit 1- Basics of Computer communication and networks.pptx
Chapter1.pdf
Lecture3 - Computer Networks by the Professor.ppt
computer networks chapter1 FundamentalsChapter1.ppt
Introduction to Networks
computer_networks_unit1_totalunitsnotes.ppt
CN module for the first mod momodule.ppt
Modue 1 part 1 of computer networks for your university exams
Jaimin chp-1 - introduction - 2011 batch
Computer networking (nnm)
Lecture Notes - Introduction to Computer Network
Data & comp. communication
A computer network is a system of interconnected devices that can share resou...
Unit 1 Introduction (1).pptx
Module 1 CN -new.pptx
Network Fundamentals1.pptx
Computer network
Computer network
Networking Fundamentals
JNTUHS-11-12-2024.ppt computer networks notes
unit 1- Basics of Computer communication and networks.pptx
Ad

Recently uploaded (20)

PDF
O7-L3 Supply Chain Operations - ICLT Program
PPTX
PPT- ENG7_QUARTER1_LESSON1_WEEK1. IMAGERY -DESCRIPTIONS pptx.pptx
PPTX
Pharmacology of Heart Failure /Pharmacotherapy of CHF
PDF
Computing-Curriculum for Schools in Ghana
PDF
3rd Neelam Sanjeevareddy Memorial Lecture.pdf
PPTX
Cell Structure & Organelles in detailed.
PDF
O5-L3 Freight Transport Ops (International) V1.pdf
PDF
Basic Mud Logging Guide for educational purpose
PDF
01-Introduction-to-Information-Management.pdf
PDF
FourierSeries-QuestionsWithAnswers(Part-A).pdf
PDF
2.FourierTransform-ShortQuestionswithAnswers.pdf
PDF
grade 11-chemistry_fetena_net_5883.pdf teacher guide for all student
PDF
Chapter 2 Heredity, Prenatal Development, and Birth.pdf
PDF
ANTIBIOTICS.pptx.pdf………………… xxxxxxxxxxxxx
PPTX
Renaissance Architecture: A Journey from Faith to Humanism
PDF
STATICS OF THE RIGID BODIES Hibbelers.pdf
PDF
Abdominal Access Techniques with Prof. Dr. R K Mishra
PPTX
Final Presentation General Medicine 03-08-2024.pptx
PDF
Pre independence Education in Inndia.pdf
PPTX
Introduction_to_Human_Anatomy_and_Physiology_for_B.Pharm.pptx
O7-L3 Supply Chain Operations - ICLT Program
PPT- ENG7_QUARTER1_LESSON1_WEEK1. IMAGERY -DESCRIPTIONS pptx.pptx
Pharmacology of Heart Failure /Pharmacotherapy of CHF
Computing-Curriculum for Schools in Ghana
3rd Neelam Sanjeevareddy Memorial Lecture.pdf
Cell Structure & Organelles in detailed.
O5-L3 Freight Transport Ops (International) V1.pdf
Basic Mud Logging Guide for educational purpose
01-Introduction-to-Information-Management.pdf
FourierSeries-QuestionsWithAnswers(Part-A).pdf
2.FourierTransform-ShortQuestionswithAnswers.pdf
grade 11-chemistry_fetena_net_5883.pdf teacher guide for all student
Chapter 2 Heredity, Prenatal Development, and Birth.pdf
ANTIBIOTICS.pptx.pdf………………… xxxxxxxxxxxxx
Renaissance Architecture: A Journey from Faith to Humanism
STATICS OF THE RIGID BODIES Hibbelers.pdf
Abdominal Access Techniques with Prof. Dr. R K Mishra
Final Presentation General Medicine 03-08-2024.pptx
Pre independence Education in Inndia.pdf
Introduction_to_Human_Anatomy_and_Physiology_for_B.Pharm.pptx

Andrew S. Tanenbaum - Computer Networks.

  • 1. Computer Networks and Information Security 24BIT4C30 UNIT-I SURESH KUMAR S Assistant Prof, IT Department, STC, Pollachi
  • 3. Technology Revolution • 18th Century - The great mechanical systems accompanying the Industrial Revolution •19th Century - The age of the steam engine • 20th Century - The key technology was information gathering, processing, and distribution
  • 4. Technology Revolution •During the first two decades of their existence, computer systems were highly centralized, usually within a single large room. •A medium-sized company or university might have had one or two computers •While very large institutions had at most a few dozen.
  • 5. Technology Revolution The old model of a single computer serving all of the organization’s computational needs has been replaced by one in which a large number of separate but interconnected computers do the job. These systems are called computer networks.
  • 6. What is a Computer Network The term ‘‘computer network’’ to mean a collection of autonomous computers interconnected by a single technology. Two computers are said to be interconnected if they are able to exchange information.
  • 7. A set of communication elements connected by communication links ➭ Communication elements • Computers, printers, mobile phones, … • Routers, switches, ... ➭ Communication links • optic fiber • coaxial cable • twisted pair • wireless (radio, microwave, satellite) ➭ Topologies • Ring, Star, Bus, Tree, Mesh What is a Computer Network
  • 8. A software/hardware infrastructure ➭ Share resources • data, files, computing power, video,… ➭ Information highway • communication between geographically dispersed users ➭ Electronic Society •Cyberspace •Virtual global nation What is a Computer Network
  • 9. Introduction  Computer Network – an interconnected collection of autonomous computers Internet: “network of networks” – loosely hierarchical – public Internet versus private intranet WWW a distributed systems run on the top of Internet  Distributed System – High degree of cohesiveness and transparency – A software system built on top of a network
  • 10. Uses of Computer Networks • Business Applications • Home Applications • Mobile Users • Social Issues
  • 11. Business Applications of Networks A network with two clients and one server. a. Resource sharing (hardware, software, information, …) c. Doing business electronically (B2B, B2C, e-commerce) b. Providing communication medium (e-mail, videoconferenceing)
  • 12. Goals of Networks for Companies  Resource sharing: equipment, programs, data  high reliability – replicated data – hardware  Saving money – mainframe: 10 times faster, but 1000 times more expensive than PC – client-server model  Scalability – mainframe: replace a larger one – client-server model: add more servers  Communication medium for separated employees
  • 13. Business Applications of Networks (2) • The client-server model involves requests and replies. a. Two processes are involved b. A communication network is needed
  • 14. Home Network Applications • Access to remote information • Person-to-person communication • Interactive entertainment • Electronic commerce
  • 15.  Networks for People – Access to remote information • e.g.: financial, shopping, customized newspapers, on-line digital library, WWW – Person-to-person communication • email, video conference, newsgroup – Interactive entertainment • interactive movies or TVs, game playing
  • 16. Home Network Applications (2) In peer-to-peer system there are no fixed clients and servers.
  • 17. Home Network Applications (3) Some forms of e-commerce.
  • 18. Mobile Network Users Combinations of wireless networks and mobile computing. mobile-commerce
  • 19. Social Issues • Politics • Religion • Sex • Privacy • Crime • junk mail  Each country has different laws.  Debate rages!
  • 20. Network Hardware • Local Area Networks • Metropolitan Area Networks • Wide Area Networks • Wireless Networks • Home Networks • Internetworks
  • 21. Types of transmission technology • Broadcast links • Point-to-point links Network Hardware
  • 22. Network Hardware – Broadcast networks • single communication channel shared by all machines • broadcasting or multicasting (via packets) – broadcasting: a special code in address field – multicasting: reserve one bit to indicate multicasting, the remaining n-1address bits can hold a group number. Each machine can subscribe to any groups • used by localized networks (or satellites) – point-to-point networks • many hops • routing algorithms: multiple routes are possible • used by large networks
  • 24. Local Area Networks (LANs) Two broadcast networks (a) Bus (b) Ring · Characterics of LANs: (a) privated-owned, (b) small size, (c) transmission technology, (d) topology · Ethernets are most popular (up to 10 Gb/s)
  • 25. Local Area Networks  Characteristics – small size – transmission technology • single cable • 10Mbps ~ 10Gb/s • 10Gb/s : 10,000,000.000 bps – topology: • bus – Ethernet (IEEE 802.3): 10 or 100 Mbps (10Gb/s) • ring – IBM token ring (IEEE 802.5): 4 or 16 Mbps  Channel allocation of broadcast networks – static: each machine has an allocated time slot – dynamic
  • 26. Metropolitan Area Networks A metropolitan area network based on cable TV.
  • 27. Wide Area Networks (WANs) Relation between hosts on LANs and the subnet. ·WANs are point-to-point networks ·WANs consist of two distinct components: transmission lines (copper, fiber, microwave) and switches (electronics, optics)  Store-and-forward or packet-switched subnet
  • 29. Subnet (WANs) Subnet (WANs) is consists of two components: – transmission lines (circuits, channels, trunks) • move bits between machines – switching elements • connect transmission lines • Router: also called packet switching nodes, intermediate systems, and data switching exchanges • Operate in store-and-forward, or packet-switched mode.
  • 30. Wide Area Networks (2) A stream of packets from sender to receiver. (virtual- circuit)  Routing decisions are made locally·  How A makes that decision is called the routing algorithm.  Will be studied in detail in Chapter 5. 9/17 End
  • 31. Wireless Networks Categories of wireless networks: • System interconnection (short-range radio, e.g. Bluetooth) • Wireless LANs (802.11a, 802.11b, 802.11g) • Wireless WANs (802.16, Cellular telephones, Satellites) • Wireless sensor networks
  • 32. Wireless Networks (2) (a) Bluetooth configuration (b) Wireless LAN
  • 33. Wireless Networks (3) (a) Individual mobile computers (b) A flying LAN
  • 34. Home Network Categories  Computers (desktop PC, PDA, shared peripherals)  Entertainment (TV, DVD, VCR, camera, stereo, MP3)  Telecomm (telephone, cell phone, intercom, fax)  Appliances (microwave, fridge, clock, furnace, airco., light)  Telemetry (utility meter, smoke/burglar alarm, babycam).
  • 35.  Fundamentally different properties 1. Devices have to be easy to install 2. The network and devices have to be foolproof in operation 3. Low price is essential 4. The network needs sufficient capacity ( for multimedia application) 5. The network interface and wiring have to be stable for many years 6. Security and reliability will be very important (minimize false alarm or misalarm)  Home networks may be wired or wireless
  • 36. Internetworks • Internetworks connect networks with different hardware and software • A collection of interconnected networks is called an internetwork or internet • Internet is one specific internet • Gateways are used to make the connection and to provide the necessary translation (protocol convertion)
  • 38. Network Software • Protocol Hierarchies (Layer structure) • Design Issues for the Layers • Connection-Oriented and Connectionless Services • Service Primitives • The Relationship of Services to Protocols
  • 39. Network Software Protocol Hierarchies – a series of layers (levels) – lower layer provides service to higher layers – protocol: • an agreement between the communication parties on how communication is to proceed – Peers: • the corresponding layers on different machines. – Network architecture: a set of layers and protocols – Protocol stack: • a list of protocols used by a certain system, one protocol per layer
  • 40. Network Software Protocol Hierarchies Layers, protocols, and interfaces.  Peer Network Architecture: A set of layers and protocols Protocol Stack: A list of protocols used by a certain system, one protocol per layer. Virtual Communication Physical Communication
  • 41. Layering ➭ To make things simple: modularization ➭ Different layer has different functions ➭ Create layer boundary such that • description of services can be small • number of interactions across boundary are minimized • potential for interface standardized ➭ Different level of abstraction in the handling of data (e.g., syntax, semantics) ➭ Provide appropriate services to upper layer ➭ Use service primitives of lower layer Network Software
  • 42. Protocol Hierarchies (2) The philosopher-translator-secretary architecture.
  • 43. Protocol Hierarchies (3) Example information flow supporting virtual communication in layer 5. Message segmentation Encapsulation
  • 44. Design Issues for the Layers • Addressing (telephone number, e-mail address, IP address,…) • Error Control (error correction codes, ARQ, HARQ,…) • Flow Control (feedback-based, rate-based) • Multiplexing (gathering several small messages with the same destination into a single large message or vice versa  Demultiplexing) • Routing (directing traffic to the destination)
  • 45. Design Issues for Layers  Identify senders and receivers – multiple computers and processes: addressing  Data transfer – simplex, half-duplex, full-duplex communication – # of logical channels per connections, priorities  Error control – error detection – error correction  Sequencing of pieces
  • 46. Design Issues for Layers  Flow control – feedback from the receiver – agreed upon transmission rate  Length of messages – long messages: disassemble, transmit, and reassmeble messages – short messages: gather several small messages  Multiplexing and Demultiplexing – when expensive to set up a separate connection – needed in physical layer  Routing: split over two or more layers – High level: London -> France or Germany -> Rome – Low level: many available circuits
  • 48. Service Primitives (Operations) Five service primitives for implementing a simple connection- oriented service. A service is formally defined by a set of primitives (operations) available to a user process to access the services.
  • 49. Service Primitives (2) Packets sent in a simple client-server interaction on a connection-oriented network. If the protocol stack is located in the operating system, the primitives are normally system calls.
  • 50. Services to Protocols Relationship The relationship between a service and a protocol. ·The service defines what operations the layer is prepared to perform on behalf of its users ·A service is a set of primitives that a layer provides to the layer above it. ·A protocol is a set of rules governing the format and meaning of the packets which are exchanged by the peer entities in the same layer. Service Providers Service Users Services related to the interfaces between layers;  Protocols related to the packets sent between peer entities on different machine.
  • 51. Reference Models • The OSI Reference Model • The TCP/IP Reference Model • A Comparison of OSI and TCP/IP • A Critique of the OSI Model and Protocols • A Critique of the TCP/IP Reference Model
  • 52. OSI Reference Model • Reference Model gives a conceptual framework that standardizes communication between heterogeneous networks. •OSI Reference model is based on a proposal developed by the International Standards Organization (ISO) as a first step toward international standardization of the protocols used in the various layers (Day and Zimmermann, 1983). • It was revised in 1995 (Day, 1995). • The model is called the ISO-OSI (Open Systems Interconnection) Reference Model because it deals with connecting open systems, i.e. systems that are open for communication with other systems.
  • 53. Principles that were applied to arrive at the seven layers • A layer should be created where a different abstraction is needed. • Each layer should perform a well-defined function. • The function of each layer should be chosen with an eye toward defining internationally standardized protocols. • The layer boundaries should be chosen to minimize the information flow across the interfaces. • The number of layers should be large enough that distinct functions need not be thrown together in the same layer out of necessity and small enough that the architecture does not become unwieldy.
  • 54. The OSI layers 1. Physical Layer 2. Data Link Layer 3. Network Layer 4. Transport Layer 5. Session Layer 6. Presentation Layer 7. Application Layer
  • 56. The Physical Layer •Tansmits raw bits over a communication channel. •Design issue : To make sure that when one side sends a 1 bit, it is received by the other side as a 1 bit, not as a 0 bit.
  • 57. The Data Link Layer •The sender break up the input data into data frames and transmits the frames sequentially. If the service is reliable, the receiver confirms correct receipt of each frame by sending back an acknowledgement frame. •Design Issues: Error Handling - To transform a raw transmission facility into a line that appears free of undetected transmission errors to the network layer. Flow Control - To keep a fast transmitter from drowning a slow receiver in data - Some traffic regulation mechanism is needed to let the transmitter know how much buffer space the receiver has at the moment. These two issues are frequently integrated.
  • 58. The Network Layer The network layer controls the operation of the subnet. Design issues: • How packets are routed from source to destination. •Routes can also be determined at the start of each conversation, •Routes can be highly dynamic, based on the current network load. • To control congestion in the network layer • Quality of service provided
  • 59. •When a packet has to travel from one network to another to get to its destination, many problems can arise. The addressing used may be different The packet size may vary The protocols may differ, and so on. ..
  • 60. Other Issues in the Network Layer •When a packet has to travel from one network to another to get to its destination, many problems can arise. •The addressing used may be different •The packet size may vary •The protocols may differ, and so on. .. •The network layer have to overcome all these problems to allow heterogeneous networks to be interconnected. •In broadcast networks, the routing problem is simple, so the network layer is thin or nonexistent.
  • 61. The Transport Layer •The basic function is to accept data from above, split it up into smaller units if needed and pass these to the network layer. Design Issues: •To ensure that the pieces arrive correctly at the other end. •To determine what type of service to provide to the session layer, and, also to the users of the network. The most popular type - an error-free point-to-point channel. Transporting of isolated messages. Broadcasting of messages to multiple destinations. (The type of service is determined when the connection is established.) The transport layer is a true end-to-end layer, all the way from the source to the destination.
  • 62. •A program on the source machine carries on a conversation with a similar program on the destination machine, using the message headers and control messages. •In the lower layers, the protocols are between each machine and its immediate neighbours, and not between the ultimate source and destination machines, which may be separated by many routers.
  • 63. The Session Layer To establish sessions between users on different machines. Sessions offer various services: •Dialog Control - keeping track of whose turn it is to transmit •Token Management - preventing two parties from attempting the same critical operation at the same time •Synchronization - check pointing long transmissions to allow them to continue from where they were after a crash
  • 64. The Presentation Layer •It is concerned with the syntax and semantics of the information transmitted. • For computers with different data representations to communicate, abstract data structures can be defined along with a standard encoding to be used. •This layer manages these abstract data structures and allows higher-level data structures to be defined and exchanged.
  • 65. The Application Layer •The application layer contains a variety of protocols that are commonly needed by users. •One widely-used application protocol is HTTP (Hypertext Transfer Protocol), which is the basis for the World Wide Web. When a browser wants a Web page, it sends the name of the page it wants to the server using HTTP. The server then sends the page back. •Other application protocols are used for file transfer, electronic mail, and network news.
  • 66. Questions The OSI model has _______ layers. a) 4 b) 5 c) 6 d) 7 Which layer is responsible for process to process delivery? a) network layer b) transport layer c) session layer d) data link layer
  • 67. Which layer links the network support layers and user support layers a) session layer b) data link layer c) transport layer d) network layer
  • 68. Which layer provides the services to user? a) application layer b) session layer c) presentation layer d) none of the mentioned
  • 69. OSI stands for a) open system interconnection b) operating system interface c) optical service implementation d) none of the mentioned
  • 70. The TCP/IP Protocol Suite •The TCP/IP protocol suite was developed prior to the OSI model. •Therefore, the layers in the TCP/IP protocol suite do not match exactly with those in the OSI model. •The original TCP/IP protocol suite was defined as four software layers built upon the hardware. •Today, however, TCP/IP is thought of as a five-layer model with the layers named similarly to the ones in the OSI model.
  • 71. Layers in the TCP/IP Protocol Suite TCP/IP reference model has only 4 layers, 1. Host-to-Network Layer 2. Internet Layer 3. Transport Layer 4. Application Layer
  • 72. The TCP/IP internet layer is similar in functionality to the OSI network layer
  • 73. Host-to-Network Layer •The host has to connect to the network using some protocol so it can send IP packets to it. •This protocol is not defined and varies from host to host and network to network.
  • 74. Internet Layer •This layer holds the whole architecture together. •It allows hosts to inject packets into any network and let them travel independently to the destination (potentially on a different network). They may even arrive in a different order than they were sent, in which case it is the job of higher layers to rearrange them, if in-order delivery is desired. •The internet layer defines an official packet format and protocol called IP (Internet Protocol) - It delivers IP packets to their respective destinations. Major issues: Packet Routing Congestion Control
  • 75. The Transport Layer •It is designed to allow peer entities on the source and destination hosts to carry on a conversation, just as in the OSI transport layer. •Two end-to-end transport protocols are defined here: TCP (Transmission Control Protocol) - Reliable Connection-oriented Protocol UDP (User Datagram Protocol) – Unreliable Connectionless Protocol
  • 76. TCP (Transmission Control Protocol) • It is a reliable connection-oriented protocol that allows a byte stream originating on one machine to be delivered without error on any other machine in the internet. • It fragments the incoming byte stream into discrete messages and passes each one on to the internet layer. • At the destination, the receiving TCP process reassembles the received messages into the output stream. • TCP also handles flow control to make sure a fast sender cannot swamp a slow receiver with more messages than it can handle.
  • 77. UDP (User Datagram Protocol) • It is an unreliable, connectionless protocol for applications that do not want TCP's sequencing or flow control and wish to provide their own. • It is also widely used for client-server-type request reply queries and applications in which prompt delivery is more important than accurate delivery, such as transmitting speech or video.
  • 79. The Application Layer • The TCP/IP model does not have session or presentation layers. • On top of the transport layer is the application layer. • It contains all the higher-level protocols like TELNET, FTP, SMTP,... – TELNET - The virtual terminal Protocol allows a user on one machine to log onto a distant machine and work there. – FTP - The File Transfer Protocol provides a way to move data efficiently from one machine to another. – SMTP – The Simple Mail Transfer Protocol - specialized protocol developed for Electronic mail transfer.
  • 80. – Many other protocols have been added to these over the years: • The Domain Name System (DNS) for mapping host names onto their network addresses, • Hyper Text Transfer Protocol (HTTP) for fetching pages on the World Wide Web, .....
  • 81. Questions TCP/IP reference model contains how many layers a) 3 b) 4 c) 6 d) 7
  • 82. Which layer is responsible for process to process delivery? a) network layer b) transport layer c) session layer d) data link layer
  • 83. TCP/IP model was developed _____ the OSI model. a) prior to b) after c) simultaneous to d) none of the mentioned
  • 84. TCP/IP model does not have ______ layer but OSI model have this layer. a) session layer b) presentation layer c) application layer d) both (a) and (b)
  • 85. Telnet A)allows user to connect client machine B)transferring files C)sharing files D)none of above
  • 86. The design principle of the OSI reference model • A layer should be created where a different abstraction is needed • Each layer should perform a well defined function • The function of each layer can be chosen as an international standard • The layer boundaries should be chosen to minimize the information flow across the interfaces • The number of layers should be not too large or not too small
  • 88. The functions of the seven layers • The physical layer is concerned with transmitting raw bits over a communication channel • The data link layer performs flow control and also transforms a raw transmission facility into a line that appears error free (ARQ) • The network layer controls the operation of the subnet, e.g. routing, flow control, internetworking,… • The transport layer performs assembling and disassembling, isolates the upper layers from the changes in the network hardware, and determines the type of services • The session layer establishes sessions (dialog control, …) • The presentation layer is concerned with the syntax and semantics • The application layer contains a variety of commonly used protocols (e.g. Hyper Text Transfer Protocol for WWW, file transfer, e-mail, network news,…)
  • 89. Reference Models (2) The TCP/IP reference model.
  • 90. Reference Models (3) Protocols and networks in the TCP/IP model initially.
  • 91. Comparing OSI and TCP/IP Models Concepts central to the OSI model • Services: defines layer’s semantics • Interfaces: tells the processes above it how to access it. • Protocols Probably the biggest contribution of the OSI model is to make the distinction between these three concepts explicit.
  • 92. A Critique of the OSI Model and Protocols Why OSI did not take over the world • Bad timing • Bad technology • Bad implementations • Bad politics
  • 93. Bad Timing The apocalypse of the two elephants. new discovery investment opportunity right time to make
  • 94. Bad Technology • The choice of seven layers was political - session and presentation layers are nearly empty - Data and network layers are overfull • The OSI model is extraordinarily complex • Some functions e.g. addressing, flow control, error control reappear again and again
  • 95. Bad Implementations • Huge, Unwieldy, and Slow Bad Politics • bureaucrats involved too much (European telecommunication ministries, community, us government)
  • 96. A Critique of the TCP/IP Reference Model Problems: • Service, interface, and protocol not distinguished • Not a general model • Host-to-network “layer” not really a layer (is an interface) • No mention of physical and data link layers • Minor protocols deeply entrenched, hard to replace (The virtual terminal protocol, TELNET, was designed for mechanical teletype terminal)
  • 97. Hybrid Model The hybrid reference model to be used in this book.

Editor's Notes

  • #52: Instructor: Often multiple variables must be passed from one function to another, and often these variables have different data types. Thus it is useful to have a container to store various types of variables in. Structs allow the programmer to do just that.
  • #53: Structs can contain variables of any variable type previously mentioned as well as more structs. Thus a hierarchical tree can be created out of the user’s data via structs.
  • #54: Instructor: A structure can be defined in two ways. The first method gives the compiler the layout or structure of the struct, but does not actually create one for use. This is useful when the programmer wishes to create global definitions for structs that he or she wishes to use later. The second method varies only in that a variable name now exists after the closing brace of the structure. This variable is now a struct which contains all the variables within the struct definition. Accessing the data in this variable will be discussed in a few slides.
  • #58: Instructor: The most common method of accessing a struct is with the structure member operator as shown. Pointers can also be used with structs. The structure pointer operator must then be used to access struct members. Another method is to first dereference the structure pointer and then use the structure member operator to access the members.
  • #61: Instructor: This program shows simple definitions and operations on structures. The struct identity contains the struct personal and a string name. One can see how structures and variable can be mixed during declaration.
  • #62: Instructor: In the main() function when the struct “js” is created with the structure “identity” a default value for the variable name[30] in the struct “identity” is given. The programmer knows this value will be assigned to name[30] since it is the first and only basic data type in the top-level structure. Following this, a struct pointer is assigned the address of the struct “js.” The program then shows how values can be assigned and used in multi-level structs given both the struct and a pointer to the struct.
  • #63: Instructor: When structures become large, it may be necessary to take memory usage into account. Some defined structures may not always use all variables inside of the structure depending on what function or subsection of code is currently using the structure. Thus a way of allowing variables to “share” memory and reduce struct size is with a union. The struct definition is given on the next slide.
  • #64: Instructor: Here a multi-level struct is defined. Within the struct personal is a union level with the type status. In the union status is a series of variables, one of type int and one of type char. As pointed out on the previous slide the variables in this union use the same memory. When using unions it is important to be sure the variables in the union won’t be required at the same time, otherwise data will be overwritten.
  • #65: Instructor: This program simulates the entering of student information for both undergrad and graduate students. Undergrad students require a rank, which is an integer from 1 to 5. Grad students require the degree sought (MS or PhD) instead of a rank. Since a student cannot be both undergrad AND grad at the same time only the rank OR deg (degree) variable will be used at any one time. Thus this set of data is a perfect candidate for a union. The structure is defined in the same manner as the previous example, but this time depending on the user’s input the undergrad or grad (on the next slide) input code will be executed. Notice the undergrad code requires the input of jb.person.level.rank, and one can see on the next slide the input of jb.person.level.deg instead.
  • #70: Instructor: Often multiple variables must be passed from one function to another, and often these variables have different data types. Thus it is useful to have a container to store various types of variables in. Structs allow the programmer to do just that.
  • #71: Structs can contain variables of any variable type previously mentioned as well as more structs. Thus a hierarchical tree can be created out of the user’s data via structs.
  • #73: Instructor: A structure can be defined in two ways. The first method gives the compiler the layout or structure of the struct, but does not actually create one for use. This is useful when the programmer wishes to create global definitions for structs that he or she wishes to use later. The second method varies only in that a variable name now exists after the closing brace of the structure. This variable is now a struct which contains all the variables within the struct definition. Accessing the data in this variable will be discussed in a few slides.