Transcript of Internet Administration Internet Society (ISOC) Internet Architecture Board (IAB) Internet...
- 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