23 Mar 2013
10 Mar 2013
TCP vs UDP
TCP
|
UDP
|
|
Acronym for:
|
Transmission Control Protocol
|
User Datagram Protocol or
Universal Datagram Protocol
|
Function:
|
As a message makes its way across
the internet from one computer to another. This is connection based.
|
UDP is also a protocol used in
message transport or transfer. This is not connection based which means that
one program can send a load of packets to another and that would be the end
of the relationship.
|
Usage:
|
TCP is used in case of non-time
critical applications.
|
UDP is used for games or
applications that require fast transmission of data. UDP's stateless nature
is also useful for servers that answer small queries from huge numbers of
clients.
|
Examples:
|
HTTP, HTTPs, FTP, SMTP Telnet
etc...
|
DNS, DHCP, TFTP, SNMP, RIP, VOIP
etc...
|
Ordering of data packets:
|
TCP rearranges data packets in the
order specified.
|
UDP has no inherent order as all
packets are independent of each other. If ordering is required, it has to be
managed by the application layer.
|
Speed of transfer:
|
The speed for TCP is slower than
UDP.
|
UDP is faster because there is no
error-checking for packets.
|
Reliability:
|
There is absolute guarantee that
the data transferred remains intact and arrives in the same order in which it
was sent.
|
There is no guarantee that the
messages or packets sent would reach at all.
|
Header Size:
|
TCP header size is 20 bytes
|
UDP Header size is 8 bytes.
|
Common Header Fields:
|
Source port, Destination port,
Check Sum
|
Source port, Destination port,
Check Sum
|
Streaming of data:
|
Data is read as a byte stream, no
distinguishing indications are transmitted to signal message (segment)
boundaries.
|
Packets are sent individually and
are checked for integrity only if they arrive. Packets have definite
boundaries which are honored upon receipt, meaning a read operation at the
receiver socket will yield an entire message as it was originally sent.
|
Weight:
|
TCP requires three packets to set
up a socket connection, before any user data can be sent. TCP handles
reliability and congestion control.
|
UDP is lightweight. There is no
ordering of messages, no tracking connections, etc. It is a small transport
layer designed on top of IP.
|
Data Flow Control:
|
TCP does Flow Control. TCP
requires three packets to set up a socket connection, before any user data
can be sent. TCP handles reliability and congestion control.
|
UDP does not have an option for
flow control
|
Error Checking:
|
TCP does error checking
|
UDP does error checking, but no
recovery options.
|
Fields:
|
1. Sequence Number, 2. AcK number,
3. Data offset, 4. Reserved, 5. Control bit, 6. Window, 7. Urgent Pointer 8.
Options, 9. Padding, 10. Check Sum, 11. Source port, 12. Destination port
|
1. Length, 2. Source port, 3.
Destination port, 4. Check Sum
|
Acknowledgement:
|
Acknowledgement segments
|
No Acknowledgment
|
8 Mar 2013
POP and OOPS
Procedure oriented programming (POP)
|
Object oriented programming (OOP)
|
POP emphasis on algorithms
(procedure)
|
OOP emphasis on data rather
than procedure.
|
Large programs are divided into
smaller programs known as functions.
|
Programs are divided into objects.
|
They have not facility to hide
data.
|
They have facility to hide data
from
outside world.
|
Function can transfer data from
one function to another and one form to another form.
|
Objects can communication with
each other using functions.
|
It does not have powerful features
like operator overloading, inheritance etc.
|
It contains powerful features
like operator overloading, inheritance.
|
For design program it uses
top-down approach.
|
For design program it uses
bottom-up
approach.
|
Examples: C, COBOL, FORTRAN etc.
|
Examples: C++, java
|
Application of OOP
o Following are the
applications for object oriented language.
o Real time systems
o Simulation and modeling
o Object oriented database
o Hypertext, hypermedia and
expertext
o AI and expert systems
o Neural network and parallel
programming
o Decision support system
o Office automation system
o CIM / CAM / CAD systems
Benefits of OOP
o Following are the benefits
of object oriented programming language.
o User can create new data
type or users define data type by making class.
o Code can be reuse by
using inheritance.
o Data can be hiding
from outside world by using encapsulation.
o Operators or functions can
be overloaded by using polymorphism, so same functions or operators can
be used for multitasking.
o Object oriented system can
be easily upgrade from small system to large system.
o It is easy to partition
work for same project.
o Message passing techniques
make communication easier.
o Software complexcity can be easily
managed.
o Maintenances cost is less.
o Simple to implement.
Message Passing:
o Objects
can communicate with each others by passing message same as people passing
message with each other.
o Objects
can send or receive message or information.
o Message
passing involves name of object, name of function (message) and information to
be send.
o For
example, student.mark(name). Here student is object, mark is message, name is
information.
Dynamic binding:
o Binding
means link between procedure call and code to be execute.
o Dynamic
binding means link exist between procedure call and code to be execute at run
time when that procedure is call.
o It
is also known late binding.
o It
is generally use with polymorphism and inheritance.
o For
example, complier comes to know at runtime that which function of sum will be
call either with two arguments or with three arguments.
Polymorphism:
o Polymorphism
is a Greek term which means ability to take more than one form.
o For
example, + is used to make sum of two numbers as well as it is used to combine
two strings.
o This
is known as operator overloading because same operator may behave differently
on different instances.
o Same
way functions can be overloaded. For example, sum () function may takes two
arguments or three arguments etc. i.e. sum (5, 7) or sum (4, 6, 8).
Inheritance OR Derivation:
o The
mechanism of deriving a new class from an old class is called inheritance or
derivation. The old class is known as base class while new class is known as
derived class or sub class.
o The
inheritance is the most powerful features of OOP.
Data Abstraction:
o Abstraction
refers representation of necessary features without including more details or explanations.
o Classes
use the concept of abstraction.
o Classes
define list of abstract attributes like height, weight etc.
o These
attributes are sometimes called data members because they hold information. The
functions that operate on these data are sometimes called methods or member
functions.
o Since
classes use the concept of data abstraction, they are known as Abstract Data
Types (ADT).
Encapsulation:
o Combine
data and functions into a single unit (called class) known as encapsulation.
o Encapsulation
is most important features of class. By which we can combine data and functions
in one unit.
o Using
encapsulation we can hide data from outside world.
o To
hide data from direct access by program is known as data hiding or information
hiding.
Classes:
o Classes
are user defined data types and it behaves like built in types of programming
language.
o Object
contains code and data which can be made user define type using class.
o Objects
are variables of class.
o Once
a class has been defined we can create any number of objects for that class. A
class is collections of objects of similar type.
o We
can create object of class using following syntax,
Syntax: class-name object-name;
o Here
class name is class which is already created. Object name is any user define
name. For example, if student is class,
Example: student s1, s2;
o In
example s1 and s2 are name of objects for class student. We can create any number
of objects for class.
OBJECT:
o Objects
are basic runtime entity in object oriented system.
o Objects
may be a pen, a person, a table etc.
o Objects
may define user define data types like time, vectors etc.
o Programming
problems analyzed in terms of objects.
o Object
should be chosen such that they match closely with real world objects.
o Objects
required memory space for storage just like structure of ‘C’ language.
o One
object can send message to another objects.
o For
example student and record are two objects and student object may send request
to record object for marks, then record object send marks for particular
student.
o Object
can interact with each other without having knowledge about data and code of
each other’s.
Science, Engineering and Technology
Science,
Engineering, and Technology
What is the difference between
science, engineering, and technology? How do they interrelate? Here are a few
simple ways to distinguish between and relate these fields.
Science:
- A body of knowledge
- Seeks to describe and understand the natural world and its physical properties
- Scientific knowledge can be used to make predictions
- Science uses a process--the scientific method--to generate knowledge
Engineering:
- Design under constraint
- Seeks solutions for societal problems and needs
- Aims to produce the best solution given resources and constraints
- Engineering uses a process--the engineering design process--to produce solutions and technologies
Technology:
- The body of knowledge, systems, processes, and artifacts that result from engineering
- Almost everything made by humans to solve a need or fulfill a want/desire is a technology
- Examples of technology include pencils, shoes, cell phones, and processes to treat water
In the real world, these disciplines
are closely connected. Scientists often use technologies created by engineers
to conduct their research. In turn, engineers often use knowledge developed by
scientists to inform the design of the technologies they create.
Science,
engineering, and technology are all situated in the context of a larger society
that determines what science and engineering get done. Human values, needs, and
problems determine in large part what questions scientists investigate and what
problems engineers tackle. In turn, the technological products of science and
engineering influence society and change human culture.
What
is the Difference Between Engineering and Engineering Technology?
Engineering
|
Engineering
Technology
|
Innovation
|
Implementation
|
Concept-oriented
|
Application-oriented
|
Theory
|
Methods
|
Advanced Math
|
Basic Math
|
Develop a new process
|
Apply a new process
|
Open-ended and futuristic
|
Specific and current
|
Registration as P.E. in all states
|
Registration as P.E. in Oklahoma
and most states
|
Can require period of internship
due to emphasis on fundamentals and theory
|
Usually ready to work due to
emphasis on current practice in industry
|
Graduate studies widely available
|
Graduate study very limited
|
Difference Between a Computer Science & Information Technology Degree
Computers and technology have become a part of daily life and a necessity for any business or company to function. Careers in this field are in very high demand and have a very promising future. The Bureau of Labor Statistics foresees that there will be a growth of at least 18 percent in this field. Individuals looking to obtain a degree in this area are headed to a promising future with an endless amount of possibilities. The variety of options begins with the types of degrees available. The two degree names that we encounter most often are Computer Science and Information Technology. Prospective students in this field should be informed about the differences so that they can choose the program that best fits them.Computer Science Degrees
Computer Science is the scientific and mathematics study of computing machines and processes. The first degrees in this area of technology are in Computer Science. The study of computer science can range from the theoretical studies of algorithms to the practical issues that come with the use of computing systems. Studies in computer science usually focus on software design and creation, computational theory, computer design, and involve a great deal of mathematics.
Information Technology Degree
Information technology is a branch of engineering that deals with using computers and telecommunications to send, receive, and store information. This is a fairly new field that has developed with an astonishing pace over the past years given that companies now rely heavily on information technology to function. Studies in Information technology focus on system analysis, software management and networking, information assurance, and informatics. Programs in this area train students to manage networks efficiently.
Subscribe to:
Posts (Atom)