Identification cards — Integrated circuit cards —Part 3: Cards with contacts — Electrical interface and transmission protocols
Cartes d’identification — Cartes à circuit intégré à contacts —Partie 3: Cartes à contacts — Interface électrique et protocoles de transmissionGlobal interface bytes
This clause specifies the content of the global interface bytes TA1, TB1, TC1, TA2, TB2, the first TA for T=15 and the first TB for T=15.
–If present, such a byte shall be interpreted in order to process correctly any transmission protocol.
–If such a byte is absent, then when needed, default values shall be used for the relevant parameters.
ISO/IEC JTC 1/SC 17 reserves for future use all the global interface bytes not defined in this clause and all the unused values of the global interface bytes defined in this clause.
TA1 encodes the indicated value of the clock rate conversion integer (Fi), the indicated value of the baud rate adjustment integer (Di) and the maximum value of the frequency supported by the card (f (max.)). The default values are Fi = 372, Di = 1 and f (max.) = 5 MHz. For the use of Fi and Di, see 7.1, TC1 and TA2 below, 9.2 and 10.2. For the use of f (max.), see 5.2.3.
–According to Table 7, bits 8 to 5 encode Fi and f (max.).

Infineon SLE5528,SLE5528 Cards,SLE5528 Blank White Cards,ISO SLE5542 Cards with Magnetic Stripe,SLE5528 Full Color Offset Printing Cards,

TB1 and TB2 are deprecated. The card should not transmit them. The interface device shall ignore them.
NOTE The first two editions of this document specify TB1 and TB2 to fix electrical parameters of the integrated circuit for the deprecated use of contact C6 (see 5.1.1).
TC1 encodes the extra guard time integer (N) from 0 to 255 over the eight bits. The default value is N = 0.
–If N = 0 to 254, then before being ready to receive the next character, the card requires the following delay from the leading edge of the previous character (transmitted by the card or the interface device).
SLE5542,SLE5542 Contact Smart Cards,SLE4442 Contact Smart Cards,Memory Overview SLE 4442,

-If T=15 is absent in the Answer-to-Reset, then R = F / D, i.e., the integers used for computing the etu.
-If T=15 is present in the Answer-to-Reset, then R = Fi / Di, i.e., the integers defined above by TA1.
No extra guard time is used to transmit characters from the card: GT = 12 etu.
–The use of N = 255 is protocol dependent: GT = 12 etu in PPS (see 9) and in T=0 (see 10). For the use of N = 255 in T=1, see 11.2.
TA2 is the specific mode byte as shown in Figure 15. For the use of TA2, see 6.3.1 and 7.1.
–Bit 8 indicates the ability for changing the negotiable/specific mode:
-capable to change if bit 8 is set to 0;
-unable to change if bit 8 is set to 1.
–Bits 7 and 6 are reserved for future use (set to 0 when not used).
–Bit 5 indicates the definition of the parameters F and D.
-If bit 5 is set to 0, then the integers Fi and Di defined above by TA1 shall apply.
-If bit 5 is set to 1, then implicit values (not defined by the interface bytes) shall apply.
–Bits 4 to 1 encode a type T.

ISO SLE5528 Cards,SLE5528 Cards,SLE5528,Infineon SLE5528,SLE5542,SLE5542 Contact Smart Cards,SLE4442 Contact Smart Cards,Memory Overview SLE 4442,

Figure 15 — Coding of TA2
NOTE An interface device supporting the three values F, D and T referenced by TA2 should initiate the transmission protocol T with F and D. Otherwise, it should perform either a warm reset (bit 8 set to 0) or a deactivation (bit 8 set to 1).

The first TA for T=15 encodes the clock stop indicator (X) and the class indicator (Y). The default values are X = “clock stop not supported” and Y = “only class A supported”. For the use of clock stop, see 6.3.2. For the use of the classes of operating conditions, see 6.2.1 and 6.2.4.
–According to Table 9, bits 8 and 7 indicate whether the card supports clock stop (≠ 00) or not (= 00) and, when supported, which state is preferred on the electrical circuit CLK when the clock is stopped.
Table 9 — X

Infineon SLE5528,SLE5528 Cards,SLE5528 Blank White Cards,ISO SLE5542 Cards with Magnetic Stripe,SLE5528 Full Color Offset Printing Cards,

–According to Table 10, bits 6 to 1 indicate the classes of operating conditions accepted by the card. Each bit represents a class: bit 1 for class A, bit 2 for class B and bit 3 for class C (see 5.1.3).
Table 10 — Y

SLE5542,SLE5542 Contact Smart Cards,SLE4442 Contact Smart Cards,Memory Overview SLE 4442,

The first TB for T=15 indicates the use of SPU by the card (see 5.2.4). The default value is “SPU not used”.
Coded over bits 7 to 1, the use is either standard (bit 8 set to 0), or proprietary (bit 8 set to 1). The value ’00′ indicates that the card does not use SPU. ISO/IEC JTC 1/SC 17 reserves for future use any other value where bit 8 is set to 0.

9 Protocol and parameters selection
9.1 PPS exchange
The PPS exchange shall start as specified in 6.3.1. The character frame shall be as specified in 7.1 and 7.2, using the coding convention fixed by TS (see 8.1), with GT as specified in 8.3 and WT = 9 600 etu. The error signal and character repetition according to 7.3 is mandatory for the cards offering T=0; it is optional for the interface devices and for other cards.
Only the interface device is permitted to start the PPS exchange.
–The interface device shall transmit a PPS request to the card.
–If the card receives an erroneous PPS request, it shall not transmit any response.
–If the card receives a correct PPS request, it shall transmit a PPS response, if implemented, or WT will be exceeded.
–In the following three cases: overrun of WT, erroneous PPS response, unsuccessful PPS exchange, the interface device shall perform a deactivation.
9.2 PPS request and response
The PPS request and PPS response each consist of an initial byte PPSS, followed by a format byte PPS0, three optional parameter bytes PPS1, PPS2, PPS3 and a check byte PCK as the last byte.
–PPSS identifies the PPS request or response and is set to ‘FF’.
–In PPS0, each bit 5, 6 or 7 set to 1 indicates the presence of an optional byte PPS1, PPS2, PPS3, respectively. Bits 4 to 1 encode a type T to propose a transmission protocol. Bit 8 is reserved for future use and shall be set to 0.
–PPS1 allows the interface device to propose values of F and D to the card. Encoded in the same way as
in TA1, these values shall be from Fd to Fi and from Dd to Di respectively. If an interface device does not transmit PPS1, it proposes to continue with Fd and Dd. The card either acknowledges both values by echoing PPS1 (then these values become Fn and Dn) or does not transmit PPS1 to continue with Fd and
Dd (then Fn = 372 and Dn = 1).
–PPS2 allows the interface device to propose a use of SPU. PPS2 shall be encoded in the same way as the first TB for T=15. If an interface device does not transmit PPS2, or if it transmit PPS2 = ’00′, it proposes not to use SPU.
–PPS3 is reserved for future use.
–Exclusive-oring all the bytes PPSS to PCK inclusive shall give ’00′. Any other value is invalid.
Figure 16 shows the structure of the PPS request and response.

Infineon SLE5528,SLE5528 Cards,SLE5528 Blank White Cards,ISO SLE5542 Cards with Magnetic Stripe,SLE5528 Full Color Offset Printing Cards,

Figure 16 — Structure of PPS request and response
By definition, the PPS request or response is completed 12 etu after the leading edge of the character conveying PCK.

9.3 Successful PPS exchange
A PPS exchange is successful if and only if the PPS response is in the following conditions with respect to the PPS request.
–Bits 1 to 4 of PPS0_Response shall be identical to bits 1 to 4 of PPS0_Request.
–Bit 5 of PPS0_Response shall be either identical to bit 5 of PPS0_Request or set to 0.
-If bit 5 is set to 1, PPS1_Response shall be identical to PPS1_Request.
-If bit 5 is set to 0, PPS1_Response shall be absent, meaning that Fd and Dd shall be used.
–Bit 6 of PPS0_Response shall be either identical to bit 6 of PPS0_Request or set to 0.
-If bit 6 is set to 1, PPS2_Response shall be identical to PPS2_Request.
-If bit 6 is set to 0, PPS2_Response shall be absent, meaning that the card does not use SPU.
–Bit 7 of PPS0_Response shall be either identical to bit 7 of PPS0_Request or set to 0.
-If bit 7 is set to 1, PPS3_Response shall be identical to PPS3_Request.
-If bit 7 is set to 0, PPS3_Response shall be absent (the exact meaning is reserved for future use).
In the most common case, the PPS response is identical to the PPS request.
10 Protocol T=0, half-duplex transmission of characters
10.1 Scope
This clause defines the structure and processing of commands in a half-duplex transmission of characters.
The interface device initiates these commands. This clause covers transmission control.
10.2 Character level
The transmission protocol shall start as specified in 6.3.1. The character frame shall be as specified in 7.1 and
7.2, using the coding convention fixed by TS (see 8.1), with GT as specified in 8.3. Both the card and the interface device shall use the error signal and character repetition according to 7.3.
When using D = 64, the interface device shall ensure a delay of at least 16 etu between the leading edge of the last received character and the leading edge of the character transmitted for initiating a command.
If present in the Answer-to-Reset, the interface byte TC2 encodes the waiting time integer WI over the eight bits, except the value ’00′ reserved for future use. If TC2 is absent, then the default value is WI = 10.
The “waiting time” (see 7.2) shall be:
f
WT = WI × 960× Fi
10.3 Structure and processing of commands
10.3.1 Principles
The interface device initiates every command by transmitting a five-byte header that tells the card what to do.
The command processing continues with the transfer of a variable number of data bytes in one direction under
the control of procedure bytes transmitted by the card.
It is assumed that the card and the interface device know a priori the direction of transfer, in order to distinguish
–commands for incoming data transfer where the data bytes enter the card while processing, and
–commands for outgoing data transfer where the data bytes leave the card while processing.
10.3.2 Command header
The header consists of five bytes denoted CLA, INS, P1, P2 and P3. The values of CLA, INS, P1 and P2 shall be as specified in ISO/IEC 7816-4.
–CLA denotes a class of commands. The value ‘FF’ is invalid (reserved for PPSS, see 6.3.1 and 9.2).
NOTE ISO/IEC 7816-4 enforces ‘FF’ as invalid value of CLA.
–INS denotes an instruction code. The values ’6X’ and ’9X’ are invalid.
NOTE ISO/IEC 7816-4 enforces ’6X’ and ’9X’ as invalid values of INS.
–P1 P2 denotes an instruction parameter, e.g., a reference completing the instruction code.
–P3 encodes the number of data bytes denoted D1 to Dn to be transferred during the command.
-In an outgoing data transfer command, P3=’00′ introduces a 256-byte data transfer from the card.
-In an incoming data transfer command, P3=’00′ introduces no data transfer.
10.3.3 Procedure bytes
After transmitting the header as a string of five characters, the interface device shall wait for a character conveying a procedure byte. There are three types of procedure bytes, see Table 11.
–If the value is ’60′, it is a NULL byte. It requests no action on data transfer. The interface device shall wait for a character conveying a procedure byte.
–If the value is ’6X’ or ’9X’, except for ’60′, it is a SW1 byte. It requests no action on data transfer. The interface device shall wait for a character conveying a SW2 byte. There is no restriction on SW2 value.
NOTE ISO/IEC 7816-4 enforces ’60′ as invalid value of SW1, as well as any value different from ’9X’ and ’6X’.
–If the value is the value of INS, apart from the values ’6X’ and ’9X’, it is an ACK byte. All remaining data
bytes if any bytes remain, denoted Di to Dn, shall be transferred subsequently. Then the interface device shall wait for a character conveying a procedure byte.
–If the value is the exclusive-or of ‘FF’ with the value of INS, apart from the values ’6X’ and ’9X’, it is an ACK byte. Only the next data byte if it exists, denoted Di, shall be transferred. Then the interface device shall wait for a character conveying a procedure byte.
–Any other value is invalid.

Table 11 — Procedure bytes

SLE5542,SLE5542 Contact Smart Cards,SLE4442 Contact Smart Cards,Memory Overview SLE 4432,

At each procedure byte, the card can proceed with the command by NULL or ACK, or finish the command by SW1 SW2, or show its disapproval by becoming unresponsive (WT will be exceeded).

10.3.4 Status bytes
The status bytes SW1 SW2 indicate the card status at the end of the command. Their values shall be as specified in ISO/IEC 7816-4.
NOTE ISO/IEC 7816-4 enforces the meaning of six values of SW1 SW2, specified for T=0 by the previous editions (ISO/IEC 7816-3:1989 and 1997).
’9000′ command normally completed
’6E00′ CLA not supported
’6D00′ CLA supported, but INS not programmed or invalid
’6B00′ CLA INS supported, but P1 P2 incorrect
’6700′ CLA INS P1 P2 supported, but P3 incorrect
’6F00′ command not supported and no precise diagnosis given
By definition, the command is completed 12 etu after the leading edge of the character conveying SW2.
11 Protocol T=1, half-duplex transmission of blocks
11.1 Scope and principles
This clause defines the structure and processing of commands in a half-duplex transmission of blocks. A block is a byte string conveyed in asynchronous characters. The interface device and the card may initiate these commands. This clause covers data transmission control such as flow control, block chaining and error correction.
The main characteristics of the transmission protocol are the following.
–The transmission protocol starts with a first block transmitted by the interface device; it continues with alternating the right to transmit a block.
–A block is the smallest data unit that can be exchanged. A block may be used to convey
-application data transparent to the transmission protocol,
-transmission control data including transmission error handling.
–The block structure allows checking the received block before processing the conveyed data.
The transmission protocol applies the principle of the OSI reference model. Three layers are defined.
–The physical layer transmits moments organized in asynchronous characters according to 11.2.
–The data link layer includes a character component and a block component.
-The character component recognizes the beginning and the end of a block according to 11.5.
-The block component exchanges blocks according to 11.6.
–The application layer processes commands, which involves the exchange of at least one block or chain of blocks in each direction.
11.2 Character frame
The transmission protocol shall start as specified in 6.3.1. The character frame shall be as specified in 7.1 and
7.2, using the coding convention fixed by TS (see 8.1). The error signal and character repetition according to
7.3 shall not be used. There are two guard times.
–Denoted CGT, the “character guard time” is the minimum delay between the leading edges of two consecutive characters in the same direction of transmission. If N = 0 to 254, CGT = GT as specified in 8.3.
If N = 255, CGT = 11 etu in both directions of transmission.
–Denoted BGT, the “block guard time” is the minimum delay between the leading edges of two consecutive characters in opposite directions. BGT = 22 etu.
Character parity allows checking a block in addition to the error detection code (see 11.3.4 and 11.4.4).

11.3 Block frame
11.3.1 General
As shown in Figure 17, a block consists of two or three fields.
–The prologue field consists of a node address byte, a protocol control byte and a length byte.
–The information field consists of zero to 254 bytes.
–The epilogue field consists of one or two bytes.

SLE5542,SLE5542 Contact Smart Cards,SLE4442 Contact Smart Cards,Memory Overview SLE 4441,

Figure 17 — Block frame

The transmission protocol defines three types of blocks.
–An information block (I-block) is used to convey information for use by the application layer. In addition, it conveys a positive or negative acknowledgment.
–A receive ready block (R-block) is used to convey a positive or negative acknowledgment. Its information field shall be absent.
–A supervisory block (S-block) is used to exchange control information between the interface device and the card. Its information field may be present depending on its controlling function.
NOTE This separation allows the design of the protocol control and the application portions of the device micro code to be relatively independent of each other.
11.3.2 Prologue field
11.3.2.1 Node address byte
The node address byte (NAD) allows identifying the source and the intended destination of the block; it may be used to distinguish between multiple logical connections when they coexist. The value ‘FF’ is invalid. It is reserved for PPSS (see 6.3.1 and 9.2). Bits 1 to 3 are the source node address denoted SAD and bits 5 to 7 the destination node address denoted DAD. Bits 4 and 8 are deprecated. The card should set them to 00. The interface device shall ignore them.
NOTE The first two editions of this document specify bits 4 and 8 to control the deprecated use of contact C6 (see 5.1.1).
When the addressing is not used, the values of SAD and DAD shall be set to 000. Any other value of NAD
where SAD and DAD are identical is reserved for future use.
In the first block transmitted by the interface device, NAD shall set up a logical connection by associating the addresses SAD and DAD. Subsequent blocks in which NAD contains the same pair of addresses SAD and DAD are associated with the same logical connection. During information exchange, other pairs of addresses SAD and DAD may set up other logical connections.
NOTE For example, blocks transmitted by the interface device with the values x for SAD and y for DAD and blocks transmitted by the card with the values y for SAD and x for DAD belong to a logical connection denoted (x, y), whereas blocks transmitted by the interface device with the values v for SAD and w for DAD and blocks transmitted by the card with the values w for SAD and v for DAD belong to another logical connection (v, w).
11.3.2.2 Protocol control byte
The protocol control byte (PCB) conveys information required to control transmission. PCB defines whether
the block is an I-block, an R-block or an S-block.
In every I-block, bit 8 of PCB is set to 0 as shown in Figure 18.
–Bit 7 encodes the send-sequence number denoted N(S).
–Bit 6 is the more-data bit denoted M-bit.
–Bits 5 to 1 are reserved for future use and shall be set to 0.

ISO SLE5528 Cards,SLE5528 Cards,SLE5528,Infineon SLE5528,SLE5542,SLE5542 Contact Smart Cards,SLE4442 Contact Smart Cards,Memory Overview SLE 4442,

Figure 18 — Coding of I-block PCB
In every R-block, bits 8 and 7 of PCB are set to 10 as shown in Figure 19. Bits 6 to 1 are used as follows.
–0-N(R)-0000 denotes an error-free acknowledgement.
–0-N(R)-0001 indicates a redundancy code error or a character parity error.
–0-N(R)-0010 indicates other errors.
–Any other value is reserved for future use.
NOTE The value N(R) states whether the R-block indicates an error or not. Bits 4 to 1 may be ignored.

SLE5542,SLE5542 Contact Smart Cards,SLE4442 Contact Smart Cards,Package Outlines Wire-Bonded Module M3,

Figure 19 — Coding of R-block PCB
In every S-block, bits 8 and 7 of PCB are set to 11 as shown in Figure 20. Bits 6 to 1 are used as follows.
–000000 indicates a RESYNCH request and 100000 a RESYNCH response.
–000001 indicates an IFS request and 100001 an IFS response.
–000010 indicates an ABORT request and 100010 an ABORT response.
–000011 indicates a WTX request and 100011 a WTX response.
–100100 is deprecated.
–Any other value is reserved for future use.
NOTE Bit 6 is the response bit.

SLE5542,SLE5542 Contact Smart Cards,SLE4442 Contact Smart Cards,Memory Overview SLE 4440,

Figure 20 — Coding of S-block PCB

11.3.2.3 Length byte
The length byte (LEN) encodes the number of bytes in the information field of the block (see also 11.4.2).
–The value ’00′ encodes zero: INF is absent.
–The values from ’01′ to ‘FE’ encode the numbers 1 to 254: INF is present.
–The value ‘FF’ is reserved for future use.
11.3.3 Information field
The use of the information field (INF) depends upon the block type.
–When present in an I-block, INF conveys application information.
–INF shall be absent in an R-block.
–When present in an S-block, INF conveys non-application information.
-INF shall be present with a single byte in an S-block adjusting IFS and WTX.
-INF shall be absent in an S-block managing chain abortion or resynchronization.
11.3.4 Epilogue field
The epilogue field conveys the error detection code of the block, either a longitudinal redundancy code (LRC), or a cyclic redundancy code (CRC).
–LRC consists of one byte. When LRC is used, exclusive-oring all the bytes of the block from NAD to LRC inclusive shall give ’00′. Any other value is invalid.
–CRC consists of two bytes. For its value, see ISO/IEC 13239[4].
11.4 Protocol parameters
11.4.1 Specific interface bytes for T=1
Three specific interface bytes are specified: the first TA for T=1, the first TB for T=1 and the first TC for T=1 (see 8.2.3). They are used to set up protocol parameters at non-default values.
11.4.2 Information field sizes
IFSC is the maximum size of information field of blocks that can be received by the card. If present, the first TA for T=1 sets up the initial value of IFSC. The default value is 32.
IFSD is the maximum size of information field of blocks that can be received by the interface device. The initial value of IFSD is 32.
At the start of the transmission protocol, IFSC and IFSD are initialized. During the transmission protocol, IFSC and IFSD may be adjusted by S(IFS request) and S(IFS response) where INF consists of one byte named IFS.
In any case, the first TA for T=1 and each byte IFS shall be encoded as follows.
–The values ’00′ and ‘FF’ are reserved for future use.
–The values ’01′ to ‘FE’ encode the numbers 1 to 254.
NOTE 1 This document recommends an IFS value of at least ’20′.
NOTE 2 The block size is the total number of bytes present in the prologue, information and epilogue fields. The maximum block size is set to IFS plus four or five, depending upon the size of the epilogue field.
11.4.3 Waiting times
By definition, CWT is the maximum delay between the leading edges of two consecutive characters in the block (see Figure 21). The minimum delay is CGT (see 11.2).
NOTE When there is a potential error in the length, CWT may be used to detect the end of a block.
SLE5542,SLE5542 Contact Smart Cards,SLE4442 Contact Smart Cards,Memory Overview SLE 4442,

Figure 21 — Character timings within the block
Bits 4 to 1 of the first TB for T=1 encode CWI from zero to fifteen. The default value is CWI = 13. CWT is calculated from CWI by the following formula. Therefore the minimum value is CWT = 12 etu.Infineon SLE5528,SLE5528 Cards,SLE5528 Blank White Cards,ISO SLE5542 Cards with Magnetic Stripe,SLE5528 Full Color Offset Printing Cards,

By definition, BWT is the maximum delay between the leading edge of the last character of the block received by the card and the leading edge of the first character of the next block transmitted by the card (see Figure 22).
BWT is used to detect an unresponsive card. The minimum delay is BGT (see 11.2).

SLE5542,SLE5542 Contact Smart Cards,SLE4442 Contact Smart Cards,Package Outlines Wire-Bonded Module M3,

Figure 22 — Block timings
Bits 8 to 5 of the first TB for T=1 encode BWI from zero to nine. The values ‘A’ to ‘F’ are reserved for future use.
The default value is BWI = 4. BWT is calculated from BWI by the following formula.Infineon SLE5528,SLE5528 Cards,SLE5528 Blank White Cards,ISO SLE5542 Cards with Magnetic Stripe,SLE5528 Full Color Offset Printing Cards,

11.4.4 Redundancy code
Bit 1 of the first TC for T=1 indicates the error detection code to be used:
–CRC if bit 1 is set to 1;
–LRC (default value) if bit 1 is set to 0.
Bits 8 to 2 of the first TC for T=1 are reserved for future use and shall be set to 0.
11.5 Character component operation at data link layer
At the start of the transmission protocol, the interface device has the right to transmit. Asynchronous characters are always grouped in blocks.
When either the card or the interface device has transmitted a block, it switches to reception mode. When either the card or the interface device has received a block according to the number of bytes encoded in the length byte, it assumes that it has the right to transmit.
11.6 Block component operation at data link layer
11.6.1 Block notation
The following blocks are used in the descriptions of the transmission protocol.
I-blocks are denoted as follows.
I(N(S), M) I-block where N(S) is the send-sequence number and M is the more-data bit (see 11.6.2.2)
Na(S), Nb(S) send-sequence numbers of I-blocks where indices a and b distinguish sources A and B
R-blocks are denoted as follows.
R(N(R)) R-block where N(R) is the send-sequence number of the expected I-block
S-blocks are denoted as follows.
S(RESYNCH request) S-block requesting a resynchronization
S(RESYNCH response) S-block acknowledging the resynchronization
S(IFS request) S-block offering a maximum size of the information field
S(IFS response) S-block acknowledging IFS
S(ABORT request) S-block requesting a chain abortion
S(ABORT response) S-block acknowledging the chain abortion
S(WTX request) S-block requesting a waiting time extension
S(WTX response) S-block acknowledging the waiting time extension
In S(IFS…) and S(WTX…), INF is present according to rules 3 and 4 in 11.6.2.3.
11.6.2 Error-free operation
11.6.2.1 General procedures
At the start of the transmission protocol, the first block transmitted by the interface device to the card shall be either an I-block or an S-block.
After a block (I-, R- or S-block) has been transmitted, an acknowledgment shall be received before starting the transmission of the next block, as described hereafter.
Every I-block carries its send-sequence number N(S). The I-blocks transmitted by the interface device and those transmitted by the card are counted independently from each other. N(S) is counted modulo 2 and encoded by one bit. At the start of the transmission protocol or after resynchronization, the initial value is N(S) = 0; then the value alternates after transmitting each I-block.
Every R-block carries N(R) which is the send-sequence number N(S) of the expected I-block. In error-free operation, R-blocks are used for chaining I-blocks (see 11.6.2.2).
An I-block is acknowledged by receiving either
–an I-block where N(S) is different from N(S) of the previously received I-block, or
–an R-block where N(R) is different from N(S) of the transmitted I-block (see rule 2.2 in 11.6.2.3).
An S-block carries no send-sequence number. S(…request) carries no acknowledgment. S(…response) acknowledges S(…request).