В материалах по функционалу speed, duplex, auto-negotiation были частые случаи и описание их использования. Этот пост ответит на частые вопросы на тему:
Как настроить ту или иную характеристику порта
Cisco коммутаторы по умолчанию на всех портах «выставляют» режим автоопределения (auto-negotiation). Мы можем изменить эти параметры вручную:
- скорость — speed {auto | 10 | 100 | 1000}, эта команда задается непосредственно на интерфейсе (т.е. на порту коммутатора).
- дуплексность — duplex {auto | half | full}, так же задается на интерфейсе.
Давайте рассмотрим пример. Допустим есть у нас некий коммутатор, например Cisco Catalyst 2960 (в общем то не суть важно). Посмотрим информацию об интерфейсе, с помощью команды show int f0/1
FastEthernet0/1 is is up, line protocol is up (connected)
Hardware is Fast Ethernet, address is 0018.ba0d.0903 (bia 0018.ba0d.0903)
Description: NONE
MTU 1500 bytes, BW 100000 Kbit, DLY 100 usec,
reliability 255/255, txload 1/255, rxload 1/255
Encapsulation ARPA, loopback not set
Keepalive set (10 sec)
Auto-duplex, Auto-speed, media type is 10/100BaseTX
Здесь мы можем видеть в каком режиме работает порт коммутатора:
- дуплексность в режиме auto
- скорость в режиме auto
Как работает коммутатор в общем можно прочитать тут. Теперь изменим эти значения вручную, например выставим дуплексность в режим Half-Duplex, скорость принудительно выставим в 100мб/сек.
Для этого в режиме глобальной конфигурации (conf t) и в режиме конфигурации интерфейса (int f0/1) вводим команды:
speed 100 duplex half
Хочу напомнить, что данные настройки нужно делать на «обоих концах». После этого так же можно посмотреть информацию об интерфейсе, sh int f0/1 и вы увидите те изменения в режимах, которые сделали.
Если вы забыли изменить режимы на «обоих концах», в консоле у вас должно появиться нечто следующее:
%CDP-4-DUPLEX_MISMATCH: duplex mismatch discovered on FastEthernet0/1 (not full duplex), with Switch1 FastEthernet0/1 (full duplex).
Чтоб исправить эту ошибку, следует согласовать режим дуплексности на обоих устройствах.
Так же, для просмотра статистики по интерфейсу (о переданных пакетах, о ошибках, коллизиях и многом другом), так же пользуемся командой sh int f0/1 и получаем нечто похожее:
пропущено…
5 minute output rate 2000 bits/sec, 3 packets/sec
1983351 packets input, 1064588985 bytes, 0 no buffer
Received 74157 broadcasts (0 multicast)
0 runts, 0 giants, 0 throttles
1 input errors, 0 CRC, 0 frame, 0 overrun, 0 ignored
0 watchdog, 66633 multicast, 0 pause input
0 input packets with dribble condition detected
12351080 packets output, 4114387001 bytes, 0 underruns
0 output errors, 0 collisions, 1 interface resets
0 babbles, 0 late collision, 0 deferred
0 lost carrier, 0 no carrier, 0 PAUSE output
0 output buffer failures, 0 output buffers swapped out
Так как это коммутатор, порт которово подключен к обычному компьютеру, таким образом этот компьютер и порт коммутатора это единый домен коллизий, и соответственно им неоткуда взяться. Что мы и видим исходя из статистики интерфейса: 0 collisions