dynamic host configuration protocol (dhcp)sends the request to the dhcp server. the packet, carrying...

29
APPLICATION LAYER

Upload: others

Post on 27-May-2020

45 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Dynamic Host Configuration Protocol (DHCP)sends the request to the DHCP server. The packet, carrying a unicast destination address, is routed by any router and reaches the DHCP server

APPLICATION LAYER

Page 2: Dynamic Host Configuration Protocol (DHCP)sends the request to the DHCP server. The packet, carrying a unicast destination address, is routed by any router and reaches the DHCP server

Application software issues

• Transport layer software supports the reliable transfer of data between applications

• Application layer software supports:

1. Initiating connections

2. An application programming interface (API)

3. Encoding data

4. User friendly naming

5. Definition of specific applications

Page 3: Dynamic Host Configuration Protocol (DHCP)sends the request to the DHCP server. The packet, carrying a unicast destination address, is routed by any router and reaches the DHCP server

The client server paradigm

• A widely used form of communication • Server application waits passively for contact

from clients • A server provides a specific service • Client application actively initiates contact

with the server • Information can flow in both directions • Typical situation is many clients interacting

with each server

Page 4: Dynamic Host Configuration Protocol (DHCP)sends the request to the DHCP server. The packet, carrying a unicast destination address, is routed by any router and reaches the DHCP server

Characteristics of clients

• General application that becomes a client when remote access is needed

• Invoked by the user

• Runs on users local computer

• Actively initiates contact with the server

• Can access multiple services as needed

Page 5: Dynamic Host Configuration Protocol (DHCP)sends the request to the DHCP server. The packet, carrying a unicast destination address, is routed by any router and reaches the DHCP server

Characteristics of servers

• Special purpose program to provide one service

• can handle multiple clients at one time

• invoked when the system boots

• runs on a relatively powerful shared computer

• waits passively for contact from various kinds of client

Page 6: Dynamic Host Configuration Protocol (DHCP)sends the request to the DHCP server. The packet, carrying a unicast destination address, is routed by any router and reaches the DHCP server

Transport protocols and client-server interaction

• Clients and servers communicate using a transport protocol - unaware of underlying layers

Page 7: Dynamic Host Configuration Protocol (DHCP)sends the request to the DHCP server. The packet, carrying a unicast destination address, is routed by any router and reaches the DHCP server

Server class computers

• Often a single server class computer runs several servers

Page 8: Dynamic Host Configuration Protocol (DHCP)sends the request to the DHCP server. The packet, carrying a unicast destination address, is routed by any router and reaches the DHCP server

Identifying a particular service

• Transport protocols assign a unique identifier to each service

– server registers its ID with protocol software when it boots

– client specifies the desired ID when it makes a connection

• TCP uses protocol port numbers

Page 9: Dynamic Host Configuration Protocol (DHCP)sends the request to the DHCP server. The packet, carrying a unicast destination address, is routed by any router and reaches the DHCP server

Concurrency and servers

• Concurrent server offers supports multiple clients at the same time

• Uses multiple threads of control • Core part of server accepts new requests and

dynamically creates new servers as separate threads to handle them

• Each thread deals with its client’s requests • N concurrent clients => N + 1 threads • TCP uses a combination of destination port and

source port to identify the right thread

Page 10: Dynamic Host Configuration Protocol (DHCP)sends the request to the DHCP server. The packet, carrying a unicast destination address, is routed by any router and reaches the DHCP server

Complex client-server interactions

• A client is not restricted to accessing a single service

• A server can itself become a client of another server

• Watch out for circular dependencies

Page 11: Dynamic Host Configuration Protocol (DHCP)sends the request to the DHCP server. The packet, carrying a unicast destination address, is routed by any router and reaches the DHCP server

Distributed programming

• Extend client-server paradigm to more general distributed programming

• Provide greater transparency for programmers – remote procedure calls (RPC)

– distributed objects and components

• Provide standard services for locating and manufacturing other services – traders

– factories

Page 12: Dynamic Host Configuration Protocol (DHCP)sends the request to the DHCP server. The packet, carrying a unicast destination address, is routed by any router and reaches the DHCP server

Traders

trader

service client

1. export

service offer

2. Request

service

3. use

service

Page 13: Dynamic Host Configuration Protocol (DHCP)sends the request to the DHCP server. The packet, carrying a unicast destination address, is routed by any router and reaches the DHCP server

Factories

trader

service client

1. Request

service

4. use

service

factory

2. request

create

service

3. create

service

Page 14: Dynamic Host Configuration Protocol (DHCP)sends the request to the DHCP server. The packet, carrying a unicast destination address, is routed by any router and reaches the DHCP server

Other forms of communication

peer

peer

peer

peer

Peer to peer

communication

Page 15: Dynamic Host Configuration Protocol (DHCP)sends the request to the DHCP server. The packet, carrying a unicast destination address, is routed by any router and reaches the DHCP server

Dynamic Host Configuration Protocol (DHCP)

Page 16: Dynamic Host Configuration Protocol (DHCP)sends the request to the DHCP server. The packet, carrying a unicast destination address, is routed by any router and reaches the DHCP server

Dynamic Host Configuration Protocol (DHCP)

Provides four pieces of information :

1. The IP address of the computer

2. The subnet mask of the computer

3. The IP address of a router

4. The IP address of a name server

Page 17: Dynamic Host Configuration Protocol (DHCP)sends the request to the DHCP server. The packet, carrying a unicast destination address, is routed by any router and reaches the DHCP server

DHCP operation • The DHCP client and server can

1. Same network

2. Different networks

o Same network

the administrator may put the client and the server on the same network as shown in Figure

Page 18: Dynamic Host Configuration Protocol (DHCP)sends the request to the DHCP server. The packet, carrying a unicast destination address, is routed by any router and reaches the DHCP server

Same Network

1. The DHCP server issues a passive open command on UDP port number 67 and waits for a client.

2. A booted client issues an active open command on port number 68 . The message is encapsulated in a UDP user datagram, using the destination port number 67 and the source port number 68. The UDP user datagram, in turn, is encapsulated in an IP datagram. The reader may ask how a client can send an IP datagram when it knows neither its own IP address (the source address) nor the server’s IP address (the destination address). The client uses all 0s as the source address and all 1s as the destination address.

3. The server responds with either a broadcast or a unicast message using UDP source port number 67 and destination port number 68. The response can be unicast because the server knows the IP address of the client. It also knows the physical address of the client, which means it does not need the services of ARP for logical to physical address mapping. However, some systems do not allow the by passing of ARP, resulting in the use of the broadcast address.

Page 19: Dynamic Host Configuration Protocol (DHCP)sends the request to the DHCP server. The packet, carrying a unicast destination address, is routed by any router and reaches the DHCP server

Different Networks

A client can be in one network and the server in another, separated by several other networks. Figure shows the situation. However, there is one problem that must be solved. The DHCP request is broadcast because the client does not know the IP address of the server. A broadcast IP datagram cannot pass through any router. A router receiving such a packet discards it. Recall that an IP address of all 1s is a limited broadcast address. To solve the problem, there is a need for an intermediary. One of the hosts (or a router that can be configured to operate at the application layer) can be used as a relay. The host in this case is called a relay agent. The relay agent knows the unicast address of a DHCP server and listens for broadcast messages on port 67. When it receives this type of packet, it encapsulates the message in a unicast datagram and sends the request to the DHCP server. The packet, carrying a unicast destination address, is routed by any router and reaches the DHCP server. The DHCP server knows the message comes from a relay agent because one of the fields in the request message defines the IP address of the relay agent. The relay agent, after receiving the reply, sends it to the DHCP client.

Page 20: Dynamic Host Configuration Protocol (DHCP)sends the request to the DHCP server. The packet, carrying a unicast destination address, is routed by any router and reaches the DHCP server

DHCP packet format

Page 21: Dynamic Host Configuration Protocol (DHCP)sends the request to the DHCP server. The packet, carrying a unicast destination address, is routed by any router and reaches the DHCP server

1. Operation code. This 8-bit field defines the type of DHCP packet: request (1) or reply (2).

2. Hardware type. This is an 8-bit field defining the type of physical network. Each type of network has been assigned an integer. For example, for Ethernet the value is 1.

3. Hardware length. This is an 8-bit field defining the length of the physical address in bytes. For example, for Ethernet the value is 6.

4. Hop count. This is an 8-bit field defining the maximum number of hops the packet can travel.

5. Transaction ID. This is a 4-byte field carrying an integer. The transaction identification is set by the client and is used to match a reply with the request. The server returns the same value in its reply.

6. Number of seconds. This is a 16-bit field that indicates the number of seconds elapsed since the time the client started to boot.

7. Flag. This is a 16-bit field in which only the leftmost bit is used and the rest of the bits should be set to 00s, e.i:(0000000000000001). A leftmost bit specifies a forced broadcast reply (instead of unicast) from the server.

Page 22: Dynamic Host Configuration Protocol (DHCP)sends the request to the DHCP server. The packet, carrying a unicast destination address, is routed by any router and reaches the DHCP server

8. Client IP address. This is a 4-byte field that contains the client IP address. If the client does not have this information, this field has a value of 0.

9. Your IP address. This is a 4-byte field that contains the client IP address. It is filled by the server (in the reply message) at the request of the client.

10. Server IP address. This is a 4-byte field containing the server IP address. It is filled by the server in a reply message.

11. Gateway IP address. This is a 4-byte field containing the IP address of a router. It is filled by the server in a reply message.

12. Client hardware address. This is the physical address of the client. Although the server can retrieve this address from the frame sent by the client, it is more efficient if the address is supplied explicitly by the client in the request message.

Page 23: Dynamic Host Configuration Protocol (DHCP)sends the request to the DHCP server. The packet, carrying a unicast destination address, is routed by any router and reaches the DHCP server

13.Server name. This is a 64-byte field that is optionally filled by the server in a reply packet. It contains a null-terminated string consisting of the domain name of the server. If the server does not want to fill this field with data, the server must fill it with all 0s.

14.Boot filename. This is a 128-byte field that can be optionally filled by the server in a reply packet. It contains a null-terminated string consisting of the full pathname of the boot file. The client can use this path to retrieve other booting information. If the server does not want to fill this field with data, the server must fill it with all 0s.

15.Options. This is a 64-byte field. It can carry either additional information such as the network mask or default router address

Page 24: Dynamic Host Configuration Protocol (DHCP)sends the request to the DHCP server. The packet, carrying a unicast destination address, is routed by any router and reaches the DHCP server

File Transfer Protocol (FTP)

Page 25: Dynamic Host Configuration Protocol (DHCP)sends the request to the DHCP server. The packet, carrying a unicast destination address, is routed by any router and reaches the DHCP server

FTP uses the services of TCP. It needs two TCP connections. The well-known port 21 is used for the control connection and the well-known port 20 for the data connection.

Page 26: Dynamic Host Configuration Protocol (DHCP)sends the request to the DHCP server. The packet, carrying a unicast destination address, is routed by any router and reaches the DHCP server

FTP

File Transfer Protocol (FTP) is a TCP/IP client-server application for copying files from one host to another. FTP requires two connections for data transfer: a control connection and a data connection.

Page 27: Dynamic Host Configuration Protocol (DHCP)sends the request to the DHCP server. The packet, carrying a unicast destination address, is routed by any router and reaches the DHCP server

1. The server issues a passive open on the well-known port 21 and waits for a client.

2. The client uses an ephemeral port and issues an active open. The connection remains open during the entire process. The service type, used by the IP protocol, is minimize delay because this is an interactive connection between a user (human) and a server. The user types commands and expects to receive responses without significant delay.

1- Control Connection

Page 28: Dynamic Host Configuration Protocol (DHCP)sends the request to the DHCP server. The packet, carrying a unicast destination address, is routed by any router and reaches the DHCP server

2- Data Connection

Page 29: Dynamic Host Configuration Protocol (DHCP)sends the request to the DHCP server. The packet, carrying a unicast destination address, is routed by any router and reaches the DHCP server

Data Connection

The data connection uses the well-known port 20 at the server site. However, the creation of a data connection is different from what we have seen so far. The following shows how FTP creates a data connection: 1. The client, not the server, issues a passive open using an

ephemeral port. This must be done by the client because it is the client that issues the commands for transferring files.

2. The client sends this port number to the server using the PORT command.

3. The server receives the port number and issues an active open using the well-known port 20 and the received ephemeral port number