Feature | Packet switched connection-oriented | Packet-switched connectionless |
---|---|---|
Reserved transmission capacity | No | |
Data rate constantly available | No | |
Store-and-forward | ||
Constant route for packets | ||
Connection set-up | ||
Variable delay | ||
Control of quality of service |
Feature | Packet-switched connection- oriented mode | Packet-switched connectionless mode |
---|---|---|
Reserved transmission capacity | Maybe1 | No |
Data rate constantly available | No | No |
Store-and-forward | Yes | Yes |
Constant route for packets | Yes | No |
Connection set-up | Yes | No |
Variable delay | Yes2 | Yes |
Control of quality of service | Yes | Maybe3 |
Call CONNECT-request (called address, calling address, receipt confirmation selection, expedited data selection, quality-of-service parameter set, user data)
http:// <host> : <port> / <path> ? <search-part>
Command | Description |
---|---|
Connect | Establishes a tunnel1 through a proxy server |
Delete | Requests the removal of a resource |
Get | Requests the retrieval of a resource |
Head | Requests the retrieval of information about a resource rather than the resource itself |
Options | Requests information about the capabilities of a server or the requirements of a resource |
Post | Requests that a resource accepts some information |
Put | Requests that a resource is stored at the given location |
Trace | Requests that a server takes part in some test |
Response | Description |
---|---|
100 | Continue |
200 | OK |
202 | Accepted |
302 | Found |
400 | Bad request |
404 | Not found |
406 | Not acceptable |
Primitive name | Primitive parameters |
---|---|
Abort | Local connection name |
Close | Local connection name |
Open | Local port number, foreign socket, active/passive flag, time-out, precedence, security/compartment, options |
Returns a local connection name | |
Receive | Local connection name, buffer address, byte count |
Returns a byte count and status of the urgent and push flags | |
Send | Local connection name, buffer address, byte count, push flag, urgent flag, time-out |
Status | Local connection name |
Returns status data about the network addresses, port numbers, state, buffers, etc. |
Class | Range | |
---|---|---|
Lowest | Highest | |
A | 0.0.0.0 | 127.255.255.255 |
B | 128.0.0.0 | 191.255.255.255 |
C | 192.0.0.0 | 223.255.255.255 |
D | 224.0.0.0 | 239.255.255.255 |
Network address | Direct/Indirect | Router | Interface number |
---|---|---|---|
128.20 | Direct | – | 1 |
128.30 | Indirect | 128.20.1.4 | 1 |
128.40 | Indirect | 128.20.1.4 | 1 |
128.50 | Indirect | 128.20.1.4 | 1 |
Network address | Direct/Indirect | Router | Interface number |
---|---|---|---|
128.20 | Direct | – | 1 |
128.30 | Direct | – | 2 |
128.40 | Direct | – | 3 |
128.50 | Indirect | 128.40.1.4 | 3 |
Primitive name | Primitive parameters |
---|---|
Recv | Buffer pointer, protocol, source address, destination address, type of service, length of buffer, optional user data |
Returns a report on the outcome of the primitive | |
Send | Source 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 |
Incoming | Outgoing | ||||
---|---|---|---|---|---|
Interface number | Virtual path identifier | Virtual channel identifier | Interface number | Virtual path identifier | Virtual channel identifier |
1 | 1 | 5 | 2 | 3 | 5 |
1 | 2 | 4 | 4 | 2 | 7 |
… | … | … | … | … | … |
Type of service | Advantages | Disadvantages |
---|---|---|
Connectionless | Data can be sent immediately without the overhead of setting up a connection | No intrinsic flow control No intrinsic error correction |
It is robust against link failures | Forwarding is based on full destination address | |
The network switches do not need to maintain connections | Order of packets is not guaranteed | |
There can be wide variation in the delay | ||
Connection- oriented | Flow control can be implemented within the service | Overhead of setting up a connection before data is sent |
Error control can be implemented within the service | Switches have to maintain connections | |
Order of packets is maintained | ||
Forwarding is done according to simple connection identifiers |
201 | 11001001 |
200 | 11001000 |
201 | 11001001 |
Table entry | Destination network address | Result | |
---|---|---|---|
(a) | 10110110 | 10110110 | Yes |
(b) | 10110110 01 | 10110110 10 | No |
(c) | 10110110 10 | 10110110 10 | Yes |
(d) | 10110110 1010 | 10110110 1001 | No |
(e) | 10110110 1001 | 10110110 1001 | Yes |
Layer function | TCP/IP example | ATM example |
---|---|---|
Connection control | The establishment and clearing of TCP connections | The establishment and clearing of switched and permanent virtual paths |
Data flow | The window size, sequence and acknowledgement fields in TCP protocol data units may be used to control the flow of data, but this is not discussed | No examples are given, but control of the flow of data is an important part of ATM |
Segmentation and re-assembly | Segmentation and re-assembly may involve both the TCP and IP protocols. The stream of bytes received by the transport layer is segmented into TCP segments, and these may be further fragmented at the internetwork layer. The appropriate layer at the receiving system re-assembles the original data units | The ATM adaptation layer segments the user data into 48-byte blocks of data. The ATM adaptation layer in the receiving system re-assembles the original data units |
Sequencing | Sequence numbers are available in the TCP segments | This is not discussed, but sequencing may take place at the ATM adaptation layer |
Acknowledgement | Acknowledgement numbers are available in TCP segments | This is not discussed, but acknowledgement may take place at the ATM adaptation layer |
Error control | There are checksum fields in TCP and IP protocol data units, which imply that there may be some error detection available, but this is not discussed | There is a header error control field in ATM cells, so some form of error detection is available, but this is discussed only in the context of cell synchronisation |
Synchronisation | Synchronisation of TCP segment sequence numbers takes place when connections are established | ATM cell synchronisation takes place at the ATM physical layer |
Addressing and routing | Both the TCP and IP protocols use addresses. Network addresses are used at the internetwork layer for routing datagrams. Port addresses are used at the transport layer for identifying TCP connections | Network addresses and routing are not discussed in the context of ATM, but virtual connections are identified by virtual path and virtual channel identifiers |
Multiplexing and demultiplexing | Multiplexing and demultiplexing of TCP connections are permitted through port numbers | Virtual path and virtual channel identifiers implement multiplexing and demultiplexing by allowing several virtual connections to be supported by a single physical transmission medium |