day16 protocols. tcp “transmission control protocol” –connection oriented very like a phone...

Post on 01-Jan-2016

214 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

Day16

Protocols

TCP• “Transmission Control Protocol”

– Connection oriented • Very like a phone call, an actual

connection is made between the 2 parties.– One part initiates the “call”– Other party must accept it.– At the end, the connection must be

dismantled.

– Robust & Reliable• Error Checking• Timeouts / Retransmission

Creating the connection step 1

• Computer 1 sends a packet to computer 2– Contains:

• Initial Sequence Number (Should be random)– For example 1001

• Source Address• Destination Address• Port Number Information

Creating the connection step 2

• Computer 2 sends a packet to computer 1– Contains:

• Acknowledgement of receipt of packet 1001• Its Initial Sequence Number (Should also be

random)– For example 5001

• Source Address• Destination Address• Port Number Information

Creating the connection step 3

• Computer 1 sends a packet to computer 2– Contains:

• Acknowledgement of receipt of packet 5001

• The next sequence number (1002)• Actual Data

Now they are connected• Every packet has a sequence number in

it• In theory every packet must be

acknowledged by the other side– If not, the sender will realize some packets

have never been acknowledged, and will retransmit them (Timeout)

• If a packet is received which is corrupted, the receiver can either specifically report it got a bad packet, or just pretend it never got it at all– Eventually the sender will timeout and re-

send it

Many common applications use TCP:

•Web browsers (HTTP)•FTP Clients (FTP)•Mail Clients (POP, IMAP)•Mail Servers (SMTP)•Lotus Notes•Telnet•Databases•etc.

UDP• “User Datagram Protocol”

– Packet by packet• No connection is created

– Unreliable• No error checking• No retransmission• Packets often get lost.

– Faster• Without all the overhead of TCP, the

packets are able to flow faster

Uses:•Used for most Audio/Video/Games

–Real Audio/Video–Telephony –DNS lookups–Time synchronization programs–VOIP

•Usually used where some data loss is acceptable:

–In Video if you miss one frame, it makes more sense to just forget about it, rather than try to retransmit it.–In audio, often the sample rate is high enough that you can’t hear the difference if a lot is lost.

TCP & UDP use port numbers.• Need for ports:

– Since a given workstation could be performing many networking related tasks at once there has to be a way for the OS to determine where to send return data.

– Standardized ports make it simple to find servers on machines.• For example, how does your web browser

know which port to connect to www.cnn.com on?– HTTP servers are usually set up on port 80

Some common port numbers:• HTTP80/TCP• telnet 23/TCP• FTP 21/TCP (For the control

connection)• POP 110/TCP• SMTP 25/TCP• DNS 53/UDP (And some TCP)• NTP 123 UDP

* Notice it’s not sufficient to specify a port number, you should also specify which protocol.

Some applications use multiple ports

• For example FTP– Port 21/TCP is used to create a

connection between the 2 machines– You login in that connection.– When you request a listing of

documents in a directory, or when you request a file be transferred a new connection is negotiated• The client and server, must negotiate a

free TCP port which the client can accept a connection on from the server

Using Protocols• Lets manually get a web page…• Open a telnet connection:

Start – Run – cmdtelnet www.google.com 80

• Once connected type:GET / HTTP/1.0Hit enter twice

Emailtelnet student.claytonstate.net 25Helo blaMail from:<your address>Rcpt to:<friends address>Data Hi,

This is a test.

top related