'N*' говорит о том, что беззнаковый long стоит и указывает только на IP, причем '*' это имя индекса и оператор повторения, то есть если сделать так
$peers = unpack('N*',$data['peers']);
то обращение к определенному элементу массива будет выглядеть как $peers['*'], $peers['*1'],..., $peers['*i']
если формат написать unpack('Nip/nport',$data['peers']), тогда
$peers['ip'], $peers['ip1'],..., $peers['ipi']
$peers['port'], $peers['port1'],..., $peers['porti']
Можно обозвать 'N*/nanythingelse' главное что N - это long, n - short, те форматы, в которые пакует анонсер
и без 'N/n' функция не понимает на что разбивать строку, и выдает только ip так как указан формат N, а если указать 'n', тогда вернет только порт