Közművelődés, kultúra, oktatás, könyvtár, pedagógia, műszaki informatika, számítástechnika
2020. szeptember 18., péntek
2020. szeptember 17., csütörtök
Tkinter grafikus könyvtár használata
A program elemzése:
Könnyű olyan Python modulokat létrehozni, amik scripteket, függvénydefiníciókat,
objektumosztályokat, stb. tartalmaznak. Ezeket a modulokat vagy teljes egészükben, vagy
részben bármely programba importálhatjuk. Ezt tesszük példánk elsĘ sorában : a
from Tkinter import *
importálja a Tkinter modulban lévĘ valamennyi osztályt.
Egyre gyakrabban kell osztályokról (class-okról) beszélnünk. A programozásban így
nevezzük az objektum generátorokat, amik újra felhasználható programrészletek.
Példánk második sorában :
ablak1 = Tk()
a Tkinter modul Tk() osztályát használjuk és annak egy példányát (egy objektumát) hozzuk
létre az ablak1 -et.
Számológép készítése
Készítsük el az itt látható ablakot!
Az ablak négy alapmĦveletes számológépként mĦködjön!
# -*- coding: ISO-8859-2 -*-
from Tkinter import *
def osszead():
x = eval(mezo1.get())
y = eval(mezo2.get())
z = x + y
mezo3.delete(0,END)
mezo3.insert(0,'Eredmény: '+str(z))
def kivon():
x = eval(mezo1.get())
y = eval(mezo2.get())
z = x - y
mezo3.delete(0,END)
mezo3.insert(0,'Eredmény: '+str(z))
def szoroz():
x = eval(mezo1.get())
y = eval(mezo2.get())
z = x * y
mezo3.delete(0,END)
mezo3.insert(0,'Eredmény: '+str(z))
def oszt():
x = eval(mezo1.get())
y = eval(mezo2.get())
z = x / y
mezo3.delete(0,END)
mezo3.insert(0,'Eredmény: '+str(z))
ablak1 = Tk()
mezo1 = Entry(ablak1)
mezo1.pack()
mezo2 = Entry(ablak1)
mezo2.pack()
gomb1 = Button(ablak1, text='Összeadás', command=osszead)
gomb1.pack()
gomb2 = Button(ablak1, text='Kivonás', command=kivon)
gomb2.pack()
gomb3 = Button(ablak1, text='Szorzás', command=szoroz)
gomb3.pack()
gomb4 = Button(ablak1, text='Osztás', command=oszt)
gomb4.pack()
mezo3 = Entry(ablak1)
mezo3.pack()
gomb5 = Button(ablak1, text='Kilépés', command = ablak1.destroy)
gomb5.pack()
ablak1.mainloop()
A Tkinter widget-osztályai
Apránként meg fogunk ismerkedni néhány widget használatával. Azokra a widget-ekre
fogunk szorítkozni, amelyek módszertani szempontból a legérdekesebbnek tĦnnek
A Tkinter widget-eknek 15 alaposztálya létezik :
Button Klasszikus nyomógomb, valamilyen utasítás végrehajtásának az elĘidézésére
használják.
Canvas KülönbözĘ grafikus elemek elhelyezésére szolgáló felület. Rajzolásra, grafikus
szerkesztĘk létrehozására és testre szabott widget-ek implementálására is
használhatjuk.
Checkbutton Egy jelölĘnégyzet, aminek két különbözĘ állapota lehet (a négyzet ki van jelölve
vagy nincs kijelölve). Egy klikkelés a widgeten állapotváltozást idéz elĘ.
Entry Adatbeviteli mezĘ, amibe a felhasználó bármilyen szöveget beírhat.
Frame
Egy téglalap alakú felület az ablakban, ahova más widget-eket tehetünk. Ez a
felület színes lehet. Szegélye is lehet.
Label Valamilyen szöveg (vagy címke) (esetleg egy kép).
Listbox A felhasználónak - általában valamilyen doboz formájában - felajánlott
választéklista. A Listbox-ot úgy is konfigurálhatjuk, hogy vagy egy rádiógomb
vagy egy jelölĘnégyzet sorozatot tartalmazzon.
Menu Menü. Lehet címsorhoz kapcsolódó legördülĘ menü, vagy egy kattintás után
akárhol feljövĘ úszó popup menü.
Menubutton Menügomb, amit legördülĘ menük implementálására használnak.
Message Szöveg kiírását teszi lehetĘvé. A Label widget egy változata, ami lehetĘvé teszi,
hogy a kiírt szöveg automatikusan egy bizonyos mérethez, vagy
szélesség/magasság arányhoz igazodjon.
Radiobutton (Egy fekete pont egy kis körben.) Egy változó lehetséges értékeit reprezentálja.
Az egyik rádiógombra való kattintás az annak megfelelĘ értéket adja a
változónak.
Scale
Egy kurzornak egy skála mentén való mozgatásával teszi láthatóvá egy változó
értékének a változtatását.
Scrollbar A görgetĘ sort más widget-ekhez (Canvas, Entry, Listbox, Text) kapcsolva
használhatjuk.
Text Formázott szöveg kiírása. A felhasználónak is lehetĘvé teszi a kiírt szöveg
formázását. Képeket is be lehet szúrni.
Toplevel Egy külön, felülre kiírt ablak.
Mindegyik widget-osztály-nak számos beépített metódusa van. Kapcsolhatunk hozzájuk
eseményeket is, amint azt az elĘ]Ę oldalakon láttuk. Többek között meg fogjuk tanulni, hogy
ezeket a widget-eket a grid(), a pack() és a place() metódusok segítségével pozícionálhatjuk
az ablakokban.
Ezeknek a módszereknek a haszna akkor válik nyilvánvalóvá, amikor megpróbálunk
portábilis programokat írni (vagyis olyanokat, amik képesek különbözĘ operációs
rendszereken – mint a Unix, MacOS vagy Windows - futni), amiknek az ablakai
átméretezhetĘek.
A grid() metódus alkalmazása widget-ek
pozícionálására
Eddig mindig a pack() metódus segítségével helyeztük el a widget-eket az ablakukban.
Ennek a metódusnak a rendkívüli egyszerĦség az elĘnye, azonban nem ad túl sok szabadságot
a widget-ek kedvünk szerinti elrendezéséhez.
Feladat – Mintaablak2
Készítsük el az itt látható ablakot!
# -*- coding: ISO-8859-2 -*-
from Tkinter import *
abl1 = Tk()
txt1 = Label(abl1, text = 'ElsĘ mezĘ :')
txt2 = Label(abl1, text = 'Második :')
mezo1 = Entry(abl1)
mezo2 = Entry(abl1)
txt1.pack(side =LEFT)
txt2.pack(side =LEFT)
mezo1.pack(side =LEFT)
mezo2.pack(side =LEFT)
abl1.mainloop()
Tkinter segítségével Pythonban írt alkalmazásainknak könnyedén varázsolhatunk egyszerûen kezelhetõ grafikus felületet, mely – a Pythonnak köszönhetõen –nemcsak Linux alatt, de Windowson vagy bármely Python által támogatott felületen elérhetõ, és a már megírt kód változtatás nélkül bárhol lefut. Mindemellett az egyes felületeken programjaink is egységesen néznek ki, eltekintve a betûtípusok miatt kialakuló különbségektõl. A Tkinter a grafikus felületek elkészítéséhez a Tcl/Tk-t hívja segítségül. Mint a legtöbb Python-bõvítmény, a Tcl/Tk-hoz kapcsolódó Tkinter is C-alapokra épül. Megvalósítási szinten a Tkinter két rétegre bontható: a C-ben írt _tkinter programkönyvtárra, valamint a már pythonban írt Tkinter.py-re és az ehhez kapcsolódó egyéb Python modulokra. A _tkinter kapcsolja
össze a Python-modulokat a Tcl/Tkval, de a programozó elõl ezt a réteget teljesen elrejti a Python.py,
azaz az egyetlen olyan modul, melyet a tkinteres alkalmazásaink fejlesztéséhez valóban ismernünk kell.
A Tkinter felépítése A Tkinter felépítése, ellentétben egyéb GUI-rendszerek osztályrendszereivel, nagyon egyszerû. A szerkezetben a GUI-elemek egy úgynevezett alapelemre (basewidget) épülnek, amelyhez az elemek elhelyezéséért felelõs osztályok (Pack, Place és Grid), illetve a Tkinter mûködését befolyásoló egyéb osztályok Mixinként kapcsolódnak (lásd alább). A Tkinter használata Elõször is készítsük el a már jól ismert „Szia Világ!” program tkinteres változatát (1. lista). A program legelsõ sorában a Tkinterbõl használt elemeket vezetjük be a from Tkinter import Label, mainloop paranccsal. Ha korábban már foglalkoztál Pythonnal, különösnek tûnhet ez a sor. Vajon miért használjuk a from modulneve import írásmódot a már jól bevált import modulneve helyett? Nos, képzeljük csak el,
milyen fárasztó lenne, ha a programunkban minden Tkinterelemre hivatkozáskor be kellene írogatnunk, hogy az adott elem mely modulból származik. Mivel azonban a programozók kényelmes emberek, egyszerûbb megoldást találtak ki helyette, amely az adott modul névterébõl minden elemet saját programunk névterébe emel át. Bánjunk vele nagyon óvatosan, mert ezáltal minden modul minden tagfüggvénye (method) egy névtérbe kerül, és elõfordulhat, hogy egy azonos nevû, bár más feladatú tagfüggvény több modulban is megtalálható, így semmiképpen sem ajánlott több modul hasonló elvû beillesztése. Lépjünk tovább a második sorra! Ebben nincsen különösebb magyarázatra szoruló rész. A Label-lel címkét hozunk létre, benne a jól ismert szöveggel, majd a címke pack() tagfüggvényével az elemet alkalmazásunk ablakába helyezzük. Az utolsó sorban a vezérlést a felhasználónak adjuk át. A mainloop() a felhasználó és a rendszer által keltett eseményeket dolgozza fel, pontosabban ez a szolgáltatás az esetleges billentyûleütéseket „csípi el”, illetve az õ dolga az is, hogy elemeinket újrarajzolja, ha azok elõzõleg valamilyen okból takarásba kerültek. Egy fejlettebb program Mint elõzõ példánkban láttuk, pillanatok alatt létrehozhatunk olyan programot, mely a felhasználó számára adatot közöl. Igen ám, de mi történik olyankor, amikor a felhasználót nemcsak tájékoztatni szeretnénk valamirõl, hanem a véleményére is kíváncsiak vagyunk? Példánkban programunkat egy gombbal bõvítjük ki, amelyre kattintva megváltoztathatjuk az ablakban megjelenõ szöveget . Ez a program már valamivel bonyolultabb. A legfontosabb különbség, hogy ezúttal egy osztályt hoztunk létre, melynek __init__() eljárása az objektum megalkotása után önmûködõen meghívódik, s az ablakunkat, illetve az abban megjelenõ gombot ez az __init__() eljárás hozza létre. A gombon kezdetben a megszokott „Szia Világ!” szöveg található, majd ha rákattintunk, programunk Guidó-nak, a Python megalkotójának köszön. A program legelsõ sorában bevezetjük a Tkinter-modul összes elemét. Ezt követõen a futás a 13. sorra ugrik, ahol azt vizsgáljuk, vajon mi is csak egy modul vagyunk-e vagy pedig önálló programként futunk. Ha önállóak vagyunk, osztályunkat létrehozva annak mainloop() eljárását nekünk kell meghívnunk. A mainloop()-ot ebben az esetben a Fra me-osztálytól örököljük – errõl nem elfeledkezve hívjuk meg szülõosztályunk __init__() eljárását is (még a mainloop() elõtt). A 7. sorban egy gombot hozunk létre, és az ezt követõ két sorban ennek ulajdonságait módosítjuk, végül a pack() eljárással életre is keltjük. A 9. sorban azt állítjuk be, mi történjen, amikor valaki a gombunkra kattint. Esetünkben ilyenkor osztályunk hello_callback() eljárása hívódik meg. Ez az eljárás – talán már feltûnt – a programból közvetlenül sehol sem hívódik meg, e feladatot a mainloop()-ra bízták. Ha valaki a gombon kattint, egy esemény keletkezik, amelyet a mainloop() kap el, és az adott elemhez tartozó command tulajdonságból kiemeli, milyen eljárást kell ilyenkor hívnia. Fontos tehát, hogy lássuk: az __init__() eljárás még a mainloop() elõtt hajtódik végre, a hello_callback() eljárást viszont már a mainloop() hívja meg.
http://hu.dumkakvit.com/symbol/hu.python_1.html
Python faltenisz
from Tkinter import *
# Faltenisz
class PApp
(Frame):
def __init__(self, master=None):
Frame.__init__(self,master)
Pack.config(self)
self.s=0 # Score
self.x=280 # Ball
self.y=5
self.vx=4 #Ball speed
self.vy=4 #Ball speed
self.px=250 #Player
self.py=0
self.w()
self.after(10, self.moveBall)
def w(self):
self.l=Canvas(self,bg='yellow', width="300",heigh="220")
self.l.pack()
self.m=Label(self,relief='groove', text="",anchor="w")
self.m.pack(side='top',fill="x")
self.player= self.l.create_rectangle(self.px, self.py, self.px + 7, self.py + 30,
{"fill" : 'black',"tags":"p1"})
self.ball = self.l.create_rectangle(280, 5, 290, 15,
{"fill":'red',"tags":"ball"})
self.bind_all("<Up>", self.fel)
self.bind_all("<Down>", self.le)
self.bind_all("<B1-Motion>",self.Move)
self.m.configure(text="Score : "+`self.s`)
def Move(self, event):
if CURRENT <> "ball":
self.l.move(CURRENT, 0, event.y-self.py)
self.py=event.y
def fel(self, event):
self.l.move("p1", 0,-10)
self.py=self.py-10
def le(self, event):
self.l.move("p1",0,10)
self.py=self.py+10
def moveBall(self,*args):
if (self.x+10 == self.px) and (self.vx < 0) and (self.py - 11 < self.y) and (self.py + 36 > self.y):
self.s=self.s+1
self.m.configure(text ="Score : "+`self.s`)
self.vx=self.vx * -1
if (self.x < 4 )or(self.x>288) :
self.vx=-1.0 * self.vx
if (self.y > 211) or (self.y < 4):
self.vy=-1.0 * self.vy
self.x=self.x - self.vx
self.y=self.y + self.vy
self.l.move("ball",-self.vx,self.vy )
self.after(10, self.moveBall)
if __name__=='__main__':
# root = Tk()
app = PApp()
app.mainloop()
Blackjack program Python programozási nyelven
import os
import random
deck = [2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14]*4
def deal(deck):
hand = []
for i in range(2):
random.shuffle(deck)
card = deck.pop()
if card == 11:card = "J"
if card == 12:card = "Q"
if card == 13:card = "K"
if card == 14:card = "A"
hand.append(card)
return hand
def play_again():
again = raw_input("Do you want to play again? (Y/N) : ").lower()
if again == "y":
dealer_hand = []
player_hand = []
deck = [2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14]*4
game()
else:
print "Bye!"
exit()
def total(hand):
total = 0
for card in hand:
if card == "J" or card == "Q" or card == "K":
total+= 10
elif card == "A":
if total >= 11: total+= 1
else: total+= 11
else:
total += card
return total
def hit(hand):
card = deck.pop()
if card == 11:card = "J"
if card == 12:card = "Q"
if card == 13:card = "K"
if card == 14:card = "A"
hand.append(card)
return hand
def clear():
if os.name == 'nt':
os.system('CLS')
if os.name == 'posix':
os.system('clear')
def print_results(dealer_hand, player_hand):
clear()
print "The dealer has a " + str(dealer_hand) + " for a total of " + str(total(dealer_hand))
print "You have a " + str(player_hand) + " for a total of " + str(total(player_hand))
def blackjack(dealer_hand, player_hand):
if total(player_hand) == 21:
print_results(dealer_hand, player_hand)
print "Congratulations! You got a Blackjack!\n"
play_again()
elif total(dealer_hand) == 21:
print_results(dealer_hand, player_hand)
print "Sorry, you lose. The dealer got a blackjack.\n"
play_again()
def score(dealer_hand, player_hand):
if total(player_hand) == 21:
print_results(dealer_hand, player_hand)
print "Congratulations! You got a Blackjack!\n"
elif total(dealer_hand) == 21:
print_results(dealer_hand, player_hand)
print "Sorry, you lose. The dealer got a blackjack.\n"
elif total(player_hand) > 21:
print_results(dealer_hand, player_hand)
print "Sorry. You busted. You lose.\n"
elif total(dealer_hand) > 21:
print_results(dealer_hand, player_hand)
print "Dealer busts. You win!\n"
elif total(player_hand) < total(dealer_hand):
print_results(dealer_hand, player_hand)
print "Sorry. Your score isn't higher than the dealer. You lose.\n"
elif total(player_hand) > total(dealer_hand):
print_results(dealer_hand, player_hand)
print "Congratulations. Your score is higher than the dealer. You win\n"
def game():
choice = 0
clear()
print "WELCOME TO BLACKJACK!\n"
dealer_hand = deal(deck)
player_hand = deal(deck)
while choice != "q":
print "The dealer is showing a " + str(dealer_hand[0])
print "You have a " + str(player_hand) + " for a total of " + str(total(player_hand))
blackjack(dealer_hand, player_hand)
choice = raw_input("Do you want to [H]it, [S]tand, or [Q]uit: ").lower()
clear()
if choice == "h":
hit(player_hand)
while total(dealer_hand) < 17:
hit(dealer_hand)
score(dealer_hand, player_hand)
play_again()
elif choice == "s":
while total(dealer_hand) < 17:
hit(dealer_hand)
score(dealer_hand, player_hand)
play_again()
elif choice == "q":
print "Bye!"
exit()
if __name__ == "__main__":
game()
http://python.hu/peldaprogramok
https://www.programiz.com/python-programming/online-compiler/
2020. szeptember 16., szerda
Az alhálózati maszk fogalma
Az IP-címben a hálózat és a csomópont azonosítója az alhálózati maszk (subnet mask)
segítségével választható szét, ezért a hálózati állomások beállításakor az IP-cím mellett az
alhálózati maszkot is meg kell adni. Az IP-protokoll számára az IP-cím és az alhálózati maszk
csak együtt értelmes, mert az IP-cím mindig két részből. Az alhálózati maszk hiányában az
állomás nem tudja meghatározni az itt tartalmazó hálózat címét, ami pedig az útválasztáshoz
elengedhetetlen. (Ha nincs megadva mindkét paraméter, a Windows és a Windows 2000
operációs rendszerekben a TCP/IP-protokoll egyszerűen nem indul el.)
Az alhálózati maszk is 32-bites szám, amelyben 1-esek jelzik a hálózat, 0-k az állomási
azonosítójának IP-címbeli helyét. Az alhálózati maszk 1-esekből álló sorozattal kezdődik és
0-sorozattal ér véget. Az alhálózati maszkban 0-t nem követhet 1-es, ha mégis, az alhálózati
maszk hibás, vele a TCP/IP protokoll nem tud működni.
Példa az alhálózati maszk használatára:
IP-cím: 196.225.15.5
Alhálózati maszk: 255.255.255.0
Kettes számrendszerben:
IP-cím: 11000100 11100001 00001111 00000101
Alhálózati maszk: 11111111 11111111 11111111 00000000
A két szám bitenkénti ÉS (AND) műveletet elvégezve megkapjuk a hálózat címét:
11000100 11100001 00001111 00000000
Pontozott decimális formában: 196.225.15.0
Ha az ÉS műveletet a cím és az alhálózati maszk inverze között végezzük el, a következő
két számot használjuk:
IP-cím: 11000100 11100001 00001111 00000101
Maszk: 00000000 00000000 00000000 11111111
az állomás hálózaton belüli címét kapjuk:
00000000 00000000 00000000 00000101
Pontozott decimális formában: 0.0.0.5
Hogyan használja az IP-protokoll az alhálózati maszkot?
Amikor egy program adatokat küld a TCP/IP-hálózaton keresztül, az elküldendő adatokhoz
mellékeli a saját és a címzett IP-címét is. Ha a címzett címében a hálózati azonosítója más
mint a küldőt tartalmazó hálózat címe, a címzett csak útválasztó(ko)n keresztül érhető el.
Ezért a küldő számítógépén futó IP-protokollnak elősször azt kell megállapítania, hogy az
elküldendő csomag címzettje a helyi hálózatban van-e, ezt pedig a következőképpen teszi:
a küldő IP-címéből a küldő alhálózati maszkjának segítségével előállítja a hálózati
azonosítót
a címzett IP-címéből a küldő alhálózati maszkjával előállítja a hálózatcímet ( a címzett
alhálózati maszkjával nem rendelkezik)
a kapott két számot összehasonlítja
Ha a két szám egyezik, megkeresi a címzettet a helyi hálózatban, ha pedig nem, a csomagot
az alapértelmezés szerinti átjárónak küldi el.
Az IP-cím nem a számítógépet, hanem annak csak egy hálózati csatolóját azonosítja. Ha a
számítógépben több hálózati kártya van, minden csatolóhoz külön IP-címet kell adni.
A több csatolónak megfelelően a számítógép több különböző helyi hálózatban is részt
vehet, mindegyikben a hálózatba illő IP-címmel. Ez azonban nem jelenti azt, hogy az így
felszerelt számítógép össze is köti azokat a hálózatokat, amelyekhez csatlakozik: a különböző
hálózatokban lévő más számítógépek alapértelmezés szerint nem tudnak egymással
kommunikálni a többkártyás (multihomed) számítógép segítségével.
Az olyan, több hálózati csatolót tartalmazó berendezést, amelyek révén a róla elérhető helyi
hálózatok kommunikálni tudnak egymással, útválasztónak (router) nevezzük.
Az IP-cím az állomást (számítógépet vagy más eszközt, például egy nyomtatót vagy útválasztót) a TCP/IP-hálózaton egyedileg azonosító 32 bites szám.
Az IP-címek általában pontokkal elválasztott decimális formátumban megadott négy számból állnak, például 192.168.123.132. Annak megismeréséhez, hogy miként használhatók az alhálózati maszkok az állomások, hálózatok és alhálózatok megkülönböztetéséhez, vizsgálja meg az IP-címet bináris formátumban.
Például 192.168.123.132 pontokkal tagolt decimális IP-cím (bináris formátumban) a 32 bites szám 110000000101000111101110000100. Lehet, hogy ezt a számot nehéz megérteni, ezért négy 8 bitből álló részre osztjuk fel.
Ezek a nyolc bites szakaszok oktettként ismertek. A példában szereplő IP-cím ekkor 11000000.10101000.01111011.10000100 lesz. Ez a szám még mindig kicsit nehezen értelmezhető, ezért a legjobb eredmény érdekében konvertálja a bináris címet pontokkal elválasztott decimális formátumba (192.168.123.132). A pontokkal elválasztott decimális számok a binárisból decimális formátumba konvertált oktettek.
A nagytávolságú TCP/IP-hálózatoknál (WAN) az összekapcsolt hálózatok rendszereként történő megfelelő működés érdekében a hálózatok között csomagokat továbbító útválasztó nem ismeri annak az állomásnak a pontos helyét, amelynek az információs csomagot szánták. Az útválasztók csak azt tudják, hogy az állomás mely hálózat tagja, és az útválasztási táblában tárolt információk alapján határozzák meg, hogyan juttatható el a csomag a célállomás hálózatához. A csomag a cél hálózatához való továbbítást követően jut el a megfelelő állomáshoz.
Az eljárás működése érdekében az IP-cím két részből áll. Az IP-cím első része a hálózat címe, második része pedig az állomás címe. A 192.168.123.132 mintacím két részre osztását követően az alábbiakat kapja:
192.168.123. Network .132 Host
-vagy-
192.168.123.0 - network address. 0.0.0.132 - host address.
Alhálózati maszk
A TCP/IP működéséhez szükséges második elem az alhálózati maszk, amelynek segítségével a TCP/IP protokoll meghatározza, hogy egy állomás a helyi alhálózaton vagy egy távoli hálózaton található-e.
A TCP/IP protokollban nincsenek rögzítve a hálózati és az állomáscímként használt IP-címek részei, így a fent említett hálózati és állomáscímek csak további információk birtokában határozhatók meg. Ezt az információt biztosítja egy másik, alhálózati maszk néven ismert 32 bites szám. Ebben a példában az alhálózati maszk 255.255.255.0. A szám jelentése csak annak a tudatában nyilvánvaló, hogy a 255 bináris formátumban átírva egyenlő az 11111111 számmal. Az alhálózati maszk tehát az alábbi:
11111111.11111111.11111111.0000000
Az IP-cím és az alhálózati maszk felsorolásával elkülöníthető a címnek a hálózatra és az állomásra vonatkozó része:
11000000.10101000.01111011.10000100 -- IP address (192.168.123.132)
11111111.11111111.11111111.00000000 -- Subnet mask (255.255.255.0)
Az első 24 bit (az egyesek száma a fenti példában szereplő alhálózati maszkban) a hálózat címének azonosítójaként szolgál, az utolsó 8 bit (a fennmaradó nullák száma a példában szereplő alhálózati maszkban) pedig az állomás címének azonosítójaként. Az eredmény az alábbi:
11000000.10101000.01111011.00000000 -- Network address (192.168.123.0)
00000000.00000000.00000000.10000100 -- Host address (000.000.000.132)
Így már látható, hogy egy 255.255.255.0 alhálózati maszk esetén a hálózati azonosító 192.168.123.0, az állomás címe pedig 0.0.0.132. Amikor egy csomag érkezik a 192.168.123.0 alhálózaton (a helyi alhálózatról vagy egy távoli hálózatról), amelynek rendeltetési címe 192.168.123.132, a számítógép fogadja a hálózatról és feldolgozza azt.
Szinte az összes decimális alhálózati maszk bináris számokká alakul át, amelyek mind egyesek a bal oldalon és nullák a jobb oldalon. Gyakran használják az alábbi alhálózati maszkokat is:
Decimal Binary
255.255.255.192 1111111.11111111.1111111.11000000
255.255.255.224 1111111.11111111.1111111.11100000
Az IP-címek osztálya az első oktett megvizsgálásával azonosítható. Az alábbiakban az A, B és C internet címosztályok tartományai láthatók egy-egy mintacímmel:
Az A osztályú hálózatok egy alapértelmezett 255.0.0.0 alhálózati maszkot használnak, és az első oktettjük 0-127 lehet. A 10.52.36.11 cím egy A osztályú cím, mivel az első oktettje 10, amely az 1 és 127 (a 127-et is beleértve) közötti tartományba esik.
A B osztályú hálózatok egy alapértelmezett 255.255.0.0 alhálózati maszkot használnak, és az első oktettjük 128-191 lehet. A 172.16.52.63 cím egy B osztályú cím, mivel az első oktettje 172, amely a 128 és 191 (a 191-et is beleértve) közötti tartományba esik.
A C osztályú hálózatok egy alapértelmezett 255.255.255.0 alhálózati maszkot használnak, és az első oktettjük 192-223 lehet. A 192.168.123.132 cím egy C osztályú cím, mivel az első oktettje 192, amely a 192 és 223 (a 223-at is beleértve) közötti tartományba esik.
Néhány esetben az alapértelmezett alhálózati maszk-értékek nem teljesítik a szervezet igényeit a hálózat fizikai topológiája, illetve amiatt, hogy a hálózatok (vagy állomások) számai nem felelnek meg az alapértelmezett alhálózati maszk korlátozásainak. Az alábbi szakasz ismerteti, hogy miként oszthatók fel a hálózatok az alhálózati maszkok segítségével.
Alhálózatok
Az A, B vagy C osztályú TCP/IP-hálózatokat a rendszergazdák tovább oszthatják, vagyis alhálózatokra bonthatják. Ez az internet logikai címsémájának (az IP-címek és -alhálózatok absztrakt világának) a valós világban használt fizikai hálózatokkal való egyeztetésekor válik szükségessé.
Az IP-címterületeket kiosztó rendszergazda felügyelheti azokat a hálózatokat, amelyek nem oly módon rendezettek, hogy egyszerűen megfeleljenek ezeknek a címeknek. Tegyük fel, hogy egy nagytávolságú hálózattal rendelkezik, amelyben 150 állomás található (különböző városokban) három, TCP/IP-útválasztóval összekapcsolt hálózaton. A három hálózat mindegyikén 50 állomás található. A C osztályú hálózathoz a 192.168.123.0 cím van kiosztva. (Ez a cím szemléltetésként szolgál, és valójában egy olyan tartományból származik, amely nincs kiosztva az interneten.) Ez azt jelenti, hogy a 150 állomáshoz a 192.168.123.1 és 192.168.123.254 közötti címek használhatók.
A példában nem használható a 192.168.123.0 és a 192.168.123.255 cím, mivel a csak egyesből, illetve a csak nullából álló állomáscímrésszel rendelkező bináris címek érvénytelenek. A nulla cím érvénytelen, mert az a hálózatok megadására szolgál az állomás megadása nélkül. A 255-ös címet (bináris formátumban a csak egyeseket tartalmazó állomáscímet) az üzeneteknek a hálózat összes állomásához történő eljuttatására használják. Ne feledje, hogy a hálózatok, illetve alhálózatok első és utolsó címe nem rendelhető egyéni állomáshoz.
Ez azt jelenti, hogy 254 állomáshoz tud kiosztani IP-címeket. Ez nem gond, ha mind a 150 számítógép egyetlen hálózaton található. A 150 számítógép azonban három külön fizikai hálózaton található. Ahelyett azonban, hogy több címterületet igényelne az egyes hálózatokhoz, a hálózatot alhálózatokra oszthatja, így egyetlen címterületet több fizikai hálózathoz is felhasználhat.
Ebben az esetben az alhálózati maszk segítségével a hálózatot négy alhálózatra osztja, így a hálózati cím nagyobb, az állomáscímek lehetséges tartománya pedig kisebb lesz. Más szóval: kölcsönvesz az általában az állomáscímhez használt bitek közül néhányat, és a cím hálózati részéhez használja azokat. A 255.255.255.192 alhálózati maszk négy, egyenként 62 állomást tartalmazó hálózatot eredményez. Ez azért lehetséges, mert a 255.255.255.192 bináris formátumban egyenlő az 1111111.11111111.1111111.11000000 számmal. Az utolsó oktett első két számjegye lesz hálózati cím, így a következő hálózatokhoz jut: 00000000 (0), 01000000 (64), 10000000 (128) és 11000000 (192). (Néhány rendszergazda csak két alhálózatot használ a 255.255.255.192 cím alhálózati maszkként való alkalmazásával. Erről bővebben az 1878. számú RFC-dokumentumban tájékozódhat.) Ebben a négy hálózatban az utolsó 6 bináris szám használható az állomáscímekhez.
A 255.255.255.192 alhálózati maszk használatával a 192.168.123.0 című hálózatból ekkor a következő négy hálózat lesz: 192.168.123.0, 192.168.123.64, 192.168.123.128 és 192.168.123.192. A négy hálózat érvényes állomáscímei az alábbiak:
192.168.123.1-62
192.168.123.65-126
192.168.123.129-190
192.168.123.193-254
Ebben az esetben se feledje el, hogy a csak egyeseket, illetve csak nullákat tartalmazó bináris állomáscímek érvénytelenek, tehát nem használhat olyan címeket, amelyek utolsó oktettje 0, 63, 64, 127, 128, 191, 192 vagy 255.
A 192.168.123.71 és a 192.168.123.133 állomáscímek megvizsgálásával megértheti ennek a rendszernek a működését. A 255.255.255.0 alapértelmezett C osztályú alhálózati maszk használatakor mindkét cím a 192.168.123.0 hálózaton található. Ha azonban a 255.255.255.192 alhálózati maszkot használja, a címek különböző hálózatokon lesznek: a 192.168.123.71 a 192.168.123.64 hálózaton, a 192.168.123.133 pedig a 192.168.123.128 hálózaton.
Alapértelmezett átjárók
Ha egy TCP/IP-alapú számítógépnek egy másik hálózaton található állomással kell kommunikálnia, ehhez általában egy útválasztónak nevezett eszközt használ. A TCP/IP terminológiájában az állomáson megadott, az állomás alhálózatát a többi hálózattal összekapcsoló útválasztót alapértelmezett átjárónak nevezik. Ez a bekezdés bemutatja, hogyan határozza meg a TCP/IP protokoll azt, hogy kell-e csomagot küldeni az alapértelmezett átjáróhoz a hálózaton található másik számítógép vagy eszköz eléréséhez.
Amikor egy állomás a TCP/IP segítségével kísérel meg kommunikálni egy másik eszközzel, összehasonlítja a definiált alhálózati maszkot és a rendeltetési IP-címet saját alhálózati maszkjával és IP-címével. Az összehasonlítás eredménye alapján a számítógép megállapítja, hogy a cél egy helyi vagy egy távoli állomás.
Ha az eljárás eredményeként az derül ki, hogy a cél egy helyi állomás, akkor a számítógép egyszerűen a helyi alhálózatra küldi a csomagot. Ha viszont a cél egy távoli állomás, akkor a számítógép a TCP/IP tulajdonságai között megadott alapértelmezett átjáróhoz küldi a csomagot. Ezt követően az útválasztónak kell a megfelelő alhálózathoz továbbítania azt.
Alapfogalmak
Szórási cím – IP-cím az állomást megadó, egyesekből álló résszel.
Állomás – Számítógép vagy más eszköz egy TCP/IP-hálózaton.
Internet – Összekapcsolt hálózatokból álló globális rendszer, amely IP-címek közös tartományán osztozik.
InterNIC – Az interneten található IP-címek felügyeletéért felelős szervezet.
IP – Hálózati csomagok TCP/IP-hálózaton vagy interneten keresztüli küldésére szolgáló hálózati protokoll.
IP-cím – Állomások egyéni 32 bites címe egy TCP/IP-hálózaton vagy az interneten.
Hálózat – A cikkben a hálózat két jelentése fordul elő. Az egyik számítógépek csoportját jelenti egyetlen fizikai hálózati szegmensen, a másik egy IP-hálózat rendszergazdák által kiosztott címtartománya.
Hálózati cím – IP-cím az állomást megadó, nullákból álló résszel.
Oktett – Egy 8 bites szám, amelyből 4 darab egy 32 bites IP-címet alkot. Az oktettek a 00000000-11111111 tartományba eső értékeket vehetnek fel, amelyek a 0-255 decimális értékeknek felelnek meg.
Csomag – A TCP/IP-hálózatokon vagy nagytávolságú hálózatokon továbbított adategység.
RFC (Request for Comment) – Az interneten használt szabványok definiálására szolgáló dokumentum.
Útválasztó – Különböző IP-hálózatok közötti hálózati forgalom továbbítására szolgáló eszköz.
Alhálózati maszk – Egy IP-cím hálózatot és állomást definiáló részének megkülönböztetésére szolgáló 32 bites szám.
Alhálózat – Egy nagyobb hálózat egyenlő részekre osztásával létrehozott kisebb hálózat.
TCP/IP – Az általában az interneten és a nagyobb hálózatokon széleskörűen használt protokollok, szabványok és segédprogramok csoportja.
Nagytávolságú hálózat (WAN) – Kisebb hálózatokból álló, útválasztókkal elválasztott nagyobb hálózat. Az internet például egy hatalmas méretű WAN.
Magyarázat
Az alhálózati maszkot annak meghatározására használják, hogy mekkora az IP-címek tömbje a helyi hálózaton, szemben az internetes valahol. Ha egy 255.255.255.0 alhálózati maszkkal rendelkezik, és a címed 192.168.5.20, akkor az alhálózati maszk azt mondja, hogy beszéljen bármilyen 192.168.5.1 és 192.168.5.255 közötti IP-vel, amelyet éppen a helyi hálózaton sugározott. Minden más IP-cím esetén a csomagokat tovább kell továbbítani az átjáróra, ahelyett, hogy helyben továbbítanák őket.
Ami az IP címet és mit csinálja, ez megegyezik a számítógép telefonszámával az interneten. Az internetes útválasztási rendszer valójában a telefonos rendszeren alapult, kezdve. Gondold át. Az IPv4 IP-cím négy, három számból álló blokkot tartalmaz. és egy telefonszám technikailag négy blokkot is tartalmaz (országkód, körzetszám, előtag és szám). Csakúgy, mint az eredeti országkód és a körzetszám sokkal szorosabban kapcsolódott a telefonok helyéhez, az első két oktett az országhoz és az államhoz kapcsolódott. De most ugyanúgy a mobiltelefonjának körzetkódja lehet az államától kívül, és az IP-cím a világ bármely pontjára mutathat.
IP cím: 32 bites cím, amelyet a TCP / IP használatával a gazdákhoz rendeltünk. Minden cím tartalmaz hálózati számot, opcionális alhálózati számot és gazdaszámot. A hálózati és alhálózati számokat együttesen használják az útválasztáshoz, és a gazdaszámot arra használják, hogy egy adott gazdagépet a hálózaton vagy az alhálózaton belül címezjenek.
Alhálózati maszk: 32 bites szám, amely numerikusan leírja az IP cím formátumát azáltal, hogy a kombinált hálózatot és az alhálózati biteket ábrázolja a címen, 1 maszk bitértékkel, és a host host biteket ábrázolja a címen 0 maszk bit értékkel.
Még mindig nem érted meg? Nos, ez teljesen normális. Az IP-alhálózat dolgával a következő percben minden rendben lesz. Csak légy türelmes. Megígérem, hogy ha elkészíti az olvasást és a válasz többi részének megnézését, akkor kényelmesen fogja kezelni ezt a témát. Hajtson végre gyakorlást, és gyorsan második számítás lesz ez. Csak az IP-re és az alhálózatra való tekintettel.
Elég a meghatározásokból. Nézzünk egy példát és magyarázatot:
Példa:
Így gondolhatunk rá. Képzelje el, hogy az IP-cím olyan, mint egy „otthoni cím, munkacím, stb.” Cím. Valaki szeretne e-mailt küldeni egy címre, így elhelyezi a levelet a postafiókba. A levelező srác jön, és elviszi a levelet a pénztárba, ahol minden levelet a helyes irányba küldhetnek. Ha a leveleket a környéken élőknek küldi, akkor csak a postaládájába teszik. Ha egy másik városban küldték el valakinek, akkor el kell küldenie ezt a városi postahivatalt, és a postafiók srácok elküldték oda, ahol kell. Ugyanez vonatkozik az IP-címekre.
Ha a címe 10.0.0.1 és a 255.0.0.0 alhálózati maszk, ez azt jelenti, hogy minden cím a következővel kezdődik: 10.xxx “példa: 10.0.0.10, 10.10.20.10, 10.200.90.1, stb.” Egy része a hálózatának „e-mail címe” ugyanabban a városban, ahol élsz ”. Tudom, hogy az alhálózati maszk miatt. Ha az alhálózat 255.0.0.0, ez azt jelenti, hogy minden IP-cím az első oktettel kezdődik: „0–255 számot írunk az IP-cím pontjai mellett. A példában adja meg a „10.0.0.0” értéket, az első oktett 10, a második oktett 0, a harmadik 0 és a negyedik 1 ″ ugyanabban a hálózati „városban” van, mint te. Tehát ha a címe 10.0.0.1 és a 255.0.0.0 alhálózat, és valamit a 10.0.0.2-re küld, akkor közvetlenül küldhet erre a címre, mert a saját városában található. Csak elveheti a levelet, és elteheti a postaládájába. Ha az Ön IP-címe 10.0.0.1 és az alhálózat 255.0.0.0. és küld valamit az 50.0.0.2-re, akkor közvetlenül nem küldheti el erre a címre, mert ő nem a saját városának „hálózata”. A leveleknek a postahivatalhoz kell menniük, és erre a címre kell küldeniük. Ez a postahivatal elküldi a másik srác postafiókjához.
Az IP-cím és az alhálózati maszk közötti különbség megértéséhez alapvető ismeretekkel kell rendelkeznie arról, hogy mi az IP-cím, és mi az alhálózati maszk szerepe a hálózatban.
IP ─ Az internetes protokoll a TCP / IP protokollkészlet középpontja, amelyre az összes többi protokoll támaszkodik az adatábrák címzése, fragmentálása / összeszerelése és kapcsolat nélküli továbbítása érdekében.
Az IP felelőssége az adatgramok logikai hálózati rétegének címzése. Ez a réteg azonosítja a küldő és fogadó gazdagépek IP-címét az adatábrán belül.
Alhálózati maszk ─ az IP címzési hierarchikus sémájának szerves része. Ezt egy IP-cím egy részének elrejtésére használják, hogy meghatározzák a hálózatot és az alhálózatot a gazdacímtől.
Az a képesség, hogy meghatározzuk a cím mely részét a hálózat, különösen fontos a végrendszerek és az útválasztók számára. Ha két eszköz nem osztja meg a közös hálózati alhálózati címet, akkor teljesen más hálózaton találhatók meg.
Ugyanazon hálózat két rendszerének nincs szüksége útválasztó segítségére, amikor információt szeretne továbbítani. A különféle hálózatokon két rendszer azonban útválasztót igényel a kommunikáció továbbításához. Az IP-gazdagépek nem ösztönösen tudják, hogy egy célgazda ugyanazon a hálózaton van-e vagy sem, ezt az adatátvitel előtt meg kell találnia. Itt jön be a maszk.
A végrendszerek és az útválasztók maszkokat használnak annak meghatározására, hogy ki kell-e kiabálni vagy forgalmat kell-e irányítani az adatgramok továbbításához a célállomáshoz.
Mi a kiabálás és a routing?
Rövid válasz: ha egy küldő véggazda ismeri a rendeltetési hely gazdagépét ugyanabban a helyi szegmensben, akkor kiabálhat egy helyi címfelbontási protokollt (ARP), amellyel a logikai hálózati réteg IP-címét MAC-címre oldhatja, és segítség nélkül eljuttathatja az adatábrát. egy routerből. Ezzel szemben, ha a küldő host úgy határozza meg, hogy a vevő távoli alhálózaton vagy hálózaton tartózkodik, a feladónak a keretet úgy kell irányítania, hogy azt egy helyi átjáró útválasztóra küldi. A küldő házigazda helyi maszkot használ annak meghatározására, hogy ki kell-e kiabálni, vagy meg kell-e irányítani.
Ha a küldő gazdagép meghatározza, hogy a rendeltetési hely ugyanazon a helyi szegmensen található-e, a küldő összehasonlítja a helyi maszkot a célgazda IP-címével. Ha a feladó úgy találja, hogy a fogadó gazda a helyi alhálózaton helyezkedik el, akkor tudja, hogy egy helyi ARP-t kiabálhat (küldhet) a logikai cím MAC-címre való feloldásához és adatgramok továbbításához bármely útválasztó támogatása nélkül.
NAT (Network Address Translation, azaz Hálózati Címfordítás)
Az egy hálózaton belül működő eszközök, mint az IP kamera is egy átjáró (gateway) segítségével kommunikálnak az internet más eszközeivel. Az adatcsomagokat ezek az átjárók továbbítják oda és vissza a két végpont közötti kommunikáció során. Otthonoi, irodai környezetben ezeket az átjárókat hívjuk rendszerint routereknek. A router konkrét jelentése magyarul "útvonalválasztó", vagyis egy olyan eszköz, amely a hálózatban szereplő eszközök számára utat biztosít az egymás, vagy az internet egyéb elemei közötti adatcserében. Fontos hangsúlyozni, hogy a router nem egyenlő a WiFi-vel (ennek a későbbiekben még lesz jelentősége). A router a hozzá csatlakoztatott, vagy vele egybeépített modem segítségével kapcsolódik az internethez. Korábbiakban az volt a bevett módszer, hogy ezeknek a modemeknek az internethez való csatlakozásuk alkalmával a szolgáltató kiosztott egy IPV4-es címet, amely a modemen található végpontot azonosította az internet világában. Sajnos ez a módszer ma már nem tartható fenn, mert az internetre kötött modemek száma meghaladja a rendelkezésre álló IPV4-es címtartományok kb. 4 milliárdos darabszámát. Ennek a problémának az orvoslására született meg a NAT (Network Address Translation, azaz Hálózati Címfordítás) által kínált megoldás. Ennek tartalmi lényege, hogy az internet szolgáltatók különböző méretű csoportokba szervezik az előfizetőiket, akik csoportonként mindössze egyetlen átjáróhoz rendelt IPV4-es címet kapnak és mindenki ezen az átjárón keresztül kommunikálhat az interneten oda és vissza egyaránt. Ennek eredménye, hogy az egy átjáró mögé szervezett előfizetők mindegyike ugyanezzel az IP címmel látszódik az internet felől. A NAT mögötti előfizetők internetes kommunikációjuk úgy működik, hogy a belülről indított kéréseikre az aktuális átjáró biztosítja a visszafelé történő kommunikációt is. Rákattintunk egy linkre és a weblap válaszát a szolgáltató átjárója elüldi a rendszer elemeink keresztül számítógépünk felé. A folyamat csak belülről kifelé indítható. Amikor az előfizető megnyit egy weboldalt, az átjáró felel a kiengedett csomagokra érkezett válaszok előfizető felé történő visszajuttatásáért is. A fordított kommunikáció nem működik NAT-olás esetén. Ugyanis ha az előfizetőnek lenne egy weblapja a NAT mögötti számítógépén, akkor azt egy NAT-on kívüli felhasználó nem láthatná, mert kívülről nem lenne megcímezhető a webodlal elérése. Hiába tudjuk a NAT átjárójának valós, publikus internetes IP címét, azon keresztül a weblap nem lenne elérhető, mert a felhasználó webszerveréig a kommunikáció nincs biztosítva a szolgáltató átjárójában, azaz routerében. Erre az internet előfizetőjének semmir ráhatása nincs, hiszen nem fér hozzá a szolgáltató saját átjárójának port átirányítási lehetőségeihez.
Amikor az internet felől szeretnék kamerát elérni, egy webszerveren/weblapon keresztül kommunikálunk az IP kamerával. Ahhoz, hogy elérhessük, tudnunk kell a weblap IP címét vagy hosztnevét, amely mögött természetesen egy valós publikus IP cím található. Ha a végponthoz tartozó IP cím NAT-olás miatt nem a sajátunk, nem fogjuk tudni elérni a kamerát. Ha viszont saját publikus IP címet kapott a modemünk, ami csak a sajátunk, lehetőségünk van elérni az IP kamerát a távolból. Ehhez persze a megfelelő port átirányítások routerünkben való beállítása elengedhetetlen.
Itt viszont elérkeztünk egy fontos momentumhoz, amelyről korábban írtuk, hogy még lesz jelentősége:
Az átjáró/router nem egyenlő a WiFi-vel!
Amikor jelátviteli problémák miatt egy-egy újabb plusz routert csatlakoztatunk az eredeti modemes kapcsolattal bíró routerünk mögé (LAN portból WAN portba való kábel csatlakoztatással) egy újabb WiFi hozzáférési pont létrehozásához, valójában saját NAT-olt hálózatunkat hozzuk létre. Ennek eredménye hasonló, mint a NAT-olást használó internet szolgáltatók által kivitelezett megoldás. A további routerek mögé rejtett eszközök nem kapnak saját internetes IP címet, ezért nem láthatók az internet irányából de sokszor még az első routerre csatlakoztatott eszközökről sem. Az ilyen módon kivitelezett hálózatok nem oldják meg a kamerák távoli elérhetőségét, csak rontanak rajta. Ennek megoldására érdemes olyan szakember segítéségét kérni, aki járatos a hálózat építésében, ugyanis az IP hálózatok tervezése és kivitelezése külön szakma még.
Segít-e a DDNS (DynDNS, NO-IP, MYFOSCAM) hosztnevek használata a NAT-olás esetén? A válasz egyszerű: NEM. A DDNS hosztnevek csak a saját publikus, de változó IP címmel rendelkező, azaz FIX IP címmel nem rendlekező végponti problémát oldja meg. Azzal nem tud mit kezdeni, ha a modemünkön semmilyen internetes IP címmel nem rendelkezünk. Csak akkor segít, ha nincs FIX IP címünk, de nem internetezünk NAT-olt hálózat mögül.
Mit tegyünk, ha NAT-olt hálózatba rakott a szolgáltatónk?
Nyilvánvalóan az a legegyszerűbb, ha megkérjük az internet szolgáltatónkat, hogy a NAT-olást azonnal szüntesse meg és adja vissz ezáltal a változó, de publikus IP címünket. Ekkor hívhatjuk segítségül a DDNS hosztneveket a távoli eléréshez. Hívjuk fel az internet szolgáltatónkat és mondjuk el neki a problémánkat, hogy IP kameránkat szeretnénk távolról használni, de nincs saját publikus IP címünk, ezért szüntessék meg a NAT-olást az internet előfizetésünkön. Ne kérjünk FIX IP címet, bár van olyan szolgáltató, ahol csak ezzel oldaható meg a probléma.
Nézzük meg konkrét példákkal a megoldásokat:
Digi internet esetén hívjük fel a 1272-es telefonszámot és a NAT kikapcsolását kérjük a hibabejelentő menü kiválasztása után. A mai napig működő megolás még.
T-Home esetén a 1414-es telefonszámon kövessük el ugyanezt
UPC esetén a 1221-es számon hívjük fel az ügyfélszolgálat hibabejelentő vonalát és kérdezzük meg a megoldásról őket. Máig ez volt a megoldás náluk: venni kell egy saját routert, az ő routerük LAN1 portjára kössük rá a saját routerünk WAN portját, majd a UPC routerét kapcsoljuk át modem/bridge módba. Csak így kaphatjuk vissza a publikus IP címünket. Egyelőre, mert náluk, bármi megtörténhet.
Telenor esetén használjuk a "NET" APN nevet a kapcsolat létrehozásakor
T-Mobile esetén esélyünk nincs saját IP címet kapni.
Vodafone esetén használhatjuk a "standardnet.vodafone.net" APN nevet, de a tűzfal blokkolása miatt gyakorlatilag esélyünk nincs a normális működésre
Minden más szolgáltatónál külön kell érdeklődni (de érdemes a felsoroltaknál is) a lehetőségekről. Vannak olyan helyi jellemzően kisebb szolgáltatók, akik a NAT-olás megtartása mellett tudnak saját port átirányítást beállítani nekünk, amikor ők mondják meg, hogy a kameráink milyen portokat fognak tudni használni a működésük során. De vannak olyanok is, akik csak FIX IP-re való elfizetéssel, esetleg díjcsomagváltással tudnak segíteni számunkra.
Ha minden kötél szakad és a NAT elkerülhetetlen, érdemes olyan IP kamerákat használni, amelyek egyrészt P2P kommunikációval is rendelkeznek, másrészt pedig biztonságosak is egyszerre. Sajnos tele az internet olyan olcsó, kideríthetetlen gyártótól származó kamerákkal, amelyek bár olcsón beszerezhetők, ám rajtunk kívül mindenki más is láthatja élőképüket egy kevés szakértelmet felhasználva hozzá. A biztonsági kamera azért legyen biztonságos is, hacsak nem áll szándékunkban életünk minden pillanatát online közvetíteni idegenek számára is.
Webkamera megjelenítése böngészővel
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>Display Webcam Stream</title>
<style>
#container {
margin: 0px auto;
width: 500px;
height: 375px;
border: 10px #333 solid;
}
#videoElement {
width: 500px;
height: 375px;
background-color: #666;
}
</style>
</head>
<body>
<!Először deklaráljuk a video nevű változót, majd automatikus lejátszás>
<div id="container">
<video autoplay="true" id="videoElement">
</video>
</div>
<script>
var video = document.querySelector("#videoElement");
<!Következik a getUserMedia API elérése >
if (navigator.mediaDevices.getUserMedia) {
navigator.mediaDevices.getUserMedia({ video: true })
.then(function (stream) {
video.srcObject = stream;
})
.catch(function (err0r) {
console.log("Something went wrong!");
});
}<!Hiba esetén reset >
</script>
</body>
</html>
vagy
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<title>Gönyűi webkamera - 2.</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
</head>
<body>
<img width="1280" height="720" src="http://gonyuweb.dyndns.org:8084/video.mjpg" />
<p>A webkamera megtekintéséhez ajánlott böngészők: Ms Edge (Chromium alapú), Firefox, Chrome</p>
</body>
</html>
2020. szeptember 14., hétfő
Hálózati hibák feltárása
A hálózati hibák felderítését kezdjük azzal, hogy megvizsgáljuk a működő és a nem működő szolgáltatásokat. Derítsük fel a nem működő szolgáltatások közötti kapcsolatot. Próbáljuk meg feltárni, hogy a hibák milyen változtatás után léptek fel. A hibák felderítésére több parancssorból kiadható parancs (konzolprogram) használható.
Ipconfíg
Az Ipconfíg diagnosztikai parancs megjeleníti az összes jelenlegi TCP/IP hálózati konfigurációs értéket. Ez különösen hasznos DHCP rendszereken, mert lehetővé teszi a felhasználónak, hogy meghatározza, milyen TCP/IP konfigurációs értékeket állított be a DHCP.
Formája:
ipconfig
[/?|/all| /release [hálózati_kártya] |/renew [hálózati kártya]| /flushdns | /registerdns | /showclassid hálózati_kártya | /setclassid adapter [beállítandó osztályazonosító] ]
ahol a megadható paraméterek:
all: Teljes megjelenítést biztosít. E kapcsoló nélkül a parancs csak az IP-címet, az alhálózati maszkot és az összes hálózati kártya alapértelmezett átjáróját jeleníti meg.
release [adapter]: Kikapcsolja az aktuális DHCP beállítást. Ez a beállítás letiltja a TCP/IP protokollt a helyi rendszeren, és csak DHCP ügyfeleken érhető el. Az adapternév megadásához írjuk be azt az adapternevet, amely akkor jelenik meg, amikor a parancsot paraméterek nélkül használjuk.
renew [adapter]: Megújítja a DHCP beállítási paramétereit. Ez a beállítás csak a DHCP ügyfél szolgáltatást futtató rendszereken érhető el. Az adapternév megadásához írjuk be azt az adapternevet, amely akkor jelenik meg, amikor a parancsot paraméterek nélkül használjuk.
flushdns: Kiüríti a DNS-feloldási szolgáltatás gyorsítótárát.
registerdns: A DHCP-bérletek frissítése és a DNS-nevek újraregisztrálása.
displaydns: A DNS-feloldási szolgáltatásához tartozó gyorsítótár tartalmának
megjelenítése.
showclassid: Megjeleníti a hálózati kártyához engedélyezett DHCP-
osztályazonosítókat.
setclassid: Módosítja a DHCP-osztályazonosítót.
Paraméterek nélkül az ipconfig segédprogram megmutatja az összes jelenlegi TCP/IP beállítási értéket, beleértve az IP-címet és az alhálózati maszkot is. Ez különösen hasznos DHCP futtató rendszereken, mert lehetővé teszi a felhasználónak, hogy meghatározza, milyen TCP/IP konfigurációs értékeket állított be a DHCP.
Alapértelmezés szerint csak a TCP/IP protokollhoz kötött hálózati kártya IP-címei, alhálózati maszkjai és alapértelmezett átjárói jelennek meg. Ha a Release és a Renew kapcsolók esetében nincs megadva a hálózati kártya neve, akkor minden TCP/IP protokollhoz kötött hálózati kártya IP-címbérlete felszabadul, illetve megújul.
Ha a SetClassId kapcsoló esetében nincs megadva osztályazonosító, akkor az osztályazonosító törlődik.
Ping
Ellenőrzi a kapcsolatot a távoli számítógéppel vagy számítógépekkel. Ez a parancs csak telepített TCP/IP protokoll esetén érhető el. Használhatjuk mind a számítógépnév, mind az IP-cím ellenőrzésére. Ha az IP-cím helyes, de a számítógépnév nem, név-hozzárendelési probléma lehet. Ebben az esetben győződjünk meg arról, hogy a lekérdezett számítógépnév megtalálható-e a helyi HOSTS fájlban vagy a DNS adatbázisban.
A ping parancs úgy ellenőrzi a kapcsolatot a távoli számítógéppel vagy számítógépekkel, hogy ICMP echo csomagokat küld a számítógépnek, és figyel a válaszcsomagokra. Minden elküldött csomag után maximum l másodpercig vár, majd kiírja az elküldött és a kapott csomagok számát. Minden kapott csomagot egyeztet az elküldött üzenettel. Alapértelmezés szerint négy db. 64 bájtos echo csomagot küld (periodikus, nagybetűkből álló karaktersorozatokat). Formája:
ping [-t] [-a] [-n szám] [-1 méret] [-f] [-i idő] [-v típus][-r szám] [-s szám] [[-j állomáslista] | [-k állomáslista]][-w határidő] céllista
ahol a megadható paraméterek:
-t: Addig ellenőrzi a kapcsolatot a megadott számítógéppel, amíg meg nem szakítjuk.
-a: Címeket rendel számítógépnevekhez.
-n szám: A szám által meghatározott számú ECHO csomagot küld. Az alapértelmezett érték 4.
-l hossz: ECHO csomagokat küld, a hossz által meghatározott mennyiségű adattal. Az alapértelmezés 64 bájt; a maximum 8192 bájt.
-f Egy Don’t Fragment jelzést küld a csomagban. A csomagot az útvonalon nem fogják részekre törni az átjárók.
-i ttl: A Time To Live mezőt a ttl értékére állítja.
-v tos: A Type Of Service (szolgáltatástípus) mezőt a tos által megadott értékre állítja.
-r szám: Rögzíti a kimenő és a bejövő csomag útvonalát a Record Route (útvonaltárolás) mezőben. A szám minimum l és maximum 9 számítógépet jelenthet.
-s szám: Meghatározza az időbélyegzőt a számmal megadott szakaszok számára.
-j számítógéplista: A csomagokat a számítógéplista által meghatározott számítógépeken keresztül irányítja. Az egymás után következő számítógépek el lehetnek választva közbenső átjárókkal (szabad forrás-útválasztás). Az IP maximum 9-et engedélyez.
-k számítógéplista: A csomagokat a számítógéplista által meghatározott számítógépeken keresztül irányítja. Az egymás után következő számítógépek nem lehetnek elválasztva közbenső átjárókkal (kötött forrás-útválasztás). Az IP maximum 9-et engedélyez.
-w időtúllépés: Ezredmásodpercekben határozza meg az időtúllépési időtartamot.
céllista: Meghatározza a Ping paranccsal ellenőrzendő távoli számítógépeket.
Arp
Megjeleníti és módosítja azokat a táblázatokat, amelyeket a címfelbontás protokoll (ARP) használ, amikor IP-ről Ethernet vagy token ring fizikai címre fordít. Ez a parancs csak telepített TCP/IP protokoll esetén érhető el. Formája:
arp -s inet_cím eth_cím [kap_cím]
arp -d inet_cím [kap_cím]
arp -a [xxxx_éééé] [-N kap_cím]ahol
-a: Megjeleníti a jelenlegi ARP bejegyzéseket az aktuális protokolladatok (a TCP/IP) lekérdezésével. Adott inet_cím esetén csak a meghatározott számítógép IP és fizikai címek jelennek meg.
-g: Megegyezik az -a paraméterrel.
inet_cím: IP-cím ponttal elválasztott tizedes tört formátumban.
-N: Megjeleníti az if_addr által meghatározott hálózati csatoló ARP bejegyzéseit.
kap_cím: Annak a csatolónak az IP-címe, amelynek a címfordítási táblázatát módosítani kell. Ha nincs jelen, az első megfelelő csatolót fogja a program használni.
-d: Kitörli az inet_addr által meghatározott bejegyzést.
-s: Hozzáad egy bejegyzést az ARP-ben az inet_cím IP-címnek az eth_cím fizikai címmel való társításához. A fizikai cím 6 hexadecimális, kötőjellel elválasztott bájt. Az IP-cím pontozott tizedes formátumú. A bejegyzés állandó, vagyis a program nem törli automatikusan az időtúllépés lejárta után sem.
eth_cím: Fizikai cím, annak az interfésznek az Internet-címe, amelynek a címfordítási tábláját módosítani kell. Ha nincs megadva, az első alkalmas csatolót használja.
Netstat
Ez a diagnosztikai parancs megjeleníti a protokoll statisztikáit és az aktuális TCP/IP hálózati kapcsolatokat. Csak telepített TCP/IP protokoll esetén érhető el. Formája:
netstat [-a] [-e] [-n] [-s] [-p protokoll] [-r] [időtartam] ahol
-a: Megjeleníti az összes kapcsolatot és figyelő portot; a kiszolgáló kapcsolatok rendes körülmények között nem jelennek meg.
-e: Megjeleníti az Ethernet statisztikákat. Kombinálható az s beállítással.
-n: Numerikus formában jeleníti meg a címeket és a portszámokat (ahelyett, hogy megkísérelne neveket kikeresni).
-s: Statisztikákat jelenít meg protokollonként. Alapértelmezés szerint a statisztikákat a TCP, UDP, ICMP és IP lehetőségekre mutatja meg; a -p beállítással csak egy altípusát határozhatjuk meg az alapértelmezésnek.
-p protokoll: A protokoll által meghatározott protokollra mutat meg kapcsolatokat; protokoll lehet tcp vagy udp. Ha az -s beállítást használjuk a protokollonkénti statisztika megmutatására, a protokoll lehet tcp, udp, icmp vagy ip.
-r: Megjeleníti az útválasztási táblázatot.
időtartam: Újra megjeleníti a kijelölt statisztikákat, szünetet tartva minden megjelenítés között az időtartam paraméterben beállított ideig. (A paraméter másodpercben értendő.) Nyomjuk meg a |ctrl+c| billentyűket, ha ezt meg akarjuk állítani. Ha ezt a paramétert elhagyjuk, az netstat csak egyszer írja ki az aktuális beállítások információt.
Hálózatok
Fogalma
Alkalmazhatósága
Előnyei
Hátrányai
Csoportosításuk
Felépítésük(topológiájuk)
Protokollok
Protokollok funkciói
A hálózatok részelemei
Kapcsolattípusok
Hálózati operációs rendszerek
Jogosultság, adathozzáférés
Felhasználók (userek)
Fogalma
A gyors adatátvitel, ill. a nagyobb teljesítmény elérése érdekében a számítógépeket egy közös kommunkiációs rendszerben kapcsolják össze. Az összekapcsolt gépeket munkaállomásoknak (usereknek) nevezik. Ezeket a hálózatba kötött számítógépeket, egy speciális ún. hálózati operációs rendszer működteti. A számítógép-hálózat számítógépei a rendszerben egymással adatokat, információkat cserélhetnek, ill. "erőforrásaikat megosztva" használhatják. Ilyen erőforrások lehetnek a winchesterek, nyomtatók, programok, de lehetnek könytárak és azok állományai is. A megosztás pedig annyit tesz, hogy az adott munkaállomás tulajdonosa, hozzáférési jogosultságot ad a saját gépének winchesterén lévő, általa kiválasztott és megjelölt könyvtárába való betekintésre. Az információcserét ún. hálózati vezérlőkártyák és adatkábel rendszer biztosítja.
A számítógép-hálózatok mivel több számítógépből állnak, sok esetben igen nehéz és költséges azonos típusú és konfigurációjú számítógépből felépíteni. Több géptípus egyenes következménye a kompatibilitási probléma Ezért a hálózat tervezésekor ezt mindenkor figyelembe kell venni, a megfelelő szabványok és protokollok használatának alkalmazásával.
Alkalmazhatósága
Egy számítógép-hálózat "szíve-lelke" a központi számítógép, az ún. szerver (server). Ennek a központi gépnek az erőforrásait használják a userek, munkaállomások. Ezeket a munkaállomásokat azonosító névvel látják el - login, usernév -, így különböztetik meg a rendszeren belül az egyes gépeket. A gépek közötti adat-kapcsolat előnnyei:
Előnyei
Közös erőforrás-használat
...a hálózati összeköttetés révén a gépek a hálózat egy másik gépének bármely erőforrását használhatják, mely elsősorban a szerveren lévő eszközökre vonatkozik. Ez irányulhat az egyes gépek, ill a szerver(ek) háttértárolójára, továbbá a rendszer bármely munka-állomásához illesztett nyomtató használatára
Osztott háttértár használat
...az egyes userek, munkaállomások háttértárolóján lévő könyvtára(ka)t, alkönyvtárakat kijelölhetjük - megoszthatjuk - közös használatra. A megosztást a user tulajdonosa végezheti, sőt azt is meghatározhatja, hogy a melyik user, milyen jogokkal veheti igénybe a megosztott erőforrást. Még arra is lehetőség van, hogy a megosztott erőforrás fizikai helye rejtve maradjon, hiszen egy ún. megosztási névvel hivatkozunk az adott erőforrásra.
Nincs szükség önálló háttértárolóra
...mivel az egyébként önálló működésre képes gépeket egy központi gép irányítja (szerver), ezért a központi gép háttértárolóit a rendszer bármelyik munkaállomása használhatja. Ha ez így van akkor a userekbe nem szükséges háttértárolót építeni. No de akkor hogyan tud működni az adott munkaállomás? Úgy, hogy ennél a gépnél a rendszer filek betöltéséről egy ún. BOOT-EPROM gondoskodik.
Gyors adatátvitel
...az adatátvitel gyakorlatilag a floppy lemezen történő adattovábbítással kezdődött. Ehhez képest a hálózati adatforgalom rendkívül nagy lépés előre, hiszen a műveleti sebességek összehasonlíthatatlanul gyorsabbak a hálózaton.
Nagyobb teljesítmény
...az önállóan működő számítógépek összekötésével, azok egy közös rendszert alkotnak, így a rendelkezésre álló erőforrások összeadódnak, vagyis a teljes hálózat egyes gépein megosztott, hozzáférhetővé tett erőforrásainak összessége.
Többfelhasználós adatbázis használat
...a számítógép hálózatok alkalmazásával lehetőség van bonyolult, több gépre telepített adatbázisok, egyidőben, különböző munkaállomásokról történő használatára.
Hátrányai
Biztonsági igény
...a számítógép-hálózatok a gyors és közvetlen adatátvitel miatt sokkal inkább ki vannak téve olyan veszélyforrásoknak, melyek az adatainkat fenyegeti. A veszélyforrások egyik részét képezik a vírusok. Hálózati környezetben hatalmas károk okozására képesek, ráadásul igen nehéz, körülményes a kiirtásuk is. A másik komoly veszélyforrás az illetéktelen hozzáférés lehetősége.
Kölségigénye
...igaz, hogy a rendszerben önállóan működni képes gépek vannak, de áttól tudnak hálózatba kötve is dolgozni, mert a működésükhöz fontos és elengedhetelenül szükséges eszközöket kell hozzájuk illeszteni ill. beléjük építeni (hálózati kártya, hub, repeater, árnyékolt koax kábel, ún. speciális [UTP] nyolc eres hálózati kábel, stb.) Ezek az illesztő egységek, valamint a kábelhálózat kiépítése igen költséges.
Hálózati operációs rendszer
...a hálózat működtetését egy speciálisan erre kifejlesztett operációs rendszer végzi, amely képes kezelni a többfelhasználós környezetet és a megosztott adatbázisokat. Ez a hálózati rendszerkörnyezet, nehezebben adminisztrálható, drága működtető szoftvert igényel.
Csoportosításuk
Három nagy csoportját különböztetjük meg:
Helyi hálózatok (LAN - Local Area Network)
...olyan rendszerek, amelyekben a számítógépek fizikailag viszonylag egymáshoz közel helyezkednek el, például egy epületen belül. Ezek a hálózatok kapcsolódhatnak más hálózatokhoz, így rákapcsolódhatnak a nagyterületű halózatokra is.
Nagyterületi hálózatok (WAN - Wide Area Network)
...ezek olyan rendszerek, melyeknek egyes szegmensei (elemei) földrajzilag is távol lehetnek egymástól. Ebben az esetben a kapcsolattartás más speciális módszerekkel valósítható meg.
Globális hálózatok
...ezek a rendszerek olyan világméretű hálózati rendszerek, melyek nagyszámú elemet tartalmaznak, eléggé heterogén felépítésűek, nagyon sok számítógépet, ill. részhálózatot foglalnak magukba. Az Internet az élő példa.
A végrehajtandó feladatok szerint is megkülönböztethetjük a hálózatokat. A legegyszerűbbek az egyenrangú, ún peer to peer hálózatok. A legelterjedtebb azonban a szerver-kliens felépítésű hálózat, melyben a szerver kitüntetett szereppel bír. A szerver látja el a hálózati rendszerek vezérlését és felügyeletét, míg a munkaállomások (kliensek, userek) a szerverhez kapcsolódva, annak irányítása alatt képesek használni a hálózatot.
Felépítésük (topológiájuk)
A hálózat felépítését, topológiáját a kábelek elrendeződése, a csomópontok fizikai elhelyezkedése határozza meg. Ez a "hálózat alakja". (az Ethernet lineáris, vagy sín hálózati, ill. csillag topológiát alkalmaz)
Sín: a hálózatnak van egy gerince(BackBone - közös adatátviteli vonal), amihez az összes csomópont csatlakozik. A gerinc mindkét vége ellenállással van lezárva, a rendszer elemei sorba vannak fűzve egy kábelre. Minden csomópontnak egyedi címe van. Olcsó, kevés kábel kell hozzá. Hiba esetén az egész hálózat működésképtelen lesz.
Csillag: a csomópontok egy közös elosztóba (hub) vannak bekötve. A csillag topológiánál ilyen elosztók gyűjtik össze egy-egy gépcsoport jeleit és továbbítják a központ felé. A csillag topológia előnye az, hogy egy új elosztó beépítésével újabb és újabb gépcsoportokat lehet a rendszerhez kapcsolni. Nem üzenetszórásos (ponttól-pontig). Szakadás esetén megbízhatóbb, sok kábel kell hozzá ezért drága.
Gyűrűs : a csomópontokat közvetlenül egymáshoz csatlakoztattják, soros elrendezésben, így azok egy zárt hurkot alkotnak. Az üzenetek fogadása egy alkalmas csatoló eszköz segítségével történik. Előre történő huzalozása nehézkes, új csomópont hozzáadása, vagy elvétele megbonthatja a hálózatot. A biztonság kedvéért 2 kábellel is összeköthetik a gépeket. Az adatáramlásnak meghatározott iránya van. Amíg az adatot nem mentik le, addig a gyűrűben kering, tárolódik. Nagy a kockázat, az adatok sérülhetnek, elveszhetnek. Ezt elkerülendő a címzettnek mielőbb le kell menteni és nyugtázni, hogy ne keringjen a végtelenségig.
Busz: sorba fűzött gépek alkotják a hálózatot. Gyakori a helyi hálózatokban, mivel olcsó akialakítása. Hátránya, hogy a kábel megbontása, azaz bármely gép kemelése a hálózatból a hálózat működésképtelenségét eredményezi.
Vegyes (fa): A busz topológia fa topológiává egészíthető ki, amelyban a többszörös buszágak különböző pontokon kapcsolódnak össze, így alkotva egy fastruktúrát. Meghibásodás esetén csak a csomópont és a hozzátartozó gyökerek esnek ki.
Hierarchikus: az előző formák vegyes alkalmazása. ...
Protokollok
A számítógép-hálózatokban az adatok áramlását, a címzetthez való eljuttatását vezérelni, szabályozni kell. Ennek a célnak elérése érdekében fejlesztették ki a különböző adatátviteli szabványokat és konvenciókat, melyeknek gyüjtőneve a protokoll. Egyszerű hálózatkoknál a NETBEUI protokollt, Novell hálózatokban inkább az IPX/SPX protokollt, míg az internet és NT hálózatban a TCP/IP protokollt használják
Protokollok funkciói
A kommunikációs rendszerek kialakításakor olyan általános architektúra fejlesztésére törekedtek, amely lehetővé teszi a nyitott rendszerkapcsolatot. Ennek eredményeként egy olyan rendszerkapcsolati szabvány született - ISO/OSI modell -, amely lehetővé teszi az eltérő protokoll-szabványokkal működő számítógépek összekötését is.
A rendszer hét, egymástól független, de egymásra épülő szintre, rétegre osztja fel a protokoll funkciókat.
Fizikai szint: A fizikai réteg (physical layer) a bitek kommunikációs csatornára való bocsátásáért felelős. Ez már technikai megoldás, a bitsorozat átvitele helyesen. Átviteli közegek (sodrott érpár, koaxiális kábel, twinaxiális kábel, optikai kábel, rádiós átvitel), kódolási formák (természetes kódolás, RTZ, NRZ, Manchester 2, differenciális Manchester)
Adatkapcsolati szint: Az adatkapcsolati réteg (data link layer) alapvető feladata az, hogy tetszőleges kezdetleges adatátviteli eszközt olyan adatátviteli vonallá transzformáljon, amely a hálózati réteg számára átviteli hibától mentesnek tűnik. Adatkeretek kialakítása (kerethatárok, transzparencia probléma -transzparens, ha a küldendő bitsorozat ugyan az, mint a vezérlőjel-, vezérlőjelek, nyugtázások, hibafelmérés és kiküszöbölés). BSC és HDLC protokolok.
Hálózati szint: A hálózati réteg (network layer) a kommunikációs alhálózatok működését vezérli. A két végpont közti kapcsolat lebonyolítása és a torlódás elkerülése a feladata. Eltérő lehet a hálózatok címzési módszere, különbözhetnek a maximális csomagméreteik és protokolljaik is. E problémák megoldásáért, azaz a heterogén hálózatok összekapcsolásáért a hálózati réteg a felelős. Üzenetszórásos hálózatokban az útvonal-kiválasztási mechanizmus igen egyszerű, így a hálózati réteg általában vékony, sokszor nem is létezik
Szállítási szint: A szállítási réteg (transport layer) alapvető feladata az, hogy adatokat fogadjon a viszonyrétegtől, kisebb darabra vágja szét azokat (ha szükséges), majd adja tovább a hálózati rétegnek és biztosítsa, hogy minden darab hibátlanul megérkezzék a másik oldalra. Továbbá, mind ezeket hatékonyan kell végrehajtania, ráadásul oly módon, hogy a viszonyréteg elől el kell fednie a hardvertechnikában elkerülhetetlenül bekövetkező változásokat.
Viszony, vagy szecessziós szint: A viszonyréteg lehetővé teszi, hogy különböző gépek felhasználói viszonyt (session) létesítsenek egymással. A viszonyréteg, akárcsak a szállítási réteg közönséges adatátvitelt tesz lehetővé, de néhány olyan szolgáltatással kiegészítve, amelyek egyes alkalmazásokhoz hasznosak lehetnek. Egy viszony pl. arra alkalmas, hogy egy felhasználó bejelentkezzen egy távoli időosztásos rendszerbe, vagy hogy állományokat továbbítson két gép között. A két végpontban lévő programok tudnak kommunikálni. A viszonyréteg egyik szolgáltatása a párbeszéd szervezése. A viszonyok egyidőben egy- és kétirányú adatáramlást is lehetővé tehetnek. A viszonyréteg egy másik szolgáltatása a szinkronizáció (synchronization).
Megjelenítési, vagy prezentációs szint: A megjelenítési réteg (presentation layer) olyan feladatok végrehajtásáért felelős, amelyek elég gyakoriak ahhoz, hogy általános megoldásúak legyenek ahelyett, hogy a felhasználók esetenként külön-külön oldják meg azokat. Az alsó rétegektől eltérően, amelyek csak a bitek megbízható ide-oda mozgatásával foglalkoznak, a megjelenítési réteg az átviendő információ szintaktikájával és szemantikájával foglalkozik. A megjelenítési réteg az információábrázolás más vonatkozásait is magába foglalja. Ilyen pl. az adatátvitel hatékonyabbá tételét elősegítő adattömörítés továbbá a hitelesítést és titkosítást lehetővé tevő kriptográfia.
Alkalmazási szint: Az alkalmazási réteg széles körben igényelt protokollokat tartalmaz. Az állománytovábbításon kívül ehhez a réteghez tartozik még az elektronikus levelezés, a távoli munkabevitel, a katalóguskikeresés, és még egy sor egyéb, általános-, ill. speciális célú alkalmazási feladat is.
A hálózatok részelemei
A hálózatok részelemei a hálózat típusától, felépítésétől függnek. Csoportosításuk :
számítógépek: amelyeket össze kívánunk kötni. Ezek a gépek önállóan is, vagy terminálként is működhetnek.
vezérlő elektronikák;
hálózati kártyák: olyan vezérlő egység, amely a számítógépbe építve a hálózat és a gép kapcsolatát biztosítja. Típusát meghatározza a hálózati architektúra és a kábelezés. Sok fajta hálózati kártya kapható, de árban, megbízhatóságban és minőségben eltérnek egymástól.
HUB: passzív hálózati eszköz, mely a szegmensek kapcsolatát biztosítja. Mivel jelerősítést nem végez, az előírt kábelhosszt nem léphetjük túl.
repeater: olyan elektronikus eszköz, amely az adatátvitel során, a csillapítás következtében torzult jelek felismerését, helyreállítását és újraidőzítését végzi.
router: egy intelligens eszköz, amely meghatározza a hálózaton áramló adatcsomagok útvonalát.
bridge: azonos architektúrájú, de különböző protokollok segítségével működő hálózatok össze kapcsolását teszi lehetővé.
switch: olyan szerkezeti elem, amely útvonalszegmensek időleges egymáshoz rendelésével épít fel kommunikációs útvonalat.
modem: olyan eszköz, mely telefonvonalon keresztül teszi lehetővé az adatátvitelt.
csatlakoztási felületek: a hálózati kártyán, ill. a kábelezésen kialakított elemek típusa, mely lehet BNC, UTP, stb.
átviteli közeg;
kábel: adatátvitelt biztosító közeg. Típusa a hálózat architektúrájától függ. Leggyakrabban a sodrott érpárú - UTP csatlakozójú -, vagy a koaxiális - BNC csatlakozójú - típusú kábelezést alkalmazzák. Figyelem ez a koax kábel nem azonos a TV készülékekhez használt koax kábellel.
T elágazó: a koax kábelezésnél használt csatklakozó, melyet a soros topológiájú hálózatokban a hálózati kártyákra csatlakoztatva használunk.
lezáró: a soros topológiájú hálózatokban a hálózat gerinvezetékének két végpontját kell lezárnunk ezzel az 50 ohmos elemmel.
patch panel: UTP -s hálózatok esetén alkalmazott segédtábla, amely a felhasználók gépei felöl bejövő kábelek rendezését végzi.
patch kábel: ún. sodrott érpárú, UTP csatlakozóval ellátott kábel, mely a fali csatlakozó és a számítógép hálózati csatolója (kártya) közötti összeköttetést biztosítja.
vezérlő egység: ide tartoznak a hálózatotot vezérlő számítógépek (server) - több is lehet egy hálózatban.
működtető program: a hálózat működését, az őt működtető program, a határozati operációs rendszer szervezi, vezérli, ill. határozza meg.
A felsorolt eszközök közül természetesen nem mindenre van szükség minden esetben. Azt hogy éppen mire van szükség az alkalmazott eszközökből a kiépített architecturától, kábelezéstől, a hálózat bonyolultságától függően kell megválasztani.
Kapcsolattípusok
A számítógépet összekötő közeg igen sokféle lehet. Az összeköttettések rendszere sok esetben nem homogén. Egy hálózaton belül többfélét is alkalmazhatnak. Típusai:
közvetlen kábelkapcsolat: helyi hálózatoknál a leggyakoribb forma. Olcsó, könnyen kivitelezhető és a fenntartása nem jár költségekkel.
nagy távolságú kábelezés: ritkán alkalmazzák. A kábelezés bonyolultsága miatt igen költséges.
optikai kábelezés: a nagytávolságú kábelezéshez hasonló tulajdonságokkal rendelkezik. Költséges, de megbízható és rendkívül gyors adatátvitelt tesz lehetővé
mikrohullámú lánc: olyan foldrajzi viszonyok között alkalmazzák, ahol a kálbelezés nem megoldható. Költséges ugyan, de gyors adatátviteli forma.
műholdas kapcsolat: a mikrohullámú lánc műholdas változata. A már meglévő műholdas rendszerekhez igen könnyen hozzákapcsolható új végpontok kialakításával.
ISDN vonal: viszonylag gyors, de hosszú idejű adatátviteleknél költséges a használata, hiszen a szolgáltatást biztosító telefontársaságok a normál telefonvonalhoz hasonlóan kezelik, ill. számlázzák. Általában napi 3 - 4 órás kapcsolattartás alatti alkalmazható.
bérelt vonali összeköttetés: ott alkalmazzák, ahol fontos az állandó kapcsolat. Sebessége a kiépítésnél meghatározott sávszélesség függvénye. Fenntartási költsége az adatátviteltől független, állandó.
kapcsolt vonali összeköttetés: egyszerübben, a telefonvonalon modemen keresztül létesített adatátvitel. Mivel a kapcsolat normál telefonvonalon történik, az adatátvitel sebessége lassú, mert a modemtől és a vonal minőségétől függ.
Hálózati operációs rendszerek
A PC alapú hálózatoknál Microsoft Windows NT, valamint a Novell cég NetWare és IntranetWare hálózati operációs rendszerét alkalmazzák. A hálózatot kezelő szerver gépre telepítik. A hálózati operációs rendszer a hálózat teljesítményét és egyben a hálózatba kapcsolt gépek számát is meghatározza. A hálózati környezetben való munkát a rendszerszoftverek a kapcsolatok szintjén határozzák meg. Ez annyit jelent, hogy az adott hálózatba, ill. a szerverre nem jelentkezhet be akárhány felhasználó.
Jogosultság, adathozzáférés
A számítógép-hálózatokban előre meghatározott hozzáférési szintek szabályozzák a felhasználók részére az adatokhoz való hozzáférést. Ez annyit jelent, hogy ha egy felhasználó be akar lépni a hálózatba, rendelkeznie kell egy azonosító névvel (loginname, username, stb.) és jelszóval kell azonosítania magát. Mid a név, mind a jelszó néhány karakterből (általában 4 - 10 közötti számú) álló kulcsszó, amely alfabetikus és numerikus karaktereket tartalmaz, valamint megkölönbözteti a kicsi és nagy betűket. A számítógépes-hálózat erőforrásaihoz, adataihoz való hozzáférési jogosultságok kiosztása, meghatározása, a mindenkori rendszergazda feladata és felelőssége. Pontosan meg kell határozni, definiálni kell, hogy mely erőforrásokhoz, mely felhasználók, vagy felhasználói csoportok, milyen módon férhetnek hozzá. A hozzáférés módja többféle lehet. A "teljes jogú", a "csak olvasási" jugú és a "hozzáférés tiltva" jogok előírása a leggyakoribb. Természetesen lehetőség van egyéni jogosultságok kialakítására is, ezek :
olvasás
írás
létrehozás
módosítás
törlés
nyitás
attribútum módosítás
jogok meghatározásának módosítása
Felhasználók (userek)
Mivel egy hálózatban a felhasználók száma igen magas is lehet, célszerű valamilyen rendszer szerint a felhasználók között. Egyik módja ennek, ha az egyforma jogosultságú felhasználókat, egy ugyanazon csoportba foglalják. E csoportba foglalás áttekinthetővé teszi az adminisztrációt, a hálózati jogok menedzselését, hiszen a jogokat nem egyes felhasználóknak, hanem a felhasználó csoportoknak adják.
Az adott esetben nagyszámú felhasználó esetén a hálózat védelmi rendszerének kialakítására nagy hangsúlyt kell fektetni. A védelmi rendszer kialakításának alapvető teendői:
felhasználói név megadása és annak jelszóval történő ellenőrzése,
bejelentkezési és használati idő meghatározása, korlátozása,
munkaállomások meghatározása, amelyről az adott felhasználó feljelentkezhet a hálózatra,
a hálózati háttértárolón, a felhasználó által igénybe vehető tárterület meghatározása,
fájlok és könyvtárak hozzáférési jogainak meghatározása
Tipikus felhasználók és csoportok:
Rendszergazda (supervisor, administrator) - maximális jogok;
Rendszer operátor (system operator, sysop) - maximális jogok;
Server operátor - a helyi szerver erőforrásainak kezeléséhez való jog;
Account operator - a felhasználók és csoportok kezeléséhez való jog;
Print operator - a nyomtatók megosztásának kezeléséhez való jog;
Backup operator - fájlok és könyvtárak mentésére vonatkozó jog;
Workgroup manager - a munkacsoportok kezelésének joga;
User - a lokális erőforrások kezelésére való jog;
Guest - vendégként jogosultságok nélkül;
Everyone - mindenki (a világ) csak a számítógép elérése a hálózatról;
Készítsünk számológépet java programozási nyelven
Készítsünk egy új projektet, számológép mappába szamologep néven!
Húzzunk 17 gombot és egy TextBox-ot az ablakra, 10-et a számoknak, négyet az alapműveletek, egyet a vesszőnek, egyet a C(törlés gombnak) és egyet az egyenlőségjel részére, a szövegmezőben pedig a képletetés az eredményt jelenítjük majd meg.
Valahogy így kell most kinéznie a programunknak:Jelöljük ki az összes számot tartalmazó gombot, kivéve az egyenlőségjelet tartalmazót, és rendeljük hozzájuk ugyanazt az eseménykezelőt (Click): Minden számot tartalmazó gombra duplán kell kettintani!
http://12ainformatika.uw.hu/
Feliratkozás:
Bejegyzések (Atom)






