С развитием современных технологий создано множество механизмов борьбы с помехами в различных средах передачи, приводящими к потерям передаваемой информации.
Несмотря на широкое распространение волоконно-оптических линий связи и активного оптического оборудования, имеющих предельно низкий коэффициент битовых ошибок (BER),
остаются участки сети, где потери могут приводить к заметным проблемам. Обычно они находятся на "последней миле".
К примеру можно перечислить:
Наличие ошибок при передаче файлов через протокол ftp может приводить к разрыву сессии. Попытки занять трафиком полосу канала полностью могут привести к увеличению количества ошибок.
Задача
Необходимо обновить на маршрутизаторе ПО до актуальной версии при условии использования канала с плохими параметрами.
Решение
Как вариант решения проблемы будем использовать для передачи протокол SCP с указанием ограничении скорости передачи. Для этого в команде используется ключ -l, определяющий максимальную скорость в Кbit/sec.
SCP — это сетевой протокол, который безопасно копирует файлы между операционными системами Linux по сети. Протокол SCP использует SSH для передачи данных и, следовательно, требует пароля или ключа SSH для аутентификации в удаленных системах.
Используем следующую конфигурацию для примера:
esr-15# show running-config username techsupport password mypassword exit tech-support login enable interface gigabitethernet 1/0/3 ip firewall disable ip address 10.10.10.1/24 exit ip ssh server |
Выполним копирование файла прошивки с ПК на ESR. В процессе копирования видно что скорость не превышала ранее установленное ограничение. Обратите внимание, скорость отображается в KByte\sec.
oleg@oleg-H410M-S2H-V3:/srv/tftp$ sudo scp -l 1000 ./esr15-1.37.4-build2.firmware techsupport@10.10.10.1:/home/techsupport/new.firmware techsupport@10.10.10.1's password: mypassword esr15-1.37.4-build2.firmware 19% 18MB 124.9KB/s 10:09 ETA^ |
techsupport@esr-15:~$ ls /home/techsupport/ -la total 94632 drwxr-xr-x 2 techsupport nogroup 1024 Aug 23 04:04 . drwxr-xr-x 6 root root 1024 Aug 23 03:41 .. -rw------- 1 techsupport nogroup 60 Aug 23 03:53 .bash_history -rw-r--r-- 1 techsupport nogroup 0 Aug 23 03:49 .hushlogin -rw-r--r-- 1 techsupport nogroup 96898280 Aug 23 04:13 new.firmware techsupport@esr-15:~$ |
После того, как файл с прошивкой будет полностью скопирован на ESR, необходимо выполнить копирование файла из временной папки в раздел ESR system:firmware.
esr-15# copy scp://techsupport:mypassword@127.0.0.1:/new.firmware system:firmware
|******************************************| 100% (94627kB) Firmware updated successfully.
esr-15# show bootvar
Image Version Date Status After reboot
----- ------------------------- -------------------- ------------ ------------
1 1.34.4 build 2025-08-06 09:37:24 Active *
10[ebfad0feac]
2 1.37.4 build 2025-12-03 14:25:53 Not Active
2[4b06f2c798] |
Далее необходимо выбрать образ ПО, который будет ESR будет использовать при следующей загрузке. Начиная с версии 1.17.2 ESR поддерживает кумулятивное обновление, тоесть самостоятельно определяет необходимость обновления первичного и вторичного загрузчиков и обновляет их. Для обновления достаточно одного файла с расширением firmware.
esr-15# boot system image-2 This command cannot be interrupted, do not turn off device during process. Continue? (y/N): y 2025-08-23T04:23:43+00:00 %FILE_MGR-I-INFO: operation started: 'boot system image-2' (index: 2, origin: CLI) 2025-08-23T04:23:52+00:00 %FIRMWARE-I-INFO: Writing data... 2025-08-23T04:24:07+00:00 %FILE_MGR-I-INFO: operation is finished: 'boot system image-2' (index: 2, origin: CLI) Boot image set successfully. Successfully updated: uboot |
И далее выполнить перезагрузку маршрутизатора.
esr-15# reload system Do you really want to reload system now? (y/N): y |
После загрузки маршрутизатора проверим версию ПО.
esr-15# show version Boot version: 1.37.4.2 (2025-12-03 14:29:33) SW version: 1.37.4 build 2[4b06f2c798] (2025-12-03 14:25:53) HW version: 2v2 |
После обновления ПО можно удалить загруженный файл на маршрутизаторе. Так как после обновления он уже не нужен.
techsupport@esr-15:~$ sudo rm /home/techsupport/new.firmware Password: mypassword techsupport@esr-15:~$ ls /home/techsupport/ |