Основная обязанность уровня передачи данных (DLL) состоит в сохранении целостности пакета TLP(PL), когда тот перемещается между устройствами. Кроме этого уровень передачи данных (DLL) так же отвечает за настройку линий связи и управляет режимом потребляемой энергией. Исполняя эти задачи, уровень передачи данных (DLL) обменивается потоком служебных данных только со своим соседом, используя пакеты DLLP(PL), смотри Рис 2.5.3. Эти пакеты создаются и уничтожаются на уровне передачи данных DLL каждого устройства без использования ресурсов транзакционного уровня.
Надежная передача TLP (PL) пакетов через каждое соединение.
Функции уровня передачи данных при выполнении этой задачи (Протокол ACK/NAK) заключаются в обеспечении:
— надежной передачи пакетов TLP на уровне передачи данных DLL (TLP(DLL)) через соединение от одного устройства А к другому устройству Б,
— приемная часть одного устройства, например, Б должна принять пакеты TLP(DLL) и DLLP в том же самом порядке, в котором передающая часть устройства А их отправила.
Для каждого пакета TLP(DLL), который посылается от одного устройства A к другому устройству Б, приемная часть, используя поле LCRC, проверяет ошибки в принимаемом пакете TLP (DLL) . Приемник устройства Б уведомляет передатчик устройства А о правильном или неправильном приеме пакета TLP (DLL) , возвращая ACK или NAK пакеты DLLP, см. табл. 2.5.7.. Прием пакета ACK приемником устройства А указывает на то, что получатель принял