* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
Download Part III Network Layer
Piggybacking (Internet access) wikipedia , lookup
Point-to-Point Protocol over Ethernet wikipedia , lookup
Asynchronous Transfer Mode wikipedia , lookup
Network tap wikipedia , lookup
Deep packet inspection wikipedia , lookup
Computer network wikipedia , lookup
Airborne Networking wikipedia , lookup
Multiprotocol Label Switching wikipedia , lookup
Wake-on-LAN wikipedia , lookup
IEEE 802.1aq wikipedia , lookup
Zero-configuration networking wikipedia , lookup
Real-Time Messaging Protocol wikipedia , lookup
Cracking of wireless networks wikipedia , lookup
UniPro protocol stack wikipedia , lookup
Internet protocol suite wikipedia , lookup
Recursive InterNetwork Architecture (RINA) wikipedia , lookup
PART III NETWORK LAYER 1 Networking and Internetworking Devices Connecting Devices Following are the networking devices mostly used Connecting Devices and the OSI Model A Repeater in the OSI Model :Repeater is a regenerator not an amplifier A Repeater Function of a Repeater Bridge : Operates in both physical and data link layer A Bridge Function of a Bridge Multiport Bridge Router: Router is Network layer device Router relay packets among multiple interconnected networks Gateway :Is a protocol convertor A gateway accept a packet formatted for one protocol and convert it to packet formatted for another protocol A Gateway Single-Protocol: Designd to route packet belonging to same protocol Multiprotocol Router:Designd to route packet belonging to two or more protocol NETWORK LAYER DUTIES 16 INTERNETWORKING The Motivation for Internetworking There are many different LAN and WAN technologies In real world, computers are connected by many different technologies Any system that spans a large organization must accommodate multiple technologies Universal services Telephones are useful because any telephone can reach any other telephone Universal service among computers greatly increases the usefulness of each computer Providing universal service requires interconnecting networks employing different technologies WHAT IS INTERNETWORKING? A scheme that provides universal service among heterogeneous networks Hardware Software Used to interconnect a set of physical networks Provide universal services Internet System of connected physical networks INTERNETWORK NETWORK LAYER IN AN INTERNETWORK IPv4 ADDRESSES An IPv4 address is a 32-bit address that uniquely and universally defines the connection of a device (for example, a computer or a router) to the Internet. Topics discussed in this section: Address Space Notations Classful Addressing Classless Addressing Network Address Translation (NAT) FINDING THE ADDRESS CLASS FINDING THE CLASS IN DECIMAL NOTATION Example 4 Find the class of each address: a. 227.12.14.87 b. 252.5.15.111 c. 134.11.78.56 Solution a. b. c. The first byte is 227 (between 224 and 239); the class is D. The first byte is 252 (between 240 and 255); the class is E. The first byte is 134 (between 128 and 191); the class is B. NETID AND HOSTID NETWORK ADDRESS Example 5 Given the address 23.56.7.91, find the network address. Solution The class is A. Only the first byte defines the netid. We can find the network address by replacing the hostid bytes (56.7.91) with 0s. Therefore, the network address is 23.0.0.0. Example 6 Given the address 132.6.17.85, find the network address. Solution The class is B. The first 2 bytes defines the netid. We can find the network address by replacing the hostid bytes (17.85) with 0s. Therefore, the network address is 132.6.0.0. Example 7 Given the network address 17.0.0.0, find the class. Solution The class is A because the netid is only 1 byte. A NETWORK WITH TWO LEVELS OF HIERARCHY • IP addresses are designed with two levels of hierarchy. 30 A NETWORK WITH THREE LEVELS OF HIERARCHY 31 ADDRESSES IN A NETWORK WITH AND WITHOUT SUBNETTING SUBNET MASK Dotted-decimal notation and binary notation for an IPv4 address Change the following IPv4 addresses from binary notation to dotted-decimal notation. Solution We replace each group of 8 bits with its equivalent decimal number (see Appendix B) and add dots for separation. Change the following IPv4 addresses from dotted-decimal notation to binary notation. Solution We replace each decimal number with its binary equivalent (see Appendix B). Finding the classes in binary and dotted-decimal notation Find the class of each address. a. 00000001 00001011 00001011 11101111 b. 11000001 10000011 00011011 11111111 c. 14.23.120.8 d. 252.5.15.111 Solution a. The first bit is 0. This is a class A address. b. The first 2 bits are 1; the third bit is 0. This is a class C address. c. The first byte is 14; the class is A. d. The first byte is 252; the class is E. Mask Address Default masks for classful addressing shows a block of addresses, in both binary and dotteddecimal notation, granted to a small business that needs 16 addresses. We can see that the restrictions are applied to this block. The addresses are contiguous. The number of addresses is a power of 2 (16 = 24), and the first address is divisible by 16. The first address, when converted to a decimal number, is 3,440,387,360, which when divided by 16 results in 215,024,210. A block of 16 addresses granted to a small organization A block of addresses is granted to a small organization. We know that one of the addresses is 205.16.37.39/28. What is the first address in the block? Solution The binary representation of the given address is 11001101 00010000 00100101 00100111 If we set 32−28 rightmost bits to 0, we get 11001101 00010000 00100101 0010000 or 205.16.37.32. This is actually the block shown in Figure 19.3. Find the last address for the block in the above example Solution The binary representation of the given address is 11001101 00010000 00100101 00100111 If we set 32 − 28 rightmost bits to 1, we get 11001101 00010000 00100101 00101111 or 205.16.37.47 This is actually the block shown in Figure 19.3. b. The last address can be found by ORing the given addresses with the complement of the mask. ORing here is done bit by bit. The result of ORing 2 bits is 0 if both bits are 0s; the result is 1 otherwise. The complement of a number is found by changing each 1 to 0 and each 0 to 1. c. The number of addresses can be found by complementing the mask, interpreting it as a decimal number, and adding 1 to it. Configuration and addresses in a subnetted network Three-level hierarchy in an IPv4 address Network and Host Addresses A Network with Two Levels of Hierarchy A Network with Three Levels of Hierarchy Addresses with and without Subnetting Masking IP Datagram Detail of IP datagram Version Number- Four bit version number defines the version of IP Header length- Defines the total length of the datagram header Service type-How the datagram should be handelled Total length – Defines total length of IP datagram Identification,Flags and fragmentation offset- These three fields are related to the fragmentation of the IP datagram when the size of the datagram is larger than the underplaying network can carry Time-to-alive- Is used to control the maximum number of hopes visited by the router Continue… Protocol – In TCP/IP ,the data section of a packet ,called the payload ,carries the whole packet from another protocol Header checksum – Checking of header of IP is the responsibility of header checksum as IP is not a reliable protocol Source and Destination address- IP address of source machine and destination machine Option – A datagram header can have up to 40 bytes of optiones Payload – Is data coming from its higher layer ARP Routing Algorithm Two common methods are used to calculate shortest path between two routers : Distance vector routing Link state routing Example of an Internet Distance Vector routing Three keys to understand how this algorithm works 1. Knowledge about the whole network –Each routers shares its knowledge about the entire network 2. Routing only to its neighbor-Each router periodically shows its knowledge about the network only to those routers to which it has direct link . 3. Information sharing at regular interval –For example ,every 30 seconds router send its information about the whole network to its neighbor The Concept of Distance Vector Routing Distance Vector Routing Table Routing Table Distribution Updating Routing Table for Router A Final Routing Tables Algorithm :Distance Vector Routing 1. 2. 3. Router transmits its distance vector to each of its neighbors. Each router receives and saves the most recently received distance vector from each of its neighbors. A router recalculates its distance vector when: a. b. It receives a distance vector from a neighbor containing different information than before. It discovers that a link to a neighbor has gone down (i.e., a topology change). The DV calculation is based on minimizing the cost to each destination. Link State Routing The following are true related to link state routing 1. Knowledge about the neighborhood 2. To all routers –Each router send this information to every other router on the internetwork not just to its neighbor . 3. Information sharing when there is change –Each router send out information about the neighbors when there is change. 67 Algorithm :Link State routing 1. 2. 3. 4. Each router is responsible for meeting its neighbors and learning their names. Each router constructs a link state packet (LSP) which consists of a list of names and cost to reach each of its neighbors. The LSP is transmitted to ALL other routers. Each router stores the most recently generated LSP from each other router. Each router uses complete information on the network topology to compute the shortest path route to each destination node. Concept of Link State Routing Cost in Link State Routing Link State Packet Flooding of A’s LSP Link State Database Dijkstra’s Shortest Path Algorithm Initially mark all nodes (except source) with infinite distance. working node = source node Sink node = destination node While the working node is not equal to the sink 1. Mark the working node as permanent. 2. Examine all adjacent nodes in turn If the sum of label on working node plus distance from working node to adjacent node is less than current labeled distance on the adjacent node, this implies a shorter path. Relabel the distance on the adjacent node and label it with the node from which the probe was made. 3. Examine all tentative nodes (not just adjacent nodes) and mark the node with the smallest labeled value as permanent. This node becomes the new working node. Reconstruct the path backwards from sink to source. Costs in the Dijkstra Algorithm Shortest Path Calculation, Part I Shortest Path Calculation, Part II Shortest Path Calculation, Part III Shortest Path Calculation, Part IV Shortest Path Calculation, Part V Shortest Path Calculation, Part VI Shortest Path Calculation, Part VII Shortest Path Calculation, Part VIII Shortest Path Calculation, Part IX Shortest Path Calculation, Part X Shortest Path Calculation, Part XI Shortest Path Calculation, Part XII Shortest Path Calculation, Part XIII Routing Table for Router A Multiprotocol Router Vs Single protocol Router 90 Single protocol Router: (Unicast Routing protocol ) : One to one source and destination network RIP :Routing Information Protocol OSPF : Open Shortest Path First BGP4 :Boarder Gateway Protocol 4 Multiprotocol Router (Multicast routing Protocol) One source and group of destination (One to many ) Protocols are DVMRP :Distance Vector Multicast routing protocol MOSF :Multicast open Shortest Path First PIM :Protocol Independent Multicast Part-IV Transport Layer Transport Layer protocol Two protocols : UDP and TCP UDP is connectionless protocol connection oriented protocol while TCP is Duties of transport layer Process-to-Process Communication Stream Delivery Service Full-Duplex Communication Multiplexing and Demultiplexing UDP Format 15-2 TCP FEATURES To provide the services mentioned in the previous section, TCP has several features that are briefly summarized in this section and discussed later in detail. Note The bytes of data being transferred in each connection are numbered by TCP. The numbering starts with an arbitrarily generated number. Suppose a TCP connection is transferring a file of 5,000 bytes. The first byte is numbered 10,001. What are the sequence numbers for each segment if data are sent in five segments, each carrying 1,000 bytes? Solution The following shows the sequence number for each segment: Note The value in the sequence number field of a segment defines the number assigned to the first data byte contained in that segment. Stream delivery Sending and receiving buffers Stream of bytes TCP segments Segment N H Segment 1 H Note The value of the acknowledgment field in a segment defines the number of the next byte a party expects to receive. The acknowledgment number is cumulative. SEGMENT Before discussing TCP in more detail, let us discuss the TCP packets themselves. A packet in TCP is called a segment. TCP segment format Control field TCP header fields 106 Port Number: A port number identifies the endpoint of a connection. A pair <IP address, port number> identifies one endpoint of a connection. Two pairs <client IP address, server port number> and <server IP address, server port number> identify a TCP connection. Applications Applications Ports: 23 80 104 7 80 16 TCP TCP IP IP Ports: TCP header fields 107 Sequence Number (SeqNo): Sequence number is 32 bits long. So the range of SeqNo is 0 <= SeqNo <= 232 -1 4.3 Gbyte Each sequence number identifies a byte in the byte stream Initial Sequence Number (ISN) of a connection is set during connection establishment TCP header fields 108 Acknowledgement Number (AckNo): Acknowledgements are piggybacked, I.e a segment from A -> B can contain an acknowledgement for a segment sent in the B -> A direction. A hosts uses the AckNo field to send acknowledgements. (If a host sends an AckNo in a segment it sets the “ACK flag”) The AckNo contains the next SeqNo that a hosts wants to receive Example: The acknowledgement for a segment with sequence number 0 and 1500 data bytes is AckNo=1500+1 TCP header fields 109 Acknowledge Number (cont’d) TCP uses the sliding window flow protocol to regulate the flow of traffic from sender to receiver TCP uses the following variation of sliding window: no NACKs (Negative ACKnowledgement) only cumulative ACKs Example: Assume: Sender sends two segments with “0..1500” and “1501..3000”, but receiver only gets the second segment. In this case, the receiver cannot acknowledge the second packet. It can only send AckNo=0+1 TCP header fields 110 Header Length ( 4bits): Length of header in 32-bit words Note that TCP header has variable length (with minimum 20 bytes) TCP header fields 111 Flag bits: URG: Urgent pointer is valid If the bit is set, the following bytes contain an urgent message in the range: SeqNo <= urgent message <= SeqNo+urgent pointer ACK: Acknowledgement Number is valid PSH: PUSH Flag Notification from sender to the receiver that the receiver should pass all data that it has to the application. Normally set by sender when the sender’s buffer is empty TCP header fields 112 Flag bits: RST: SYN: FIN: Reset the connection The flag causes the receiver to reset the connection Receiver of a RST terminates the connection and indicates higher layer application about the reset Synchronize sequence numbers Sent in the first packet when initiating a connection Sender is finished with sending Used for closing a connection Both sides of a connection must send a FIN TCP header fields 113 Window Size: Each side of the connection advertises the window size Window size is the maximum number of bytes that a receiver can accept. Maximum window size is 216-1= 65535 bytes TCP Checksum: TCP checksum covers TCP segment and IP pseudo header (see discussion on UDP). Urgent Pointer: Only valid if URG flag is set TCP header fields 114 Options: NOP is used to pad TCP header to multiples of 4 bytes Maximum Segment Size Window Scale Options Increases the TCP window from 16 to 32 bits This option can only be used in the SYN segment (first segment) during connection establishment time Timestamp Option Can be used for roundtrip measurements Services of TCP 115 Connection Management (TCP transmission policy) :To establish connection before transmitting data Congestion Management Timer Management for sending lost frame and others Connection Management in TCP 116 Opening a TCP Connection Closing a TCP Connection Special Scenarios State Diagram TCP Connection Establishment 117 TCP uses a three-way handshake to open a connection: (1) ACTIVE OPEN: Client sends a segment with SYN bit set port number of client initial sequence number (ISN) of client (2) PASSIVE OPEN: Server responds with a segment with SYN bit set initial sequence number of server ACK for ISN of client (3) Client acknowledges by sending a segment with: ACK ISN of server A TCP CONNECTION TCP is connection-oriented. It establishes a virtual path between the source and destination. All of the segments belonging to a message are then sent over this virtual path. You may wonder how TCP, which uses the services of IP, a connectionless protocol, can be connection-oriented. The point is that a TCP connection is virtual, not physical. TCP operates at a higher level. TCP uses the services of IP to deliver individual segments to the receiver, but it controls the connection itself. If a segment is lost or corrupted, it is retransmitted. Connection establishment using three-way handshake seq: 8000 UAPRS F SYN seq: 15000 ack: 8001 nd: 5000 U A P R S F rw SYN + ACK seq: 8000 ack: 15001 UAPRS F rwnd: 10000 ACK Means “no data” ! A SYN segment cannot carry data, but it consumes one sequence number. A SYN + ACK segment cannot carry data, but does consume one sequence number. An ACK segment, if carrying no data, consumes no sequence number. WINDOWS IN TCP Before discussing data transfer in TCP and the issues such as flow, error, and congestion control, we describe the windows used in TCP. TCP uses two windows (send window and receive window) for each direction of data transfer, which means four windows for a bidirectional communication. To make the discussion simple, we make an assumption that communication is only unidirectional; the bidirectional communication can be inferred using two unidirectional communications with piggybacking. Topics Discussed in the Section Send Window Receive Window Send window in TCP Receive window in TCP FLOW CONTROL As discussed in, flow control balances the rate a producer creates data with the rate a consumer can use the data. TCP separates flow control from error control. In this section we discuss flow control, ignoring error control. We temporarily assume that the logical channel between the sending and receiving TCP is error-free. Figure 15.24 shows unidirectional data transfer between a sender and a receiver; bidirectional data transfer can be deduced from unidirectional one as discussed in Chapter 13. TCP/IP protocol suite Messages are pushed 1 5 Flow control feedback 3 Messages are pulled 2 Segements are pushed 4 Flow control feedback ERROR CONTROL TCP is a reliable transport layer protocol. This means that an application program that delivers a stream of data to TCP relies on TCP to deliver the entire stream to the application program on the other end in order, without error, and without any part lost or duplicated. Error control in TCP is achieved through the use of three tools: checksum, acknowledgment, and time-out. CONGESTION CONTROL Congestion control in TCP is based on both open loop and closed-loop mechanisms. TCP uses a congestion window and a congestion policy that avoid congestion and detect and alleviate congestion after it has occurred. TCP TIMERS: Timer Management To perform its operation smoothly, most TCP implementations use at least four timers as shown in Figure 15.38 (slide 83). TCP timers TCP Timer Retransmission Timer(RTT):To retransmit lost segments TCP employs one retransmission timer Rules of RTT 1. When TCP send the segment in front of the sending queue ,it starts the timer 2. When the timer expires TCP send first segment in front of the queue and restart the timer 3. When the segments are cumulatively acknowledged segment or segments are purged from the queue 4. If the queue is empty ,TCP stops the timer ,otherwise TCP restarts the timer Persistence Timer :To deal with zero window size advertise TCP uses other timer known as persistence timer .If the receiving TCP announces a window size of zero ,the sending TCP stops transmitting segments until the receiving TCP sends an ACK segment announcing non zero size of window Keepalive Timer: Is used in some implementation to prevent long idle connection between two TCPs.Suppose a client open a connection with server and transfer data and become silent . TIME-WAIT Timer:Is used during connection termination Part-V Presentation and Application Layer Session Layer Dialog Session-to-Transport Layer Communication Synchronization Points Presentation Layer Functions Direct and Indirect Methods of Translation Concept of Encryption and Decryption Encryption/Decryption Methods Monoalphabetic Substitution Polyalphabetic Substitution Transpositional Encryption Encoding/Decoding Permutation Substitution Product Exclusive OR Rotation DES Subkey Generation in DES One of the 16 Steps in DES Public Key Encryption RSA RSA Encryption and Decryption Security of RSA Signature Authentication Application Layer Client-Server Model DNS in the Internet Generic Domains Country Domains Inverse Domain Local Login Remote Login Concept of NVT FTP SMTP Concept UAs and MTs Relay MTAs Mail Gateways E-mail Address The Entire E-mail System MIME POP3 and SMTP SNMP Concept Internet Management Components MIB SNMP Messages