Open Shortest Path First

Үндсэн ойлголт 
Юуны өмнө чиглүүлэлтийн протоколуудын тухай товчхон авч үзэе. Routing protocol нь дараах үндсэн 2 хэсэгт хуваагдана:
 1. Static
 2. Dynamic
Static routing protocol нь сүлжээний админ төхөөрөмж дээр шаардлагатай замчлал бүрийг гараар тохируулах шаардлагатай бөгөөд хэдийгээр router-ийн нөөцийг бага идэх, тохируулахад хялбар зэрэг давуу талтай боловч мөн томоохон сүлжээний хувьд асуудлыг илрүүлэх, тохиргоо хийх зэрэгт төвөгтэй байх сул талтай.

Dynamic routing protocol нь router хооронд сүлжээний мэдээллийг автоматаар солилцох, боломжит замуудаас router аль тохиромжтой замыг сонгон хэрэглэгчийн мэдээллийг тасалдалгүй дамжуулах, томоохон хэмжээний сүлжээний админы ажиллагааг хөнгөвчлөх зэрэг олон давуу талтай ч төхөөрөмж хооронд тохиргоог зөв хийх, гарсан асуудлыг илрүүлэх зэрэг сөрөг талууд бас бий.

Dynamic routing protocol нь дотроо Interior Gateway Protocol, Exterior Gateway Protocol гэсэн үндсэн 2 хэсэгт хуваагдана. Мөн Interior Gateway Protocol нь дотрооDistance Vector, Link-State гэсэн 2 хэсэгт хуваагддаг. OSPF бол link-state routing protocol бөгөөд Rip- г бодвол илүү хурдаг convergence болдог. Том сүлжээний хүрээнд илүү найдвартай.

 OSPFv3 
OSPFv3 нь IPv4 болон IPv6 - д зориулсан рүтинг протокол юм. Энэ нь distance-vector протоколын оронд link-state протокол болсон. Link-state протокол нь очих болон хүлээн авагч төхөөрөмжүүдийн холбогдсон линк хооронд чиглүүлэлтээ хийж, тэрхүү холбогдсон байгааа линк нь интерфэйсийг тодорхойлж мөн энэ нь хөрш байх сүлжээний төхөөрөмжүүдтэй холбогдож, интерфэйсийн мэдээлэл нь интерфэйсийн IPv6 prefix, network mask, холбогдсон байгаа сүлжээний төрөл, сүлжээнд холбогдсон байгаа төхөөрөмжүүдийг агуулдаг. Энэхүү мэдээлэл нь янз бүрийн link-state advertisements (LSAs)-д хуваагдана.

 OSPFv3 болон OSPFv2-ын харьцуулалт 
 OSPF хувилбар 3-ын ихэнх зүйл нь OSPF хувилбар 2 тай адилхан. Жишээ нь хоёулаа интерфэйсын үнэлгээг метрик болгож ашигладаг, адилхан сүлжээний төрөлтэй, мөн адилхан пакетын төрөл ашигладаг.
 OSPFv3 дээр рүтинг процессийг тодорхой байдлаар үүсгэх хэрэггүй. Интерфэйс дээр OSPFv3-г тодорхойлж өгөхөд л тэр нь рүтинг процесс болж OSPFv3 тай холбоотой тохиргоог үүсгэж болно.

 OSPFv3 дээр интерфэйс бүр нь интерфэйс тохиргооны горим дээр комманд бичиж асах ёстой. OSPFv2 нь харин төхөөрөмжийн тохиргооны горим дээр асдаг байсан.
 IPv6 - д интерфэйс дээр хаягуудыг prefix - тэй нь хамт бичиж тохируулдаг. Харин OSPFv3-д бүх хаягуудын prefix нь интерфэйс дээр default - аараа байдаг.
 OSPFv3 нь OSPFv2 - ийг бодвол зарим LSA төрөлүүд дээр өөрчлөлт орсон. Тухайлбал OSPFv2 дээрх LSA 3 болон LSA 4 төрөлүүдийн нэр OSPFv3 дээр өөрчлөгдөж Inter-Area Prefix LSA, Inter-Area Router LSA болж, Link LSA болон Inter-Area Prefix LSA гэж мөн нэмэгдсэн.
 OSPFv3-ын LSA төрөлүүд 
 Device LSAs (Type 1)— Энэ LSA-ийг бүх рүтерүүд үүсгэх бөгөөд хамаарагдах орон зайн ретерүүдтэйгээ солилцоно. Замчлалын хүснэгтэд O үсгээр тэмдэглэгдэнэ.
 Network LSAs (Type 2)— Олон хандалт (multi-access) бүхий сүлжээнд ашиглах бөгөөд DR (designated router) үүсгэнэ. Адилхан үсгээр тэмдэглэгдэнэ.
 Interarea-prefix LSAs for ABRs (Type 3)—ABR болон area дотор байгаа дотоод рүтерийн хоорондох холболтыг тодорхойлно. Энэхүү LSA нь Area border router - ээр бий болдог.
 Interarea-device LSAs for ASBRs (Type 4)—ASBR - ийн байршилийг тодорхойлно.Төхөөрөмж нь гадаад сүлжээнд байгаа дараагын төхөөрөмжийн сайн замыг олоход энэхүү LSA-г ашигладаг.
 Autonomous system external LSAs (Type 5)—ASBR рүтер үүсгэнэ. Autonomous system - рүү хүрэх гадаад сүлжээнүүдийг тодорхойлно. Замчлалын хүснэгтэнд O үсгийн дараа E1 эсвэл E2 гэсэн тэмдэглэгээгээр тэмдэглэгдэнэ.
 Link LSAs (Type 8)— Төрөл 8 LSA нь Линк LSA гэж дуудагддаг ба зөвхөн локал линк дээр л оршиж, тэр нь рүтэрийн линк локал хаягыг бусад бүх рүтэр дээрх адил линк дээр хэрэглэдэг. Нэмж хэлэхэд, Төрөл 8 LSA нь рүтэр дээрх бүх линктэй холбоотой IPv6 - ын хаягуудыг рүтэр дээр өгдөг. OSPFv3 ийн Type 8 LSA мөн тодорхой сүлжээний LSA - ийг тохируулах гэж хэрэглэдэг.
 Intra-Area-Prefix LSAs (Type 9)— Төрөл 9 LSA нь Intra-Area Prefix LSA гэж нэрлэгддэг ба, IPv6 сүлжээний тухай (stub сүлжээ мөн адил орно) рүтэр лүү мэдээлэл илгээхэд хэрэглэгддэг.(IPv4 сүлжээн дээр ашиглагдаж байгаа Төрөл 1 LSA тай төстэй) Нэмж хэлэхэд, Tөрөл 9 LSA "area" дотор өнгөрж буй IPv6 сүлжээний сэгмэтүүдийг мөн адил илгээж чадна. (Ipv4 сүлжээн дээр ашиглагдаж байгаа Төрөл 2 LSA тай төстэй).

 Мөн LSA нь Options талбар дээр дараах битуудыг зөөдөг:

V6 bit—Рүтер/Линк нь замчлалын тооцоонд ашиглах эсэхийг шалгана.

R bit—Энэ нь Router bit юм. Рүтер нь active рүтер уу гэдгийг заана.

DC bit—Рүтерийн Demand Circuit - ыг заана.

 OSPFv3 ачаалал тэнцвэржүүлэх 
Төхөөрөмж нь тодорхой сүлжээнээс олон рүтинг процесс ашигласан(эсвэл рүтинг протокол) байгаа мэдээлэлийг мэдэхийн тулд хамгийн бага үнэлгээтэй замыг сонгож рүтинг хүснэгтэнд нэмдэг. Заримдаа төхөөрөмж нь адилхан administrative distance - тай адилхан рүтинг процессийг сонгодог. Энэ тохиолдолд, төхөөрөмж нь очих төхөөрөмжд хүрэх хамгийн бага үнэлгээтэй замыг шууд сонгодог. OSPFv3 дараах байдлаар автоматаар тэнцвэржүүлэлтийг хийдэг. Хэрвээ OSPFv3 очих төхөөрөмжд нэгээс олон интерфэйс-ын бүх замууд адилхан интерфэйсийн үнэлгээтэй байгаа гэвэл бүх замыг рүтинг хүснэгтэнд нэмдэг. Энэхүү олон замын мэдээлэлийг maximum-paths гэсэн коммандаар хянаж болно. Default-аараа 16 байдаг бол 1-ээс 64 гэсэн утгуудыг авж болно.

 OSPFv3 үнэлгээ бодох 
Үнэлгээ олох:
 LinkCost=OC+BW(Throughput_weight/100)+Resource(Resource_weight/100)+Latency(Latency_weight)/100)+L2_factor(L2_weight/100)

OC=[((ospf_reference_bw)/(MDR*1000))]

BW= (65535)(100-CDR/MDR (100) )/100

Resources= (65535)(100-resources)^3/1000000

Latency=latency

L2_fator=(100-RLQ)(65535)/100

Хүснэгт 1 OSPFv3 үнэлгээ бодохҮсэгТодорхойлолтOCOSPFv3 default үнэлгээ.A(2^16 * (100 – (CDR * 100 / MDR)))/100B((100 – RESOURCES)^3 * 2^16 / 10^6)CХоцролт нь 0 байдаг ба 6400 хүртэл тодорхойлж болно.D((100 – RLF) * 2^16)/100
Хүснэгт 2 OSPFv3 үнэлгээний хэмжүүрүүдийг өөрчлөх комманд'ТохиргооMetric DescriptionDefault утгаБайвал зохих утгаТ1ipv6 ospf dynamic weight throughout1000Т2ipv6 ospf dynamic weight resources10029Т3ipv6 ospf dynamic weight latency10029Т4ipv6 ospf dynamic weight L2 factor10029
Default замын үнэлгээ:
 56-kpbs serial link - 1785
 64 kpbs serial link - 1562
 T1 ( 1.544-Mbps serial link ) - 64
 E1 ( 2.048 - Mbps serial link ) - 48
 4-Mbps Token Ring - 25
 Ethernet - 10
 16-Mbps Token Ring - 6
 FDDI - 1
 X25 - 5208
 Asynchronous - 10000
 ATM - 1

 Тохиргоо болон коммандуудын тайлбар 

 Ачаалал тэнцвэржүүлэх тохиргоо ( Load Balancing Configuration) 
 Алхам 1 - enable
Жишээ: Device> enable  ( Privileged EXEC горим асаах.Нууц үг байгаа бол хийгээд орно. )
 Алхам 2 - configure terminal
Жишээ: Device# configure terminal    ( Глобал тохиргооны горим рүү нэвтрэх.)
 Алхам 3 - router ospfv3 [process-id]
Жишээ: Device(config)# router ospfv3 1   ( Рүтер тохиргооны горим луу нэвтрэх.)
 Алхам 4 - area area-ID [default-cost | nssa | stub]
Жишээ: Device(config-router)# area 1  ( OSPFv3 area тодорхойлох.)
 Алхам 5 - auto-cost reference-bandwidth Mbps
Жишээ: Device(config-router)# auto-cost reference-bandwidth 1000  ( OSPFv3 ашиглаж буй үед Reference утгуудыг хянах комманд.)
 Алхам 6 - bfd all-interfaces
Жишээ: Device(config-router)# bfd all-interfaces  ( OSPFv3 рүтинг процессийн хувьд BFD асаах. )
 Алхам 7 - default {area area-ID [range ipv6-prefix | virtual-link router-id]} [default-information originate[always | metric | metric-type | route-map] | distance | distribute-list prefix-list prefix-list-name {in| out} [interface] | maximum-paths paths | redistribute protocol | summary-prefix ipv6-prefix] 
Жишээ: Device(config-router)# default area 1    ( Returns an OSPFv3 parameter to its default value. OSPFv3 - ийн default утгууд руу буцах.) 
 Алхам 8 - ignore lsa mospf
Жишээ: Device(config-router)# ignore lsa mospf   (Төхөөрөмж LSA Type 6 multicast OSPFv3 пакет хүлээж авж буй үед syslog мессэж бууруулах.)
 Алхам 9 - interface-id snmp-if-index
Жишээ: Device(config-router)# interface-id snmp-if-index   ( OSPFv3 интерфэйс дээр Simple Network Management Protocol (SNMP) MIB-II тохируулах.)
 Алхам 10 -  log-adjacency-changes [detail] 
Жишээ: Device(config-router)# log-adjacency-changes   (OSPFv3 хөршүүд ассан эсвэл унтарсан үед syslog мессеж илгээх комманд.) 
 Алхам 11 -  passive-interface [default | interface-type interface-number] 
Жишээ: Device(config-router)# passive-interface default   (IPv4 OSPFv3 процесс ашиглагдаж байх үед интерфэйс дээр ирж буй рүтинг апдэйт илгээхийг бууруулах.) 
 Алхам 12 -  queue-depth {hello | update} {queue-size | unlimited}  
Жишээ: Device(config-router)# queue-depth update 1500   (Хичнээн пакет ирэхийг тодорхойлох.)  
Алхам 13 - router-id router-id
 Жишээ: Device(config-router)# router-id 10.1.1.1     (Рүтинг ID тодорхойлох.)

 NBMA интерфэйс OSPFv3 дээр тохируулах 
 Алхам 1 - enable
Жишээ: Device> enable   (Privileged EXEC горим асаах. Нууц үг байгаа бол хийгээд орно.)
 Алхам 2 - configure terminal
Жишээ: Device# configure terminal   ( Глобал тохиргооны горим рүү нэвтрэх.)
 Алхам 3 - interface type number
Жишээ: Device(config)# interface serial 0 (Интерфэйс рүү нэвтэрж орох.)
 Алхам 4 - frame-relay map ipv6 ipv6-address dlci [broadcast] [cisco] [ietf] [payload-compression {packet-by-packet | frf9stac [ hardware-options] | data-stream stac [hardware-options]}] 
Жишээ: Device(config-if)#  frame-relay map ipv6 FE80::A8BB:CCFF:FE00:C01 120  (Очих IPv6 хаяг хооронд mapping мөн DLCI тохируулах. Энэхүү жишээ дээр NBMA линк нь Frame relay байгаа.)
 Алхам 5 - ipv6 ospf neighbor ipv6-address [priority number] [poll-interval seconds] [cost number] [database-filter all out]  
Жишээ: Device(config-if) ipv6 ospf neighbor FE80::A8BB:CCFF:FE00:C01  (Хөршийг тодорхойлох.)

 OSPFv3 дээр IPv6 Address Family тохируулах 
 Алхам 1 - enable 
Жишээ: Device> enable (Privileged EXEC горим асаах. Нууц үг байгаа бол хийгээд орно.)
 Алхам 2 - configure terminal 
Жишээ: Device# configure terminal  (Глобал тохиргооны горим рүү нэвтрэх)
 Алхам 3 - router ospfv3 [process-id] 
Жишээ: Device(config)# router ospfv3 1 (OSPFv3 рүтер тохиргооны төлвийг идэвхжүүлэх.)
 Алхам 4 - address-family ipv6 unicast 
Жишээ: Device(config-router)# address-family ipv6 unicast (Дараах коммандыг бичсэнэээр IPv4 болон IPv6 дээр Address family - г хийж өгч байна.)
 Алхам 5 - area area-ID range ipv6-prefix / prefix-length 
Жишээ: Device(config-router-af)# area 1 range 2001:DB8:0:0::0/128 (OSPFv3 area параметр тохируулах )
 Алхам 6 - default {area area-ID [range ipv6-prefix | virtual-link router-id]} [default-information originate [always | metric | metric-type | route-map] |distance | distribute-list prefix-list prefix-list-name {in | out} [interface] | maximum-paths paths | redistribute protocol | summary-prefix ipv6-prefix] 
Жишээ: Device(config-router-af)# default area 1  (Default утга руу шилжих )
 Алхам 7 - default-information originate [always ] metric metric-value | metric-type type-value | route-map map-name 
Жишээ: Device(config-router-af)# default-information originate always metric 100 metric-type 2 (OSPFv3 луу Default external route - г үүсгэх )
 Алхам 8 - default-metric metric-value 
Жишээ: Device(config-router-af)# default-metric 10  (IPv4 болон IPv6 дээр Default metric утга тохируулах )
 Алхам 9 - distance distance 
Жишээ: Device(config-router-af)# distance 200  (Administrative distance OSPFv3 дээр тохируулах )
 Алхам 10 - distribute-list prefix-list list-name {in [interface-type interface-number] | out routing-process [as-number]} 
Жишээ:  Device(config-router-af)# distribute-list prefix-list PL1 in Ethernet0/0 (Интерфэйс дээр ирж эсвэл илгээгдэж байгаа замын мэдээллийг шинэчлэх комманд)
 Алхам 11 - maximum-paths number-paths
Жишээ: Device(config-router-af)# maximum-paths 4 (Замын тоог зааж өгөх )
 Алхам 12 - summary-prefix prefix [not-advertise | tag tag-value] 
Жишээ: Device(config-router-af)# summary-prefix FEC0::/24 (OSPFv3 дээрх summary prefix IPv6 тохируулах )

 Show команд 
 show ipv6 ospf database router self-originate нь хаана LSA үүсэж мөн хүлээж авч байгааг харуулна. Тэрхүү LSA нь ямар нэгэн хаяг болон prefix-ийн мэдээлэлгүй байх бөгөөд Advertising Router - LSA үүсгэж буй рүтерын рүтер ID, Length - Урт, Neighbor Router ID - Холбогдож байгаа хөршийн рүтер ID-ийг тодорхойлдог.
 show ipv6 ospf database нь рүтерийн link state database ийг харуулна. 
 show ipv6 ospf database link self-originate Link LSA-г харуулна. 
 show ipv6 ospf neighbor нь бүх холбоотой байгаа хөршийн мэдээллийг харуулах бөгөөд Neighbor ID  нь хөршийн ID, State  нь нөхцөл байдал (Full - Холбогдсон)-ыг тодорхойлно.
 show ospfv3 neighbor нь OSPFv3 дээрх address family холбогдсон хөршийн мэдээллийг харуулна.
 show opsfv3 database нь OSPFv3 Address Family LSA-ийн мэдээллийг харуулна.
 show ospfv3 нь Router ID болон  холбоотой байгаа Area болон хэдэн интерфэйс холбогдсон зэрэг мэдээллийг харуулна.

 Алдааны мессэж 
1. Area ID Symptom Error Message:%OSPFv3-4-AREA_MISMATCH: Received packet with incorrect area from FE80::C801:5FF:FEF8:0, Serial1/0, area 0.0.0.0, packet area 0.0.0.1(зураг-)
 Хэрвээ ийм мессэж гарвал Area ID зөв тохируулагдсан байна уу гэдгийг "show ipv6 ospf interface brief" гэсэн коммандаар харна. 
2. Алсын сүлжээтэй холбогдох
 ping ipv6 X:X:X:X::X гэсэн коммандаар ping хийж үзнэ.

 show ipv6 route ospf гэсэн коммандаар замчлалын хүснэгтэнд орж ирсэн эсэхийг шалгана
3. OSPFv3 Timers *Symptom Error Message:%OSPFv3-5-ADJCHG: Process 1, Nbr 2.2.2.2 on Serial1/0 from FULL to DOWN, Neighbor Down: Dead timer expired
 OSPFv3 timers - ийг шалгах. Dead interval нь дор хаяж hello interval - аас 4 дахин бага байх ёстой. show ipv6 ospf <process id>        <area id> interface гэх коммандаар харж болно.  ipv6 ospf hello-interval <1-65535> seconds болон ipv6 ospf dead-interaval<1-65535> seconds.
4. Сүлжээний төрөл "show ipv6 ospf" гэсэн коммандаар сүлжээний төрлийг харж болно. Интерфэйс нь адилхан сүлжээний төрөлтэй байх ёстой. Мөн "show ipv6 ospf interface" гэсэн коммандыг ч ашиглаж болно.

 Ашигласан материал 
 https://www.wavetec.com/en-US/
 http://www.cisco.com/c/en/us/td/docs/ios-xml/ios/iproute_ospf/configuration/15-sy/iro-15-sy-book/ip6-route-ospfv3.html
 http://www.cisco.com/c/en/us/td/docs/switches/datacenter/sw/5_x/nx-os/unicast/configuration/guide/l3_cli_nxos/l3_ospfv3.html

Ангилал:Интернэт хэрэглээний протокол
Ангилал:Routing протокол