General
Първоначалната спецификация на TCP
Интересно четиво, което ми попадна напоследък е първоначалната предложена спецификация на TCP протокола. Спецификацията е презентация на Винт Сърф и Робърт Кан от 1974г. когато по време на IEEE Transaction of Communications те предлагат дизайн на нов протокол за пакетна комутация. Документът се казва A protocol for packet network intercommunication и е интересен от гледна точка на първоначалните планове за протокола за пакетна комутация. В първоначален вид предложението включва само един протокол TCP, а по-късно следва разделянето на фунционалността между два протокола TCP и IP. Интересни са някои предвидени проблеми, както и доста разлики от сегашния му вид, вкл. размера на адресното пространство.
Cisco IOS banner константи
От Cisco IOS Release 12.0(3)T съществува опция за използване на константи в различните банери, настройвани на рутери. Константите се заменят от съответната фактическа стойност при показване на банера и могат да сочат към различни параметри на устройството или конфигурацията.
Възможните константи и тяхната поддържка в различните банери са описани в таблицата:
|
Банер\константа
|
motd
|
login
|
exec
|
incoming
|
slip-ppp
|
Описание
|
|
$(hostname)
|
ДА
|
ДА |
ДА
|
ДА
|
ДА
|
Хостнаме на устройството |
|
$(domain)
|
ДА
|
ДА
|
ДА |
ДА
|
ДА
|
Домейн |
|
$(peer-ip)
|
НЕ
|
НЕ
|
НЕ
|
НЕ
|
ДА | IP Address на отсрещното устройство |
|
$(gate-ip)
|
НЕ
|
НЕ
|
НЕ
|
НЕ |
ДА
|
IP Address на gateway-а |
|
$(encap)
|
НЕ
|
НЕ
|
НЕ |
НЕ
|
ДА | тип на енкапсулацията |
|
$(encap-alt)
|
НЕ
|
НЕ
|
НЕ
|
НЕ | ДА | Показване на енкапсулацията като SL/IP вместо SLIP. |
|
$(mtu)
|
НЕ
|
НЕ |
НЕ
|
НЕ |
ДА
|
MTU на устройството |
|
$(line)
|
ДА
|
ДА
|
ДА
|
ДА
|
НЕ | Номер на линията на която влиза конекцията |
|
$(line-desc)
|
ДА
|
ДА
|
ДА
|
ДА
|
НЕ | Описание на линията, на която влиза конекцията |
Пример за употребата на константата $(hostname):
R1(config)#banner login # You are connected to $(hostname). Authorized users only! #
Възможността е доста удобна в случай на приложение на банери на много устройства едновременно (с помощта на някакъв инструмент за автоматизация/управление на конфигурации, например Expect, или комерсиален като CiscoWorks).
BGP RIB Failure
BGP RIB-Failure е ситуация, при която маршрути от BGP базата данни не могат да бъдат инсталирани в главната рутинг таблица, по различни причини:
- Маршрутът вече е инсталиран в маршрутната таблица с по-нисък administrative distance (напр. статичен маршрут или научен от вътрешен протокол);
- Маршрутът е директно свързана мрежа (частен случай на по-ниският administrative distance);
- Маршрутът е до IP адрес на получаващия рутер;
- Инсталирането на този маршрут в рутинг таблицата ще надвиши лимита за маршрути, зададен на конкретен VRF (при наличие на VRF-и);
- Проблем с паметта на рутера не позволява маршрутът да бъде инсталиран в таблицата;
В такива случаи, въпросните маршрути са маркирани с r>; в списъка на BGP маршрути, например:
R1#sh ip bgp
BGP table version is 9, local router ID is 192.168.0.1
Status codes: s suppressed, d damped, h history, * valid, > best, i - internal,
r RIB-failure, S Stale
Origin codes: i - IGP, e - EGP, ? - incomplete
Network Next Hop Metric LocPrf Weight Path
r>i192.168.0.1/32 192.168.1.1 0 100 0 i
r>i192.168.1.0/30 192.168.1.1 0 100 0 i
*>i192.168.10.0 192.168.1.1 0 100 0 i
r>i192.168.30.0 192.168.1.1 0 100 0 i
R1#
Можем да прегледаме всички маршрути, които са в RIB-Failure статус с show ip bgp rib-failure :
R1#sh ip bgp rib-failure
Network Next Hop RIB-failure RIB-NH Matches
192.168.0.1/32 192.168.1.1 Own IP address n/a
192.168.1.0/30 192.168.1.1 Higher admin distance n/a
192.168.30.0 192.168.1.1 Higher admin distance n/a
R1#
Ако прегледаме всяка една от тези три мрежи по отделно с show ip bgp няма да забележим нищо кой-знае колко повече:
R1#sh ip bgp 192.168.0.1/32
BGP routing table entry for 192.168.0.1/32, version 6
Paths: (1 available, best #1, table Default-IP-Routing-Table, RIB-failure(4) - next-hop mismatch)
Advertised to update-groups:
1
Local, (received & used)
192.168.1.1 from 192.168.1.1 (192.168.10.1)
Origin IGP, metric 0, localpref 100, valid, internal, best
R1#sh ip bgp 192.168.1.0/30
BGP routing table entry for 192.168.1.0/30, version 7
Paths: (1 available, best #1, table Default-IP-Routing-Table, RIB-failure(17))
Advertised to update-groups:
1
Local, (received & used)
192.168.1.1 from 192.168.1.1 (192.168.10.1)
Origin IGP, metric 0, localpref 100, valid, internal, best
R1#sh ip bgp 192.168.30.0
BGP routing table entry for 192.168.30.0/24, version 9
Paths: (1 available, best #1, table Default-IP-Routing-Table, RIB-failure(17))
Advertised to update-groups:
1
Local, (received & used)
192.168.1.1 from 192.168.1.1 (192.168.10.1)
Origin IGP, metric 0, localpref 100, valid, internal, best
R1#
Причините можем да установим ако прегледаме маршрутната таблица за всяка от тези мрежи:
R1#sh ip route
Codes: C - connected, S - static, R - RIP, M - mobile, B - BGP
D - EIGRP, EX - EIGRP external, O - OSPF, IA - OSPF inter area
N1 - OSPF NSSA external type 1, N2 - OSPF NSSA external type 2
E1 - OSPF external type 1, E2 - OSPF external type 2
i - IS-IS, su - IS-IS summary, L1 - IS-IS level-1, L2 - IS-IS level-2
ia - IS-IS inter area, * - candidate default, U - per-user static route
o - ODR, P - periodic downloaded static route
Gateway of last resort is not set
D 192.168.30.0/24 [90/156160] via 192.168.1.9, 01:40:21, FastEthernet2/0
B 192.168.10.0/24 [200/0] via 192.168.1.1, 01:46:46
C 192.168.255.0/24 is directly connected, FastEthernet1/0
192.168.0.0/32 is subnetted, 1 subnets
C 192.168.0.1 is directly connected, Loopback0
192.168.1.0/30 is subnetted, 3 subnets
C 192.168.1.8 is directly connected, FastEthernet2/0
C 192.168.1.0 is directly connected, FastEthernet0/0
C 192.168.1.4 is directly connected, FastEthernet0/1
R1#
Виждаме, че за всеки от трите маршрута има данни в рутинг таблицата, като единият от тях е собственият IP адрес на R1, другият е научен по EIGRP, а третият е директно свързана мрежа през fa0/0. Въпреки, че тези BGP маршрути не са инсталирани в рутинг таблицата, те продължават да бъдат анонсирани към BGP peer-а на R1, за разлика от споменатото в BGP FAQ документа от Cisco. За илюстрация на ситуацията тестовата топология е изложена по-долу.
В случая, R0 анонсира въпросните няколко мрежи в iBGP процеса към R1, за които R1 има по-добър маршрут от EIGRP (.30.0/24), директно свързани са (.1.0./30), или е собственият му IP адрес (.0.1/32). R1 от своя страна има eBGP сесия към R2. Нека прегледаме какво R2 получава по тази eBGP сесия и дали RIB-Failure маршрутите се анонсират към него:
R2#sh ip bgp
BGP table version is 5, local router ID is 192.168.20.1
Status codes: s suppressed, d damped, h history, * valid, > best, i - internal,
r RIB-failure, S Stale
Origin codes: i - IGP, e - EGP, ? - incomplete
Network Next Hop Metric LocPrf Weight Path
*> 192.168.0.1/32 192.168.1.5 0 100 i
*> 192.168.1.0/30 192.168.1.5 0 100 i
*> 192.168.10.0 192.168.1.5 0 100 i
*> 192.168.30.0 192.168.1.5 0 100 i
R2#
Както се вижда, всички RIB-Failure маршрути се анонсират и се приемат нормално по eBGP сесията независимо от RIB-Failure статуса им. Те не са в RIB-Failure състояние на R2 и са инсталирани в маршрутната таблица:
R2#sh ip route
Codes: C - connected, S - static, R - RIP, M - mobile, B - BGP
D - EIGRP, EX - EIGRP external, O - OSPF, IA - OSPF inter area
N1 - OSPF NSSA external type 1, N2 - OSPF NSSA external type 2
E1 - OSPF external type 1, E2 - OSPF external type 2
i - IS-IS, su - IS-IS summary, L1 - IS-IS level-1, L2 - IS-IS level-2
ia - IS-IS inter area, * - candidate default, U - per-user static route
o - ODR, P - periodic downloaded static route
Gateway of last resort is not set
B 192.168.30.0/24 [20/0] via 192.168.1.5, 02:27:02
B 192.168.10.0/24 [20/0] via 192.168.1.5, 02:27:02
C 192.168.20.0/24 is directly connected, Loopback0
192.168.0.0/32 is subnetted, 1 subnets
B 192.168.0.1 [20/0] via 192.168.1.5, 02:27:02
192.168.1.0/30 is subnetted, 2 subnets
B 192.168.1.0 [20/0] via 192.168.1.5, 02:27:02
C 192.168.1.4 is directly connected, FastEthernet0/0
R2#
“странни” команди при CISCO3825 boot
Доста се учудих като видях следните команди логнати при bootване на един рутер:
idx sess user@line Logged command
1 1 console@console |access-list 199 permit icmp host 10.10.10.10 host 20.20.20.20
2 1 console@console |crypto map NiStTeSt1 10 ipsec-manual
3 1 console@console |match address 1994 1 console@console |set peer 20.20.20.20
5 1 console@console |exit
6 1 console@console |no access-list 199
7 1 console@console |no crypto map NiStTeSt1
В случая знам, че на конзолата няма и не е имало вързано нищо при стартирането на въпросното устройство… впоследствие след малко търсене се оказа, че въпросният crypto map е част от autotest-а на крипто акселератора при стартиране.
http://www.securityfocus.com/archive/75/474377/30/180/threaded
English version
| M | T | W | T | F | S | S |
|---|---|---|---|---|---|---|
| « Oct | ||||||
| 1 | 2 | 3 | 4 | 5 | ||
| 6 | 7 | 8 | 9 | 10 | 11 | 12 |
| 13 | 14 | 15 | 16 | 17 | 18 | 19 |
| 20 | 21 | 22 | 23 | 24 | 25 | 26 |
| 27 | 28 | 29 | 30 | |||
