                                                                              
   
   
                   /=========================================\
                   |                                         |
                   |   BEVEZETS AZ INTERNET PROTOKOLLOKBA   |
                   |                                         |
                   |                                         |
                   |                                         |
                   |    C                               R    |
                   |               C          S              |
                   |    Computer Science Facilities Group    |
                   |               C          I              |
                   |    L                               S    |
                   |                                         |
                   |                                         |
                   |                 RUTGERS                 |
                   |        New Jersey llami Egyetem        |
                   |                                         |
                   |                                         |
                   |                                         |
                   |                                         |
                   |                                         |
                   \=========================================/
   
   
   
   
   
   
   
   
                                  1996. Jnius 
   
   Ez  a  dokumentum  egyfajta  bevezetsknt  szolgl  az  Internet   hlzati
   protokollokba  (TCP/IP).   |sszegzi  az elrhet szolgltatsokat, illetve a
   fbb protokollok rvid lerst tartalmazza.
   
   Copyright (C) 1987, Charles  L.  Hedrick.   A jelen dokumentum vagy rsznek
   brminem reproduklsa megengedett, feltve, hogy:  (1) a teljes dokumentum
   msolata vagy reprodukcija a Rutgers University-t megjelli forrsknt,  s
   ezt   a   megjegyzst   is   tartalmazza;   illetve   (2)   az  anyag  egyb
   felhasznlsakor  az  eredeti   angol   nyelv   vltozatra   s  a  Rutgers
   University-re hivatkozs trtnik, feltntetve, hogy a szerzi  jog  Charles
   Hedrick-t illeti meg, s a dokumentum az  engedlyvel hasznlhat.
   
   Hungarian translation (C) 1996, Vincze Tams.  A dokumentum, illetve brmely
   rsze szabadon terjeszthet azzal a felttellel, hogy a fenti ksrszveget
   is tartalmazza.
   
   
   
   
   A Unix jelenleg az X/Open regisztrlt vdjegye.
                                                                              
   
   
                                 Tartalomjegyzk
   
   
   1. Mi is az a TCP/IP?                                                1
   2. A TCP/IP protokollok ltalnos jellemzi                          5
       2.1 A TCP szint                                                  7
       2.2 Az IP szint                                                 10
       2.3 Az Ethernet szint                                           11
   3. Jl ismert socket-ek s az alkalmazsi rteg                     13
       3.1 Egy plda az alkalmazsokra: SMTP                           15
   4. Nem TCP protokollok: UDP s ICMP                                 18
   5. Nv- s informciszervezs: a tartomny (domain) rendszer       19
   6. tvonal-vlaszts                                                21
   7. Bvebben az Internet cmekrl: alhlzatok s zenetszrs       24
   8. Datagrammok fragmentlsa s sszeraksa                         25
   9. Az Ethernet s az ARP                                            25
   10. Tovbbi informci                                              26
   
   
   
   
   
   
   
   
   
   
   
                                 /==============\
                                 |  MEGJEGYZS  |
                                 \==============/
   
   Prbltam   a   magyar   nyelv   szakirodalomban   tbb-kevsb  elterjedt
   kifejezseket hasznlni.  Ha egy  kifejezs  kapcsn  gy reztem, hogy arra
   nincs igazn megfelel, szles krben elterjedt vltozat, akkor megtartottam
   az angol nyelvt.
   
   Ez a magyar nyelv vltozat  egyben  aktualizlt,  frisstett  vltozata  az
   eredeti angol nyelv szvegnek.  Az rsa ta eltelt id alatt elg jelents
   vltozsok   mentek   vgbe  a  hlzatok  fejldse  tern.   Ugyanakkor  a
   dokumentum ltalnos voltnak ksznheten  a  lnyegi rszek nem, vagy csak
   alig vltoztak.
   
   
   Budapest, 1996. Jnius 10.
   
                                                                   Vincze Tams
                                                           tvs@maxi.inf.elte.hu
   
   
   
                                                                              
   A  jelen  dokumentum a TCP/IP protokollokba vezet be rviden, majd tleteket
   ad a tovbbi informcik gyjtshez.   Semmi esetre sem kvn teljes rtk
   lers  lenni,  csupn  csak  a  protokollok   tletvilgt   trja   elnk.
   Amennyiben   tovbbi   mszaki  krdsek  rdeklik,  olvassa  el  magukat  a
   szabvnyokat.   A  szveg   tele   van   ezekre  vonatkoz  hivatkozsokkal,
   gynevezett RFC s IEN szmok formjban, amelyek  dokumentumokat  jellnek.
   Az utols fejezet foglalkozik azzal,  hogy  ezek  a szmok mit jelentenek s
   hogyan  lehet  elcsalogatni bellk a hozzjuk tartoz szabvnyokat, hogyan
   lehet msolatot szerezni.
   
   
   
   1. Mi is az a TCP/IP?
   
   
   A TCP/IP nem ms, mint egy protokollkszlet, amelyet arra dolgoztak ki, hogy
   hlzatba    kapcsolt    szmtgpek   megoszthassk   egyms   kztt   az
   erforrsaikat.  A fejleszts az  ARPAnet kr csoportosult kutatk munkja.
   Valsznleg az ARPAnet a legismertebb TCP/IP alap hlzat.
   
   Hedrick  azt  rja, hogy "1987 jniusig legalbb 130 klnbz cg adott ki
   olyan termket, amely a  TCP/IP-t  tmogatta, s tbbezer hlzat alkalmazza
   is  a protokollokat".  n nem jrtam utna, hogy ma mekkora lehet ez a szm,
   de  nyilvnvalan  ennl  sokkal  tbb.   1987  ta  az  Internet jelentsen
   meghzott.
   
   Elszr  tekintsk t az alapvet fogalmakat.  Az itt lert protokollkszlet
   legjobb    elnevezse     "Internet     protokollverem"    (vagy    Internet
   protokollkszlet).   A  TCP  s  az  IP  ezen   protokollok   kzl   kett.
   (Lersukat  lsd  lejjebb.)   Mivel  a  protokollok  kzl a TCP s az IP a
   legismertebb, ezrt az egsz  csaldra  a  TCP/IP  vagy az IP/TCP kifejezst
   hasznljk.  Valsznleg nincs is rtelme ellenkezni.  Ennek  kvetkeztben
   jnhny  furcsasggal  tallhatjuk  szembe  magunkat.  Egyszer pldul azon
   kaptam magamat, hogy az NFS-rl gy beszltem, mintha az TCP/IP alap lenne,
   mikzben az egyltaln nem  is  hasznl  TCP-t.   (IP-t viszont igen.  A TCP
   helyett egy msik protokollt, UDP-t hasznl.  A sok rvidtsrl a kvetkez
   oldalakon lelebbentjk a ftylat.)
   
   Az  Internet:   hlzatok  egyttese.   Hozztartozik az Arpanet, az NSFnet,
   regionlis hlzatok  (mint  a  NYsernet),  szmos  egyetem s kutatintzet
   helyi hlzata, s egy sor katonai hlzat is.  Az "Internet" kifejezs ezen
   hlzatoknak az sszessgt jelenti.  Ennek egy rsze a  DDN  (Defense  Data
   Network),  amely  az  USA  Vdelmi Minisztriumnak az irnytsa alatt ll.
   Ide tartozik nhny kutati hlzat (pl.  Arpanet), illetve sokkal titkosabb
   katonai hlzatok is.   (Mivel  az  Internet protokollok fejlesztshez val
   anyagi hozzjrulsok nagy rsze  DDN  szervezetektl  szrmazik,  ezrt  az
   Internet  s  a  DDN  kifejezsek  nha  egybemosdni  ltszanak.)   A fenti
   hlzatok  mindegyike  sszekttetsben   ll   egymssal.   A  felhasznlk
   brmelyikrl brmelyikre kldhetnek zenetet, kivve azokat, ahol biztonsgi
   vagy egyb okokbl megszortottk a hozzfrst.  Az Internet  protokollokat
   ler  dokumentumok  olyan  hivatalos  szabvnyok,  amelyeket  az Internetet
   hasznlk kzssge elfogadott  s  alkalmaz.   Az USA Vdelmi Minisztriuma
   1987 tjkn kiadta a TCP/IP MILSPEC-fle defincijt.  A helyzet az,  hogy
                                       -1-                                    
                                                                              
   a  TCP/IP  hvk tovbbra is az Internet szabvnyokat hasznljk.  A MILSPEC
   vltozat azokkal konzisztens.
   
   Mindegy,  hogy minek nevezzk, a TCP/IP egy protokollcsald.  Jnhny tagja
   biztost sok  alkalmazs  szmra  szksges  alacsony szint szolglatokat.
   Ilyen  pldul  az  IP,  a  TCP  s  az  UDP.   (Ezeket  egy  kicsit  ksbb
   rszletesebben is megnzzk.)  Msok olyan meghatrozott feladatokat  ltnak
   el, mint pldul a szmtgpek kztti llomnytovbbts, az zenetklds,
   vagy  ppen  egy  adott  gpre  bejelentkezett  felhasznlk lekrdezse.  A
   TCP/IP-t kezdetben  fleg  kis-  s  nagyszmtgpek (mainframe-ek) krben
   alkalmaztk.  Ezek a gpek sajt merevlemezzel  rendelkeztek,  s  ltalban
   teljesen  nllak  voltak.   Innen  szrmaztathatk  a  TCP/IP legfontosabb
   "hagyomnyos" szolgltatsok:
   
      - llomnytovbbts.   Az  llomnytovbbtsi  protokoll (File Transfer
        Protocol, azaz FTP) segtsgvel brmely szmtgpen lv  felhasznl
        brmelyik  msik  gpre  kldhet  s onnan beszerezhet llomnyokat.  A
        biztonsgot a felhasznlnak a  msik  gpen  rvnyes azonostja s a
        hozztartoz jelszava jelenti.  Gondoskodtak arrl is, hogy a klnbz
        karakterkszlettel, sorvgjellel stb... rendelkez szmtgpek kztti
        llomnytovbbts is zavartalan  legyen.   Ez  nem  teljesen ugyanaz a
        dolog mint a hlzati llomnyrendszer (network  file  system)  vagy  a
        netbios protokoll,  amelyekrl  ksbb  lesz  sz.   Az  FTP  egy olyan
        segdprogram, amelyet brmely idpontban futtatva, a hlzatba kapcsolt
        ms szmtgpeken lv llomnyok elrhetv vlnak.  Arra hasznljk,
        hogy az adatllomnyt a sajt rendszerre tmsoljk.  (Az FTP  lerst
        lsd az RFC 959-ben).
   
      - tvoli  bejelentkezs.   A  hlzati  terminl   protokoll  (TELNET)  a
        felhasznlk tvoli  gpekre  val  bejelentkezst  kezeli.   A tvoli
        viszonyt (session) annak a gpnek a megadsval kell kezdeni,  amelyhez
        csatlakozni  szeretnnk.   Attl  kezdve  brmit is gpelnk be, minden
        adat a megadott gphez kerl a viszony befejeztig.  Vegyk szre, hogy
        a felhasznl valjban mg  mindig  a sajt szmtgpvel kommunikl.
        A telnet program az, amelyik a futsa alatt ezt lthatatlann  teszi  a
        felhasznl  eltt.   Minden  begpelt  karakter  kzvetlenl  a  msik
        rendszerhez   kerl.   A  tvoli  gppel  meglv  kapcsolat  nagyjbl
        hasonlt egy modemes  vonalhoz  (dial-up  connection).  Ez azt jelenti,
        hogy a tvoli rendszer elszr a bejelentkezst kri, majd egy jelszt,
        ugyangy,  ahogy  ez  egy  modemes  kapcsolat   esetn   trtnne.    A
        kijelentkezskor  a  telnet  program kilp a vonalbl, s ismt a sajt
        gpnk   kommunikl   velnk.    A   telnet   program   kisszmtgpes
        megvalstsai ltalban  egy  elterjedt  terminltpus  emulcijt is
        tartalmazzk.   (A  specifikcit  lsd  az  RFC  854  s  az  RFC  855
        dokumentumokban.  Az RFC 854 --  860  a  TELNET opciit rja le.  Hamr
        itt tartunk, ne tvesszk ssze  a  telnet  protokollt  a  Telenet-tel,
        amely egy hlzati szolgltatsokat knl kereskedelmi cg neve.)
   
      - szmtgpes  levelezs (mail).  Ez  a  szolgltats  arra  val,  hogy  a
        felhasznlk zeneteket kldjenek egymsnak.  Az emberek kezdetben csak
        egy-kt szmtgpet hasznltak.   Ezeken  a  gpeken  aztn mindenki a
        sajt levelezsi  llomnyt  tartotta  fenn.   Levl,  illetve  zenet
        elkldsekor  annyi  trtnik,  hogy  az egyszeren a cmzett megfelel
                                       -2-                                    
                                                                              
        llomnyhoz   fzdik.    Az    olyan   krnyezetben   azonban,   ahol
        mikroszmtgpeket  hasznlnak,  ezzel  gond  van.   A   legalapvetbb
        problma  abbl  fakad, hogy a mikroszmtgpek nem a legmegfelelbbek
        zenetek  fogadsra.   Levl  kldsekor  a  levelezst  vgz program
        kommunikcis csatornt akar megnyitni a cmzett gppel.  Ha ez  a  gp
        trtnetesen  egy  mikroszmtgp, akkor lehetsges, hogy ppen ki van
        kapcsolva, vagy esetleg nem  az zeneteket kezel alkalmazst futtatja.
        Ennek a problmnak a megoldsra az zeneteket kezelst egy llandan
        fut kiszolgl (mail server) vgzi el.  A mikrogpeken  fut  levelez
        program  pedig  egy  felhasznli  interfszt  alkot a kiszolgl fel.
        (Lsd az  RFC  821  s  822  dokumentumokat  a szmtgpes levelezsre
        vonatkozlag.  Az RFC 937 pedig egy olyan protokollt  r  le,  amely  a
        mikroszmtgpeknek   a   levelezst   kiszolgl  szmtgptl  val
        zenetfogadst specifiklja.)
   
   A TCP/IP protokollok brmely  megvalstsnak  tartalmaznia  kell  a  fenti
   szolgltatsok   mindegyikt.    A   mikroszmtgpes  implementcikban  a
   levelez rendszer  nem  mindig  szerepel.   Ezek  a  megszokott, hagyomnyos
   alkalmazsok fontos szerepet  jtszanak  a  TCP/IP  alap  hlzatokban.   A
   hlzatokrl  alkotott  elkpzels  azonban folyamatosan vltozik.  Manapsg
   mr   sok    helyen    tbbfajta    szmtgp    is    mkdik   egyszerre:
   mikroszmtgpek,      munkallomsok,       kisszmtgpek,       illetve
   nagyteljestmny    szmtgpek.    Ezen   gpek   mindegyikt   specilis
   feladatokra lltottk fel.  Habr az  emberek  tbbsge mg mindig csak egy
   meghatrozott szmtgpet hasznl a  munkja  sorn,  ez  a  gp  a  kvnt
   szolgltatsok  elrshez  egyb hlzati erforrsokat vesz ignybe.  Ez a
   modell hozta  ltre  a  "server/client"  (kiszolgl/kliens)  alap hlzati
   szolgltatsokat.  A kiszolgl nem  ms  mint  egy  meghatrozott  hlzati
   rendszer,   amely   a   hlzat   tbbi   tagja  rszre  biztost  bizonyos
   szolgltatsokat.  A  kliens  pedig  az  a  rendszer,  amely a szolgltatst
   ignybe veszi.  (Nem szksges, hogy a  kiszolgl  s  a  kliens  klnbz
   szmtgpen legyen.  Lehetnek pldul egyazon a szmtgpen fut klnbz
   programok  is.)   Az  albbiakban  felsoroljuk  a  mai hlzati felptsben
   jelenlv tipikus kiszolglkat.   Ezek  a  szolgltatsok  a TCP/IP keretn
   bell is megtallhatk.
   
      - hlzati   llomnyrendszer   (network    file    system).    Ennek   a
        szolgltatsnak a segtsgvel a hlzaton  lv  llomnyokat  az  FTP
        mdszernl   valamivel  termszetesebben  lehet  elrni.   A  hlzati
        llomnyrendszer azt az illzit kelti,  hogy az egyik rendszer lemezei
        vagy ms  egysgei  kzvetlenl  ms  rendszerekhez  tartoznak.   Nincs
        szksg  kln hlzati alkalmazsra ahhoz, hogy az llomnyokhoz hozz
        lehessen frni.  Az adott  szmtgp egyszeren gy viselkedik, mintha
        plusz egysgeket kapott volna.  Ezek a "virtulis"  meghajtk  a  msik
        rendszer lemezeit fogjk jelenteni.  Tbb hasznos oldala is van ennek a
        megkzeltsnek.   Egyfell nagykapacits meghajtkat lehet megosztani
        tbb  szmtgp  kztt.    Ennek  nyilvnval  takarkossgi  elnyei
        vannak.  Msfell egy csapsra megvalsul a kzs  llomny-hozzfrs.
        Knnyebb vlik a rendszer karbantartsa, archivlsa, mivel nem kell a
        klnbz  gpeken lv msolatok idszerstsvel s tartalkolsval
        foglalkozni.   Sok  cg   knl   nagyteljestmny,  meghajt  nlkli
        szmtgpeket.   Ezeknek  a  gpeknek  a  mkdse  nagy  mrtkben  a
        klnbz  llomnykiszolglkhoz  kapcsolt  meghajtktl fgg.  (A TCP
                                       -3-                                    
                                                                              
        alap, PC-re kszlt NetBIOS  lerst  az  RFC  1001  s 1002 adja.  A
        munkallomsok s a kisszmtgpek krben a Sun Network  File  System
        az  irnyad.   Ennek a protokoll specifikciit a Sun Microsystems cg
        szolgltatja.)
   
      - tvoli  nyomtats.   Itt  arrl  van  sz,  hogy  a ms szmtgpekhez
        csatlakoztatott nyomtatkat sajtknt  tudjuk  elrni.  (A legszlesebb
        krben  hasznlt  protokoll  a  Berkeley   Unix   tvoli   sornyomtats
        protokollja.   Sajnos  ennek  dokumentlt  verzija  nem  ltezik.  A C
        nyelv forrskdot a Berkeley egyetemtl knnyen be lehet szerezni, ami
        a megvalstst knnyti.)
   
      - tvoli futtats.  A szolgltats megengedi programok msik  gpen  val
        vgvgrehajtst.  Ez akkor  hasznos,  ha  a  munka  nagy rszt kisebb
        teljestmny  gpen  el  lehet  vgezni,  de  nhny  feladat  nagyobb
        rendszer erforrsait ignyli.  A tvoli futtatsnak  jnhny  fajtja
        ltezik.  Vannak olyanok, amelyek a parancsokat parancs szinten hajtjk
        vgre.   (Az  intelligensebb vltozatok olyan rendszert keresnek, amely
        szabad   erforrssal   rendelkezik).    Lteznek   tvoli  eljrshv
        rendszerek is, amelyek megengedik, hogy a programok  msik  gpen  fut
        szubrutinokat hvjanak meg.  (Ennek a megvalstsra tbb protokoll is
        ltezik.   A  Berkeley  Unix-ban  kt  kiszolgl is tallhat a tvoli
        futtatsra:  az rsh s az rexec.   Ezek man oldalai rjk le az ltaluk
        hasznlt  protokollokat.   A   Berkeley   4.3   verzival   terjesztett
        programcsomag  tartalmaz  egy  olyan osztott parancsrtelmezt, amely a
        rendszer  terhelstl  fgg   mrtkben   osztja  fel  a  feladatokat
        klnbz rendszerek  kztt.   A  tvoli  eljrshvsok  mdszere  az
        1980-as   vek  vge  fel  a  kutatsok  kzppontjban  llt,  aminek
        eredmnyekppen    sok    szervezet    rendelkezik    a    szolgltats
        implementcijval.   A  leginkbb   elterjedt  s  kereskedelmileg  is
        tmogatott tvoli eljrshv protokoll a Xerox cg Courier, illetve  a
        Sun  cg  RPC  protokollja.   A  dokumentcik beszerezhetk maguktl a
        cgektl.  A Courier-nek ltezik  TCP alap, publikus megvalstsa is,
        amelyet a Berkeley 4.3 programcsomag rszeknt  terjesztenek.   Az  RPC
        egy  Sun  megvalstsa a Usenet hlzaton volt megtallhat, illetve a
        Berkeley 4.3 rszeknt is megjelent.)
   
      - nvkiszolglk (name servers).  Nagy  kiterjeds  rendszerek  mkdse
        sorn rengeteg nv keletkezik, amit valahogy adminisztrlni kell.   Ide
        tartoznak   a   felhasznlk  s  a  jelszavaik,  az  azonostk  s  a
        szmtgpek  nevei   s   hlzati   cmei.    Ha   mindezeket  minden
        szmtgpen  naprakszen  akarnnk  tartani,   akkor   elvesznnk   az
        informci  dzsungelben.  Ennek elkerlse vgett az adatbzisokat nem
        mindegyik,  hanem  csak  egy  pr  rendszeren  tartjk  fenn.   A tbbi
        rendszer az adatokhoz a hlzaton keresztl fr hozz.  (Az  Interneten
        lv  gpek  neveit  s  Internet  cmeit  nyomon  kvet nvkiszolgl
        protokollokat az RFC  822  s  823  dokumentumok  rjk  le.  Ez ma mr
        brmely TCP/IP megvalstsnak rsze kell, hogy legyen.  Az IEN 116 egy
        olyan rgebbi nvszolgltat protokollt r  le,  amelyet  mg  egy  pr
        terminlkiszolgl  s  egyb termk hasznl a szmtgpek keressre.
        A  Sun  cg  Yellow   Pages   rendszere  a  felhasznlk  neveinek,  az
        llomny-megoszt  csoportoknak,  illetve  a  Unix   rendszerek   ltal
        hasznlt   ms  adatbzisoknak  az  ltalnos  kezelsre  szolgl.   A
                                       -4-                                    
                                                                              
        rendszer a kereskedelemben kaphat.   A  protokoll lersa a Sun cgtl
        szerezhet be.)
   
      - terminlszerverek.  Rengeteg rendszerben elfordul, hogy a terminlokat
        nem  csatlakoztatjk  kzvetlenl  a  szmtgpekhez.   Ehelyett  ezek
        gynevezett terminlszerverekhez csatlakoznak.  A  terminlszerver  nem
        ms  mint  egy  kisteljestmny  szmtgp, amely csak a telnet (vagy
        ms,  bejelentkezst   vgrehajt   protokoll)   futtatsra  hivatott.
        Amennyiben a hasznlt terminl ilyen  szmtgphez  van  ktve,  akkor
        egyszeren csak be kell gpelni egy szmtgp nevt, s mris ltrejn
        a kapcsolat.  ltalban lehetsges egyszerre tbb szmtgp fel aktv
        kapcsolat  fenntartsa  is.  A terminlszerver vgzi az l kapcsolatok
        kztti vltogatst, s figyelmezteti  a felhasznlt, ha egy kapcsolat
        kimenetn megjelenik  valami.   (A  terminlszerverek  a  mr  emltett
        telnet  protokollt  hasznljk.   A valdi terminlszervereknek tudniuk
        kell a nvszolglatot, illetve egyb protokollokat is.)
   
      - hlzat  alap  ablakos  rendszerek.   A  nagy  teljestmny  grafikai
        programok   rgebben   olyan   szmtgpeket   ignyeltek,  amelyekhez
        kzvetlenl csatlakozott bittrkpes  grafikus  kperny.   A  hlzati
        ablakos   rendszerek   megengedik,   hogy   az   ilyen   programok  ms
        szmtgphez csatlakoztatott kijelzt hasznljanak.  Ezek a rendszerek
        biztostjk, hogy a  klnbz  feladatokat a legmegfelelbb rendszerek
        vgezzk,  mikzben  vgig  egyetlen  grafikus  felletet  mutatnak   a
        felhasznl  fel.   (A  legelterjedtebb megvalsts az X. A protokoll
        lerst a MIT Athena projektjtl lehet beszerezni.  Sok cg tmogatja
        a Sun NeWS nev rendszert is.  Mindkt rendszer TCP/IP-re pl.)
   
   A  fenti  protokollok  kzl  jnhny   a  Sun,  a  Berkeley,  illetve  ms
   szervezetek munkjnak eredmnye.  Ez azt jelenti, hogy ezek hivatalosan nem
   rszei az Internet protokollkszletnek; persze a megvalstsukban  TCP/IP-t
   hasznlnak,   mint   brmely  ms  TCP/IP  alkalmazs.   Mivel  a  protokoll
   defincik  nem  kpeznek   tulajdonjogot,  valamint  mivel  kereskedelmileg
   tmogatott  megvalstsok  is  hozzfrhetek,  ezrt  clszer  ezeket   a
   protokollokat  az  Internet  protokollkszlet  rszeknt tekinteni.  A fenti
   lista   a   TCP/IP-n   keresztl   elrhet   szolgltatsokbl   csak   egy
   mintafelsorols, a fbb alkalmazsok tbbsgt azonban tartalmazza.  A tbbi
   szles krben hasznlatos protokoll  olyan specilis informcikat biztost,
   mint  pldul  a  bejelentekezett  felhasznlk,  az  aktulis  id   stb...
   Amennyiben  olyan  szolgltatsra  van szksg, amely nem szerepel a fentiek
   kztt, akkor  ajnlott  az  Internet  Protokollok  aktulis listjnak (RFC
   1011) a megtekintse.  Ebben megtallhat minden protokoll.  rdemes  mg  a
   fbb  TCP/IP  megvalstsokat  is  vgigbngszni,  hogy  a klnbz cgek
   milyen jabb szolgltatsokat adtak hozz a protokollokhoz.
   
   
   
   2. A TCP/IP protokollok ltalnos jellemzi
   
   
   A TCP/IP protokollkszlet egymsra pl rtegekbl ll.  Ennek megrtshez
   tekintsnk egy pldt.  Tipikus  hlzati feladat a levelezs megvalstsa,
   amit protokoll szablyoz.   A  protokoll  az  egyik  gp  ltal  a  msiknak
                                       -5-                                    
                                                                              
   kldend  parancsokat  definilja,  pldul annak meghatrozsra, hogy ki a
   levl kldje, ki a  cmzett,  majd  ezutn  kvetkezik  a levl szvege.  A
   protokoll  felttelezi  tovbb,  hogy  a  krdses  kt  szmtgp  kztt
   megbzhat kommunikcis csatorna ltezik.  A levelezs,  mint  brmely  ms
   alkalmazsi  rtegbeli  protokoll,  a  kldend  parancsokat  s  zeneteket
   definilja.   A  tervezsekor  a  TCP/IP-t  vettk alapul, azaz azzal egytt
   hasznlhat.  A TCP a felels  azrt, hogy a parancsok biztosan elkerljenek
   a cmzetthez.  Figyel arra, hogy mi kerlt  t,  s  ami  nem  jutott  el  a
   cmzetthez,  azt jraadja.  Amennyiben egy falat, pl. az zenet szvege, tl
   nagy lenne (meghaladja egy datagramm  mrett),  akkor azt a TCP szttrdeli
   tbb datagrammra, s biztostja, hogy azok helyesen rkezzen clba.  Mivel a
   fenti szolgltatsokat jnhny  alkalmazs  ignyli,  ezrt  ezeket  nem  a
   levelezs,   hanem   egy   kln   protokoll   tartalmazza.   Az  egsz  TCP
   tulajdonkppen nem ms, mint rutinok  olyan gyjtemnye, amelyet a klnbz
   alkalmazsok vesznek ignybe, hogy megbzhat hlzati kapcsolatot ptsenek
   ki ms szmtgpekkel.  A TCP hasonlkppen alapul az IP  szolgltatsokon.
   Habr   a  TCP  szolgltatsait  sok  alkalmazs  ignyli,  vannak  olyanok,
   amelyeknek nincs  rjuk  szksgk.   Persze  lteznek olyan szolgltatsok,
   amelyeket minden  alkalmazs  megkvn.   Ezeket  szedtk  egybe  az  IP-be.
   Ugyangy,  ahogy  a  TCP,  az  IP is egy rutingyjtemny, de ezt a TCP-t nem
   hasznl  alkalmazsok  is  elrhetik.   A  klnbz  protokolloknak  ezt a
   szintekbe rendezst rtegezsnek nevezik.  Ennek megfelelen az alkalmazsi
   programok (mint pldul a levelezs), a TCP, illetve  az  IP  kln  rteget
   alkotnak, amelyek mindegyike az alatta lv rteg szolgltatsait hasznlja.
   A TCP/IP alkalmazsok ltalban a kvetkez ngy rteget veszik ignybe:
   
        - alkalmazsi protokollok (pl. levelezs);
        - a  TCP-hez  hasonl protokollok, amelyek rengeteg alkalmazs szmra
          biztostanak szolgltatsokat;
        - IP, amely a datagrammok  clba  juttatst biztostja;
        - a felhasznlt fizikai eszkzk kezelshez szksges protokollok (pl.
          Ethernet)
   
   A  TCP/IP  alapjul  az n.  "catenet" modell szolglt (rszletesebben lsd:
   IEN 48).  Az alapfeltevs az, hogy nagyszm klnbz hlzat ll egymssal
   sszekttetsben tjrk segtsgvel.   Ezeken  a  hlzatokon lv brmely
   szmtgpet vagy erforrst a  felhasznlnak  el  kell  tudnia  rni.   Az
   adatcsomagok  esetleg  tbb  tucat  hlzaton is keresztlmehetnek mieltt a
   clllomsra   rkeznnek.    Az    ezt   megvalst   tvonal-vlasztsnak
   termszetesen lthatatlannak kell maradnia a felhasznl  szmra,  abbl  
   mindssze  egy  Internet cmet kell, hogy ismerjen.  Ez egy olyan adat, mint
   pldul a 128.6.4.194, ami  tulajdonkppen  egy 32 bites szmot reprezentl.
   A felrs 4 darab 8 bites decimlis szm formjban trtnik.  (Az  Internet
   dokumentcikban  a  byte  helyett  az oktet kifejezst hasznljk a 8 bites
   szmokra.   Ez  azrt  van  gy,  mert  a  TCP/IP-t  olyan  szmtgpek  is
   hasznljk, amelyek architektrjban a byte  nem  8 bites szmot jell.)  A
   cm alapjn kiderthet, hogy hogyan lehet a rendszerhez eljutni  (ltalban
   ez is a cm szerepe :) ).  A fenti pldban a 128.6 egy olyan hlzati szm,
   amelyet egy kzponti hatsg adott ki a Rutgers Egyetem szmra.  Az egyetem
   a  kvetkez  oktetet  a  tanszkek  azonostsra  hasznlja.  A 128.6.4 az
   egyetem szmtgptudomnyi tanszkt jelli.   A negyedik, egyben az utols
   oktet maximum 254 rendszert azonosthat minden esetben (azrt 254, mert a  0
   s a 255 nem megengedett rtkek; errl ksbb lesz sz).  A fentiek szerint
                                       -6-                                    
                                                                              
   a  128.6.4.194.  s  a  128.6.5.194 nem ugyanaz a rendszer.  Az Internet cm
   szerkezetrl bvebben lsd ksbb.
   
   A  klnbz  rendszerekre  ltlban  a  nevkkel  hivatkozunk,  s  nem az
   Internet cmkkel.  Egy  ilyen  nv  megadsakor  a  hlzati  szoftver  egy
   adatbzisbl kikeresi a hozztartoz cmet.  Ez azrt fontos, mert a legtbb
   hlzati  szoftver  cmekkel operl.  (A keress-hozzrendels lerst lsd
   az RFC 882-ben.)
   
   A TCP/IP  sszekttets-mentes  hlzati  protokollokat  tartalmaz,  ami azt
   jelenti, hogy az informci a datagrammok  sorozataknt  terjed  tovbb.   A
   datagramm   adatok   egyttese,   amely   egy   egyszer   zenetknt  kerl
   tovbbtsra.   A  datagrammok  egymstl  fggetlenl,  egyesvel  indulnak
   tjukra.  (Az  adott  adatkapcsolat  idtartamra  vonatkozan persze vannak
   elrejelzsek.)   A  kldend  informcit  egy  meghatrozott   szinten   a
   protokollok  a  fenti adatokra trdelik, amelyeket aztn a hlzat egymstl
   teljesen klnllknt kezel.   Tegyk  fel  pldul,  hogy  egy 15000 oktet
   mret llomny tovbbtsrl van sz.  Mivel a  legtbb  hlzat  nem  tud
   ekkora datagrammal mit kezdeni, ezrt azt a protokollok mondjuk 30 darab 500
   oktetes  darabra  szedik  szt, amelyek mindegyikt elkldik a clllomsra.
   Ott  aztn  bellk  sszerakjk  az  eredeti  15000  oktetes  llomnyt.  A
   datagrammok adsa kzben a hlzaton semmi  nem  utal  arra,  hogy  kzttk
   brmifle   kapcsolat  is  ltezne;  elfordulhat,  hogy  egy  a  sorrendben
   eredetileg htrbb ll megelz egy eltte  llt.  Az is lehetsges, hogy a
   hlzaton valahol hiba keletkezik s nhnyuk nem rkezik meg a rendeltetsi
   helyre.  Ilyenkor jra kell adni a hinyz datagrammot.
   
   A datagramm s a csomag kifejezs gyakran egymssal felcserlhetnek  tnik,
   azonban  ez  nem  minden esetben van gy.  A TCP/IP lersakor a datagramm a
   helyes  kifejezs:   azt  az  adategysget  jelli,  amellyel  a protokollok
   operlnak, mg a csomag egy  fizikailag  ltez  dolog,  amely  a  kbeleken
   jelenik  meg.   A legtbb esetben egy csomag egyetlen datagrammot tartalmaz.
   Ilyenkor szinte  elenysz  a  klnbsg.   Vannak  azonban kivtelek:  X.25
   kbelezsre pl TCP/IP  esetn  a  kt  rteg  kztti  X.25  interfsz  a
   datagrammokat   128   byte-os   csomagokra   trdeli.    Mindezt   a  TCP/IP
   termszetesen nem veszi  szre,  hiszen  a  clllomson  a csomagokat ismt
   egyetlen  datagramm  rakja  ssze  az  interfsz.    Itt   teht   egyetlen
   datagrammot  tbb  klnbz  csomag  szllt.   A  legtbb  kzegben ezek a
   klnbsgek egyre inkbb eltnni ltszanak.
   
   
   
   2.1 A TCP szint
   
   
   A TCP/IP datagrammok kezelsben  kt  klnbz protokoll jtszik szerepet.
   Az zenetek szttrdelst, sszelltst, az elveszett rszek  jraadst,
   a  datagrammok  helyes sorrendjnek visszalltst mind a TCP (transmission
   control protocol -- tvitelvezrlsi protokoll) vgzi.  Az egyes datagrammok
   tvonalnak a  meghatrozst  (routing)  az  IP  (internet protocol) hajtja
   vgre.  Mindez azt a ltszatot kelti, hogy a munka tetemes  rsze  a  TCP-re
   hrul.   Kis  kiterjeds  hlzatokban ez gy is van, azonban az Interneten
   egy  datagrammnak  a  rendeltetsi  helyre  val  juttatsa  igen  sszetett
                                       -7-                                    
                                                                              
   feladatot jelenthet.  Egy datagramm tbb hlzaton mehet keresztl mg vgl
   eljut a clllomsra.  Pldul  a  Rutgers  Egyetemrl  kiindulva a John von
   Neumann Supercomputing Center-ig soros vonalon keresztl,  majd  onnan  (egy
   pr  Ethernet  hlzaton  tjutva) 56Kbaud telefonvonalakon keresztl jut el
   egy msik NSFnet  hlzatra  stb...   A  klnbz tviteli kzegekbl add
   inkompatibilitsok  kezelse   s   a   clllomsokhoz   vezet   tvonalak
   vgigkvetse  komplex feladat.  Meg kell jegyezni azonban, hogy a TCP s az
   IP kzti interfsz  rendkvl  egyszer:   a  TCP  egy  datagrammot ad t az
   IP-nek egy rendeltetsi cmmel egytt.  Az IP semmit sem tud arrl, hogy  ez
   az informci hogyan viszonyul ms datagrammokhoz.
   
   Az  olvassban  idig eljutva felmerlhet a gyan, hogy az eddig elmondottak
   nem alkotnak egszen teljes keretet.   Sz  volt ugyan az Internet cmekrl,
   de arrl nem:  vajon hogyan lehet egy adott rendszer esetn az ahhoz  befut
   klnbz  kapcsolatokat  nyomon  kvetni?   Nyilvn  nem  elegend  csak  a
   datagrammnak  a  helyes cmre val tovbbtsa.  A TCP-nek mg azt is tudnia
   kell, hogy az  adott  datagramm  melyik  kapcsolathoz  tartozik.  A problma
   megoldst a demultiplexls v.  nyalbbonts  nven  ismert  eljrs  adja,
   amely   a   TCP/IP-ben   valjban   tbb   klnbz   szinten  folyik.   A
   demultiplexlshoz  szksges  informcit  az  n.  fejlcek  hordozzk.  A
   fejlc azokat az extra okteteket jelenti, amelyeket a klnbz  protokollok
   ragasztanak  a  datagrammok  elejre,  hogy azokat nyomon tudjk kvetni.  A
   dolog hasonlt  ahhoz,  amikor  a  levelet  a  bortkba  tesszk,  majd azt
   megcmezzk.  A  klnbsg  annyi,  hogy  a  modern  hlzatokban  ez  jval
   tbbszr  trtnik:   olyan mintha a levelet egy kis bortkba tennnk, majd
   azt a titkrnnk egy  nagyobb  bortkba  helyezn,  amit  a kzpont egy mg
   nagyobb bortkban tovbbtana  stb...   Az  albbiakban  a  tipikus  TCP/IP
   hlzaton keresztl halad zenetre rrakd fejlceket tekintjk t:
   
   Kezdetnek  vegynk  egy  egyszer  adatfolyamot (pl. egy llomny tartalma),
   amelyet egy msik szmtgpnek szeretnnk elkldeni:
   
       ....................................................................
   
   Ezt a TCP megcsonktja.  (Ennek rdekben tudatni kell a  protokollal,  hogy
   mekkora  az a maximlis adatmret, amelyet az adott hlzat mg kezelni tud.
   Valjban az sszekttets kt  vgn  a  TCP-k  kzlik egymssal az ltaluk
   kezelhet maximlis mretet, majd veszik a kisebbiket.)
   
       ....    ....    ....    ....    ....    ....    ....    ....    ....
   
   Minden datagramm el egy TCP fejlc kerl, amely legalbb 20  oktetbl  ll.
   Ezek  kzl  a  legfontosabbak:   egy  forrs-  s egy clport, valamint egy
   sorszm.  A portok az  sszekttetsek  vgpontjait azonostjk.  Tegyk fel
   pldul, hogy egyszerre 3 felhasznl tovbbt llomnyokat.  A TCP  ezekhez
   az  tvitelekhez  az  1000,  1001  s  1002  portokat rendelheti.  Datagramm
   kldsekor az alloklt port  vlik  a  forrsportt,  mivel innen indul ki a
   datagramm.  A kapcsolat msik vgnl lv TCP szintn hozzrendeli a sajt
   portjt az tvitelhez.  A kld oldali TCP-nek a clport  szmt  is  tudnia
   kell  (ezt  az  informcit  a  kapcsolat  felplsekor  szerzi  meg;  lsd
   lejjebb),  amelyet az a fejlc clport mezjbe helyez.  Ha a msik oldalrl
   rkezik egy datagramm, akkor annak  TCP  fejlcben a forrs- s a clportok
   tartalma ellenttes, hiszen ekkor az a forrs, ez pedig a rendeltetsi hely.
                                      -8-                                    
                                                                              
   Minden datagrammnak van egy sorszma, amely a vev oldalt arrl  biztostja,
   hogy  minden  adatot  helyes sorrendben kapjon meg, s ne vesztsen el egyet
   se  a  datagrammok  kzl.   (Tovbbi   rszleteket  illeten  lsd  a  TCP
   specifikcikat.)  A TCP valjban nem a datagrammokat, hanem  az  okteteket
   sorszmozza.   Ha pldul minden datagramm 500 oktet adatot tartalmaz, akkor
   az els datagramm sorszma  0,  a  msodik  500,  a  kvetkez 1000, az az
   utni 1500 stb... lesz.  Vgl essk  sz  az  ellenrzsszegrl:   ez  egy
   olyan  szm,  amelyet  a  datagrammban  lv  oktetek  sszeadsval  kapunk
   (tbb-kevsb;  lsd a TCP specifikcit.  Az OSI szlltsi rtege ezt gy
   kpzi, hogy az  adatokat  16  bites  szmokknt  sszeadja, majd veszi ennek
   egyes komplemenst -- a fordt.)  Az eredmny aztn bekerl a TCP  fejlcbe.
   A   vev   oldali   TCP   is   kiszmtja  a  fenti  algoritmus  szerinti
   ellenrzsszeget.  Ha a kett nem  egyezik,  akkor a datagrammal az tvitel
   kzben valahol valami baj trtnt s azt a protokoll eldobja.  A  datagramm
   mostanra teht gy nz ki:
   
         <<-------------------------  32 bit  -------------------------->>
   
         +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
         |          Forrsport           |            Clport            |
         +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
         |                            Sorszm                            |
         +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
         |                       Rltetett nyugta                       |
         +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
         | TCP   |   Fenn-   |U|A|P|R|S|F|                               |
         |fejrsz|  tartott  |R|C|S|S|Y|I|             Ablak             |
         |hossza |           |G|K|H|T|N|N|                               |
         +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
         |       Ellenrzsszeg         |       Srgssgi mutat       |
         +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
         |   tnyleges adatok ... kvetkez 500 oktet
         |   .......
   
   Ha a TCP fejlcet T-vel jelljk, akkor az eredeti llomnyunk gy nz ki:
   
       T....   T....   T....   T....   T....
   
   A fejlcben vannak olyan mezk, amelyekrl  mg nem esett sz.  A legtbbjk
   az sszekttets  menedzselsvel  kapcsolatos  informcikat  hordozza.   A
   datagrammnak  a  rendeltetsi  helyre val megrkezst a vev egy nyugtval
   hozza a kld oldal  tudomsra.   Ez  a  szm  a datagramm TCP fejlcben a
   Rltetett nyugta mezben jelenik meg.  Pldul egy olyan csomag  elkldse,
   amelynek nyugtamezjben 1500 szerepel, azt jelenti, hogy az 1500-as oktetig
   bezrlag  minden  datagramm  eljutott  a rendeltetsi helyre.  Amennyiben a
   kld oldal egy adott idn  bell  nem  kap  nyugtt, akkor jbl elkldi az
   adatot.  Az Ablak mezben lv rtk az sszekttets alatt forgalomban lv
   adatok mennyisgt hatrozza meg.  Nem lenne  szerencss,  ha  minden  egyes
   datagramm  elkldse  eltt meg kellene vrni az elz nyugtjt, mert gy a
   forgalom  rendkvli  mrtkben  lelassulna.   Msrszt  viszont  nem  lehet
   folytonosan kldeni  az  adatokat,  hiszen  pldul  egy gyorsabb szmtgp
   adatrama elrasztan a lassabb gpeket.  Ennek megoldsra mindkt oldal az
   Ablak  mezben  elhelyezett  oktetek  szmval  kzli,  hogy  ppen  mekkora
                                      -9-                                    
                                                                              
   adatmennyisget kpes mg befogadni.  Az adatok vtelvel ez a szm, azaz az
   ablak mrete, folyamatosan  cskken.   Amikor  elri  a  nullt  a  kldnek
   szneteltetnie  kell  az  adatok tovbbtst.  A vev ablakmrete az adatok
   feldolgozsa sorn  n,  ami  jelzi,  hogy  ksz  tovbbi adatok fogadsra.
   Gyakran ugyanaz a datagramm hasznlhat az jabb adatok  engedlyezsre  s
   nyugtzsra  is  (aktualizlt  ablak  segtsgvel).   A  Srgssgi  mutat
   mezben lv rtk belltsval brmelyik oldal utasthatja a msikat arra,
   hogy  a  feldolgozst  egy  adott oktettel folytassa.  A gyakorlatban tbbek
   kztt ez az aszinkron esemnyekkel kapcsolatban hasznlatos, pldul amikor
   vezrlkarakter vagy ms, a kimenetet megszakt parancs kerl tovbbtsra.
   A tbbi mezrl ez a dokumentum nem hivatott szlni.
   
   
   
   2.2 Az IP szint
   
   
   A  TCP  az ltala feldolgozott datagrammokat tadja az IP-nek.  Persze ezzel
   egytt kzlnie kell a rendeltetsi hely  Internet cmt is.  Az IP-t ezeken
   kvl nem rdekli ms:  nem szmt, hogy mi tallhat a  datagrammban  vagy,
   hogy hogyan nz ki a TCP fejlc.  Az IP feladata abban ll, hogy a datagramm
   szmra megkeresse a megfelel tvonalat s azt a msik oldalhoz eljuttassa.
   Az  tkzben  fellelhet tjrk s egyb kzbls rendszereken val tjuts
   megknnytsre az IP a datagrammhoz  hozzteszi a sajt fejlct.  A fejlc
   f rszei a forrs, s a rendeltetsi hely Internet cme  (32  bites  cmek,
   pl.   128.6.4.94), a protokollszm s egy ellenrz sszeg.  A forrs cme a
   kld gp cmt tartalmazza.  (Ez  azrt  szksges, hogy a vev oldal tudja
   honnan rkezett az adat.)  A rendeltetsi hely cme a vev oldali gp  cmt
   jelenti.   (Ez  pedig  azrt  szksges, hogy a kzbens tjrk tovbbtani
   tudjk az adatot.)  A protokollszm  kijelli,  hogy a datagramm a klnbz
   szlltsi folyamatok kzl melyikhez tartozik.  A TCP egy biztos vlasztsi
   lehetsg, de lteznek egyebek is  (pl.   UDP).   Vgl  az  ellenrzsszeg
   segtsgvel  bizonyosodik  meg  a  vev  oldali  IP arrl, hogy a fejlc az
   tvitel   sorn   nem   srlt-e   meg.    A   TCP   s   az   IP  klnbz
   ellenrzsszegeket hasznl.  Az IP-nek meg kell tudnia  gyzdni  a  fejlc
   srtetlensgrl, klnben rossz helyre kldhet el adatot.  A TCP s az IP a
   biztonsg  s  a  hatkonysg nvelse miatt teht kln ellenrzsszegeket
   hasznl.  Az IP fejlc hozzttele utn az eredeti zenet gy nz ki:
   
         <<--------------------------  32 bit  ------------------------->>
   
         +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
         |Verzi |  IHL  |Szolglattpus |        Teljes hosszsg       |
         +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
         |          Azonosts           |X|D|M|    Datagramm-eltols    |
         |                               |X|F|F|                         |
         +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
         |   lettartam  |   Protokoll   |   A fejrsz ellenrzsszege  |
         +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
         |                           Forrscm                           |
         +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
         |                             Clcm                            |
         +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
         |   TCP fejlc, majd a tnyleges adatok ...

                                      -10-                                    
                                                                              
   
   
   Ha az IP fejlcet I-vel jelljk, akkor az eredeti llomnyunk gy nz ki:
   
       IT....  IT....  IT....  IT....  IT....
   
   
   Nem esett sz a fejlcben lv  tbbi mez jelentsrl, mert a legtbbjk a
   jelen dokumentum keretein tlmutat.  A Datagramm-eltols s a DF, MF mezk a
   datagrammok rszeinek nyomonkvetsre  hasznlatosak.   (Az  XX  bitet  nem
   hasznljk.)  Egy datagrammot pldul akkor kell szttrdelni, amikor az egy
   olyan  hlzaton  halad  keresztl,  amely szmra nagy falatnak mutatkozik.
   (Ezt rszletesebben lsd ksbb.)   Az  lettartam  mezben lv szm mindig
   cskken, amikor a datagramm egy rendszeren halad keresztl.  Amikor elri  a
   nullt,  a  datagramm  megsemmisl.   Ezt  az eljrst a rendszerben esetleg
   felpl vgtelen  ciklusok  miatt  ptettk  a  protokollba.   Persze ezek
   fellptnek valsznsge az idelis esetben nulla, de  a  jl  megtervezett
   hlzatoknak  a  bekvetkezhetetlen  esemnyekkel  is el kell tudniuk bnni.
   Amikor a hlzati rteg sszerak  egy  teljes datagrammot, tudnia kell, hogy
   mit tegyen vele.  Vgl az Azonosts mez ahhoz kell, hogy a  clhoszt  meg
   tudja  llaptani,  hogy  egy  jonnan  rkezett  csomag melyik datagrammhoz
   tartozik.  Egy datagramm minden egyes  darabja ugyanazzal az Azonosts mez
   rtkkel rendelkezik.
   
   Lehetsges, hogy az gy felptett datagrammhoz tbb fejlc  mr  nem  kell.
   Ha   a   kld   szmtgpet  a  clgphez  vagy  egy  tjrhoz  kzvetlen
   telefonvonal kti, akkor a datagrammokat egyszeren kikldi a vonalra (habr
   aszinkron protokoll hasznlatakor  az  legalbb  nhny oktetet hozztesz az
   elejhez s a vghez).
   
   
   
   2.3 Az Ethernet szint
   
   
   Manapsg a legtbb hlzat Ethernetet hasznl.  A kvetkezkben az  Ethernet
   fejlccel  foglalkozunk.   Sajnos  az  Ethernetnek  megvan  a  sajt cmzsi
   mdszere, mivel a ltrehozk  biztostani  akartk, hogy semelyik kt gpnek
   se legyen ugyanaz az  Ethernet  cme.   Azt  is  el  akartk  rni,  hogy  a
   felhasznlnak  ne  kelljen  a  cmek  hozzrendelsvel  foglalkozni, ezrt
   minden Ethernet  vezrl  gyrilag  begetett  cmmel  rendelkezik.  Hogy ne
   kelljen egyetlen cmet se jra  kiosztani,  a  fejlesztk  az  Ethernet  cm
   hosszt  48  bitben  hatroztk meg.  Az Ethernet vezrlket gyrt cgeknek
   regisztrltatniuk kell magukat egy kzpontnl, hogy biztosak legyenek abban:
   az ltaluk kiadott cmek mg  nem  lteznek.  Az Ethernet n. zenetszrsos
   kzeg, azaz olyan, mint egy partivonal.  Az Ethernetre ltetett  csomagot  a
   hlzaton  lv  sszes  gp  ltja,  ezrt  valami  mg  hinyzik, hogy azt
   biztosan a megfelel gp kapja  meg.   Nem nehz kitallni, hogy itt jelenik
   meg az Ethernet fejlc.  Minden Ethernet csomagnak egy  14  oktetes  fejlce
   van,  amely  a forrs- s a clgp cmt, valamint egy tpuskdot tartalmaz.
   A  hlzaton  lv  gpek   csak   az  olyan  csomagokat  figyelik,  amelyek
   clmezjben a sajt  Ethernet  cmket  talljak.   (Lthat,  hogy  milyen
                                      -11-                                    
                                                                              
   knny  csalni,  ezrt  az  Ethernet  hlzatok  nem a legbiztonsgosabbak.)
   Vegyk szre, hogy  az  Ethernet  cmek  s  az  Internet cmek kztt nincs
   semmifle kapcsolat.   Minden  szmtgpnek  van  egy  tblzata,  amelyben
   felsorolja,  hogy  milyen  Ethernet  cm  milyen  Internet cmnek felel meg.
   (Ennek  a  tblzatnak  a  felptst  lsd  ksbb.)   A  cmek  mellett a
   fejlcben szerepel mg egy tpuskd  is.   Ennek  segtsgvel  ugyanazon  a
   hlzaton  tbbfajta  protokollkszlet  hasznlata  is  lehetsges:  TCP/IP,
   DECnet, Xerox,  NS  stb...   Ezen  protokollok  mindegyike klnbz rtket
   helyez a tpus mezbe.  Vgl ott az ellenrzsszeg,  amelyet  az  Ethernet
   vezrl  az  egsz  csomagra  vonatkozan  szmt  ki.   A vtelkor a clgp
   Ethernet vezrlje is kiszmtja ezt az ellenrzsszeget, s ha a kett nem
   egyezik, akkor eldobja a csomagot.  Az ellenrzsszeg nem a fejlcbe, hanem
   a csomag vgre kerl.  Az zenet teht gy nz ki:
   
   
         <<-------------------------  32 bit  -------------------------->>
   
         +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
         |               Clgp Ethernet cme (els 32 bit)              |
         +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
         |  Ethernet cl (utols 16 bit) | Ethernet forrs (els 16 bit) |
         +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
         |              Forrsgp Ethernet cme (utols 32 bit)          |
         +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
         |           Tpuskd            |                               |
         +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
         |   IP fejlc, TCP fejlc, majd a tnyleges adatok              |
         |                                                               |
           ...
         |   adatok vge                                                 |
         +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
         |                    Ethernet ellenrzsszeg                   |
         +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   
   
   Ha az Ethernet fejlcet E-vel, az ellenrzsszeget  pedig  C-vel  jelljk,
   akkor az eredeti llomnyunk gy nz ki:
   
       EIT....C    EIT....C    EIT....C    EIT....C    EIT....C
   
   A csomagok megrkezsekor  persze  a  fenti  fejlcek  mindegyikt leszedi a
   megfelel protokoll.  Az Ethernet  interfsz  az  Ethernet  fejlcet  s  az
   Ethernet  ellenrzsszeget  szedi  le.   Ezekutn  ellenrzi  a tpuskdot.
   Mivel az az IP-re  mutat,  ezrt  a  datagrammot  tadja  az IP-nek, amely a
   Protokoll mez tartalmt ellenrzi.  Itt azt  tallja,  hogy  TCP,  ezrt  a
   datagrammot  a  TCP-nek  adja  t.   A  TCP a Sorszm mez tartalma s egyb
   informcik alapjn lltja ssze az eredeti llomnyt.
   
   Ezzel vgre is rtnk a TCP/IP-be val bevezetsnknek.  Mivel vannak olyan
   kritikus  pontok,  amelyeket   nem   rintettnk,  ezrt  visszamegynk,  s
   rszletesebben  trgyalunk  egyet-kettt.   (Az  itt  emltettek   rszletes
   lersval  TCP tekintetben az RFC 793, IP tekintetben az RFC 791, illetve
   IP hasznlatval Etherneten az RFC 894 s 896 dokumentumok foglalkoznak.)
                                      -12-                                    

