Ваке-он-ЛАН (ВоЛ) је Етхернет или токен ринг рачунарски мрежни стандард који омогућава да се рачунар укључи или пробуди мрежном поруком.
- Поруку обично шаље циљном рачунару програм који се извршава на уређају који је повезан на исту локалну мрежу као што је паметни телефон.
- Такође је могуће покренути поруку са друге мреже коришћењем емитовања усмереног на подмрежу или услуге ВОЛ мрежног пролаза.
- Еквивалентни термини укључују буђење на ВАН-у даљинско буђење укључено преко ЛАН-а напајање преко ЛАН-а настављање по ЛАН-у наставак на ЛАН-у и буђење на ЛАН-у.
Принцип рада
- Ваке-он-ЛАН ('ВОЛ') се имплементира коришћењем посебно дизајнираног пакета који се зове магични пакет који се шаље свим рачунарима у мрежи, укључујући и рачунар који треба пробудити.
- Магични пакет садржи МАЦ адресу одредишног рачунара и идентификациони број уграђен у сваку мрежну картицу ('НИЦ') или друге етернет уређаје у рачунару који омогућава да буде јединствено препознат и адресиран на мрежи.
- Рачунари угашени или искључени са могућности Ваке-он-ЛАН ће садржати мрежне уређаје који могу да 'слушају' долазне пакете у режиму мале енергије док је систем искључен.
- Ако се прими магични пакет који је усмерен на МАЦ адресу уређаја, НИЦ сигнализира напајање рачунара или матичну плочу да започне буђење система на исти начин као што би то било притиском на дугме за напајање.
- Магични пакет се шаље на слој везе података (слој 2 у ОСИ моделу) и када се пошаље емитује се на све прикључене уређаје на датој мрежи користећи адресу мрежног емитовања; ИП адреса (слој 3 у ОСИ моделу) се не користи.
Да би Ваке-он-ЛАН радио, делови мрежног интерфејса морају да остану укључени. Ово троши малу количину енергије у стању приправности много мање од нормалне радне снаге. Онемогућавање ваке-он-ЛАН-а када није потребно може се стога незнатно разликовати у смањењу потрошње енергије на рачунарима који су искључени, али су још увек укључени у струјну утичницу.
Магична структура пакета
Магични пакет је емитовани оквир који садржи било где унутар свог корисног оптерећења 6 бајтова од свих 255 (ФФ ФФ ФФ ФФ ФФ ФФ у хексадецималу), праћено шеснаест понављања 48-битне МАЦ адресе циљног рачунара за укупно 102 бајта.
Пошто се магични пакет скенира само у потрази за горњом стрингом, а не рашчлањује га цео стек протокола, може се послати као било који протокол на нивоу мреже и транспорта, иако се обично шаље као УДП датаграм на порт 0 7 или 9 или директно преко Етхернета као ЕтхерТипе 0к0842.
Стандардни магични пакет има следећа основна ограничења:
- Захтева МАЦ адресу одредишног рачунара (такође може захтевати СецуреОн лозинку).
- Немојте давати потврду испоруке.
- Можда не ради ван локалне мреже.
- Захтева хардверску подршку за Ваке-Он-ЛАН на одредишном рачунару.
- Већина 802.11 бежичних интерфејса не одржава везу у стањима мале снаге и не може да прими магични пакет.
Имплементација Ваке-он-ЛАН је дизајнирана да буде веома једноставна и да је брзо обради кола присутна на мрежној картици са минималним захтевом за напајањем. Пошто Ваке-он-ЛАН функционише испод слоја ИП протокола, МАЦ адреса је неопходна и чини ИП адресе и ДНС имена бесмисленим.
C// C program to remotely Power On a PC over the // internet using the Wake-on-LAN protocol. #include #include #include #include #include #include #include #include int main() { int i; unsigned char toSend[102]mac[6]; struct sockaddr_in udpClient udpServer; int broadcast = 1 ; // UDP Socket creation int udpSocket = socket(AF_INET SOCK_DGRAM 0); // Manipulating the Socket if (setsockopt(udpSocket SOL_SOCKET SO_BROADCAST &broadcast sizeof broadcast) == -1) { perror('setsockopt (SO_BROADCAST)'); exit(EXIT_FAILURE); } udpClient.sin_family = AF_INET; udpClient.sin_addr.s_addr = INADDR_ANY; udpClient.sin_port = 0; //Binding the socket bind(udpSocket (struct sockaddr*)&udpClient sizeof(udpClient)); for (i=0; i<6; i++) toSend[i] = 0xFF; // Let the MAC Address be ab:cd:ef:gh:ij:kl mac[0] = 0xab; // 1st octet of the MAC Address mac[1] = 0xcd; // 2nd octet of the MAC Address mac[2] = 0xef; // 3rd octet of the MAC Address mac[3] = 0xgh; // 4th octet of the MAC Address mac[4] = 0xij; // 5th octet of the MAC Address mac[5] = 0xkl; // 6th octet of the MAC Address for (i=1; i<=16; i++) memcpy(&toSend[i*6] &mac 6*sizeof(unsigned char)); udpServer.sin_family = AF_INET; // Broadcast address udpServer.sin_addr.s_addr = inet_addr('10.89.255.255'); udpServer.sin_port = htons(9); sendto(udpSocket &toSend sizeof(unsigned char) * 102 0 (struct sockaddr*)&udpServer sizeof(udpServer)); return 0; }
Излаз:
This program will power on the switched-off PC
whose MAC Address is used in this program (the
PC and the Host computer must be connected over
LAN).
Референца:
хттпс://ен.википедиа.орг/вики/Ваке-он-ЛАН