internet administration internet society (isoc) internet architecture board (iab) internet...

Download Internet Administration Internet Society (ISOC) Internet Architecture Board (IAB) Internet Engineering Task Force (IETF) Internet Research Task Force

If you can't read please download the document

Upload: brook-stafford

Post on 24-Dec-2015

218 views

Category:

Documents


1 download

TRANSCRIPT

  • Slide 1
  • Slide 2
  • Internet Administration Internet Society (ISOC) Internet Architecture Board (IAB) Internet Engineering Task Force (IETF) Internet Research Task Force (IRTF) Internet Assigned Numbers Authority (IANA) Internet corporation for Names and Numbers (ICANN) Network Information Center (NIC)
  • Slide 3
  • Internet administration
  • Slide 4
  • Internet Society International non profit organization formed in 1992 to provide support for the internet standards process Internet Architecture Board Technical Advisor to ISOC Oversee the continuing development of the TCP/IP
  • Slide 5
  • Internet Engineering Task Force(IETF) Forum of working groups managed by IESG responsible for identifying operational problems and proposing solutions to these problems develop and review internet standards Areas Application Internet ProtocolsRouting Operations and management User ServicesNetwork management TransportSecurity
  • Slide 6
  • Internet Research Task Force(IRTF) Working groups managed by IRSG Focus on long term research to Internet protocols Applications Architecture Technology
  • Slide 7
  • Internet Assigned Numbers Authority(IANA) Internet Corporation for Assigned Names and Numbers(ICANN) Responsible for the management of Internet domain names and addresses
  • Slide 8
  • Network Information Center(NIC) Responsible for collecting and distributing information about TCP/IP protocols
  • Slide 9
  • Internet Standards Is a thoroughly tested specification that is useful to and adhered to by those who work with the Internet Specification begins as an internet draft After approval from authorities a draft may be published as Request for Comments(RFC)
  • Slide 10
  • Request For Comments(RFC) Documentation of work on the internet, proposals for new or revised protocols, and TCP/IP protocols standards all appear in a series of technical reports called Internet Request For Comments,RFCs
  • Slide 11
  • RFC Maturity Levels 1) Proposed Standard -- specification is usually tested and implemented by several different groups 2) Draft Standard 3) Internet Standard 4) Historic 5) Experimental does not affect the operational of the internet 6) Informational general, historic, tutorial
  • Slide 12
  • RFC Requirement Levels 1) Required Must be implemented 2) Recommended not required for minimum conformance but is useful 3) Elective Note required and not recommended but can use for local benefit 4) Limited use should be used only in limited situations, eg. experimental 1) Not Recommended eg. historic
  • Slide 13
  • IP Address The identifier used in the IP layer of the TCP/IP protocol to identify each device connected to the internet is called Internet Address or IP Address IP addresses are unique
  • Slide 14
  • Address space Total number of addresses used by the protocol IPv4- 32 bits 2 32 = 4,294,967,296
  • Slide 15
  • Notation 3 Types Binary Notation Dotted Decimal Notation Hexadecimal Notation
  • Slide 16
  • Binary Notation IP address is displayed as 32 bits. To make readable, one or more space is inserted between each octet. e.g 01110101 10010101 00011101 11101010
  • Slide 17
  • Dotted Decimal Number Internet addresses are usually written in decimal form with a decimal point(dot) separating the bytes. Each number in the dotted decimal notation is between 0-255 E.g. 128.11.13.31
  • Slide 18
  • Slide 19
  • Change the following IP addresses from binary notation to dotted-decimal notation. a. 10000001 00001011 00001011 11101111 b. 11000001 10000011 00011011 11111111 c. 11100111 11011011 10001011 01101111 d. 11111001 10011011 11111011 00001111 Solution We replace each group of 8 bits with its equivalent decimal number and add dots for separation: a. 129.11.11.239 b. 193.131.27.255 c. 231.219.139.111 d. 249.155.251.15
  • Slide 20
  • Hexadecimal Notation Each hexadecimal digit is equivalent to four bits. Often used in network programming Replace each group of 4 bits with its hexadecimal equivalent. 0X or 0x is added at the beginning or the subscript 16 at the end to show that the number is in hexadecimal E.g. 0X810B0BEF 810B0BEF 16
  • Slide 21
  • Classful Addressing In classful addressing the IP address space is divided into five classes: A B C D E Each class occupies some part of the whole address space.
  • Slide 22
  • Occupation of the address space
  • Slide 23
  • Addresses per class
  • Slide 24
  • Finding the class in binary notation
  • Slide 25
  • Figure 4.4 Finding the address class
  • Slide 26
  • Finding the class in decimal notation
  • Slide 27
  • Netid and hostid
  • Slide 28
  • Blocks in class A
  • Slide 29
  • Blocks in class B
  • Slide 30
  • Blocks in class C
  • Slide 31
  • Network Address Network address is the first address in the block Given the network address we can find the class of the address, the block, and the range of addresses in the block
  • Slide 32
  • Mask A Mask is a 32 bit number that gives the first address in the block, the network address, when bitwise ANDed with an address in the block.
  • Slide 33
  • Slide 34
  • Given the address 23.56.7.91, find the beginning address (network address). Solution The default mask is 255.0.0.0, which means that only the first byte is preserved and the other 3 bytes are set to 0s. The network address is 23.0.0.0.
  • Slide 35
  • Given the address 132.6.17.85, find the beginning address (network address). Solution The default mask is 255.255.0.0, which means that the first 2 bytes are preserved and the other 2 bytes are set to 0s. The network address is 132.6.0.0.
  • Slide 36
  • Given the address 201.180.56.5, find the beginning address (network address). Solution The default mask is 255.255.255.0, which means that the first 3 bytes are preserved and the last byte is set to 0. The network address is 201.180.56.0.
  • Slide 37
  • Multihomed Devices A computer that is connected to different networks is called a multihomed computer and will have ore than one address, each possibly belonging to a different class.
  • Slide 38
  • Slide 39
  • Location, Not name An Internet address defines the network location of a device, not its identity. An internet address is made of two parts, netid and hostid, it can only define the connection of a device to a specific network.
  • Slide 40
  • Slide 41
  • Network address
  • Slide 42
  • Direct Broadcast Address In classes A,B,C, if the host id is all 1s, the address is called a direct broadcast address. It is used by a router to send packet to all hosts in a specific network. All host will accept a packet having this type of destination address
  • Slide 43
  • Slide 44
  • Limited Broadcast Address In classes A,B,C, an address with all 1s for the netid and hostid defines a broadcast address in the current network. A host that wants to send a message to every other host can use this address as a destination address in an IP packet.
  • Slide 45
  • Limited broadcast address
  • Slide 46
  • This host on this network If an IP address is composed of all zeros, it means this host on this network. The host sends an IP packet to a bootstrap server using this address as the source address and a limited broadcast address as the destination address to find its own address
  • Slide 47
  • this host on this network
  • Slide 48
  • Specific Host on this network An IP address with a netid of all zeros means a specific host on this network. It is used by a host to send a message to another host on the same network
  • Slide 49
  • specific host on this network
  • Slide 50
  • Loopback address The IP address with first byte equal to 127 is used fro the loopback address, which is an address used to test the software on a machine. When this address is used, a packet never leaves the machine; it simply returns to the protocol software. It can be used for testing.
  • Slide 51
  • Example of loopback address
  • Slide 52
  • Private Addresses A number of blocks in each class are assigned for private use. They are not recognized globally.
  • Slide 53
  • Unicast, Multicast and Broadcast addresses 1) Unicast Address Unicast communication is one to one. A packet is sent from an individual source to an individual destination 2)Mutlicast Communication is one to many.A packet is sent from an individual source to a group of destinations. 3)Broadcast Communication is one to all
  • Slide 54
  • Category addresses
  • Slide 55
  • Addresses for conferencing
  • Slide 56
  • Sample internet
  • Slide 57
  • Subnetting A network is divided into several subnet works with each subnetwork having its own subnetwork address Two levels of hierarchy Three levels of hierarchy
  • Slide 58
  • A network with two levels of hierarchy (not subnetted)
  • Slide 59
  • A network with three levels of hierarchy (subnetted)
  • Slide 60
  • Addresses in a network with and without subnetting
  • Slide 61
  • Slide 62
  • Hierarchy concept in a telephone number
  • Slide 63
  • What is the subnetwork address if the destination address is 200.45.34.56 and the subnet mask is 255.255.240.0? Solution We apply the AND operation on the address and the subnet mask. Address 11001000 00101101 00100010 00111000 Subnet Mask 11111111 11111111 11110000 00000000 Subnetwork Address 11001000 00101101 00100000 00000000.
  • Slide 64
  • Comparison of a default mask and a subnet mask
  • Slide 65
  • A supernetwork
  • Slide 66
  • In subnetting, we need the first address of the subnet and the subnet mask to define the range of addresses. In supernetting, we need the first address of the supernet and the supernet mask to define the range of addresses.
  • Slide 67
  • Comparison of subnet, default, and supernet masks
  • Slide 68
  • Classless Addressing In classless addressing variable-length blocks are assigned that belong to no class. In this architecture, the entire address space (2 32 addresses) is divided into blocks of different sizes.
  • Slide 69
  • Variable-length blocks
  • Slide 70
  • Restrictions 1)Number of addresses in a block The number of addresses in block must be a power of two 1)First address The first address must be evenly divisible by the number of addresses
  • Slide 71
  • Which of the following can be the beginning address of a block that contains 16 addresses? a. 205.16.37.32b.190.16.42.44 c. 17.17.33.80d.123.45.24.52 Example Solution Only two are eligible (a and c). The address 205.16.37.32 is eligible because 32 is divisible by 16. The address 17.17.33.80 is eligible because 80 is divisible by 16.
  • Slide 72
  • 72 Which of the following can be the beginning address of a block that contains 256 addresses? a.205.16.37.32b.190.16.42.0 c.17.17.32.0d.123.45.24.52 Example 2 Solution In this case, the right-most byte must be 0. As we mentioned in Chapter 4, the IP addresses use base 256 arithmetic. When the right-most byte is 0, the total address is divisible by 256. Only two addresses are eligible (b and c).
  • Slide 73
  • 73 Which of the following can be the beginning address of a block that contains 1024 addresses? a. 205.16.37.32b.190.16.42.0 c. 17.17.32.0d.123.45.24.52 Example 3 Solution In this case, we need to check two bytes because 1024 = 4 256. The right-most byte must be divisible by 256. The second byte (from the right) must be divisible by 4. Only one address is eligible (c).
  • Slide 74
  • CIDR Notation (Classless inter domain routing) The number of 1s in the mask is added after a slash at the end of the address. e.g. 18.46.74.10 written as 18.46.74.10/8 for default mask
  • Slide 75
  • The mask of class A block is 255.0.0.0/8 Class B 255.0.0.0/16 Class C 255.0.0.0/24
  • Slide 76
  • In classless addressing when an address in given, the block the address belongs to can not be found unless we have the mask. In classless addressing the address must be accompanied by the mask. The mask is given in CIDR notation with the number of 1s in the mask.
  • Slide 77
  • Format of classless addressing address
  • Slide 78
  • Prefix lengths
  • Slide 79
  • What is the first address in the block if one of the addresses is 167.199.170.82/27? Address in binary: 10100111 11000111 10101010 01010010 Keep the left 27 bits: 10100111 11000111 10101010 01000000 Result in CIDR notation: 167.199.170.64/27 Solution The prefix length is 27, which means that we must keep the first 27 bits as is and change the remaining bits (5) to 0s. The following shows the process:
  • Slide 80
  • What is the first address in the block if one of the addresses is 140.120.84.24/20? Solution Figure 5.3 shows the solution. The first, second, and fourth bytes are easy; for the third byte we keep the bits corresponding to the number of 1s in that group. The first address is 140.120.80.0/20.
  • Slide 81
  • TCP/IP Protocol Suite 81 Figure 5.3 Example 5
  • Slide 82
  • Find the number of addresses in the block if one of the addresses is 140.120.84.24/20. Solution The prefix length is 20. The number of addresses in the block is 2 3220 or 2 12 or 4096. Note that this is a large block with 4096 addresses.
  • Slide 83
  • Using the first method, find the last address in the block if one of the addresses is 140.120.84.24/20. Solution We found in the previous examples that the first address is 140.120.80.0/20 and the number of addresses is 4096. To find the last address, we need to add 4095 (4096 1) to the first address.
  • Slide 84
  • Find the block if one of the addresses is 190.87.140.202/29. Example 10 Solution We follow the procedure in the previous examples to find the first address, the number of addresses, and the last address. To find the first address, we notice that the mask (/29) has five 1s in the last byte. So we write the last byte as powers of 2 and retain only the leftmost five as shown below:
  • Slide 85
  • Slide 86
  • An organization is granted the block 130.34.12.64/26. The organization needs 4 subnets. What is the subnet prefix length? Solution We need 4 subnets, which means we need to add two more 1s (log 2 4 = 2) to the site prefix. The subnet prefix is then /28.
  • Slide 87
  • Slide 88
  • The site has 2 3226 = 64 addresses. Each subnet has 2 3228 = 16 addresses. Now let us find the first and last address in each subnet. 1. The first address in the first subnet is 130.34.12.64/28, using the procedure we showed in the previous examples. Note that the first address of the first subnet is the first address of the block. The last address of the subnet can be found by adding 15 (16 1) to the first address. The last address is 130.34.12.79/28.
  • Slide 89
  • 2.The first address in the second subnet is 130.34.12.80/28; it is found by adding 1 to the last address of the previous subnet. Again adding 15 to the first address, we obtain the last address, 130.34.12.95/28. 3. Similarly, we find the first address of the third subnet to be 130.34.12.96/28 and the last to be 130.34.12.111/28. 4. Similarly, we find the first address of the fourth subnet to be 130.34.12.112/28 and the last to be 130.34.12.127/28.
  • Slide 90
  • An organization is granted a block of addresses with the beginning address 14.24.74.0/24. There are 2 3224 = 256 addresses in this block. The organization needs to have 11 subnets as shown below: a. two subnets, each with 64 addresses. b. two subnets, each with 32 addresses. c. three subnets, each with 16 addresses. d. four subnets, each with 4 addresses. Design the subnets.
  • Slide 91
  • Slide 92
  • As another example, assume a company has three offices: Central, East, and West. The Central office is connected to the East and West offices via private, point-to-point WAN lines. The company is granted a block of 64 addresses with the beginning address 70.12.100.128/26. The management has decided to allocate 32 addresses for the Central office and divides the rest of addresses between the two offices. Figure 5.8 shows the configuration designed by the management.
  • Slide 93
  • Figure 5.8 Example 15
  • Slide 94
  • Delivery, Forwarding, and Routing of IP Packets
  • Slide 95
  • DELIVERY The network layer supervises delivery, the handling of the packets by the underlying physical networks. Two important concepts are the type of connection and direct versus indirect delivery
  • Slide 96
  • IP is a connectionless protocol.
  • Slide 97
  • Direct delivery The final destination of the packet is host connected to the same physical network * Mapping the IP address to the physical address.
  • Slide 98
  • Indirect delivery
  • Slide 99
  • In direct delivery the address mapping is between the IP address of the final destination and the physical address of the final destination In indirect delivery the address mapping is between the IP address of the next router and the physical address of the next router.
  • Slide 100
  • FORWARDING Forwarding means to place the packet in its route to its destination. Forwarding requires a host or a router to have a routing table..
  • Slide 101
  • Next-hop method
  • Slide 102
  • Network-specific method & Host-specific routing
  • Slide 103
  • Default routing
  • Slide 104
  • Simplified forwarding module in classful address without subnetting
  • Slide 105
  • Figure 6.8 shows an imaginary part of the Internet. Show the routing tables for router R1. Example 1
  • Slide 106
  • Figure 6.8 Configuration for routing, Example 1
  • Slide 107
  • TCP/IP Protocol Suite 107 Solution Figure 6.9 shows the three tables used by router R1. Note that some entries in the next-hop address column are empty because in these cases, the destination is in the same network to which the router is connected (direct delivery). In these cases, the next-hop address used by ARP is simply the destination address of the packet Example 1 (Continued)
  • Slide 108
  • TCP/IP Protocol Suite 108 Figure 6.9 Tables for Example 1
  • Slide 109
  • Router R1 in Figure 6.8 receives a packet with destination address 192.16.7.14. Show how the packet is forwarded. Example 2 Solution The destination address in binary is 11000000 00010000 00000111 00001110. A copy of the address is shifted 28 bits to the right. The result is 00000000 00000000 00000000 00001100 or 12. The destination network is class C. The network address is extracted by masking off the leftmost 24 bits of the destination address; the result is 192.16.7.0. The table for Class C is searched. The network address is found in the first row. The next-hop address 111.15.17.32. and the interface m0 are passed to ARP.
  • Slide 110
  • Router R1 in Figure 6.8 receives a packet with destination address 167.24.160.5. Show how the packet is forwarded. Example 3 Solution The destination address in binary is 10100111 00011000 10100000 00000101. A copy of the address is shifted 28 bits to the right. The result is 00000000 00000000 00000000 00001010 or 10. The class is B. The network address can be found by masking off 16 bits of the destination address, the result is 167.24.0.0. The table for Class B is searched. No matching network address is found. The packet needs to be forwarded to the default router (the network is somewhere else in the Internet). The next-hop address 111.30.31.18 and the interface number m0 are passed to ARP.
  • Slide 111
  • 111 Figure 6.10 Simplified forwarding module in classful address with subnetting
  • Slide 112
  • 112 Figure 6.11 shows a router connected to four subnets. Example 4
  • Slide 113
  • TCP/IP Protocol Suite 113 Figure 6.11 Configuration for Example 4
  • Slide 114
  • Example 4 (Continued) Note several points. First, the site address is 145.14.0.0/16 (a class B address). Every packet with destination address in the range 145.14.0.0 to 145.14.255.255 is delivered to the interface m4 and distributed to the final destination subnet by the router. Second, we have used the address x.y.z.t/n for the interface m4 because we do not know to which network this router is connected. Third, the table has a default entry for packets that are to be sent out of the site. The router is configured to apply the mask /18 to any destination address.
  • Slide 115
  • TCP/IP Protocol Suite 115 The router in Figure 6.11 receives a packet with destination address 145.14.32.78. Show how the packet is forwarded. Example 5 Solution The mask is /18. After applying the mask, the subnet address is 145.14.0.0. The packet is delivered to ARP with the next-hop address 145.14.32.78 and the outgoing interface m0.
  • Slide 116
  • A host in network 145.14.0.0 in Figure 6.11 has a packet to send to the host with address 7.22.67.91. Show how the packet is routed. Example 6 Solution The router receives the packet and applies the mask (/18). The network address is 7.22.64.0. The table is searched and the address is not found. The router uses the address of the default router (not shown in figure) and sends the packet to that router.
  • Slide 117
  • In classful addressing we can have a routing table with three columns; in classless addressing, we need at least four columns. Note:
  • Slide 118
  • Figure 6.12 Simplified forwarding module in classless address
  • Slide 119
  • TCP/IP Protocol Suite 119 Make a routing table for router R1 using the configuration in Figure 6.13. Example 7 Solution Table 6.1 shows the corresponding table.
  • Slide 120
  • TCP/IP Protocol Suite 120 Figure 6.13 Configuration for Example 7
  • Slide 121
  • TCP/IP Protocol Suite 121 Table 6.1 Routing table for router R1 in Figure 6.13
  • Slide 122
  • Show the forwarding process if a packet arrives at R1 in Figure 6.13 with the destination address 180.70.65.140. Example 8 Solution The router performs the following steps: 1. The first mask (/26) is applied to the destination address. The result is 180.70.65.128, which does not match the corresponding network address.
  • Slide 123
  • Example 8 (Continued) 2. The second mask (/25) is applied to the destination address. The result is 180.70.65.128, which matches the corresponding network address. The next-hop address (the destination address of the packet in this case) and the interface number m0 are passed to ARP for further processing.
  • Slide 124
  • Show the forwarding process if a packet arrives at R1 in Figure 6.13 with the destination address 201.4.22.35. Example 9 Solution The router performs the following steps:
  • Slide 125
  • 1. The first mask (/26) is applied to the destination address. The result is 201.4.22.0, which does not match the corresponding network address (row 1). 2. The second mask (/25) is applied to the destination address. The result is 201.4.22.0, which does not match the corresponding network address (row 2). 3. The third mask (/24) is applied to the destination address. The result is 201.4.22.0, which matches the corresponding network address. The destination address of the package and the interface number m3 are passed to ARP. Example 9 (Continued)
  • Slide 126
  • Show the forwarding process if a packet arrives at R1 in Figure 6.13 with the destination address 18.24.32.78. Example 10 Solution This time all masks are applied to the destination address, but no matching network address is found. When it reaches the end of the table, the module gives the next-hop address 180.70.65.200 and interface number m2 to ARP. This is probably an outgoing package that needs to be sent, via the default router, to some place else in the Internet.
  • Slide 127
  • TCP/IP Protocol Suite 127 Figure 6.17 Hierarchical routing with ISPs
  • Slide 128
  • ROUTING Routing deals with the issues of creating and maintaining routing tables. Static Versus Dynamic Routing Tables Routing Table
  • Slide 129
  • Common fields in a routing table Flags 1)U (Up) 2)G (Gateway) 3)H(Host Specific) 4)D(added by redirection) 5)M(modified by redirection)
  • Slide 130
  • TCP/IP Protocol Suite 130 6.4 STRUCTURE OF A ROUTER We represent a router as a black box that accepts incoming packets from one of the input ports (interfaces), uses a routing table to find the departing output port, and sends the packet from this output port. Components
  • Slide 131
  • Router components
  • Slide 132
  • TCP/IP Protocol Suite 132 Figure 6.21 Input port
  • Slide 133
  • TCP/IP Protocol Suite 133 Figure 6.22 Output port
  • Slide 134
  • TCP/IP Protocol Suite 134 Figure 6.23 Crossbar switch
  • Slide 135
  • TCP/IP Protocol Suite 135 Figure 6.24 A banyan switch
  • Slide 136
  • TCP/IP Protocol Suite 136 Figure 6.25 Examples of routing in a banyan switch
  • Slide 137
  • ARP and RARP The hosts and routers recognized at the network level by their logical addresses. A logical address is an internetwork address A logic address is unique universally The logical addresses in the TCP/IP protocol suite are called IP addresses Implemented in software
  • Slide 138
  • At the physical level, the hosts and routers are recognized by their physical address. A physical address is a local address It should be unique locally Usually it is implemented in hardware
  • Slide 139
  • ARP and RARP
  • Slide 140
  • ARP ARP associates an IP address with its physical address. On a typical physical network, such as a LAN, each device on a link is identified by a physical or station address that is usually imprinted on the NIC.
  • Slide 141
  • ARP operation
  • Slide 142
  • TCP/IP Protocol Suite 142 A host with IP address 130.23.43.20 and physical address B2:34:55:10:22:10 has a packet to send to another host with IP address 130.23.43.25 and physical address A4:6E:F4:59:83:AB (which is unknown to the first host). The two hosts are on the same Ethernet network. Show the ARP request and reply packets encapsulated in Ethernet frames. Example 1 See Next Slide
  • Slide 143
  • TCP/IP Protocol Suite 143 Solution Figure 7.7 shows the ARP request and reply packets. Note that the ARP data field in this case is 28 bytes, and that the individual addresses do not fit in the 4-byte boundary. That is why we do not show the regular 4- byte boundaries for these addresses. Also note that the IP addresses are shown in hexadecimal. For information on binary or hexadecimal notation see Appendix B. Example 1 (Continued)
  • Slide 144
  • TCP/IP Protocol Suite 144 Figure 7.7 Example 1
  • Slide 145
  • ARP packet
  • Slide 146
  • 1)Hardware type : Type of the network on which ARP is running 2)Protocol Type: 16 bit defining the protocol 3)Hardware Length: 8 bit field, For Ethernet, value is 6 4)Protocol Length: 8 bit field, for IPv4 value is 4 5)Operation: 16 bit field, ARP requet(1) ARP Reply (2) 6)Sender Hardware Address: Variable length field, physical address of the sender 7)Sender protocol address: logical address 8)Target Hardware address: physical address of targer 9)Target protocol address: logical address of target
  • Slide 147
  • Encapsulation of ARP packet
  • Slide 148
  • Four cases using ARP
  • Slide 149
  • An ARP request is broadcast; an ARP reply is unicast.
  • Slide 150
  • ARP PACKAGE ARP package involves five modules: a cache table, queues, an output module, an input module, and a cache-control module. Cache Table Queues Output Module Input Module Cache-Control Module
  • Slide 151
  • ARP components
  • Slide 152
  • Cache table
  • Slide 153
  • RARP RARP finds the logical address for a machine that only knows its physical address.
  • Slide 154
  • RARP operation
  • Slide 155
  • Internet Protocol
  • Slide 156
  • TCP/IP Protocol Suite 156 Position of IP in TCP/IP protocol suite
  • Slide 157
  • TCP/IP Protocol Suite 157 8.1 DATAGRAM A packet in the IP layer is called a datagram, a variable-length packet consisting of two parts: header and data. The header is 20 to 60 bytes in length and contains information essential to routing and delivery.
  • Slide 158
  • TCP/IP Protocol Suite 158 Figure 8.2 IP datagram
  • Slide 159
  • TCP/IP Protocol Suite 159 Figure 8.3 Service type or differentiated services
  • Slide 160
  • TCP/IP Protocol Suite 160 Table 8.1 Types of service
  • Slide 161
  • TCP/IP Protocol Suite 161 Table 8.3 Values for codepoints
  • Slide 162
  • TCP/IP Protocol Suite 162 Table 8.4 Protocols
  • Slide 163
  • TCP/IP Protocol Suite 163 An IP packet has arrived with the first 8 bits as shown: Example 1 01000010 The receiver discards the packet. Why? Solution There is an error in this packet. The 4 left-most bits (0100) show the version, which is correct. The next 4 bits (0010) show the header length; which means (2 4 = 8), which is wrong. The minimum number of bytes in the header must be 20. The packet has been corrupted in transmission.
  • Slide 164
  • TCP/IP Protocol Suite 164 In an IP packet, the value of HLEN is 1000 in binary. How many bytes of options are being carried by this packet? Example 2 Solution The HLEN value is 8, which means the total number of bytes in the header is 8 4 or 32 bytes. The first 20 bytes are the base header, the next 12 bytes are the options.
  • Slide 165
  • TCP/IP Protocol Suite 165 In an IP packet, the value of HLEN is 5 16 and the value of the total length field is 0028 16. How many bytes of data are being carried by this packet? Example 3 Solution The HLEN value is 5, which means the total number of bytes in the header is 5 4 or 20 bytes (no options). The total length is 40 bytes, which means the packet is carrying 20 bytes of data (40 20).
  • Slide 166
  • TCP/IP Protocol Suite 166 A packet has arrived with an M bit value of 0. Is this the first fragment, the last fragment, or a middle fragment? Do we know if the packet was fragmented? Example 5 Solution If the M bit is 0, it means that there are no more fragments; the fragment is the last one. However, we cannot say if the original packet was fragmented or not. A nonfragmented packet is considered the last fragment.
  • Slide 167
  • TCP/IP Protocol Suite 167 A packet has arrived with an M bit value of 1. Is this the first fragment, the last fragment, or a middle fragment? Do we know if the packet was fragmented? Example 6 Solution If the M bit is 1, it means that there is at least one more fragment. This fragment can be the first one or a middle one, but not the last one. We dont know if it is the first one or a middle one; we need more information (the value of the fragmentation offset).
  • Slide 168
  • TCP/IP Protocol Suite 168 A packet has arrived with an M bit value of 1 and a fragmentation offset value of zero. Is this the first fragment, the last fragment, or a middle fragment?. Example 7 Solution Because the M bit is 1, it is either the first fragment or a middle one. Because the offset value is 0, it is the first fragment.
  • Slide 169
  • TCP/IP Protocol Suite 169 8.2 FRAGMENTATION The format and size of a frame depend on the protocol used by the physical network. A datagram may have to be fragmented to fit the protocol regulations. Maximum Transfer Unit (MTU)
  • Slide 170
  • TCP/IP Protocol Suite 170 Table 8.5 MTUs for some networks
  • Slide 171
  • TCP/IP Protocol Suite 171 Figure 8.7 Flags field
  • Slide 172
  • TCP/IP Protocol Suite 172 Figure 8.8 Fragmentation example
  • Slide 173
  • Internet Control Message Protocol (ICMP) One of the core protocols in the Internet Primarily used to communicate errors among routers and hosts IP datagram errors Communicate routing information/errors Communicate diagnostics
  • Slide 174
  • ICMP The IP protocol has no error-reporting facility 1. A router discarded a IP packet because it cannot find the route 2. A packet was discarded because all fragments didn't arrive The IP protocol lacks a mechanism for host and management queries. 1. How to check if router/host is alive The Internet Control Message Protocol (ICMP) has been designed to compensate for the above two deficiencies. It is a companion to the IP protocol
  • Slide 175
  • ICMP messages are divided into error- reporting messages and query messages. The error-reporting messages report problems that a router or a host (destination) may encounter. The query messages get specific information from a router or another host.
  • Slide 176
  • TCP/IP Protocol Suite 176 Figure 9.3 ICMP messages
  • Slide 177
  • NEED FOR ICMP Used to communicate IP status and error messages between hosts and routers Uses IP to route its messages between hosts Must be implemented with IP IP is just a packet delivery system transmits and routes datagrams from sources to destinations through a series of interconnected networks it has a checksum in the IP header to detect lost bits no error detection on the datagram payload though but has no native mechanism for source host notification This is where ICMP comes in its used to report IP errors to the source host ICMP data is carried as the payload of an IP datagram specifies additional message formats within this area
  • Slide 178
  • General Format of ICMP Types of ICMP messages 1.Error-Reporting messages 2.Query messages Message Format 8 byte header Variable Data Section Type: Type of ICMP message Code : Specifies the reason for this particular message Rest of header: message specific Data Section : contains Information for finding the original packet or data related to query message type
  • Slide 179
  • ICMP messages ICMP messages
  • Slide 180
  • Code for type 3 Code 1 : The host is unreachable Code 2 : The protocol is unreachable Code 3 : The port is unreachable Code 5 : Source routing can not be accomplished Code 7 : The Destination host is unknown
  • Slide 181
  • TCP/IP Protocol Suite 181 Destination-unreachable format
  • Slide 182
  • No ICMP error message will be generated in response to a datagram carrying an ICMP error message. No ICMP error message will be generated for a datagram having a multicast address. No ICMP error message will be generated for a datagram having a special address such as 127.0.0.0 or 0.0.0.0. No ICMP error message will be generated for a fragmented datagram that is not the first fragment
  • Slide 183
  • Contents of data field for the error messages ICMP data = IP header + first 8 bytes of that IP Packets Data This first 8 bytes of data will provide information about TCP/UDP headers
  • Slide 184
  • Error Reporting ICMP doesnt correct errors ; but reports them ICMP always reports error to original source ICMP uses the source IP address in IP packet to send error report back to sender Five types of errors are handles by ICMP
  • Slide 185
  • Destination Unreachable A Router or Destination System which could not process the packet will send this ICMP message back to the sender This will notify the Sender that the packet was dropped because either Router could not find an appropriate route or Host couldnt deliver it Source Quench To overcome the flow control deficiency of IP When packets are discarded by Routers/Host due to congestion source-quench messages are send. This will inform that the packet has been dropped and also ask the sender to slow down sending packet Time Exceed When a packet is dropped due to TTL=0 then this message is sent When all fragments didn't arrive and the packet is dropped then also this message is sent
  • Slide 186
  • Parameter Problem If some of the IP header parameters are wrong ; then the packet is dropped and error message is send Redirection If the host send the IP Packet to wrong router R1 Then R1 will forward the packet to correct router and it informs Host that the packet should have been sent through R2- this message is called Redirection Host routing table is updated accordingly
  • Slide 187
  • Query Messages Query message works in Pairs An ICMP message is sent and a ICMP reply is obtained Echo Request and Reply Used for diagnostic purpose With this message we can check if two systems are communicating properly at IP level It also ensures all the intermediate routers are functioning Time Stamp To find out the round trip time of network Also used to synchronize clock of systems Address Mask When a host doesnt know its mask it send this message to router Router responds with the mask If IP of Router is not known the Host broadcast the message Router Solicitation Used for Router discovery by Sender; Router replies with its routing table info which is called as router advertisement
  • Slide 188
  • Slide 189
  • Router-solicitation message format
  • Slide 190
  • Router-advertisement message format
  • Slide 191
  • Transmission Control Protocol (TCP) TCP lies between the application layer and the network layer and serves as the intermediary between application programs and the network operations
  • Slide 192
  • TCP/IP
  • Slide 193
  • TCP Services TCP is process to process protocol TCP provides process to process communication using port numbers
  • Slide 194
  • Table 12.1 Well-known ports used by TCP
  • Slide 195
  • Stream Delivery Service TCP is stream oriented protocol TCP allows the sending process to deliver data as a stream of bytes and allows the receiving process to obtain data as a stream of bytes
  • Slide 196
  • Stream delivery
  • Slide 197
  • Sending and receiving buffers
  • Slide 198
  • Segments TCP groups number of bytes together into a packet called a segment TCP adds a header to each segment and delivers the segment to the IP layer for transmission TCP offers full duplex communication TCP is connection oriented service
  • Slide 199
  • TCP segments
  • Slide 200
  • TCP Features 1)Numbering System 2)Flow control 3)Error Control 4)Congestion Control
  • Slide 201
  • Numbering System Byte Number The bytes of data being transferred in each connection are numbered by TCP. The numbering starts with a randomly generated number Sequence Number The sequence number for each segment is the number of the first byte carried in that segment
  • Slide 202
  • Suppose a TCP connection is transferring a file of 5000 bytes. The first byte is numbered 10001. What are the sequence numbers for each segment if data is sent in five segments, each carrying 1000 bytes? Segment 1 Sequence Number: 10,001 (range: 10,001 to 11,000) Segment 2 Sequence Number: 11,001 (range: 11,001 to 12,000) Segment 3 Sequence Number: 12,001 (range: 12,001 to 13,000) Segment 4 Sequence Number: 13,001 (range: 13,001 to 14,000) Segment 5 Sequence Number: 14,001 (range: 14,001 to 15,000)
  • Slide 203
  • 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.
  • Slide 204
  • SEGMENT A packet in TCP is called a segment A packet in TCP is called a segment
  • Slide 205
  • TCP segment format
  • Slide 206
  • Control field
  • Slide 207
  • I Description of flags in the control field
  • Slide 208
  • Encapsulation A TCP segment is encapsulated in an IP datagram, which in turn is encapsulated in a frame at the data link layer.
  • Slide 209
  • A TCP CONNECTION TCP is connection-oriented. A connection-oriented transport protocol establishes a virtual path between the source and destination. All of the segments belonging to a message are then sent over this virtual path. A connection-oriented transmission requires three phases: connection establishment, data transfer, and connection termination.
  • Slide 210
  • Three way handshaking The connection establishment in TCP is called Three way handshaking. Passive open: ready to accept connection Active open: needs to be connected to server
  • Slide 211
  • Connection establishment using three-way handshaking
  • Slide 212
  • Three way handshaking 1) The client sends first segment, a SYN segment, in which only SYN flag is set. This segment is for synchronization of sequence numbers. This randomly generated sequence number is called initial sequence number. No window size No Acknowledge number
  • Slide 213
  • Three way handshaking 2) The server sends the second segment, SYN+ACK. two flag bit set SYN and ACK Defines the receiver window size
  • Slide 214
  • Three way handshaking 3) The client sends the third segment ACK segment with ACK flag set client define server window size
  • Slide 215
  • SYN Flooding Attack This happens when a malicious attacker sends a larger number of SYN segments to a server pretending that each of them is coming from a different client by faking the source IP address in the datagrams. server will allocate resources
  • Slide 216
  • Denial of Service attack This SYS flooding attack belongs to a group of security attacks known as denial of service attack, in which an attacker monopolizes a system with so many service requests that the system collapses and denies service to every request.
  • Slide 217
  • Solutions Limit the connection requests during a specified period of time Filter out datagrams coming from unwanted source address Postpone resource allocation until the entire connection is set up.
  • Slide 218
  • Data Transfer After connection is established bidirectional data transfer will take place. The client and server can send data and acknowledgement in both the directions The acknowledgement is piggybacked with the data
  • Slide 219
  • Data transfer
  • Slide 220
  • Pushing Data Application program at the sending site request a push operation. Means that the sending TCP must not wait for the window to be filled. It must create a segment and send it immediately Set PSH flag Receiving TCP must deliver the segment to the process without waiting more data to come.
  • Slide 221
  • Urgent Data Sending application program wants a piece of data to be read out of order by the receiving application program. The sending TCP creates a segment and insert the urgent data at the beginning of the segment. Rest of the segment contain normal data Set the URG flag
  • Slide 222
  • Receiving TCP extracts the urgent data from the segment using the value of the urgent pointer. Delivers it to the receiving application program in out of order.
  • Slide 223
  • Connection termination Three way handshaking Four way handshaking with half close option
  • Slide 224
  • Three way handshaking 1) client TCP, after receiving a close command from the client process, sends the first segment, a FIN segment in which the FIN flag is set. It can contain last data or only control segment
  • Slide 225
  • Three way handshaking 2)The server TCP after receiving the FIN segment, informs the process and sends the second segment, a FIN+ACK segment to confirm the receipt. 3) The client TCP sends the last segment, an ACK segment to confirm the receipt of the FIN segment from the server.
  • Slide 226
  • Connection termination using three-way handshaking
  • Slide 227
  • Half-close
  • Slide 228
  • Connection Reset RST(Reset) flag is used to deny a connection request, abort a connection or to terminate an idle connection
  • Slide 229
  • Flow control Flow control regulates the amount of data a source can send before receiving an acknowledgment from the destination. TCP defines a window that is imposed on the buffer of data delivered from the application program.
  • Slide 230
  • Extreme Cases 1) One Byte wait for acknowledgement 2) All data without waiting for acknowledgement TCP sends an amount of data defined by the sliding window protocol
  • Slide 231
  • Sliding Window Protocol In sliding window protocol, a host uses a window for outbound communication. The window spans a portion of the buffer containing bytes received from the process. The bytes inside the window are the bytes that can be in transit; they can be sent without worrying about acknowledgement
  • Slide 232
  • Sliding window
  • Slide 233
  • A sliding window is used to make transmission more efficient as well as to control the flow of data so that the destination does not become overwhelmed with data. TCPs sliding windows are byte oriented
  • Slide 234
  • What is the value of the receiver window (rwnd) for host A if the receiver, host B, has a buffer size of 5,000 bytes and 1,000 bytes of received and unprocessed data? Solution The value of rwnd = 5,000 1,000 = 4,000. Host B can receive only 4,000 bytes of data before overflowing its buffer. Host B advertises this value in its next segment to A.
  • Slide 235
  • What is the size of the window for host A if the value of rwnd is 3,000 bytes and the value of cwnd is 3,500 bytes? Solution The size of the window is the smaller of rwnd and cwnd, which is 3,000 bytes.
  • Slide 236
  • Slide 237
  • In the above figure the host receives a packet with an acknowledgment value of 210 and an rwnd of 5. The host has sent bytes 206, 207, 208, and 209. The value of cwnd is still 20. Show the new window. Solution The value of rwnd is less than cwnd, so the size of the window is 5. The next figure shows the situation. Note that this is a case not allowed by most implementations. Although the sender has not sent bytes 215 to 217, the receiver does not know this.
  • Slide 238
  • Slide 239
  • How can the receiver avoid shrinking the window in the previous example? Solution The receiver needs to keep track of the last acknowledgment number and the last rwnd. If we add the acknowledgment number to rwnd we get the byte number following the right wall. If we want to prevent the right wall from moving to the left (shrinking), we must always have the following relationship. new ack + new rwnd last ack + last rwnd or new rwnd (last ack + last rwnd) new ack
  • Slide 240
  • Silly Window Syndrome A problem in the sliding window operation when either the sending window application program creates data slowly or the receiving application program consumes data slowly or both.
  • Slide 241
  • Syndrome created by the sender E.g. one byte at a time Creates a segment and send Total size of datagram = 20+20+1= 41 Wait for more bytes--- how long?
  • Slide 242
  • Nagles Algorithm Step 1: The sending TCP sends the first piece of data it receives from the sending application program even if it is only one byte Step 2: After sending the first segment, the sending TCP accumulates data in the output buffer and waits until either the receiving TCP sends an acknowledgement or until enough data has accumulated to fill a maximum size segment. Step 3: step 2 is repeated for rest of the transmission
  • Slide 243
  • Syndrome created by the Receiver Application program consumes one byte at a time Solutions 1) Clarks Solutions send an acknowledgement as soon as the data arrives, but announce a window size of zero until either there is enough space to accommodate a segment of maximum size or until half of the buffer is empty.
  • Slide 244
  • Delayed Acknowledgement Delay sending the acknowledgement. When segment arrives, it is not acknowledged immediately, the receiver waits until there is a decent amount of space in its incoming buffer before acknowledging the arrived segments.
  • Slide 245
  • ERROR CONTROL TCP provides reliability using error control, which detects corrupted, lost, out-of-order, and duplicated segments. Error control in TCP is achieved through the use of the checksum, acknowledgment, and time-out.
  • Slide 246
  • Checksum Each segment includes a checksum field which is used to check for a corrupted segment. If the segment is corrupted, it is discarded by the destination TCP and is considered as lost.
  • Slide 247
  • Acknowledgement TCP uses acknowledgements to confirm the receipt of data segments ACK segments do not consume sequence numbers and are not acknowledged Control segments that carry no data, but consume a sequence number are also acknowledged
  • Slide 248
  • Generating Acknowledgements Rules Piggyback Delayed wait500 ms There should not be more than two in-order unacknowledged segments. When a segment arrives with an out of order sequence number that is higher than expected, send acknowledgement immediately with sequence number of expected segment. When a missing segment arrives, the receiver immediately sends an acknowledgement.
  • Slide 249
  • Acknowledgement types Accumulative Acknowledgement The receiver advertises the next byte it expects to receive, ignoring all segments received out of order. Selective Acknowledgement ACK+ additional information Block of data that is out of order, block of segments that are duplicated Implemented as an option at the end of the TCP header.
  • Slide 250
  • Retransmission A segment is retransmitted When a retransmission timer expires When the sender receives three duplicate ACKs
  • Slide 251
  • Retransmission after RTO The source TCP starts one retransmission time out(RTO) for each segment sent. When the timer matures, the corresponding segment is considered to be either corrupted or lost and the segment is retransmitted. RTO is based on round trip time(RTT)
  • Slide 252
  • Out of order Discard (original TCP) Store them temporarily and flag them as out of order until the missing segment arrives. Out of order segments are not delivered to the process.
  • Slide 253
  • Normal operation
  • Slide 254
  • Lost segment
  • Slide 255
  • Fast retransmission
  • Slide 256
  • Lost acknowledgment
  • Slide 257
  • Lost acknowledgment corrected by resending a segment
  • Slide 258
  • Delayed Segment Duplicate Segment Deadlock
  • Slide 259
  • CONGESTION CONTROL Congestion control refers to the mechanisms and techniques to keep the load below the capacity.
  • Slide 260
  • Router queues
  • Slide 261
  • Packet delay and network load
  • Slide 262
  • Throughput versus network load
  • Slide 263
  • Congestion control Mechanisms Open Loop Retransmission policy Acknowledgement policy Discard Policy Closed loop Back pressure Choke point Implicit signaling Explicit Signaling
  • Slide 264
  • Congestion Control in TCP Congestion Window Three phases Slow start Congestion Avoidance Congestion Detection
  • Slide 265
  • Slow start, exponential increase
  • Slide 266
  • Congestion avoidance, additive increase
  • Slide 267
  • Most implementations react differently to congestion detection: If detection is by time-out, a new slow start phase starts. If detection is by three ACKs, a new congestion avoidance phase starts. Note:
  • Slide 268
  • Time out 1) Sets the value of the threshold to half of the current window size 2) Sets the cwnd to the size of one segment 3) Starts the slow start phase
  • Slide 269
  • Three acks received 1) Sets the value of the threshold to half of the current window size 2) Sets the cwnd to the value of the threshold 3) Starts the congestion avoidance phase
  • Slide 270
  • TCP timers
  • Slide 271
  • Retransmission When TCP sends a segment it creates a retransmission timer for that particular segment Retransmission is based on Round Trip Time(RTT) Retransmission time out RTO= RTTs+ 4 * RTTd
  • Slide 272
  • Round Trip Time(RTT) 1) Measured RTT Measured RTT for a segment is the time required for the segment to reach the destination and be acknowledged. 2) Smoothed RTT 1) Initially RTTs=RTTm 2) RTTs= (1- ) RTTs + * RTTm 3) = 1/8
  • Slide 273
  • RTT Deviation RTTd = RTTm /2 RTTd= (1- ) RTTd + * | RTTs-RTTm | = Retransmission time out RTO= RTTs+ 4 * RTTd
  • Slide 274
  • Karns Algorithm Do not consider the round trip time of a retransmitted segment in the calculation of the new RTT. Do not update the value of the RTT until you send a segment and receive an acknowledgement without the need for retransmission.
  • Slide 275
  • Exponential Backoff The value of RTO is doubled for each retransmission If the segment is retransmitted once,the value is two times RTO, if it is retransmitted twice, the value is four times the RTO and so on.
  • Slide 276
  • Persistence Timer Persistence Timers are used to correct deadlock When it receives window size is zero, it starts persistence timer. When timer goes off it sends a segment called probe Initial value of the persistence timer is the value of the retransmission time. Persistence time is doubled and reset.
  • Slide 277
  • Keepalive Timer To prevent a long idle connection between two TCPs Will be reset whenever server gets any communication from client When timer goes off a probe segment will send After 10 probe segment it terminate the connection
  • Slide 278
  • Time-wait Time-waited timer is used during connection termination. When TCP closes the connection, it must first wait enough time to receive all segments and acknowledgements that are possibly in flight. Once received these are discarded and TCP can finally close. The value of this timer is typically twice the expected lifetime of a segment. Typical value of the maximum segment lifetime (MSL) is 16 seconds
  • Slide 279
  • TCP package
  • Slide 280
  • TCBs Transmission control block holds information about each connection
  • Slide 281
  • Transmission Control Block(TCB) State: state of the connection Process: defines the process Local IP address Local Port number Remote IP address Remote port number Interface: defines the local interface
  • Slide 282
  • Local window Remote window Sending sequence number Receiving sequence number Sending ACK number Round trip time Time out values- retransmission time out, keepalive time out, persistence time out Buffer size Buffer pointer.
  • Slide 283
  • User Datagram Protocol(UDP) Process to process communication Host to host communication
  • Slide 284
  • UDP versus IP
  • Slide 285
  • Port Number In computer networking, a port is an application-specific or process-specific software construct serving as a communications endpoint in a computer's host operating system A port is identified for each address and protocol by a 16-bit number, commonly known as the port number.
  • Slide 286
  • ICANN ICANN has divided the port numbers into three ranges Well Known Assigned and controlled by ICANN Registered Not assigned and or controlled by ICANN but are registered with ICANN to prevent duplication Dynamic(Private) Neither controlled or nor registered
  • Slide 287
  • ICANN ranges
  • Slide 288
  • Ephemeral Port Number The client program defines itself with a port number called Ephemeral Port number
  • Slide 289
  • Well-known ports used with UDP
  • Slide 290
  • Socket Address The combination of IP address and a port number is called a socket address.
  • Slide 291
  • User Datagram UDP packets are called user datagrams and have a fixed-size header of 8 bytes.
  • Slide 292
  • User datagram format
  • Slide 293
  • Checksum the checksum includes three sections: A pseudoheader, The UDP header, and The data coming from the application layer.
  • Slide 294
  • Pseudoheader for checksum calculation
  • Slide 295
  • Checksum calculation at sender 1) Add the pseudoheader to the UDP datagram 2) Fill the checksum field with zeros 3) Divide the total bits into 16 bit words 4) If the total number of bytes is not even, add 1 byte of padding(all zeros). 5) Add all 16 bit sections using ones complement arithmetic 6) Complement the result 7) Drop the psuedoheader and any added padding 8) Deliver the UDP user datagram to the IP software for encapsulation
  • Slide 296
  • Checksum calculation at receiver 1) Add the psuedoheader to the UDP user datagram 2) Add padding if needed 3) Divide the total bits into 16 bit sections 4) Add all 16 bit sections using ones complement arithmetic 5) Complement the result 6) If the result is all 0s drop the psuedoheader and any added padding and accept the user datagram else discard the user datagram
  • Slide 297
  • Checksum calculation of a simple UDP user datagram
  • Slide 298
  • UDP Operations Connectionless Services Flow and Error Control Encapsulation and Decapsulation Queuing Multiplexing and Demultiplexing
  • Slide 299
  • Encapsulation Process send message to UDP with pair of socket address and length of data UDP receives and adds UDP header UDP then pass the user datagram to IP with the socket address IP adds its own header using the value 17 in the protocol field Then to datalink layer
  • Slide 300
  • Encapsulation and decapsulation
  • Slide 301
  • Queues in UDP
  • Slide 302
  • Multiplexing and demultiplexing
  • Slide 303
  • Use of UDP UDP is suitable for a process that requires simple request response communication with little concern for flow and error control UDP is suitable for a process with internal flow and error control mechanisms(Trivial File Transfer Protocol) UDP is suitable transport protocol for multicasting UDP is used for management process such as SNMP UDP is used for some route updating protocols such as Routing Information Protocol(RIP)
  • Slide 304
  • UDP Package Five components Control Block Table Input Queues A control block module An input module An output module
  • Slide 305
  • UDP design
  • Slide 306
  • Control block table To keep track of the open ports
  • Slide 307
  • Control block Module Responsible for management of Control block table When a process starts it ask for a port number from OS. The process pass the process ID, Port number to the control block module to create a entry in the control block table for the process.
  • Slide 308
  • Input Module Input module receives a user datagram from the IP. It searches the control block table to find an entry having the same port number as this user datagram. If found enqueue the data If not found generate ICMP message
  • Slide 309
  • Output Module Responsible for creating and sending user datagrams
  • Slide 310