* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
Download TCP, IGP, EGP etc. - La Salle University
Distributed firewall wikipedia , lookup
Network tap wikipedia , lookup
Point-to-Point Protocol over Ethernet wikipedia , lookup
IEEE 802.1aq wikipedia , lookup
Piggybacking (Internet access) wikipedia , lookup
Multiprotocol Label Switching wikipedia , lookup
List of wireless community networks by region wikipedia , lookup
Zero-configuration networking wikipedia , lookup
Airborne Networking wikipedia , lookup
Computer network wikipedia , lookup
Wake-on-LAN wikipedia , lookup
Deep packet inspection wikipedia , lookup
Cracking of wireless networks wikipedia , lookup
Internet protocol suite wikipedia , lookup
TCP congestion control wikipedia , lookup
Recursive InterNetwork Architecture (RINA) wikipedia , lookup
TCP (Cont.) Based on Chapter 24 in Computer Networks and Internets, Comer CSIT 220 (Blum) 1 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. CSIT 220 (Blum) 2 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. CSIT 220 (Blum) 3 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. CSIT 220 (Blum) 4 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. CSIT 220 (Blum) 5 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. CSIT 220 (Blum) 6 Retransmission CSIT 220 (Blum) 7 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. CSIT 220 (Blum) 8 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. CSIT 220 (Blum) 9 Adaptive Retransmission At the beginning of the session (the threeway 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). CSIT 220 (Blum) 10 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. CSIT 220 (Blum) 11 Adaptive Retransmission Long distance CSIT 220 (Blum) Local 12 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. CSIT 220 (Blum) 13 Window Advertisement CSIT 220 (Blum) 14 CSIT 220 (Blum) 15 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. CSIT 220 (Blum) 16 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. CSIT 220 (Blum) 17 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). CSIT 220 (Blum) 18 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. CSIT 220 (Blum) 19 Routing Again Based on Chapter 27 in Computer Networks and Internets by Comer CSIT 220 (Blum) 20 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. CSIT 220 (Blum) 21 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 CSIT 220 (Blum) scalable Con: more expensive software, uses more CPU, etc. 22 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. CSIT 220 (Blum) 23 Simple static routing scenario CSIT 220 (Blum) 24 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. CSIT 220 (Blum) 25 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. CSIT 220 (Blum) 26 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 CSIT 220 (Blum) 27 Autonomous Systems CSIT 220 (Blum) 28 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. CSIT 220 (Blum) 29 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. CSIT 220 (Blum) 30 IGP used within an AS IGP to communicate within an AS. CSIT 220 (Blum) 31 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 InterDomain 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.” CSIT 220 (Blum) 32 EGP or BGP used among AS’s BGP or Communication between AS’s uses EGP or BGP CSIT 220 (Blum) 33 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. CSIT 220 (Blum) 34 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. CSIT 220 (Blum) 35 RFC 1058 CSIT 220 (Blum) 36 RIP Packet CSIT 220 (Blum) 37 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. CSIT 220 (Blum) 38 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). CSIT 220 (Blum) 39 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. CSIT 220 (Blum) 40 RFC 1583 CSIT 220 (Blum) 41 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. CSIT 220 (Blum) 42 RFC 1142 CSIT 220 (Blum) 43 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. CSIT 220 (Blum) 44 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. CSIT 220 (Blum) 45 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. CSIT 220 (Blum) 46 RFC 904 CSIT 220 (Blum) 47 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. CSIT 220 (Blum) 48 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. CSIT 220 (Blum) 49 RFC 1771 CSIT 220 (Blum) 50 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. CSIT 220 (Blum) 51 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. CSIT 220 (Blum) 52 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. CSIT 220 (Blum) 53 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. CSIT 220 (Blum) 54 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. CSIT 220 (Blum) 55 Other References http://www.webopedia.com http://www.whatis.com http://www.scit.wlv.ac.uk/~jphb/comms/tcp.ht ml Computer Dictionary, Shnier http://www.wildpackets.com/compendium/IP/I CM-Redr.html CSIT 220 (Blum) 56