Protocols in multi-service networks
Protocols in multi-service networks

Start this free course now. Just create an account and sign in. Enrol and complete the course for a free statement of participation or digital badge if available.

3.5.4 Primitives

The two abstract primitives described in the specification of IPv4 are given in Table 9 but, as with TCP, different systems may implement the interface in different ways. In some computer systems the TCP and IP software may be written as a single software module, and in these cases there is not a clear interface between the two layers.

Table 9: IPv4 primitives
Primitive namePrimitive parameters
RecvBuffer pointer, protocol, source address, destination address, type of service, length of buffer, optional user data
Returns a report on the outcome of the primitive
SendSource address, destination address, protocol, type of service, time to live, buffer pointer, length of buffer, identifier, don't fragment flag, optional user data
Returns a report on the outcome of the primitive

You should be able to match most of the parameters to fields in IPv4 datagrams.

SAQ 13

Identify the protocol data units and primitives required to send an HTTP command between a client and server in the transport and internetwork layers.


Assuming that a connection does not already exist between the HTTP application running on the client and the HTTP server application, the client application layer requests that the transport layer sets up a connection by issuing a TCP open primitive. Note that the foreign socket includes port number 80. (Before this request, the application would have to translate the host name to a network address to create the foreign socket value required by the open primitive.)

The transport layer encapsulates the TCP segment that is setting up the connection in an IP datagram by invoking an IP send primitive. In other words, the TCP segment is the optional user data parameter of an IP send primitive. The TCP segment that is the third part of the three-way handshake, acknowledging the connection in the opposite direction, is encapsulated in another IP datagram. This is accomplished by the transport layer invoking another IP send primitive.

The HTTP client application requests that the data representing the HTTP command be transferred to the HTTP server application by invoking a TCP send primitive. The transport layer transfers this data by invoking an IP send primitive, thereby encapsulating the TCP segment in an IP datagram. Depending on the size of the command, the transport layer may have to fragment the user data over several segments. Similarly, during the transport of the datagram(s) further fragmentation may take place.

Take your learning further

Making the decision to study can be a big step, which is why you'll want a trusted University. The Open University has 50 years’ experience delivering flexible learning and 170,000 students are studying with us right now. Take a look at all Open University courses.

If you are new to University-level study, we offer two introductory routes to our qualifications. You could either choose to start with an Access module, or a module which allows you to count your previous learning towards an Open University qualification. Read our guide on Where to take your learning next for more information.

Not ready for formal University study? Then browse over 1000 free courses on OpenLearn and sign up to our newsletter to hear about new free courses as they are released.

Every year, thousands of students decide to study with The Open University. With over 120 qualifications, we’ve got the right course for you.

Request an Open University prospectus371