Spring 2000CS 4611 Protokoll Implementáció elelmei Vázlat Szolgáltatási Interfész Folyamat Modell Közös Szubrutinok Példa Protokoll.

Slides:



Advertisements
Hasonló előadás
4. alkalom – Hálózat Kezelés
Advertisements

Windows Communication Foundation (WCF)
Hálózati és Internet ismeretek
HÁLÓZAT SOAP Hagyományos WCF/ASMX webszervizek.
GoldWorks grafika. Grafikus objektumok  előre definiált keretek  images (egy vagy több rés értékének reprezentálása)  canvases (image-ek megjelenítésére)
MSN-kompatibilis egyéni emotikonok kezelése XMPP/Jabber-ben Bemutatás Németh Ádám,
Module 10: Supporting Remote Users távoli felhasználó támogatása.
IPSec.
1. Előadás WCF- bemutatás
Az Internet elemei és hozzáférési technológiái Az Internet architektúrája.
Tűzfal beállítása Ubuntuban
Hálózati alkalmazások
© Kozsik Tamás Beágyazott osztályok A blokkstrukturáltság támogatása –Eddig: egymásba ágyazható blokk utasítások Osztálydefiníciók is egymásba.
Tanszéki konzulens: Horváth Ákos Készítette: Kóródi Norbert.
10. előadás (2004. április 20.) A C előfordító (folytatás) Néhány hasznos compiler opció Egy tanulságos könyvtári függvény Változó hosszúságú argumentum.
6. előadás (2005. április 5.) Struktúrák Úniók Új adattípus definíálása Dinamikus memória foglalás 1.
7. előadás (2005. április 12.) Láncolt lista File kezelés 1.
Az objektum-orientált tervezési alapelvek kritikai vizsgálata
WEB Technológiák A HTML és a CGI ME Általános Informatikai Tsz. dr. Kovács László.
Hálózatkezelés, java.net Elek Tibor
ORACLE ORDBMS adminisztrációs feladatok 6. rész dr. Kovács László 2004.
adminisztrációs feladatok
Krizsán Zoltán.  Ha az algoritmus sokáig dolgozik,  de el akarjuk kerülni a „fagyást”.  Kisebb a költsége, mint az új folyamatnak.  Programozás szempontjából.
OE-NIK HP Haladó Programozás WCF kivételkezelés. OE-NIK HP Haladó Programozás Windows Communication Foundation A szolgáltatás, a hoszt és az ügyfél elkészítése.
Gyakorlat 12. Számítógép hálózatok I.
Adattáblák létrehozása, módosítása, tranzakciók, megszorítások Rózsa Győző.
Kliensoldali Programozás
Számítógépes Hálózatok
Spring 2000CS 4611 Vázlat Kódolás Keretképzés Hibafelismerés „Csúszó Ablak” Algoritmus (hibajavítás) Pont-Pont kapcsolódások (Links)
SOAP alapismeretek A SOAP egy egyszerű XML alapú protokoll, ami lehetővé teszi, hogy az alkalmazások információt cseréljenek a HTTP-én keresztül. Forrás:
Hálózati beállítások és szolgáltatások
DDL – Adatdefiníciós nyelv
Tóth Gergely, február BME-MIT Miniszimpózium, Általános célú biztonságos anonimitási architektúra Tóth Gergely Konzulensek: Hornák Zoltán.
2012. tavaszi félév Vitéz Gergely. A diasor ismerete nem helyettesíti a tankönyvet, és a példatárat. A diasor ismerete szükséges, de nem elégséges feltétele.
Server, Client. Client-Server Client numPlayers Id ServerMessage ClientMessage Server numPlayers ClientMessages[] ServerMessage Ha a kliens ugyanazt az.
SQL.
Java programozási nyelv Filekezelés
HTML5 alapú fejlesztő és futtató környezet megvalósítása
Miért is jók a rétegek?  Ha alkalmazást készítünk, nem akarunk IP csomagok küldésével bajlódni Ethernet keretekkel foglalkozni Implementálni megbízható.
Gyakorlat 3. Számítógép hálózatok I.
Illés Zoltán ELTE Informatikai Kar
Bevezetés Amiről ma szó lesz… Miért D? Mert a fejlesztők úgy látták, hogy a C++-on van még mit javítani. Mert a programozók a nyelvnek általában elszigetelt.
Spring 2000CS 4611 Osztott elérésű hálózatok Vázlat Busz (Ethernet) Token ring (FDDI) Vezeték nélküli (802.11)
Spring 2000CS 4611 Hálózat Hálózatokból (Internetworking) Vázlat Legjobbra Törekvés Szolgáltatás Modell (Best Effort Service) Globális Címzési Séma.
Spring 2002CS 4611 Bevezetés Vázlat: Statisztikus multiplexelés Folyamatok közötti kommunikáció Hálózati architektúra A működés mértékszámai A megvalósítás.
Exchange Rendszerkövetelmények Windows Server 2003 (Windows 2000 SP3) CPU 500 MHz RAM 512 MB 200 MB a rendszermeghajtón 500 MB a telepítés helyén.
Spring 2000CS 4611 Megbízható Byte-Folyam Szolgáltatás (Transmission Control Protocol TCP) Vázlat Kapcsolatlétrehozás és bontás Csúszó Ablak Hibajavító.
1 Verseny 2000 gyakorlat SQL 2000 Server Portál adatbázis létrehozása.
Illés Zoltán ELTE Informatikai Kar
Spring 2000CS 4611 Megosztott Elérésű Hálózatok Vázlat Bus (Ethernet) (vonal topológia) Token ring (FDDI) (vezérjeles gyűrű) Wireless (802.11) (vezeték.
Spring 2000CS 4611 Hálózatok hálózata Váztal „Legjobb szándék” Szolgáltatási Modell Globális Címzés.
Christopher Chapman | MCT Content PM, Microsoft Learning, PDG Planning, Microsoft.
Szebb és használhatóbb programok Vezérlőelemek dinamikus felhelyezése.
Oracle Label Security OLS. Szintek Kategóriák.
Spring 2000CS 4611 Bevezetés Vázlat Statisztikus multiplexelés Folyamatok közötti kommunikáció Hálózati architektúra Működési karakterisztikák.
WLAN Biztonság Rádiusz hitelesítés Radius autentikáció
Kiss Tibor System Administrator (MCP) ISA Server 2006.
Almási Béla - NAT 1 Network Address Translation -NAT.
Hálózatos programok készítése
Alkalmazási réteg protokolljai
Webszervizek (JAX-WS, és JAX-RS) bemutatása
Alkalmazási réteg protokolljai
02. GYAKORLAT Soros monitor.
Számítógépes Hálózatok
Villogó delay függvény használata nélkül
Hálózatkezelés Java-ban
Túlfeszültség védelem a hálózaton
Számítógépes Hálózatok
Az Ericsson Magyarország első negyedszázada
Függvénysablonok használata
Előadás másolata:

Spring 2000CS 4611 Protokoll Implementáció elelmei Vázlat Szolgáltatási Interfész Folyamat Modell Közös Szubrutinok Példa Protokoll

Spring 2000CS 4612 Socket API (application programming interface) alkalmazás-programozói interfész Socket létrehozása int socket(int domain, int type, int protocol) domain = PF_INET, PF_UNIX type = SOCK_STREAM, SOCK_DGRAM Passzív megnyitás (szerver oldalon) int bind(int socket, struct sockaddr *addr, int addr_len) int listen(int socket, int backlog) int accept(int socket, struct sockaddr *addr, int addr_len)

Spring 2000CS 4613 Socket (folyt.) Aktív megnyitás (kliens oldalon) int connect(int socket, struct sockaddr *addr, int addr_len) Üzenetek küldése/fogadása int send(int socket, char *msg, int mlen, int flags) int recv(int socket, char *buf, int blen, int flags)

Spring 2000CS 4614 Protokoll-Protokoll Interfész Szintek konfigurálása –Statikus vagy kiterjeszthető Folyamat Modell –Elkerüli a folyamatcserét (swapping or context switches) Buffer Modell –Elkerüli az adatok másolását (data copies)

Spring 2000CS 4615 Konfiguráció name=tulip; name=eth protocols=tulip; name=arp protocols=eth; name=ip protocols=eth,arp; name=icmp protocols=ip; name=udp protocols=ip; name=tcp protocols=ip; TCPUDPICMP IP ARP ETH TUPLIP

Spring 2000CS 4616 Protokoll Object-ek Aktiv megnyitás Sessn xOpen(Protl hlp, Protl llp, Part *participants) Passzív megnyitás XkReturn xOpenEnable(Protl hlp,Protl llp, Part *participant) XkReturn xOpenDone(Protl hlp, Protl llp,Sessn session, Part *participants) Demultiplexelés XkReturn xDemux(Protl hlp, Sessn lls, Msg *message)

Spring 2000CS 4617 Session Object-ek Lokális végpontja valamely csatornának Értelmezi az üzenetet és kezeli a csatornaállapotot Üzenetküldéshez és –fogadáshoz exportálja a műveleteket Műveletek –Üzenetküldés XkReturn xPush(Sessn lls,Msg *message) –Üzenetkézbesítés (fogadás) XkReturn xPop(Sessn hls, Sessn lls, Msg *message,void *hdr)

Spring 2000CS 4618 Folyamat-modellek (a)(b) Folyamat protokollonként Folyamat üzenetenként

Spring 2000CS 4619 Üzenetkönyvtár Header hozzáadása abcdefg bcopy (“xyz”,hdr, 3); msgAddHdr (m,hdr, 3); xyzabcdefg m m abcdefg hdr =msgStripHdr (m, 3); defg+hdr =“abc” m m Header eltávolítása

Spring 2000CS Üzenetkönyvtár (folyt.) Üzenet szétvágása new m m abcdefg defg + abc msgFragment (m,new, 3); m1m2 new abcdefg msgReassemble(new, m1, m2) Üzenet újra összerakása abcdefg

Spring 2000CS Eseménykönyvtár Timeout-ok & Könyvelési aktivitások ütemezése Műveletek Event evSchedule(EvFunc function, void *argument, int time) EvCancelReturn evCancel(Event event)

Spring 2000CS Map könyvtárak Demultiplex Packets Operations Map mapCreate(int number,int size) Binding mapBind(Map map, void *key, void *id) XkReturn mapResolve(Map map, void *key,void **id)

Spring 2000CS Példa static Sessn aspOpen(Protl self, Protl hlp, Part *p) { Sessnasp_s; Sessnlls; ActiveIdkey; ProtlState *pstate = (ProtlState *)self->state; bzero((char *)&key, sizeof(key)); /* High level protocol must specify both */ /* local and remote ASP port */ key.localport = *((AspPort *) partPop(p[0])); key.remoteport = *((AspPort *) partPop(p[1])); /* Assume failure until proven otherwise */ asp_s = XK_FAILURE;

Spring 2000CS /* Open session on low-level protocol */ lls = xOpen(self, xGetDown(self, 0), p); if ( lls != XK_FAILURE ) { key.lls = lls; /* Check for session in active map */ if (mapResolve(pstate->activemap, &key, (void **)&asp_s) == XK_FAILURE) { /* Session not in map; initialize it */ asp_s = asp_init_sessn(self, hlp, &key); if ( asp_s != XK_FAILURE ) { /* A successful open */ return asp_s; } /* Error has occurred */ xClose(lls); } return asp_s; }

Spring 2000CS static XkReturn aspPush(Sessn s, Msg *msg) { SessnState *sstate; AspHdr hdr; void *buf; /* create a header */ sstate = (SessnState *) s->state; hdr = sstate->hdr; hdr.ulen = msgLen(msg) + HLEN; /* attach header and send */ buf = msgAddrHdr(msg, HLEN); aspHdrStore(&hdr, buf, HLEN, msg); return xPush(xGetDown(s, 0), msg); }

Spring 2000CS static XkReturn aspDemux(Protl self, Sessn lls, Msg *msg) { AspHdr h; Sessn s; ActiveId activeid; PassiveId passiveid; ProtlState *pstate; Enable *e; void *buf; pstate = (ProtlState *)self->state; /* extract the header from the message */ buf = msgStripHdr(msg, HLEN); aspHdrLoad(&h, buf, HLEN, msg); /* construct a demux key from the header */ bzero((char *)&activeid, sizeof(activeid)); activeid.localport = h.dport; activeid.remoteport = h.sport; activeid.lls = lls;

Spring 2000CS /* see if demux key is in the active map */ if (mapResolve(pstate->activemap, &activeid, (void **)&s) == XK_FAILURE) { /* didn't find an active session, */ /* so check passive map */ passiveid = h.dport; if (mapResolve(pstate->passivemap, &passiveid, (void **)&e) == XK_FAILURE) { /* drop the message */ return XK_SUCCESS; } /* port was enabled, so create a new */ /* session and inform hlp */ s = asp_init_sessn(self, e->hlp, &activeid); xOpenDone(e->hlp, s, self); } /* pop the message to the session */ return xPop(s, lls, msg, &h); }

Spring 2000CS static XkReturn aspPop(Sessn s, Sessn ds, Msg *msg, void *inHdr) { AspHdr *h = (AspHdr *) inHdr; /* truncate message to length shown in header */ if ((h->ulen - HLEN) < msgLen(msg)) msgTruncate(msg, (int) h->ulen); /* pass message up the protocol stack */ return xDemux(xGetUp(s), s, msg); }