top.tipText = new Array();
var isLayers = 0;
var isAll = 0;
var isID = 0;
function init()
{
if (document.getElementById)
{
isID = 1;
}
else if (document.all)
{
isAll = 1;
}
else
{
isLayers = 1;
}
if (isLayers == 1)
{
var tipArray;
}
else
{
top.frames['tip_frame'].document.open();
top.frames['tip_frame'].document.write("");
top.frames['tip_frame'].document.close();
}
}
function findDOM(objectID,withStyle)
{
if (withStyle == 1)
{
if (isID)
{
return (document.getElementById(objectID).style);
}
else if (isAll)
{
return (document.all[objectID].style);
}
else
{
return (document.layers[objectID]);
}
}
else
{
if (isID)
{
return (document.getElementById(objectID));
}
else if (isAll)
{
return (document.all[objectID]);
}
else
{
return (document.layers[objectID]);
}
}
}
function getWidth()
{
if (window.innerWidth != null)
{
return window.innerWidth;
}
else if (document.body.clientWidth != null)
{
return document.body.clientWidth;
}
return (null);
}
function showTip(evt,framename,objectID)
{
dm = findDOM(objectID,0);
ds = findDOM(objectID,1);
setText(dm, framename);
var width = getWidth();
if (dm.offsetWidth)
{
objWidth = dm.offsetWidth;
}
else if (dm.clip.width)
{
objWidth = dm.clip.width;
}
if (evt.y || evt.pageY)
{
if (evt.pageY)
{
topVisibility = evt.pageY + 20;
leftVisibility = evt.pageX - (objWidth/4);
}
else
{
topVisibility = evt.y + 20 + document.body.scrollTop;
leftVisibility = evt.x - (objWidth/4) + document.body.scrollLeft;
}
if (leftVisibility < 2)
{
leftVisibility = 2;
}
else if (leftVisibility + objWidth > width)
{
leftVisibility -= objWidth/2;
}
ds.left = leftVisibility;
ds.top = topVisibility;
}
ds.visibility = "visible";
}
function hideTip(objectID)
{
ds = findDOM(objectID,1);
visibility = ds.visibility;
ds.visibility = "hidden";
}
function setText(dm,framename)
{
var tmpArray;
var frameFound = false;
for (var i=0; i=4)
this.ns4 = (this.b=="ns" && this.v==4)
this.ns5 = (this.b=="ns" && this.v==5)
this.ie = (this.b=="ie" && this.v>=4)
this.ie4 = (navigator.userAgent.indexOf('MSIE 4')>0)
this.ie5 = (navigator.appVersion.indexOf('MSIE 5.0')>0)
this.ie55 = (navigator.appVersion.indexOf('MSIE 5.5')>0)
if (this.ie5) this.v = 5
this.min = (this.ns||this.ie)
}
// automatically create the "is" object
is = new BrowserCheck()
if (document.getElementById || document.all)
{
document.write("");
}
else
{
document.write("");
}
document.write(abs_rlo_pos)
Uzyskiwanie adresu IP
document.write(abs_rio_pos);
Przypisywanie adresów IP za pomocą protokołu BOOTP
Protokół BOOTP (Bootstrap Protocol) działa w środowisku typu
klient " serwer i wymaga tylko pojedynczej wymiany pakietów do pobrania
informacji o adresie IP.
W przeciwieństwie do protokołu RARP pakiety BOOTP mogą zawierać nie
tylko adres IP, ale i adres routera, adres serwera oraz informacje zależne od
producenta sprzętu.
Z protokołem BOOTP związany jest problem polegający
na tym, że nie został on zaprojektowany do dynamicznego przypisywania adresów.
Aby użyć tego protokołu, administrator sieci tworzy plik konfiguracyjny
zawierający parametry dla każdego urządzenia. Administrator musi dodawać do
niego hosty i zarządzać bazą danych BOOTP. Chociaż adresy są przypisywane
dynamicznie, nadal istnieje relacja jeden do jednego pomiędzy liczbą adresów IP
a liczbą hostów. Oznacza to, że dla każdego hosta IP w sieci musi istnieć
profil BOOTP zawierający przypisany mu adres IP. Żadne dwa profile nie mogą
zawierać takich samych adresów IP. Profile te mogłyby być użyte w tym samym
czasie, co oznaczałoby przypisanie dwóm hostom tego samego adresu IP.
Urządzenie przy starcie używa protokołu BOOTP do pobrania adresu IP.
Protokół BOOTP do przesyłania komunikatów używa protokołu UDP. Komunikat UDP
jest enkapsulowany w pakiecie IP. Komputer używa protokołu BOOTP do wysłania
pakietu rozgłoszeniowego na adres IP składający się z samych jedynek, czyli
255.255.255.255 w notacji dziesiętnej. Serwer BOOTP otrzymuje ten pakiet i w
odpowiedzi wysyła również pakiet rozgłoszeniowy. Klient otrzymuję ramkę i
sprawdza jej adres MAC. Jeżeli w polu adresu docelowego klient znajdzie swój
adres MAC, a w polu adresu docelowego IP adres rozgłoszeniowy, pobierze adres
IP i inne informacje zawarte w komunikacie odpowiedzi BOOTP. Proces ten jest
przedstawiony krok po kroku na rysunkach od
do
.
Łącza WWW
Wyszukiwarka
Podobne podstrony:
contentcontentcontentcontentcontentcontentcontentcontentcontentfunction domnode get contentcontentcontentcontentcontentcontentcontentwięcej podobnych podstron