03.-php.md
 1  # PHP
 2  
 3  **PHP**
 4  
 5  Нет, это не тот PHP, о котором вы подумали. Речь о **Penultimate Hop Popping**. Все инженеры _немного_ оптимизаторы, вот и тут ребята подумали: а зачем нам два раза обрабатывать заголовки MPLS — сначала на предпоследнем маршрутизаторе, потом ещё на выходном.  
 6  И решили они, что метку нужно снимать на предпоследнем LSR и назвали сие действо — PHP.  
 7  Для PHP существует специальная метка — 3.  
 8  Возвращаясь к нашему примеру, для FEC 6.6.6.6 и 172.16.0.2 R6 выделяет метку 3 и сообщает её R5.  
 9  При передаче пакета на R6 R5 должен назначить ему фиктивную метку — 3, но фактически она не применяется и в интерфейс отправляется голый IP-пакет \(стоит заметить, что PHP работает только в сетях IP\) — то есть процедура Pop Label была выполнена ещё на R5.
10  
11  Давайте проследим жизнь пакета с учётом всего, что мы теперь знаем.
12  
13  ![](../../../.gitbook/assets/2c74499985d7463da7e67beac679038f-1.gif)
14  
15  С тем, как трафик передаётся, вроде, более или менее понятно. Но кто выполняет весь титанический труд по созданию меток, заполнению таблиц?
16