Megosztás a következőn keresztül:


Kódolt és dekódolt adatok

Az adatok kommunikációs adathordozón, például telefonvonalon keresztül történő küldéséhez az adatokat szerializáltkell átalakítani, azaz sorba sorba juttatott egy- és nullák sorozatává kell alakítani. A szerializálást úgy kell elvégezni, hogy az adatokat fogadó számítógép vissza tudja alakítani az adatokat az eredeti formátumába. A szerializálást kommunikációs protokollnevezik, és szoftveres és adatátviteli hardverek vezérlik. Az adatok konvertálásának több szintje is van. Az alábbi ábra a kommunikációs protokollrétegek jelentősen leegyszerűsített nézetét mutatja be.

kommunikációs protokoll rétegei

Az előző ábrán az 1. számítógép alkalmazásrétege látható, amely a továbbítandó adatokat küldi el (amely általában szöveges karakterek és számok kombinációjából áll) a kódolási/dekódolási rétegnek. A kódolási/dekódoló réteg az adatokat számítógépes bájtok adatfolyamába kódolja. A legalacsonyabb szinten, a hardverréteg, a hardver átalakítja a bájtnyi adat egyek és nullák sorozatos adatfolyamává, amely a soron keresztül továbbítja a 2. számítógépnek. A 2. számítógép hardverrétege konvertálja az egyeseket és nullákat számítógépes bájtokká, és átadja őket a dekódoláshoz használt kódolási/dekódolási rétegnek. A kódolási/dekódoló réteg visszafejti a bájtokat az eredeti formátumba, és átadja az adatokat az alkalmazásrétegnek.

Az elfogadott szoftvertervezési elv az, hogy absztrakciós, azaz egy probléma vagy objektum általános paramétereinek leírására használható, nem pedig a probléma megoldásához szükséges összes részlet leírására, vagy egy objektum minden részletének leírására. Az absztrakció használatával a tervező meghatározhat egy olyan szoftverobjektumot, amely bizonyos tulajdonságokkal rendelkezik anélkül, hogy az objektum ténylegesen implementálva lett a szoftverkódban. Egy ilyen gyakorlat nyitva hagyja a végrehajtást. Emellett leegyszerűsíti a specifikációt, és lehetővé teszi az objektumra vonatkozó axiómák állapotának meghatározását, amelyek az objektum implementálásakor bizonyíthatók. Ezek az axiómák akkor feltételezhetők, ha az objektumot egy másik, magasabb szintű objektumban alkalmazzák. Az absztrakció a legtöbb modern szoftverspecifikáció jellemzője.

A legtöbb kommunikációs protokoll nagy absztrakciót igényel. A magasabb rétegekben lévő objektumok absztrakt módon vannak definiálva, és az alsó rétegekben lévő objektumok használatával történő implementálásra szolgálnak. Előfordulhat például, hogy egy adott rétegben lévő szolgáltatás bizonyos absztrakt objektumok átvitelét igényli a számítógépek között. Egy alacsonyabb szintű réteg kódolási szabályokkal alakíthatja át az absztrakt objektumokat egyek és nullák sztringjeivé.

A sorozatos átvitelre szánt absztrakt objektumok megadásának egyik gyakori módszere az Absztrakt szintaxis jelölése egy (ASN.1). Az ASN.1 a CCITT X.208 ajánlásábanvan definiálva. Az ASN.1 egy olyan szabálykészletét, amely az ilyen objektumokat egy- és nullák sztringjeként jelöli, megkülönböztető kódolási szabályoknak (DER) nevezzük, és a CCITT X.509 -ajánlásában, a 8.7. Ezek a CryptoAPI által jelenleg használt kódolási módszerek.

A függvények kódolásával/dekódolásával kapcsolatos további információkért lásd: Objektumkódolási és dekódolási függvények.