czwartek, 9 kwietnia 2015

Bazy Danych



Baza danych to zbiór informacji zapisanych w ściśle określony sposób w strukturach odpowiadających założonemu modelowi danych. W potocznym ujęciu obejmuje dane oraz program komputerowy wyspecjalizowany do gromadzenia i przetwarzania tych danych. Program taki (często zestaw programów) nazywany jest „Systemem zarządzania bazą danych” (ang.Data Base Management System, DBMS). Inaczej, baza danych oznacza zbiór danych, opisujący pewien wybrany fragment rzeczywistości. Przykładowo bazą danych może być zbiór danych banku na temat klientów, ich rachunków, operacji na rachunkach, udzielanych kredytach.

System Zarządzania Bazą Danych (SZBD) to oprogramowanie, którego podstawowym zadaniem jest kontrola organizacji, przechowywania i zarządzania danymi zgromadzonymi w bazie danych. Pozwala to na:
  •  łatwy dostęp do danych (dane są zorganizowane w struktury
  • jednoczesny dostęp do danych przez wielu użytkowników (architektura klient-serwer, transakcje)
  • zmianę istniejących danych (dodawanie, usuwanie, edycja)
  •  kontrolę dostępu do danych (autoryzacja, ograniczenie dostępu)
  • bezpieczeństwo danych (archiwizacja, logowanie)
Każdy system zarządzania bazą danych można podzielić na trzy podstawowe elementy: język  modelowania, strukturę danych, język zapytań do bazy danych oraz mechanizm transakcji.

Język modelowania opisuje schemat komunikacji dla wszystkich baz związanych z danym SZBD. Obecnie najbardziej popularny jest model relacyjny, w którym dane przechowywane są w tabelach składających się z wierszy i kolumn. Innymi typami modeli są: model powiązań, hierarchiczny oraz obiektowy. Jeden system zarządzania bazą danych może obsługiwać jeden bądź wiele modeli.

Struktura danych określa sposób przechowywania danych (kolumn, wierszy, plików, obiektów) w systemie.

Język zapytań do bazy danych umożliwia interakcję z bazą danych, analizę i zmianę istniejących danych. Obecnie najbardziej popularnym językiem zapytań jest SQL obsługiwany przez większość popularnych systemów zarządzania bazą danych.

Mechanizm transakcji zapewnia integralność danych w warunkach jednoczesnej pracy wielu użytkowników oraz w przypadku zaistniałych błędów, np. przerwania połączenia z bazą.


  •  Kartotekowe - W bazach kartotekowych każda tablica danych jest samodzielnym dokumentem i nie może współpracować z innymi tablicami. Z baz tego typu korzystają liczne programy typu: książka telefoniczna, książka kucharska, spisy książek, kaset i inne. Wspólną cechą tych baz jest ich zastosowanie w jednym wybranym celu.
  •   Bazy Relatywne – w tym typie wiele tablic danych może współpracować ze sobą (są między sobą powiązane). Bazy relacyjne posiadają wewnętrzne języki programowania, wykorzystujące zwykle SQL do operowania na danych, za pomocą których tworzone są zaawansowane funkcje obsługi danych. Relacyjne bazy danych (jak również przeznaczony dla nich standard SQL) oparte są na kilku prostych zasadach:
    •  Wszystkie wartości danych oparte są na prostych typach danych.
    • Wszystkie dane w bazie relacyjnej przedstawiane są w formie dwuwymiarowych tabel (w matematycznym żargonie noszących nazwę „relacji”). Każda tabela zawiera zero lub więcej wierszy (w tymże żargonie – „krotki”) i jedną lub więcej kolumn („atrybutów”). Na każdy wiersz składają się jednakowo ułożone kolumny wypełnione wartościami, które z kolei w każdym wierszu mogą być inne.
    •  Po wprowadzeniu danych do bazy, możliwe jest porównywanie wartości z różnych kolumn, zazwyczaj również z różnych tabel, i scalanie wierszy, gdy pochodzące z nich wartości są zgodne. Umożliwia to wiązanie danych i wykonywanie stosunkowo złożonych operacji w granicach całej bazy danych.
    • Wszystkie operacje wykonywane są w oparciu o algebrę relacji, bez względu na położenie wiersza tabeli. Nie można więc zapytać o wiersze, gdzie (x=3) bez wiersza pierwszego, trzeciego i piątego. Wiersze w relacyjnej bazie danych przechowywane są w porządku zupełnie dowolnym – nie musi on odzwierciedlać ani kolejności ich wprowadzania, ani kolejności ich przechowywania.
    •   Z braku możliwości identyfikacji wiersza przez jego pozycję pojawia się potrzeba obecności jednej lub więcej kolumn niepowtarzalnych w granicach całej tabeli, pozwalających odnaleźć konkretny wiersz. Kolumny te określa się jako „klucz podstawowy” (ang. primary key) tabeli.



  •   Rekord - w bazie danych jest konstrukcją analogiczną do rekordu w języku programowania. Posiada strukturę wewnętrzną — podział na pola o określonym typie. Rekordem może być wiersz pliku tekstowego, a pola mogą być określone poprzez pozycję w wierszu lub oddzielane separatorami. W relacyjnych bazach danych rekord to jeden wiersz w tabeli, czyli jedna krótka w relacji. Podczas przetwarzania wyników zapytań do bazy danych, które mogą zawierać połączone dane z kilku tabel, pojedynczy wiersz również jest nazywany rekordem. W niektórych językach (np. Pascal) można definiować interfejsy do operowania na plikach na poziomie rekordów; wtedy cały plik jest traktowany jak zbiór rekordów, a czytanie i pisanie realizowane jest całymi rekordami.
  •  Pole rekordu – jest to najmniejsza część wyżej opisanego rekordu, która przechowuje jedną daną.
  • Klucze - Zadaniem klucza podstawowego jest zapewnienie unikalności, zapewnienie że kolumny klucza nie zawierają wartości pustych, możliwości identyfikacji rekordu w bazie danych, jak i szybszego wyszukania interesującego nas rekordu.

  • Kwerendy stanowią podstawowe narzędzie baz danych, które może spełniać wiele różnych funkcji. Najczęściej są one używane do pobierania określonych danych z tabel. Często dane, które mają być pobrane, znajdują się w kilku tabelach — kwerendy pozwalają przeglądać takie dane w jednym arkuszu danych. Poza tym nie zawsze jest konieczne wyświetlanie wszystkich rekordów, dlatego przy użyciu kwerend można określać odpowiednie kryteria „filtrowania” danych, aby uzyskać dostęp tylko do potrzebnych rekordów. Kolejnym zastosowaniem kwerend jest dostarczanie danych dla formularzy i raportów. Niektóre kwerendy umożliwiają edytowanie danych w tabelach źródłowych za pomocą arkusza danych kwerendy. W przypadku używania kwerend aktualizujących należy pamiętać, że zmiany zostaną wprowadzone w tabelach, a nie tylko w arkuszu danych kwerendy. Istnieją dwa podstawowe typy kwerend: kwerendy wybierające i kwerendy funkcjonalne. Kwerenda wybierająca pobiera dane i udostępnia je. Można wyświetlić wyniki takiej kwerendy na ekranie, wydrukować je lub skopiować do schowka. Wyniki kwerendy mogą też posłużyć jako źródło rekordów dla formularza lub raportu. Kwerenda funkcjonalna, jak wskazuje jej nazwa, służy do wykonywania zadań związanych z danymi. Kwerendy funkcjonalne umożliwiają tworzenie nowych tabel, dodawanie danych do istniejących tabel oraz aktualizowanie i usuwanie danych.
  • Formularz - Formularze są też określane jako „ekrany wprowadzania danych”. Stanowią one interfejs do pracy z danymi i często zawierają przyciski umożliwiające wykonywanie różnych poleceń. Można utworzyć bazę danych bez korzystania z formularzy, edytując dane w arkuszach danych tabel. Większość użytkowników baz danych woli jednak używać formularzy do przeglądania, wprowadzania i edytowania danych przechowywanych w tabelach. Formularze usprawniają pracę z danymi, udostępniając łatwy w użyciu interfejs, a także umożliwiając dodawanie elementów funkcjonalnych, takich jak przyciski poleceń. Po odpowiednim zaprogramowaniu przyciski umożliwiają określanie danych wyświetlanych w formularzu, otwieranie innych formularzy lub raportów oraz wykonywanie wielu innych zadań. Przykładem może być formularz o nazwie „Formularz klienta” służący do pracy z danymi klienta. Taki formularz może zawierać przycisk otwierający formularz zamówienia, który pozwala wprowadzić nowe zamówienie dla danego klienta. Dzięki formularzom można określać sposoby interakcji użytkowników z danymi zawartymi w bazie danych. Można na przykład utworzyć formularz wyświetlający tylko wybrane pola i udostępniający tylko określone operacje. Ułatwia to ochronę i poprawne wprowadzanie danych.
  •  Raporty służą do podsumowywania i wyświetlania danych zawartych w tabelach. Zazwyczaj raport umożliwia odpowiedź na określone pytanie dotyczące danych, na przykład „Ile pieniędzy otrzymaliśmy od poszczególnych klientów w tym roku?” lub „W jakich miastach mają swoje siedziby nasi klienci?” Każdy raport można sformatować w sposób zwiększający czytelność danych. Raport można uruchomić w dowolnym momencie, przy czym zawsze będzie on odzwierciedlał bieżące dane znajdujące się w bazie danych. Raporty są zazwyczaj formatowane z myślą o ich drukowaniu, ale można też wyświetlać je na ekranie, eksportować do innych programów lub wysyłać jako wiadomości e-mail.

poniedziałek, 30 marca 2015

Grafika Komputerowa

1. Rozwój grafiki komputerowej
'50 - pierwsze monitory graficzne
1962 - sketchpad (Ivan Sutherland)
1964 - Algorytmy graficzne (Uniwersytet w Utah)
1969 - Evans&Sutherland (SIGGRAPH (ACM) )
1974 - Laboratorium graficzne (NY Institute of Technology)
1982 - TRON StarTrek
1983 - Fraktale
1984 - Metoda energetyczna (radiosity)
1995 - Toy Story
2001 - Photon Mapping (mapowanie fotonowe)

2.Przykłady zastosowania grafiki komputerowej:
-Interfejs użytkownika
-wykresy w biznesie, nauce i technologii
-medycyna, np. tomografia, diagnostyka medyczna
-kreślenie i projektowanie wspomagane komputerowo
-symulacja i animacja dla wizualizacji naukowej i rozrywki
-przemysł filmowy
-wizualizacja w symulatorach lotu

3. Podział grafiki komputerowej
-rastrowa (zbudowana z pikseli)
-wektorowa (obraz zbudowany z prostokątnej siatki tworzony z łuków geometrycznych i linii)

voxel - pixel przestrzenny
DPI - ilość pikseli na daną matrycę (ilość pixeli na calu)

b) pod względem charakteru przetwarzanych danych - grafika
-2D
-2,5D(grafika z cieniem)
-3D
c) pod względem cyklu, sposobu generacji obrazu
-nieinterakcyjna
-interakcyjna
-czasu rzeczywistego

4. Sposób reprezentacji danych w programach komputerowych

Grafika wektorowa
Obrazy składają się nie tylko z wektorów (odcinków), ale innych figur geometrycznych.  Zapamiętywane są charakterystyczne dla danych figur dane (parametry), np. dla okręgu będzie to środek i promień, dla odcinka współrzędne punktów kontrolnych. Program, jeśli musi narysować obraz na urządzeniu (rastrowym lub wektorowym), na podstawie posiadanych danych wygeneruje obraz tych figur. Można dowolnie powiększyć obrazy, bez utraty jakości.


Grafika rastrowa (bitmapowa) Do zapamiętania obrazu rastrowego potrzebna jest dwuwymiarowa tablica pikseli nazywana powszechnie bitmapą. Nazwa wzięła się stąd, że początkowo były rozpowszechnione systemy wyświetlające obrazy czarno-białe, więc w takim przypadku pojedynczy piksel mógł być opisany przez jeden bit. Jednak gdy powszechniejsza stała się grafika kolorowa, piksele zaczęły być opisywane więcej niż jednym bitem.  Piksel - najmniejszy, niepodzielny element obrazu o stałej barwie. Najmniejszy punkt ekranu lub obrazu. Słowo powstałe jako zlepek angielskich picture oraz element.
Rozdzielczość - rozmiar obrazka podany ilością pikseli w jego szerokości i wysokości.


DPI, PPI, LPI


  • Ilość pikseli (kropek, punktów, linii) na jednostkę długości (cal) - dots/points/lines per inch
  • Określa ile punktów będzie miał obraz w swojej szerokości.
  • Określenie stosowane głównie w przypadku urządzeń typu skaner, drukarka, ploter.
Voxele (woksele) - obiekt jest budowany z elementarnych sześcianów (trójwymiarowych pikseli). Tego rodzaju reprezentacja jest rozpowszechniona szczególnie w diagnostyce medycznej, gdzie uzyskuje się szereg przekrojów (obrazów bitmapowych) ciała pacjenta i na ich podstawie tworzy trójwymiarowe modele. Obrazy stanowią przestrzenne rozłożenie natężenia napromieniowania na płaszczyźnie.



Barwy chromatyczne (barwy kolorowe) - wszystkie kolory, w których można wyróżnić dominantę, choćby niewielką, jakiejś barwy - są to wszystkie kolory prócz czerni, bieli i wszystkich szarości.
Barwy achromatyczne (barwy niekolorowe) - wszystkie barwy nie posiadające dominanty barwnej - kolory: biały, czarny oraz wszystkie stopnie szarości.
Kolory dopełniające:
czerwony ------ zielony niebieski ------ pomarańczowy fioletowy ------ żółty


Czemu patrzysz żabko zielona na głupiego fanfarona (czerwony, pomarańczowy, żółty, zielony, niebieski, fioletowy)

Modele barw:

Model RGB wykorzystywany jest tam, gdzie źródłem barwy jest światło.
Model CMY - substraktywna synteza kolory. Do opisu kolorów uzyskanych z urządzeń pasywnych, takich jak drukarki czy plotery, stosuje się model CMY, oparty na kolorach: Cyan (turkusowym), Magenta (purpurowym) oraz Yellow (żółtym).

CMYK - to samo co CMY + kolor czarny! (wydruk)

Model HSB oznaczany też jako HSV. Nazwa z ang. Hue Saturation Value/Brightness - model opisu przestrzeni barw zaproponowany w 1978 roku przez Alveya Raya Smitha. Tłumacząc na polski - odcień (spektrum), nasycenie, wartość/jasność.

HTML

HTML pozwala opisać strukturę informacji zawartych wewnątrz strony internetowej, nadając znaczenie poszczególnym fragmentom tekstu – formując hiperłącza, akapity, nagłówki, listy – oraz osadza w tekście dokumentu obiekty plikowe np. multimedia bądź elementy baz danych np. interaktywne formularze danych.
HTML umożliwia określenie wyglądu dokumentu w przeglądarce internetowej. Do szczegółowego opisu formatowania akapitów, nagłówków, użytych czcionek i kolorów, zalecane jest wykorzystywanie kaskadowych arkuszy stylów.
W składni HTML wykorzystuje się pary znaczników umieszczone w nawiasach ostrokątnych, np. <title> i </title> lub <h1> i </h1>.
HTML pozwala również na osadzanie ciągów instrukcji języków skryptowych, umieszczonych pomiędzy znacznikami <script> i </script>
Należy nadmienić, że HTML, będąc językiem znaczników, nie jest zaliczany do języków programowania – w jego składni nie przewidziano wyrażeń obliczeniowych, warunkowych czy iteracyjnych.
Ważną cechą HTML-a, która przyczyniła się do popularności systemu WWW oraz Internetu, jest niezależność od systemu operacyjnego i wykorzystywanego sprzętu komputerowego.

Prosty przykład strony WWW w HTML-u z ustawieniem języka polskiego:
<!doctype html>
 
<html lang="pl" dir="ltr">
 
<head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
    <title>Tytuł strony</title>
</head>
 
<body>
    <h1>Nagłówek pierwszego poziomu</h1>
    <p>
    Akapit (z ang. paragraph)<br />
    i jeszcze trochę tekstu w następnym wierszu<br />
    a to jest <a href="http://pl.wikipedia.org">link do Wikipedii</a>.
    </p>
</body>
 
</html> 
 
Aby obejrzeć powyższy dokument w przeglądarce, należy go zapisać z rozszerzeniem .html (bądź innym, które na naszym komputerze zostanie przedstawione przeglądarce jako text/html np. .htm) i po prostu otworzyć.
Powinien się wyświetlić tekst:
Nagłówek pierwszego poziomu
Akapit (z ang. paragraph)
i jeszcze trochę tekstu w następnym wierszu
a to jest link do Wikipedii.

poniedziałek, 13 października 2014

Antywirusy i programy złośliwe

Złośliwe oprogramowanie – wszelkie aplikacje, skrypty itp. mające szkodliwe, przestępcze lub złośliwe działanie w stosunku do użytkownika komputera.
Do złośliwego oprogramowania należą:
  • Wirus – program lub fragment wrogiego wykonalnego kodu, który dołącza się, nadpisuje lub zamienia inny program w celu reprodukcji samego siebie bez zgody użytkownika. Ze względu na różne rodzaje infekcji wirusy dzielą się na:
    • wirusy gnieżdżące się w sektorze rozruchowym twardego dysku
    • wirusy pasożytnicze
    • wirusy wieloczęściowe
    • wirusy towarzyszące
    • makrowirus
  • Robaki  – złośliwe oprogramowanie podobne do wirusów, rozmnażające się tylko przez sieć. W przeciwieństwie do wirusów nie potrzebują programu „żywiciela”. Często powielają się pocztą elektroniczną.
  • Wabbit – program rezydentny nie powielający się przez sieć. Wynikiem jego działania jest jedna określona operacja, np. powielanie tego samego pliku aż do wyczerpania zasobów pamięci komputera.
  • Trojan – nie rozmnaża się jak wirus, ale jego działanie jest równie szkodliwe. Ukrywa się pod nazwą lub w części pliku, który użytkownikowi wydaje się pomocny. Oprócz właściwego działania pliku zgodnego z jego nazwą, trojan wykonuje operacje w tle szkodliwe dla użytkownika, np. otwiera port komputera, przez który może być dokonany atak włamywacza (hakera).
  • Backdoor – przejmuje kontrolę nad zainfekowanym komputerem, umożliwiając wykonanie na nim czynności administracyjnych, łącznie z usuwaniem i zapisem danych. Podobnie jak trojan, backdoor podszywa się pod pliki i programy, z których często korzysta użytkownik. Umożliwia intruzom administrowanie systemem operacyjnym poprzez Internet. Wykonuje wtedy zadania wbrew wiedzy i woli ofiary.
  • Programy szpiegujące – oprogramowanie zbierające informacje o osobie fizycznej lub prawnej bez jej zgody, jak informacje o odwiedzanych witrynach, hasła dostępowe itp. Występuje często jako dodatkowy i ukryty komponent większego programu, odporny na usuwanie i ingerencję użytkownika. Programy szpiegujące mogą wykonywać działania bez wiedzy użytkownika – zmieniać wpisy do rejestru systemu operacyjnego i ustawienia użytkownika. Program szpiegujący może pobierać i uruchamiać pliki pobrane z sieci.
  • Exploit – kod umożliwiający bezpośrednie włamanie do komputera ofiary, do dokonania zmian lub przejęcia kontroli wykorzystuje się lukę w oprogramowaniu zainstalowanym na atakowanym komputerze. Exploity mogą być użyte w atakowaniu stron internetowych, których silniki oparte są na językach skryptowych (zmiana treści lub przejęcie kontroli administracyjnej), systemy operacyjne (serwery i końcówki klienckie) lub aplikacje (pakiety biurowe, przeglądarki internetowe lub inne oprogramowanie).
  • Rootkit – jedno z najniebezpieczniejszych narzędzi hackerskich. Ogólna zasada działania opiera się na maskowaniu obecności pewnych uruchomionych programów lub procesów systemowych (z reguły służących hackerowi do administrowania zaatakowanym systemem). Rootkit zostaje wkompilowany (w wypadku zainfekowanej instalacji) lub wstrzyknięty w istotne procedury systemowe, z reguły jest trudny do wykrycia z racji tego, że nie występuje jako osobna aplikacja. Zainstalowanie rootkita jest najczęściej ostatnim krokiem po włamaniu do systemu, w którym prowadzona będzie ukryta kradzież danych lub infiltracja.
  • Keylogger – Odczytuje i zapisuje wszystkie naciśnięcia klawiszy użytkownika. Dzięki temu adresy, kody, cenne informacje mogą dostać się w niepowołane ręce. Pierwsze programowe keyloggery były widoczne w środowisku operacyjnym użytkownika. Teraz coraz częściej są procesami niewidocznymi dla administratora. Istnieją też keyloggery występujące w postaci sprzętowej zamiast programowej.
  • Dialery – programy łączące się z siecią przez inny numer dostępowy niż wybrany przez użytkownika, najczęściej są to numery o początku 0-700 lub numery zagraniczne. Dialery szkodzą tylko posiadaczom modemów telefonicznych analogowych i cyfrowych ISDN, występują głównie na stronach o tematyce erotycznej.
Program antywirusowy  – program komputerowy, którego celem jest wykrywanie, zwalczanie i usuwanie wirusów komputerowych. Współcześnie najczęściej jest to pakiet programów chroniących komputer przed różnego typu zagrożeniami.
Programy antywirusowe często są wyposażone w dwa niezależnie pracujące moduły:
  • skaner – bada pliki na żądanie lub co jakiś czas; służy do przeszukiwania zawartości dysku
  • monitor – bada pliki ciągle w sposób automatyczny; służy do kontroli bieżących operacji komputera


środa, 8 października 2014

Protokoły sieciowe

Protokół - to zbiór procedur oraz reguł rządzących komunikacją, między co najmniej dwoma urządzeniami sieciowymi. Istnieją różne protokoły, lecz nawiązujące w danym momencie połączenie urządzenia muszą używać tego samego protokołu, aby wymiana danych pomiędzy nimi była możliwa.
W celu komunikacji między różnymi protokołami wykorzystuje łącza (ang. gateway) - czyli urządzenia, które tłumaczącą rozkazy jednego protokołu na drugi. Należy pamiętać, że używanie łącz może spowolnić w znacznym stopniu komunikację pomiędzy systemami. Kolejnym rozwiązaniem może być skonfigurowanie komputerów w taki sposób, by wykorzystywały kilka protokołów równocześnie, jednak i to rozwiązanie może prowadzić do dodatkowego obciążania sieci.

Podstawowe protokoły sieciowe:
  • HTTP (ang. Hypertext Transfer Protocol – protokół przesyłania dokumentów hipertekstowych) to protokół sieci WWW (ang. World Wide Web). Zadaniem stron WWW jest publikowanie informacji – natomiast protokół HTTP właśnie to umożliwia.
    Protokół HTTP jest użyteczny, ponieważ udostępnia znormalizowany sposób komunikowania się komputerów ze sobą. Określa on formę żądań klienta (tj. np. przeglądarki www) dotyczących danych oraz formę odpowiedzi serwera na te żądania.
  • HTTPS (ang. HyperText Transfer Protocol Secure) to szyfrowana wersja protokołu HTTP. Zamiast używać w komunikacji klient-serwer niezaszyfrowanego tekstu, szyfruje go za pomocą protokołu SSL. Zapobiega to przechwytywaniu i zmienianiu przesyłanych danych.
  • FTP  File Transfer Protocol – protokół transferu plików – protokół komunikacyjny typu klient-serwer wykorzystujący protokół TCP według modelu TCP/IP (krótko: połączenie TCP), umożliwiający dwukierunkowy transfer plików w układzie serwer FTP – klient FTP. W sieciach chronionych zaporą sieciową ( firewall) komunikacja z serwerami FTP wymaga zwolnienia odpowiednich portów na zaporze sieciowej lub routerze. Możliwe jest zainstalowanie wielu serwerów FTP na jednym routerze. Warunkiem jest rozdzielenie portów przez router dla każdego serwera. 
  • SMTP  Simple Mail Transfer Protocol – protokół komunikacyjny opisujący sposób przekazywania poczty elektronicznej w Internecie.  SMTP to względnie prosty, tekstowy protokół, w którym określa się co najmniej jednego odbiorcę wiadomości (w większości przypadków weryfikowane jest jego istnienie), a następnie przekazuje treść wiadomości. 
  • DNS (ang. Domain Name Service) - protokół używany w sieci Internet obsługujący system nazywania domen. Umożliwia on nadawanie nazw komputerom, które są zrozumiałe i łatwe do zapamiętania dla człowieka, tłumacząc je na adresy IP. Nazywany czasem usługą BIND (BSD UNIX), DNS oferuje hierarchiczną, statyczną usługę rozróżniania nazw hostów. Administratorzy sieci konfigurują DNS używając listę nazw hostów oraz adresów IP. DNS nie posiada centralnego repozytorium przechowującego adresy IP maszyn w sieci. Dane dotyczące tych adresów dzielone są między wiele komputerów, zwanych serwerami DNS (nazw domenowych), które są zorganizowane hierarchicznie w formie drzewa. Początek drzewa nazywany jest korzeniem. Nazwy najwyższego poziomu składają się z dwuliterowych domen narodowych opartych na zaleceniach ISO 3166 (wyjątek stanowi brytyjska domen uk). Nadrzędna domena narodowa w Polsce oznaczona jest przez pl. Jeżeli chodzi o domeny trzyliterowe, ich znaczenie jest następujące:
    1. com - organizacje komercyjne
    2. gov - agencje rządowe
    3. edu - instytucje edukacyjne
    4. mil - organizacje wojskowe
    5. org - pozostałe organizacje.
    6. net - organizacje, których działalność dotyczy sieci komputerowych
  •  DHCP (ang. Dynamic Host Configuration Protocol) - to standardowy protokół przydzielający adresy IP poszczególnym komputerom. Serwer DHCP przypisuje adresy IP poszczególnym końcówkom.