CSIT 220 (Blum)1 TCP (Cont.) Based on Chapter 24 in Computer Networks and Internets, Comer.

56
CSIT 220 (Blum) 1 TCP (Cont.) Based on Chapter 24 in Computer Networks and Internets, Comer

Transcript of CSIT 220 (Blum)1 TCP (Cont.) Based on Chapter 24 in Computer Networks and Internets, Comer.

Page 1: CSIT 220 (Blum)1 TCP (Cont.) Based on Chapter 24 in Computer Networks and Internets, Comer.

CSIT 220 (Blum) 1

TCP (Cont.)

Based on Chapter 24 in Computer Networks and

Internets, Comer

Page 2: CSIT 220 (Blum)1 TCP (Cont.) Based on Chapter 24 in Computer Networks and Internets, Comer.

CSIT 220 (Blum) 2

TCP Provides Reliability: Data will be delivered exactly as sent. Full Duplex Communication: The conversation is two way

without either side having to wait its turn. Stream Interface: until the session ends, all of the data is

treated the same; it belongs to one stream. Reliable Connection Startup: sessions are not confused with

simultaneous or previous sessions.

Graceful Connection Shutdown: both participants are aware

of the ending of a session.

Page 3: CSIT 220 (Blum)1 TCP (Cont.) Based on Chapter 24 in Computer Networks and Internets, Comer.

CSIT 220 (Blum) 3

TCP TCP is called an end-to-end service since it

guarantees a connection between applications on different computers (the endpoints of the route).

TCP connections are called virtual since they are built entirely from software.

TCP messages are encapsulated in IP packets and sent across the network. TCP treats IP as a packet delivery system. IP treats TCP messages as data to be delivered.

Only the endpoints need TCP software.

Page 4: CSIT 220 (Blum)1 TCP (Cont.) Based on Chapter 24 in Computer Networks and Internets, Comer.

CSIT 220 (Blum) 4

Routers don’t need to know TCP

Delivery is taken care of IP and lower layers. A packet doesn’t have to pass through the TCP layer except at source and destination.

Page 5: CSIT 220 (Blum)1 TCP (Cont.) Based on Chapter 24 in Computer Networks and Internets, Comer.

CSIT 220 (Blum) 5

Achieving Reliability

TCP must handle various problems, such as Packets are dropped, delayed or duplicated by the

unreliable underlying communication system (IP). One computer in a session is rebooted.

TCP must guarantee that If a computer establishes multiple sessions between 2

computers, each has its own uniquely defined connection. Duplicate messages should be rejected. In case of reboot, delayed messages from any previous

session between two computers will not be accepted.

Page 6: CSIT 220 (Blum)1 TCP (Cont.) Based on Chapter 24 in Computer Networks and Internets, Comer.

CSIT 220 (Blum) 6

Retransmission

The primary technique of ensuring reliability is retransmission When data is sent, a timer is set. When the destination receives the data, it

sends an acknowledged to the source. If the timer set by the source expires before an

acknowledgment arrives, the sender retransmits the data.

Page 7: CSIT 220 (Blum)1 TCP (Cont.) Based on Chapter 24 in Computer Networks and Internets, Comer.

CSIT 220 (Blum) 7

Retransmission

Page 8: CSIT 220 (Blum)1 TCP (Cont.) Based on Chapter 24 in Computer Networks and Internets, Comer.

CSIT 220 (Blum) 8

How much time? How much time should a computer wait before

retransmitting a message? That depends on whom you’re talking to.

The time to send a message and receive an acknowledgment will be short (a few milliseconds) if the two nodes are on the same LAN.

The time to send a message halfway across the world using a long-distance satellite connection will be longer.

Page 9: CSIT 220 (Blum)1 TCP (Cont.) Based on Chapter 24 in Computer Networks and Internets, Comer.

CSIT 220 (Blum) 9

Setting delay time

If the delay time were set to a reasonable time for LANs, the long-distance communication would be retransmitted many times over before it could reach its destination let alone be acknowledged.

If the delay time were set to a reasonable time for long-distance communication, communication within the LAN would be delayed unnecessarily.

Unnecessary delay wastes the bandwidth. Unnecessary retransmission clogs the system.

Page 10: CSIT 220 (Blum)1 TCP (Cont.) Based on Chapter 24 in Computer Networks and Internets, Comer.

CSIT 220 (Blum) 10

Adaptive Retransmission

At the beginning of the session (the three-way handshake), TCP already has some data on the round trip time.

TCP maintains statistics (average and deviation) on each session and adjusts the retransmission times to a little over the average (how much over depends on the deviation).

Page 11: CSIT 220 (Blum)1 TCP (Cont.) Based on Chapter 24 in Computer Networks and Internets, Comer.

CSIT 220 (Blum) 11

Adaptive Retransmission

Adaptive retransmission sets the retransmission delay on a session-by-session basis using the statistics on the session to set a delay time appropriate for it. Local communication will have a short delay. Long-distance communication will have a longer delay.

This method can adjust to changes in internet traffic.

Page 12: CSIT 220 (Blum)1 TCP (Cont.) Based on Chapter 24 in Computer Networks and Internets, Comer.

CSIT 220 (Blum) 12

Adaptive Retransmission

LocalLong distance

Page 13: CSIT 220 (Blum)1 TCP (Cont.) Based on Chapter 24 in Computer Networks and Internets, Comer.

CSIT 220 (Blum) 13

Flow Control TCP uses windows to control data flow. Each connection allocates the same buffer size to

hold data. This is called the window size. The window size is not negotiated, it is determined

solely by the receiver. But the receiver must let the sender know how much room it has.

Receivers send window advertisements (size) with each acknowledgement. Based on the window advertisement size, the sender will increase, decrease or halt transmission of buffers.

Page 14: CSIT 220 (Blum)1 TCP (Cont.) Based on Chapter 24 in Computer Networks and Internets, Comer.

CSIT 220 (Blum) 14

Window Advertisement

Page 15: CSIT 220 (Blum)1 TCP (Cont.) Based on Chapter 24 in Computer Networks and Internets, Comer.

CSIT 220 (Blum) 15

Page 16: CSIT 220 (Blum)1 TCP (Cont.) Based on Chapter 24 in Computer Networks and Internets, Comer.

CSIT 220 (Blum) 16

Congestion Control

If a packet is dropped, necessitating retransmission, the sender slows down significantly.

Otherwise congestion would cause delays, which in turn lead to retransmission, which causes more congestion, and so on. This is called congestion collapse.

To avoid this, TCP uses packet loss as a measure of congestion.

Page 17: CSIT 220 (Blum)1 TCP (Cont.) Based on Chapter 24 in Computer Networks and Internets, Comer.

CSIT 220 (Blum) 17

Congestion Control

If TCP losses a packet, it will reduce the rate at which it retransmits data.

If an ACK is received for a message TCP doubles its transmission rate.

If a second ACK is received, TCP double the rate again. (exponential increase)

It continues to double the rate until the number of sending packets is 1/2 the receiver’s window size. At this time TCP slows down the rate of increase.

Page 18: CSIT 220 (Blum)1 TCP (Cont.) Based on Chapter 24 in Computer Networks and Internets, Comer.

CSIT 220 (Blum) 18

Closing a session

A session is closed in a manner similar to the three-way handshake that started the session.

Each party sends a closing segment and receives an acknowledgment of its closing segment before the session ends (gracefully).

Page 19: CSIT 220 (Blum)1 TCP (Cont.) Based on Chapter 24 in Computer Networks and Internets, Comer.

CSIT 220 (Blum) 19

Socket Number

An application on a computer is identified by the “socket number” which is a combination of the computers IP address and the application’s port number.

A session is identified by a pair of socket numbers.

Page 20: CSIT 220 (Blum)1 TCP (Cont.) Based on Chapter 24 in Computer Networks and Internets, Comer.

CSIT 220 (Blum) 20

Routing Again

Based on Chapter 27 in Computer Networks and

Internets by Comer

Page 21: CSIT 220 (Blum)1 TCP (Cont.) Based on Chapter 24 in Computer Networks and Internets, Comer.

CSIT 220 (Blum) 21

So I lied

We said previously that routers do not need to know about the TCP layer; however, routers need to exchange information among themselves so that they can build efficient and accurate routing tables. And if they want reliability in this exchange of information, they will use TCP.

Page 22: CSIT 220 (Blum)1 TCP (Cont.) Based on Chapter 24 in Computer Networks and Internets, Comer.

CSIT 220 (Blum) 22

Making a routing table

There are two basic approaches Static: The network administrator enters and edits the

routing table Pro: simple, low overhead

Assuming a “simple” network Con: not adaptable

Dynamic: routers exchange information and a program generates the table from that Pro: can adapt to changes in the traffic pattern

scalable Con: more expensive software, uses more CPU, etc.

Page 23: CSIT 220 (Blum)1 TCP (Cont.) Based on Chapter 24 in Computer Networks and Internets, Comer.

CSIT 220 (Blum) 23

The edge of the cloud

Most routers sit at the edge of a cloud, e.g. connecting a LAN to the Internet cloud.

Such a router needs only distinguish between traffic destined for the LAN and traffic destined for beyond the LAN.

In this case, a static routing table is sufficient.

Page 24: CSIT 220 (Blum)1 TCP (Cont.) Based on Chapter 24 in Computer Networks and Internets, Comer.

CSIT 220 (Blum) 24

Simple static routing scenario

Page 25: CSIT 220 (Blum)1 TCP (Cont.) Based on Chapter 24 in Computer Networks and Internets, Comer.

CSIT 220 (Blum) 25

Scaling

As one enters the cloud, the complexity of generating an efficient routing table grows quickly and dynamic routing is used. Routers broadcast messages which are

responded to by other routers. In this way the routers learn about their

neighbors. They pass this information to their neighbors and

they pass it on to their neighbors and so on.

Page 26: CSIT 220 (Blum)1 TCP (Cont.) Based on Chapter 24 in Computer Networks and Internets, Comer.

CSIT 220 (Blum) 26

Scaling again

Even automated routing tables cannot handle the problem of generating a routing table if all the routers connected to the Internet are to be considered in the calculation.

In order to handle this scaling problem, another level of hierarchy is introduced.

Page 27: CSIT 220 (Blum)1 TCP (Cont.) Based on Chapter 24 in Computer Networks and Internets, Comer.

CSIT 220 (Blum) 27

Groups

A school of fish A herd of elephants A pride of lions A flock of sheep A gaggle of geese An autonomous system of routers

Page 28: CSIT 220 (Blum)1 TCP (Cont.) Based on Chapter 24 in Computer Networks and Internets, Comer.

CSIT 220 (Blum) 28

Autonomous Systems

Page 29: CSIT 220 (Blum)1 TCP (Cont.) Based on Chapter 24 in Computer Networks and Internets, Comer.

CSIT 220 (Blum) 29

AS

An autonomous system (AS) is a group of routers adhering to a single router “policy.”

It may be a single network or a group of networks that is overseen by a one network administrator or group of administrators who agree on a single policy.

Typically the AS is operated by some entity such as a university or a business.

Page 30: CSIT 220 (Blum)1 TCP (Cont.) Based on Chapter 24 in Computer Networks and Internets, Comer.

CSIT 220 (Blum) 30

AS (Cont.) An autonomous system is sometimes called a

“routing domain.” An autonomous system is assigned a globally

unique number, sometimes called an Autonomous System Number (ASN).

Networks within an autonomous system communicate routing information to each other using an Interior Gateway Protocol (IGP).

Some use the term IGP as a generic term, a category of protocols, others use the term as a specific protocol.

Page 31: CSIT 220 (Blum)1 TCP (Cont.) Based on Chapter 24 in Computer Networks and Internets, Comer.

CSIT 220 (Blum) 31

IGP used within an AS

IGP to communicate within an AS.

Page 32: CSIT 220 (Blum)1 TCP (Cont.) Based on Chapter 24 in Computer Networks and Internets, Comer.

CSIT 220 (Blum) 32

AS (Cont.)

AS’s communicate using Border Gateway Protocol (BGP) or Exterior Gateway Protocol (EGP). Eventually, the BGP is expected to be replaced by the OSI Inter-

Domain Routing Protocol (IDRP). Some use the term EGP as a generic term, a category of

protocols, others use the term as a specific protocol

The Internet's protocol guideline defines an autonomous system as: “… a connected group of one or more Internet Protocol

prefixes run by one or more network operators which has a SINGLE and CLEARLY DEFINED routing policy.”

Page 33: CSIT 220 (Blum)1 TCP (Cont.) Based on Chapter 24 in Computer Networks and Internets, Comer.

CSIT 220 (Blum) 33

EGP or BGP used among AS’s

BGP or

Communication between AS’s uses EGP or BGP

Page 34: CSIT 220 (Blum)1 TCP (Cont.) Based on Chapter 24 in Computer Networks and Internets, Comer.

CSIT 220 (Blum) 34

IGP

An Interior Gateway Protocol is a set of rules for exchanging routing information between routers (gateways) within an autonomous system.

This information is then used by routers to generate routing tables.

There are two commonly used IGPs: Routing Information Protocol (RIP) Open Shortest Path First (OSPF) protocol.

Page 35: CSIT 220 (Blum)1 TCP (Cont.) Based on Chapter 24 in Computer Networks and Internets, Comer.

CSIT 220 (Blum) 35

RIP

Routing Information Protocol is a set of rules defined by RFC (Request for Comments) 1058 that specifies how routers exchange information.

RIP uses a “distance vector algorithm” in which routers periodically exchange their entire routing tables.

A router compares the entries of the table it receives with its own and replaces any paths with ones found to be cheaper.

Page 36: CSIT 220 (Blum)1 TCP (Cont.) Based on Chapter 24 in Computer Networks and Internets, Comer.

CSIT 220 (Blum) 36

RFC 1058

Page 37: CSIT 220 (Blum)1 TCP (Cont.) Based on Chapter 24 in Computer Networks and Internets, Comer.

CSIT 220 (Blum) 37

RIP Packet

Page 38: CSIT 220 (Blum)1 TCP (Cont.) Based on Chapter 24 in Computer Networks and Internets, Comer.

CSIT 220 (Blum) 38

RIP

RIP uses UDP (user datagram protocol) instead of TCP to exchange information, so it is fast but unreliable.

Because RIP is inefficient (exchanging entire tables), it is gradually being replaced by Open Shortest Path First (OSPF). It remains fairly common.

Page 39: CSIT 220 (Blum)1 TCP (Cont.) Based on Chapter 24 in Computer Networks and Internets, Comer.

CSIT 220 (Blum) 39

OSPF

Open Shortest Path First is set of rules for routers to exchange information and generate routing tables within an autonomous system.

It is based on the “shortest path first” or “link-state” algorithm.

Routers do not send tables, instead they send information about their nearest neighbors and the cost thereto.

The shortest path to each node is then calculated (e.g. using Dijkstra’s algorithm).

Page 40: CSIT 220 (Blum)1 TCP (Cont.) Based on Chapter 24 in Computer Networks and Internets, Comer.

CSIT 220 (Blum) 40

OSPF

The advantage of OSPF is that it results in smaller more frequent updates throughout the AS.

It converges quickly yielding a stable network. OSPF does require more CPU and memory.

But the advantages out weigh the disadvantages.

OSPF Version 2 is defined in RFC 1583.

Page 41: CSIT 220 (Blum)1 TCP (Cont.) Based on Chapter 24 in Computer Networks and Internets, Comer.

CSIT 220 (Blum) 41

RFC 1583

Page 42: CSIT 220 (Blum)1 TCP (Cont.) Based on Chapter 24 in Computer Networks and Internets, Comer.

CSIT 220 (Blum) 42

IS-IS

IS-IS: Intermediate System-to-Intermediate System protocol, Intermediate system refers to a router as opposed

to an end system (host). IS-IS is the OSI version OSPF, that is, a set of

rules for routers to exchange Link-State information.

Page 43: CSIT 220 (Blum)1 TCP (Cont.) Based on Chapter 24 in Computer Networks and Internets, Comer.

CSIT 220 (Blum) 43

RFC 1142

Page 44: CSIT 220 (Blum)1 TCP (Cont.) Based on Chapter 24 in Computer Networks and Internets, Comer.

CSIT 220 (Blum) 44

IGRP Interior Gateway Routing Protocol (IGRP) is a

proprietary network protocol, developed by Cisco Systems.

IGRP is a distance-vector routing protocol used for routers communicating within an AS.

Think of IGRP as a new and improved RIP. While RIP uses only one criteria (hops) to determine the best path. IGRP uses five factors: the link's speed, delay, packet size, loading and

reliability. Network administrators weight these factors as they

see fit.

Page 45: CSIT 220 (Blum)1 TCP (Cont.) Based on Chapter 24 in Computer Networks and Internets, Comer.

CSIT 220 (Blum) 45

EIGRP

A new and improved, new and improved RIP. Enhanced Interior Gateway Routing Protocol

is a newer version of IGRP that addresses the demands of large-scale internets and the developments in network technology since IGRP was developed.

IGRP and EIGP can work together.

Page 46: CSIT 220 (Blum)1 TCP (Cont.) Based on Chapter 24 in Computer Networks and Internets, Comer.

CSIT 220 (Blum) 46

EGP

Exterior Gateway Protocol is a set of rules for exchanging routing information between neighboring AS’s.

The routing table contains a list of known routers in other AS’s and the addresses they can reach.

Since different AS’s may use different measures of cost, the cost measure is based mainly on the number of hops.

Page 47: CSIT 220 (Blum)1 TCP (Cont.) Based on Chapter 24 in Computer Networks and Internets, Comer.

CSIT 220 (Blum) 47

RFC 904

Page 48: CSIT 220 (Blum)1 TCP (Cont.) Based on Chapter 24 in Computer Networks and Internets, Comer.

CSIT 220 (Blum) 48

EGP (Cont.)

Each router polls its neighbor at intervals between 120 to 480 seconds and the neighbor responds by sending its complete routing table.

EGP-2 is the latest version of EGP. A more recent exterior gateway protocol, the Border Gateway Protocol (BGP), provides additional capabilities.

Page 49: CSIT 220 (Blum)1 TCP (Cont.) Based on Chapter 24 in Computer Networks and Internets, Comer.

CSIT 220 (Blum) 49

BGP

Border Gateway Protocol is a set of rules for AS’s to exchange routing information, so that efficient routes can be found between AS’s.

BGP is commonly used within and between Internet Service Providers (ISPs) and is defined in RFC 1771.

Page 50: CSIT 220 (Blum)1 TCP (Cont.) Based on Chapter 24 in Computer Networks and Internets, Comer.

CSIT 220 (Blum) 50

RFC 1771

Page 51: CSIT 220 (Blum)1 TCP (Cont.) Based on Chapter 24 in Computer Networks and Internets, Comer.

CSIT 220 (Blum) 51

BGP (Cont.)

The routing table contains a list of known routers, the addresses they can reach, and a cost for each path.

BGP uses TCP to exchange information. They only do so when a change is detected. Only

the affected part of the routing table is sent. BGP-4 allows administrators to configure costs

based on policy statements.

Page 52: CSIT 220 (Blum)1 TCP (Cont.) Based on Chapter 24 in Computer Networks and Internets, Comer.

CSIT 220 (Blum) 52

BGP (Cont.)

BGP can be used to communicate within an AS and among AS’s.

Within an AS, it uses Internal BGP (IBGP) since BGP doesn't work well with IGP.

The routers inside the autonomous network thus maintain two routing tables: one for the interior gateway protocol and one for IBGP.

Page 53: CSIT 220 (Blum)1 TCP (Cont.) Based on Chapter 24 in Computer Networks and Internets, Comer.

CSIT 220 (Blum) 53

IGMP

Internet Group Management Protocol is defined in RFC 1112 as the standard for IP multicasting in the Internet.

It is used to establish host memberships in particular multicast groups on a single network.

A host tells the local router (using Host Membership Reports) that it wants to receive messages addressed to a specific multicast group.

It is the routers responsibility from there on.

Page 54: CSIT 220 (Blum)1 TCP (Cont.) Based on Chapter 24 in Computer Networks and Internets, Comer.

CSIT 220 (Blum) 54

Hot potato routing

In hot potato routing, or deflection routing, the routers have no buffer to store packets in before forwarded on to their final predetermined destination.

In normal routing, when many packets are destined for a given outgoing channel, packets are either buffered or dropped. But in hot potato routing, each packet is constantly transferred until it reaches its final destination because the routers can not support more than one packet at a time.

Page 55: CSIT 220 (Blum)1 TCP (Cont.) Based on Chapter 24 in Computer Networks and Internets, Comer.

CSIT 220 (Blum) 55

Hot potato (Cont.)

The packet is bounced around like a "hot potato," sometimes moving further away from its destination because it has to keep moving through the network. This technique allows multiple packets to reach their destinations without being dropped. This is in contrast to "store and forward" routing where the network allows temporary storage at intermediate locations. Hot potato routing has applications in optical networks where messages made from light do not have to be stored in any medium.

Page 56: CSIT 220 (Blum)1 TCP (Cont.) Based on Chapter 24 in Computer Networks and Internets, Comer.

CSIT 220 (Blum) 56

Other References

http://www.webopedia.com http://www.whatis.com http://www.scit.wlv.ac.uk/~jphb/comms/

tcp.html Computer Dictionary, Shnier http://www.wildpackets.com/compendium/IP/

ICM-Redr.html