Welcome to Scribd, the world's digital library. Read, publish, and share books and documents. See more
Download
Standard view
Full view
of .
Look up keyword
Like this
1Activity
0 of .
Results for:
No results containing your search query
P. 1
Tcp

Tcp

Ratings: (0)|Views: 96 |Likes:
Published by api-3699523
tcp
tcp

More info:

Published by: api-3699523 on Oct 14, 2008
Copyright:Attribution Non-commercial

Availability:

Read on Scribd mobile: iPhone, iPad and Android.
download as TXT, PDF, TXT or read online from Scribd
See more
See less

03/18/2014

pdf

text

original

internetworking part 2 - the transport layer
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
[ copyright (c) 2003 by rattle ]
[ http://www.awarenetwork.org/ ]
__________
[ contents ]
\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd

::[0] introduction
::[1] the transmission control protocol
:..
: ::(1.1) tcp segments
: ::(1.2) safe delivery and tcp timers
: :..

: : ::{1.2.1} retransmission timer
::

: ::(1.3) sliding windows
: ::(1.4) the tcp header
: :..

: : ::{1.4.01} source port
: : ::{1.4.02} destination port
: : ::{1.4.03} sequence number
: : ::{1.4.04} acknowledgement number
: : ::{1.4.05} offset
: : ::{1.4.06} reserved
: : ::{1.4.07} flags
: : ::{1.4.08} window advertisement
: : ::{1.4.09} checksum
: : ::{1.4.10} urgent pointer
: : ::{1.4.11} options and padding
::
: ::(1.5) establishing a connection
: :..
: : ::{1.5.1} step one - request
: : ::{1.5.2} step two - reply
: : ::{1.5.3} step three - connection
::
: ::(1.6) closing a connection
:::[2] advanced portscanning

:..
: ::(2.1) what is portscanning?
: ::(2.2) nmap stealth scanning
: :..
:

::{2.2.1} syn stealth
:
::{2.2.2} fin stealth
:::[3] the user datagram protocol

:..
: ::(3.1) the udp header
: :..

: : ::{3.1.01} source port
: : ::{3.1.02} destination port
: : ::{3.1.03} length
: : ::{3.1.04} checksum
::
: ::(3.2) udp spoofing
:::[a] ports

:..
: ::(a-1) well-known ports
: ::(a-2) registered ports
: ::(a-3) dynamic ports
:::[b] sockets

:::[4] last words
_
______________
[0] :: [ introduction ]
\ufffd
\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd
hello boys and girls. this is actually the second part of a set of tutorials i
am writing
about networking protocols, techniques and algorithms. i would definitely
recommend to
read the first part before you read on here for a complete understanding of what
i am trying
to convey. you can find it here:
http://rs.box.sk/papers/ip.txt
so now about this tutorial: why should you know anything about the transport
layer?
because it is essential for understanding how data is being transferred within
the large
networks of today - like, for instance, the internet. you will mainly learn
about tcp
(transmission control protocol) here since i consider it the most popular
protocol as
far as transport layer protocols are concerned. it is widely used and a bit
complex
as well - and we don't just want to scrap the surface this time, you won't get
away with
a schematic summary of the three way handshake. besides an indepth explanation

of tcp,
you will also learn about udp (user datagram protocol), which is rather easy to
understand and which also offers less goodies than tcp.

if you did not understand the words "protocol", "network", or "layer" - please
read my
first tutorial or refer to some more basic stuff. also, if you are an expert and
if you
feel to elite for this, go read something else. this tutorial is not for
complete newbies,
neither was it written for networking gurus. you need to be familiar with high
level
application-layer networking and some average knowledge about programming in c.
i will try to express everything as simply as possible and as detailed as
necessary,
and i just hope you will enjoy it. perhaps it helps you understand the things
that i
did not understand when reading the first tutorials about networking protocols
at ease.
as always, the appendixes are important. i would definitely recommend to read
them if
you are not sure that you know everything about ports and sockets. almost no
knowledge
is required to read [a], some coding background could be useful for [b] but is
notnecessary. however, both provide an important background knowledge for many
parts of
this paper. have a look at least.
_
___________________________________
[1] :: [ the transmission control protocol ]
\ufffd
\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd
so, if you already know ip, you should also know that tcp as a transport layer
protocol
is responsible for safe exchange of data. "safe" in this context means that no
data is lost,
altered after transmission or violated in any way. while ip merely offers a
channel to route
packets through from one host to the other, tcp needs to make sure that one
chunk of data
is still the same chunk of data when it has been sent and received by the remote
host.
(no idea what i am talking about? read the first tutorial ...)
furthermore, tcp is "connection-oriented". while ip sends raw packets from one
router to
the next one, tcp wants to exchange data a bit more organized and in this very
order:

1.) establish a connection 2.) send and exchange data 3.) close connection

this probably seems quite simple to you since tcp is usually implemented by the
operating
system and not even programmers have to care about what it does. however,
remember ip and
its chaotic treatment of packets: packets get lost, packets are blindly routed
to their
destination until their ttl exceeds and if it does not work, they are discarded.
sure, i am exaggerating here, but it is obvious that finding a suitable way to
provide
connection-oriented and safe data exchange is not easy if all you can rely on is
ip.this time and for tcp only, i will not start with explaining the tcp header -
because too
much would have to be left open and everything would get too complicated. i will
explain
some basic theory behind the way tcp works at first, then the header explanation
will
follow. i won't explain how a connection is established and closed either yet,
you will
read about this in the last part.

You're Reading a Free Preview

Download
/*********** DO NOT ALTER ANYTHING BELOW THIS LINE ! ************/ var s_code=s.t();if(s_code)document.write(s_code)//-->