недеља, 21. фебруар 2010.

IT Solutions design

Dizajn web prezentacije firme "IT Solutions", uzivo mozete pogledati na adresi www.it-solutions.rs


уторак, 9. фебруар 2010.

OSP - Resources

#################################################################################
KLASA ResourceCB
#################################################################################

package osp.Resources;

import java.util.*;

import osp.IFLModules.*;
import osp.Tasks.*;
import osp.Threads.*;
import osp.Utilities.*;
import osp.Memory.*;

/**
* @author Mihajlo
*
*/

@SuppressWarnings("unused")
public class ResourceCB extends IflResourceCB
{
// Lista heš tabela, gde se u svakoj pojedinačnoj heš tabeli čuvaju informacije
// o zahtevima svih niti za nekim resursom.
private static List zahtevaniBlokovi;
private static Set Tredovi;
private static HashMap[] alokacionaLista;
private static HashMap[] Maximum;

public ResourceCB(int qty)
{
// Pozovite super(), a ostalo ako imate potrebu nešto da inicijalizujete u vašoj implementaciji
super(qty);
}

// metod za osvezavanje liste
private static void osvezavanjeListe(ThreadCB thread, int quantity, int resourceID) {

if (alokacionaLista[resourceID].containsKey(thread)) {
alokacionaLista[resourceID].put(thread, alokacionaLista[resourceID].get(thread) + quantity);
} else {
alokacionaLista[resourceID].put(thread, quantity);
}
}

@SuppressWarnings("unchecked")
public static void init()
{
// Kao i ranije, možete koristiti ovaj metod da inicijalizujete neke statičke promenljive
// koje bi vam možda zatrebale.
zahtevaniBlokovi = new ArrayList();
Tredovi = new HashSet();
Maximum = new HashMap[ResourceTable.getSize()];
alokacionaLista = new HashMap[ResourceTable.getSize()];

int size = ResourceTable.getSize();

for (int i=0; i < size; i++)
{
Maximum[i] = new HashMap();
alokacionaLista[i] = new HashMap();
}
}

public RRB do_acquire(int quantity)
{
// Da bi utvrdili koji proces je zahtevalo resurse, koristimo se PTBRom.
// Konkretnije koristimo metode getPTBR() i nad dobijenim objektom pozivamo metodu getTask().
ThreadCB tred = MMU.getPTBR().getTask().getCurrentThread();

// inicijalizacija
int deadlockMetod = getDeadlockMethod();
int slobodniResursi = getAvailable();
int ukupniResursi = getTotal();

// ako se zahtevani broj resursa ne može dodeliti ni pod kojim uslovom,
// npr ne postoji ih toliko u sistemu, zahtev se odbija, odnosno metoda vraća null
if ((quantity > ukupniResursi) || ((getAllocated(tred) + quantity) > ukupniResursi))
return null;

// dodajem tred
Tredovi.add(tred);

// menjam maximum mapu
Maximum[getID()].put(tred, getMaxClaim(tred));


// u suprotnom, možda u budućnosti će nit moći da bude opslužena, tako da se mora suspendovati.
if ((quantity > slobodniResursi) && (quantity < ukupniResursi))
{
// inicijalizacija novog resurs bloka
RRB noviResursBlok = new RRB(tred, this, quantity);
zahtevaniBlokovi.add(noviResursBlok);

// Zahtevu se status postavlja na Suspended metodom setStatus(),
// a nit se suspenduje metodom suspend()
// i prosleđuje se napravljeni RRB objekat
noviResursBlok.setStatus(Suspended);
tred.suspend(noviResursBlok);

return noviResursBlok;
}

// ispitujemo vrste deadlock metoda

// Kada god je moguće zahtevi za resursima se opslužuju bez dodatnog ispitivanja.
// Povremeno, OS izvršava metodu koja proverava da li postoji deadlock u sistemu.
// Ako postoji moguće je ubiti sve procese, ubijati procese koji učestvuju u deadlocku
// sve dok se deadlock ne otkloni, osloboditi resurse uključene u deadlock, itd.

if (deadlockMetod == Detection)
{
RRB noviResursBlok = new RRB(tred, this, quantity);

zahtevaniBlokovi.add(noviResursBlok);
noviResursBlok.grant();

// osvezavam liste
osvezavanjeListe(tred, quantity, noviResursBlok.getResource().getID());

// vracam noviResursBlok
return noviResursBlok;
}

// Deadlock izbegavanje
// U trenutku zahtevanja resurasa se odlučuje da li će se oni i dodeliti.
// Brine se o tome da li će dodela resursa ostaviti sistem u sigurnom stanju.
// Sigurno stanje je stanje u kom se mogu izvršiti svi procesi nekim redom, bez pojave deadlocka.

// Ako se koristi deadlock izbegavanje,
// onda ovde morate implementirati neki od  odgovarajućih algoritama
else if (deadlockMetod == Avoidance)
{
// Implementiram Banker's Algorithm.
// Ako pomoću algoritma zaključite da je sigurno dodeliti resurse,
// onda to i uradite u suprotnom se nit suspenduje i status zahteva se postavlja na Suspended.
// Metoda na kraju vraća napravljeni RRB objekat.

ThreadCB tredovi[] = Tredovi.toArray(new ThreadCB[0]);
int[][] maksimum = new int[Tredovi.size()][ResourceTable.getSize()];
int[][] alokacija = new int[Tredovi.size()][ResourceTable.getSize()];
int[][] potrebni = new int[Tredovi.size()][ResourceTable.getSize()];
int[] dostupni = new int[ResourceTable.getSize()];

int size = ResourceTable.getSize();

for (int i = 0; i < size; i++)
{
dostupni[i] = ResourceTable.getResourceCB(i).getAvailable();
for (int j = 0; j < Tredovi.size(); j++)
{
if (Maximum[i].containsKey(tredovi[j]))
maksimum[j][i] = Maximum[i].get(tredovi[j]);
else
maksimum[j][i] = 0;

if (alokacionaLista[i].containsKey(tredovi[j]))
alokacija[j][i] = alokacionaLista[i].get(tredovi[j]);
else
alokacija[j][i] = 0;

potrebni[j][i] = maksimum[j][i] - alokacija[j][i];
}
}

int p = ResourceTable.getSize();
int q = Tredovi.size();

int[] radni = Arrays.copyOf(dostupni, p);
int[] kraj = new int[q];

for (int i = 0; i < kraj.length; i++)
{
if (kraj[i] == 0)
for (int j = 0; j < p; j++)
if (potrebni[i][j] <= radni[j])
{
radni[j] += alokacija[i][j];
kraj[i] = 1;
}
}

// u suprotnom se nit suspenduje i status zahteva se postavlja na Suspended
int duzina = kraj.length;
for (int i = 0; i < duzina; i++)
if (kraj[i] == 0)
{
RRB noviResursBlok = new RRB(tred, this, quantity);
zahtevaniBlokovi.add(noviResursBlok);

// suspendovanje treda
tred.suspend(noviResursBlok);

// suspendovanje statusa zahteva
noviResursBlok.setStatus(Suspended);

return noviResursBlok;
}

// Ako pomoću algoritma zaključite da je sigurno dodeliti resurse,
// onda to i uradite
RRB noviResursBlok = new RRB(tred, this, quantity);
zahtevaniBlokovi.add(noviResursBlok);

noviResursBlok.grant();

osvezavanjeListe(tred, quantity, noviResursBlok.getResource().getID());

return noviResursBlok;
}

return null;
}

public static Vector do_deadlockDetection()
{

/*Vector deadlockTredovi = new Vector();
for (int i = zahtevaniBlokovi.size() - 1; i >=0; i--){
ThreadCB tred = zahtevaniBlokovi.get(i).getThread();
if ((tred == )) argggghhhhh
}*/


return null;

}

public static void do_giveupResources(ThreadCB thread)
{
// Ovaj metod se poziva od strane OSPa kada se određena nit ubija
// kako bi se oslobodili svi resursi koje je ona zauzela
for (int i = zahtevaniBlokovi.size() - 1; i >= 0; i--)

{
// U ovoj metodi trebate da prođete kroz sve resurse koje je zauzela ta nit i da osvežite,
// kao i u pređašnjim metodama, brojke koje označavaju zauzeće i raspoloživost resursa
RRB zahtevaniResursBlok = zahtevaniBlokovi.get(i);
if (zahtevaniResursBlok.getThread().equals(thread))
{
ResourceCB resurs = zahtevaniResursBlok.getResource();
int quantity = zahtevaniResursBlok.getQuantity();
int slobodniResursi = resurs.getAvailable();
int noviSlobodanResurs = slobodniResursi + resurs.getAllocated(thread);
resurs.setAvailable(noviSlobodanResurs);

// Broj resursa koje zauzima nit se postavlja na 0.
resurs.setAllocated(thread, 0);

// oslobađam resurse
alokacionaLista[zahtevaniResursBlok.getResource().getID()].remove(thread);
Maximum[zahtevaniResursBlok.getResource().getID()].remove(thread);
zahtevaniBlokovi.remove(zahtevaniResursBlok);
}
}

// Opet, pošto se oslobađaju resursi,
// potrebno je proveriti da li je moguće nastaviti sa izvršavanjem nekih od blokiranih niti.

for (RRB zahtevaniResursBlok : zahtevaniBlokovi)
{
// inicijalizacija slobodnog resursa
int slobodanResurs = zahtevaniResursBlok.getResource().getAvailable();

// proveravam da li je moguce i ukoliko jeste nastavim sa izvrsavanjem
if ((zahtevaniResursBlok.getQuantity() <= slobodanResurs)
&& (zahtevaniResursBlok.getStatus() == Suspended))
{
zahtevaniResursBlok.grant();
slobodanResurs -= zahtevaniResursBlok.getQuantity();

// osvezavanje liste
osvezavanjeListe(zahtevaniResursBlok.getThread(), zahtevaniResursBlok.getQuantity(), zahtevaniResursBlok.getResource().getID());
}
}
}

public void do_release(int quantity)
{
// OSP poziva ovaj metod kada nit treba da osloboti 'quantity' broj resursa tog tipa.
ThreadCB tred = MMU.getPTBR().getTask().getCurrentThread();

// Prvo kao i ranije osvežiti brojke u kojima se čuva koliko je resurasa tog tipa slobodno,
// kao i koliko resursa sada zauzima nit koja oslobađa resurse.

int slobodniResursi = getAvailable();
int noviSlobodanResurs = slobodniResursi + quantity;
setAvailable(noviSlobodanResurs);

int alociraniResursi = getAllocated(tred);
int noviAlociraniResurs = alociraniResursi - quantity;
setAllocated(tred, noviAlociraniResurs);

// S obzirom da su neki resursi oslobođeni,
// moguće je da neke niti nakon toga mogu da nastave sa svojim izvršavanjem,
// tako da je to sledeći korak,
// proveriti da li je moguće nastaviti izvršavanje nekih niti
for (RRB zahtevaniResursBlok : zahtevaniBlokovi)
{
if ((zahtevaniResursBlok.getStatus() == Suspended)
&&
(zahtevaniResursBlok.getResource().getID() == getID())
&&
(zahtevaniResursBlok.getQuantity() <= getAvailable()))
{
// i ako je moguće uraditi to pozivom metode grant()
zahtevaniResursBlok.grant();

osvezavanjeListe(zahtevaniResursBlok.getThread(), zahtevaniResursBlok.getQuantity(), zahtevaniResursBlok.getResource().getID());
}
}
}

public static void atError()
{

}

public static void atWarning()
{

}

}

#################################################################################
KLASA RESOURCE TABLE
#################################################################################
package osp.Resources;

import osp.Utilities.*;
import osp.IFLModules.*;

/**
* @author Mihajlo
*
*/

@SuppressWarnings("unused")
public class ResourceTable extends IflResourceTable
{

public ResourceTable()
{
// Kao i uvek pozvati super().
// Dalje po potrebi, ako vaša implementacija problema to zahteva,
// inicijalizovati dodatno neke instancne promenljive
super();

}

}

#################################################################################
KLASA RRB
#################################################################################

package osp.Resources;

import java.util.*;

import osp.IFLModules.*;
import osp.Threads.*;

/**
* @author Mihajlo
*
*/

@SuppressWarnings("unused")
public class RRB extends IflRRB
{

public RRB(ThreadCB thread, ResourceCB resource,int quantity)
{
// mora se pozvati super
super(thread, resource, quantity);
}

public void do_grant()
{
// Metod simulira davanje resursa niti.
// Ovde se ne vrši provera da li ovo treba uraditi, samo se uradi.
// Treba dekrementirati broj dostupnih resursa zahtevanog tipa,

int slobodniResursi = getResource().getAvailable();
int noviSlobodniResurs = slobodniResursi - getQuantity();
getResource().setAvailable(noviSlobodniResurs);

// i povećati broj koji predstavlja broj alociranih resursa.
int alociraniResursi = getResource().getAllocated(getThread());
int noviAlociraniResursi = alociraniResursi + getQuantity();
getResource().setAllocated(getThread(), noviAlociraniResursi);

// Na kraju stanje niti koja je napravila taj zahtev se mora postaviti na Granted
setStatus(Granted);

// i nit se treba odblokirati metodom notifyThreads().
notifyThreads();
}


}
##############################################

уторак, 2. фебруар 2010.

VPN tehnologije - ukratko

Tehnologije i protokoli u Site-to-Site VPN

U site-to-site VPN-ovima korisnički saobraćaj je tunelovan ili između CE uređaja ili između PE uređaja. Protokoli i tehnologije koji omogućavaju site-to-site VPN uključuju:

- IPsec: sastoji se od skupa protokola koji su dizajnirani da zaštite IP saobraćaj između „security gateway“-a ili hostova dok prolazi kroz mrežu. IPsec tuneli se često koriste da kreiraju site-to-site između CE uređaja (CE-based VPN)

- GRE: može biti korišćen za kreiranje tunela i trasportovanje multiprotokol saobraćaja između CE uređaja u VPN-u. GRE ima slabo razvijenu sigurnost (little or no security), ali se zato GRE tuneli mogu štititi korišćenjem IPsec-a.

- Draf Martini (Any Transport over MPLS [AToM]): Draft Martini trasport dozvoljava point-to-point transport protokola kao što su Frame Relay, ATM, Ethernet, Ethernet VLAN (802.1Q), High-Level Data Link Control (HDLC) i PPP preko MPLS-a

- L2TPv3: L2TPv3 omogućuje point-to-point transport protokola kao što su Frame Relay, ATM, Ethernet, Ethernet VLAN, HDLC i PPP preko IP ili drugog backbone-a

- IEEE 8021.Q tunneling (Q-in-Q): 802.1Q omogućava servis provajderu da tuneluje tagovani Ethernet (odnosno 802.1Q) korisnički saobraćaj putem zajedničkog bekbon-a (engl. shared backbone). Korisnički 802.1Q saobraćaj je tunelovan preko deljenog provajderovog backbone-a dodavanjem još jednog 802.1Q taga.

- MPLS LSP: LSP predstavlja putanju preko LSR (Label Switched Router) u MPLS mreži. Paketi se svičuju na osnovu labela koje se dodaju na sam paket. LSP-ovi mogu biti signalizirani korišćenjem TDP-a (Tag Distribution Protocol), LDP-a (Label Distribution Protocol) ili RSVP-a (Resource Reservation Protocol)

Tehnologije i protokoli u Remote Access VPN

Protokoli i tehnologije koji se koriste u Remote Acces VPN-ovima su:

- L2F (The Layer Two Forwarding Protocol): L2F je vlasništvo kompanije Cisco i dizajniran je da omogući tunelovanje PPP (ili SLIP – Serial Line Interface Protocol) frejmova između NAS i VPN gateway uređaja koji se nalazi na centralnoj lokaciji. Udaljeni korisnici (engl. remote users) se konektuju na NAS i PPP frejmovi udaljenog korisnika su tunelovani preko mreže do VPN (home) gateway-a.

- PPTP (Point-to-Point Tunneling Protocol): protokol u koji su stvorili Microsoft, 3Com i Ascend Communications. Kao i L2F, PPTP dozvoljava tunelovanje PPP frejmova udaljenog korisnika preko NAS do VPN gateway uređaja. PPTP takođe dozvoljava da tunel bude postavljen direktno između korisnika i VPN gateway uređaja. PPP enkapsulirani paketi koji se prenose putem PPTP tunela se često štite MPPE (Microsoft Point-to-Point Encryption).

- L2TPv2/L2TPv3 (The Layer 2 Tunneling protocol versions 2 and 3): L2TP je IETF (Internet Engineering Task Force) standard i kombinuje najbolje od L2F i PPTP protokola. U remote-access okruženju, L2TP dozvoljava ili tunelovanje PPP frejmova udaljenih korisnika preko NAS do VPN gateway uređaja ili tunelovanje PPP frejmova direktno od korisnika do VPN gateway-a. L2TP ima ograničenu sigurnost pa se ovi tuneli često štite korišćenjem IPsec-a.

- IPsec: kao i kod site-to-site VPN-ova, koriste se da obezbete tunelovani sabraćaj između udaljenih ili mobilnih korisnika i VPN gateway uređaja.

- SSL (The Secure Socket Layer): protokol koji je originalno razvijen od strane Netscape Communications (SSL verzije 1, 2 i 3) i omogućuje bezbedan udaljeni pristup mobilnim ili kućnim korisnicima. Funkcionalnost, u odnosu na L2F, PPTP ili IPsec, može biti ograničena ako se implementira „clientless“ SSL remote-access VPN. Prednost ovakvog udaljenog pristupa je ta što nikakav dodatni klijentski softver nije potreban jer SSL je implementiran u skoro svaki internet pregledač (engl. web browser). Stoga, ukoliko korisnik poseduje neki od poznatih browser-a takođe poseduje i potreban SSL softver. Veća funkcionalnost se postiže instaliranjem specifičnog SSL VPN klijentskog softvera na remote-access uređajima.

Photo edit

Edited photo:




Original photo:

недеља, 31. јануар 2010.

Sungazing - Gledanje u sunce!




Kako se primenjuje metoda?

Gledanje u Sunce (Sungazing) se izvodi samo jednom u životu, u trajanju od 270 dana što se obično završi u periodu od 9 do 12 meseci. Počinje se sa 10 sekundi gledanja prvog dana a završava sa 45 minuta. Dok se gleda u Sunce treba stajati na goloj zemlji ili pesku bosonog, ako je to moguće, i to OBAVEZNO u vreme “sigurnog sata” (ili “zlatnog sata” kako se to vreme naziva) a to je u prvom satu od izlaska ili u poslednjem satu pre zalaska Sunca. Svakog sledećeg dana povećava se vreme gledanja za 10 sekundi (ili za 5 sekundi). Praksa se izvodi jednom dnevno (dakle, možete da birate ili se prilagođavate vremenskim uslovima).

Pored gledanja u Sunce, preporučuje se i pijenje "solarne vode" (vode koja je u staklenoj boci stajala na Suncu od jutra do zalaska) a može se koristiti ne samo za piće već i za spoljašnju upotrebu, kao i izlaganje bolnih delova tela Suncu i sunčanje u toku dana kada je UV zračenje nisko. Bosonogo šetanje po goloj zemlji ili pesku, u trajanju od 45 minuta dnevno treba praktikovati svakodnevno, ili bar kada to vremenske okolnosti dozvoljavaju za dobro zdravlje i vitalnost.


Šta možete da očekujete od ove metode?

Gledanjem u Sunce, postepno dolazi do poboljšanja zdravstvenog stanja – najpre na mentalnom planu a zatim na fizičkom. Nakon postignutih 15 minuta geledanja u Sunce, dolazi do poboljšanja pamćenja, i mentalnih sposobnosti uopšte. Još jedan značajn efekat se kod većeg broja ljudi pojavljuje već na samom početku gledanja u Sunce značajno smanjenje apetita što direktno utiče na prirodno i spontano regulisanje telesne težine. Gledanjem u Sunce u telu se akumulira energija koja se koristi za svakodnvne aktivnosti a istovremeno se postepeno smanjuje potreba za unošenjem energije iz hrane koja se smatra sekundarnim izvorom energije.

Ova praksa može pomoći u prevazilaženju fizičkih bolesti kako akutnih tako i hroničnih.

Najvažnije je da se pridržavate datih uputstava i da partite sopstve reakcije vođenjem dnevnika. Svaka osoba je različita tako da su i reakcije na gledanje u Sunce individualne.

четвртак, 7. јануар 2010.

четвртак, 10. децембар 2009.

CISCO SWITCH CONFIGURATION - LAB 1

Komande koje treba da znate su označene BOLD slovima, ostale nisu neophodne!

SW2-kim0#sh run
Building configuration...

Current configuration : 5697 bytes
!
version 12.2
no service pad
service timestamps debug uptime
service timestamps log uptime
no service password-encryption
!
hostname SW2-kim0
!
!
no aaa new-model
ip subnet-zero
ip routing
!
!
!
!
!
!
no file verify auto
!
spanning-tree mode pvst
spanning-tree portfast bpduguard default
spanning-tree portfast bpdufilter default
spanning-tree extend system-id
spanning-tree uplinkfast max-update-rate 1500
!
vlan internal allocation policy ascending
!
!
interface Loopback0
ip address 1.1.1.222 255.255.255.255

!
interface Port-channel1
description "DOUBLE PORT VEZA SA SW1"
no switchport

ip address 129.1.78.8 255.255.255.0

!
interface FastEthernet0/1
switchport mode dynamic desirable
!
interface FastEthernet0/2
switchport access vlan 22
switchport mode access

!
interface FastEthernet0/3
switchport mode dynamic desirable
!
interface FastEthernet0/4
switchport access vlan 44
switchport mode access

!
interface FastEthernet0/5
switchport mode dynamic desirable
!
interface FastEthernet0/6
switchport mode dynamic desirable
!
interface FastEthernet0/7
switchport mode dynamic desirable
switchport port-security maximum 3
switchport port-security violation shutdown

!
interface FastEthernet0/8
switchport mode dynamic desirable
switchport port-security maximum 3
switchport port-security violation shutdown

!
interface FastEthernet0/9
switchport mode dynamic desirable
!
interface FastEthernet0/10
switchport mode dynamic desirable
!
interface FastEthernet0/11
switchport mode dynamic desirable
!
interface FastEthernet0/12
switchport mode dynamic desirable
!
interface FastEthernet0/13
switchport mode dynamic desirable
!
interface FastEthernet0/14
switchport mode dynamic desirable
!
interface FastEthernet0/15
switchport mode dynamic desirable
!
interface FastEthernet0/16
switchport trunk encapsulation dot1q
switchport mode trunk

!
interface FastEthernet0/17
switchport mode dynamic desirable
!
interface FastEthernet0/18
switchport mode dynamic desirable
!
interface FastEthernet0/19
switchport trunk encapsulation dot1q
switchport mode trunk

!
interface FastEthernet0/20
switchport trunk encapsulation dot1q
switchport mode trunk

!
interface FastEthernet0/21
switchport trunk encapsulation dot1q
switchport mode trunk

!
interface FastEthernet0/22
switchport mode dynamic desirable
!
interface FastEthernet0/23
switchport mode dynamic desirable
!
interface FastEthernet0/24
switchport mode dynamic desirable
!
interface FastEthernet0/25
switchport mode dynamic desirable
!
interface FastEthernet0/26
switchport mode dynamic desirable
!
interface FastEthernet0/27
switchport mode dynamic desirable
!
interface FastEthernet0/28
switchport mode dynamic desirable
!
interface FastEthernet0/29
switchport mode dynamic desirable
!
interface FastEthernet0/30
switchport mode dynamic desirable
!
interface FastEthernet0/31
switchport mode dynamic desirable
!
interface FastEthernet0/32
no switchport
no ip address
channel-group 1 mode on

!
interface FastEthernet0/33
no switchport
no ip address
storm-control broadcast level 20.00
storm-control unicast level 40.00 20.00
channel-group 1 mode on

!
interface FastEthernet0/34
description "TRUNK LINK SW1-SW2"
switchport trunk encapsulation dot1q
switchport trunk native vlan 38
switchport mode trunk
switchport port-security maximum 3
switchport port-security violation restrict

!
interface FastEthernet0/35
switchport mode dynamic desirable
!
interface FastEthernet0/36
switchport mode dynamic desirable
!
interface FastEthernet0/37
switchport mode dynamic desirable
!
interface FastEthernet0/38
switchport mode dynamic desirable
!
interface FastEthernet0/39
switchport mode dynamic desirable
!
interface FastEthernet0/40
switchport mode dynamic desirable
!
interface FastEthernet0/41
switchport mode dynamic desirable
!
interface FastEthernet0/42
switchport mode dynamic desirable
!
interface FastEthernet0/43
switchport mode dynamic desirable
!
interface FastEthernet0/44
switchport mode dynamic desirable
!
interface FastEthernet0/45
switchport mode dynamic desirable
!
interface FastEthernet0/46
switchport mode dynamic desirable
!
interface FastEthernet0/47
switchport mode dynamic desirable
!
interface FastEthernet0/48
switchport mode dynamic desirable
!
interface GigabitEthernet0/1
switchport mode dynamic desirable
switchport block multicast
switchport block unicast
switchport backup interface Gi0/2
switchport backup interface Gi0/2 preemption mode forced
!
interface GigabitEthernet0/2
switchport mode dynamic desirable
switchport block multicast
switchport block unicast
!
interface Vlan1
no ip address
shutdown
!
interface Vlan38
ip address 204.12.1.8 255.255.255.0

max-reserved-bandwidth 80
!
interface Vlan58
description "CORPORATE VLAN"
ip address 10.10.10.1 255.255.255.0

!
router eigrp 100
network 1.1.1.222 0.0.0.0
network 129.1.78.0 0.0.0.255
no auto-summary

!
router bgp 1
no synchronization
bgp log-neighbor-changes
network 129.1.78.0 mask 255.255.255.0
network 203.12.1.0 mask 255.255.255.0
neighbor 1.1.1.11 remote-as 1
neighbor 1.1.1.11 update-source Loopback0
neighbor 1.1.1.11 next-hop-self
no auto-summary

!
ip classless
ip route 1.1.1.11 255.255.255.255 129.1.78.7 name "SW1 - KAMENI"
ip route 129.1.13.0 255.255.255.0 129.1.17.1 name "PREKO R1 DO R3"

ip http server
ip http secure-server
!
!
!
control-plane
!
!
line con 0
logging synchronous
line vty 0 4
logging synchronous
no login
line vty 5 15
no login
!
end

четвртак, 26. новембар 2009.

субота, 21. новембар 2009.