CH 3

You might also like

Download as pdf or txt
Download as pdf or txt
You are on page 1of 34

Chapter-3 Network flow MANETs

algorithm
By Dr.Rinesh S
Flow network
• In graph theory, a flow network is a directed graph
where each edge has a capacity and each edge
receives a flow.
• The amount of flow on an edge cannot exceed the
capacity of the edge. Often in operations research, a
directed graph is called a network, the vertices are
called nodes and the edges are called arcs.
What is network flow with example?
• For example, a company might want to ship
packages from Los Angeles to New York City using
trucks to transport between intermediate cities.
• If there is only one truck for the route connecting a
pair of cities and each truck has a maximum load,
then the graph describing the transportation options
will be a flow network.
Multiple Access with Collision
Avoidance (MACA)
• Multiple Access with Collision Avoidance
(MACA) is a medium access control (MAC) layer
protocol used in wireless ad hoc network.
• It is used to solve the hidden terminal problem and
exposed terminal problem.
• It is an alternate to Carrier-sense multiple access
(CSMA) which have the hidden terminal problem and
the exposed terminal problem.
Working :-
• The main condition for MACA to work, is that the
stations are in sync with frame sizes and data speed.
• It includes transmission of two frame called RTS and
CTS preceding information transmission.
• RTS means Request to Send and CTS means Clear to
Send.
• Stations near to the transmitting station can hear RTS
and remains silent to here the CTS.
• Assume a transmission station A has data frame to send
to a receiving station B.
The whole process will work as
follows:
Solution to Hidden/Exposed Terminal
Problem :
Cont..
• In exposed terminal problem one node stop
receiving because it assumes that it can cause
interference and so stops its transmission
attempts which will make the further nodes out
of range.
• In this case RTS and CTS solves the problem
and no terminal can stop transmission because
of interference.
What are IEEE 802.11 networks?

• IEEE 802.11 standard, popularly known as WiFi, lays


down the architecture and specifications of wireless
LANs (WLANs).
• WiFi or WLAN uses high-frequency radio waves
instead of cables for connecting the devices in LAN.
Users connected by WLANs can move around within
the area of network coverage.
IEEE 802.11 Architecture
Stations (STA)
• Stations (STA) − Stations comprises of all devices
and equipment that are connected to the
wireless LAN. A station can be of two types−
– Wireless Access Point (WAP) − WAPs or simply access
points (AP) are generally wireless routers that form
the base stations or access.
– Client. Clients are workstations, computers, laptops,
printers, smartphones, etc.
• Each station has a wireless network interface
controller.
Basic Service Set (BSS)
• Basic Service Set (BSS) − A basic service set is a
group of stations communicating at the physical
layer level. BSS can be of two categories
depending upon the mode of operation−
– Infrastructure BSS − Here, the devices communicate
with other devices through access points.
– Independent BSS − Here, the devices communicate in
a peer-to-peer basis in an ad hoc manner.
Extended Service Set (ESS)
• Extended Service Set (ESS) − It is a set of all
connected BSS.
Distribution System (DS)
• Distribution System (DS) − It connects access
points in ESS.
Frame Format of IEEE 802.11
The main fields of a frame of wireless
LANs as laid down by IEEE 802.11 are −
• Frame Control − It is a 2 bytes starting field composed of 11
subfields. It contains control information of the frame.
• Duration − It is a 2-byte field that specifies the time period for
which the frame and its acknowledgment occupy the channel.
• Address fields − There are three 6-byte address fields containing
addresses of source, immediate destination, and final endpoint
respectively.
• Sequence − It a 2 bytes field that stores the frame numbers.
• Data − This is a variable-sized field that carries the data from the
upper layers. The maximum size of the data field is 2312 bytes.
• Check Sequence − It is a 4-byte field containing error detection
information.
What is an Internet algorithm?
• Algorithms are instructions for solving a problem or
completing a task.
• Recipes are algorithms, as are math equations.
Computer code is algorithmic.
• The internet runs on algorithms and all online
searching is accomplished through them.
Routing algorithms

• Routing is the process of finding a path in a


network to send traffic. A number of routing
algorithms are out there with names like fuzzy
routing, heuristic routing, and adaptive routing,
but each one helps make network
communication possible.
• Routing is one of the core technologies at the
heart of the Internet -- no routing, no Internet.
Encryption

• Encryption is the process of turning information into


unreadable nonsense characters. It's what makes
Internet credit card transactions possible and it's at the
heart of Internet security.
• 128-bit and 256-bit encryption algorithms are two of
the most popular today.
Sendmail

• Sendmail is an email routing tool -- it's makes sure


that your email gets where you want it to. It supports
the Simple Mail Transfer Protocol (SMTP), which is
used by almost every webmail service.
• It actually depends on several algorithms to handle
tasks like queue management and delivery
processing.
Hashing algorithms

• Hashes are essential to ensure that transmitted


messages haven't been tampered with. The sender
creates a "hash" of a message and sends that along
with the message itself.
• The person on the other end decrypts the message
and the hash, produces another hash from the
received message, and compares the two hashes.
• If they're the same, then it's almost certain that the
message hasn't been altered by a third party.
String Matching Algorithms

• String matching algorithms have greatly influenced computer


science and play an essential role in various real-world problems.
• It helps in performing time-efficient tasks in multiple
domains. These algorithms are useful in the case of searching a
string within another string.
• String matching is also used in the Database schema, Network
systems.
• Let us look at a few string matching algorithms before
proceeding to their applications in real world.
• String Matching Algorithms can broadly be classified into two
types of algorithms –
• Exact String Matching Algorithms
• Approximate String Matching Algorithms
Exact String Matching Algorithms:
• Exact string matching algorithms is to find one, several, or all occurrences
of a defined string (pattern) in a large string (text or sequences) such that
each matching is perfect. All alphabets of patterns must be matched to
corresponding matched subsequence. These are further classified into four
categories:
• Algorithms based on character comparison:
– Naive Algorithm: It slides the pattern over text one by one and check for a
match. If a match is found, then slides by 1 again to check for subsequent
matches.
– KMP (Knuth Morris Pratt) Algorithm: The idea is whenever a mismatch is
detected, we already know some of the characters in the text of the next
window. So, we take advantage of this information to avoid matching the
characters that we know will anyway match.
– Boyer Moore Algorithm: This algorithm uses best heuristics of Naive and KMP
algorithm and starts matching from the last character of the pattern.
– Using the Trie data structure: It is used as an efficient information retrieval data
structure. It stores the keys in form of a balanced BST.

• Deterministic Finite Automaton (DFA) method:
– Automaton Matcher Algorithm: It starts from the first state of the
automata and the first character of the text. At every step, it
considers next character of text, and look for the next state in the
built finite automata and move to a new state.
• Algorithms based on Bit (parallelism method):
– Aho-Corasick Algorithm: It finds all words in O(n + m + z) time
where n is the length of text and m be the total number
characters in all words and z is total number of occurrences of
words in text. This algorithm forms the basis of the original Unix
command fgrep.
• Hashing-string matching algorithms:
– Rabin Karp Algorithm: It matches the hash value of the pattern
with the hash value of current substring of text, and if the hash
values match then only it starts matching individual characters.
Approximate String Matching
Algorithms:
• Approximate String Matching Algorithms (also known as Fuzzy String
Searching) searches for substrings of the input string. More specifically, the
approximate string matching approach is stated as follows: Suppose that we
are given two strings, text T[1…n] and pattern P[1…m]. The task is to find
all the occurrences of patterns in the text whose edit distance to the pattern
is at most k. Some well known edit distances are – Levenshtein edit
distance and Hamming edit distance.
• These techniques are used when the quality of the text is low, there are
spelling errors in the pattern or text, finding DNA subsequences after
mutation, heterogeneous databases, etc. Some approximate string matching
algorithms are:
• Naive Approach: It slides the pattern over text one by one and check for
approximate matches. If they are found, then slides by 1 again to check for
subsequent approximate matches.
• Sellers Algorithm (Dynamic Programming)
• Shift or Algorithm (Bitmap Algorithm)
Applications of String Matching
Algorithms:
• Plagiarism Detection:
The documents to be
compared are
decomposed into string
tokens and compared
using string matching
algorithms.
• Thus, these algorithms are
used to detect similarities
between them and declare
if the work is plagiarized
or original.
Bioinformatics and DNA Sequencing
• Bioinformatics and DNA
Sequencing:
• Bioinformatics involves
applying information
technology and computer
science to problems
involving genetic sequences
to find DNA patterns.
• String matching algorithms
and DNA analysis are both
collectively used for finding
the occurrence of the pattern
set.
Digital Forensics
• Digital Forensics: String matching algorithms
are used to locate specific text strings of
interest in the digital forensic text, which are
useful for the investigation.
Spelling Checker
• Spelling Checker:
• Trie is built based on a
predefined set of
patterns. Then, this trie
is used for string
matching.
• The text is taken as
input, and if any such
pattern occurs, it is
shown by reaching the
acceptance state.
Spam filters:
• Spam filters: Spam filters
use string matching to
discard the spam.
• For example, to
categorize an email as
spam or not, suspected
spam keywords are
searched in the content of
the email by string
matching algorithms.
• Hence, the content is
classified as spam or not.
Search engines or content search in
large databases
• Search engines or content
search in large
databases: To categorize
and organize data
efficiently, string matching
algorithms are used.
• Categorization is done based
on the search keywords.
Thus, string matching
algorithms make it easier for
one to find the information
they are searching for.
Intrusion Detection System
• Intrusion Detection
System: The data packets
containing intrusion-related
keywords are found by
applying string matching
algorithms.
• All the malicious code is
stored in the database, and
every incoming data is
compared with stored data. If a
match is found, then the alarm
is generated.
• It is based on exact string
matching algorithms where
each intruded packet must be
detected.
What is meant by document
processing?
• Process documentation provides a detailed description of how to
carry out a business process.
• It includes all types of documents that support a process, like
• policies
• checklists
• tutorials
• forms
• screenshots
• links to other applications
• process maps
• It is used as a guide to help employees at all levels, including
decision makers and stakeholders, quickly understand company
processes.
Who is Involved in Process
Documentation

You might also like