content


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:
content
content
content
content
content
content
content
content
content
function domnode get content
content
content
content
content
content
content

więcej podobnych podstron