Sdílet prostřednictvím


Zakódovaná a dekódovaná data

Chcete-li odesílat data přes komunikační médium, jako je telefonní linka, musí být data serializovaná– to znamená, převedena na řetězec jedniček a nul, které jsou přenášeny sériově přes čáru. Serializace musí být provedena tak, aby počítač, který přijímá data, mohl převést data zpět do původního formátu. Způsob serializace se nazývá komunikační protokola je řízen softwarem i hardwarem pro přenos dat. Data se převedou na několik úrovní. Následující obrázek znázorňuje výrazně zjednodušené zobrazení vrstev komunikačního protokolu.

vrstvy komunikačního protokolu

Předchozí obrázek znázorňuje aplikační vrstvu v počítači č. 1, která odesílá data, která se mají přenášet (obvykle se skládá z některých kombinací textových znaků a čísel) do vrstvy kódování/dekódování. Vrstva kódování/dekódování zakóduje data do datového proudu počítačových bajtů. Na nejnižší úrovni hardware vrstva hardwaru převede bajty dat na sériový datový proud s nulami přenášenými přes č. 2. Hardwarová vrstva počítače č. 2 převede ty a nuly zpět na bajty počítače a předá je do vrstvy kódování/dekódování pro dekódování. Vrstva kódování/dekódování dekóduje bajty zpět do původního formátu a předává data do aplikační vrstvy.

Přijatý princip návrhu softwaru je použít abstrakce, to znamená proces popisování problému nebo objektu z hlediska jeho obecných parametrů namísto popisu všech podrobností nezbytných k vyřešení problému nebo popis všech podrobností objektu. Pomocí abstrakce může návrhář určit softwarový objekt, který má specifické vlastnosti, aniž by se museli zabývat tím, jak se objekt skutečně implementuje v softwarovém kódu. Takový postup ponechá implementaci otevřenou. Také zjednodušuje specifikaci a umožňuje uvést axioms o objektu, který lze prokázat při implementaci objektu. Tyto axiomy lze pak předpokládat, když je objekt použit v jiném objektu vyšší úrovně. Abstrakce je znakem většiny současných softwarových specifikací.

Většina komunikačních protokolů zahrnuje řadu abstrakcí. Objekty ve vyšších vrstvách jsou definovány abstraktivně a mají být implementovány pomocí objektů v nižších vrstvách. Například služba v jedné vrstvě může vyžadovat přenos určitých abstraktních objektů mezi počítači. Vrstva nižší úrovně může pomocí pravidel kódování transformovat abstraktní objekty na řetězce s nulami a nulami.

Jednou z běžných metod určení abstraktních objektů určených k sériovému přenosu se nazývá notace abstraktní syntaxe One (ASN.1). ASN.1 je definován v doporučení CCITT X.208. Jedna sada pravidel ASN.1 pro reprezentaci takových objektů jako řetězce je a nula se nazývá Rozlišující pravidla kódování (DER) a je definována v doporučení CCITT X.509, oddíl 8.7. Jedná se o metody kódování, které v současné době používá CryptoAPI.

Další informace o kódování a dekódování funkcí naleznete v tématu Kódování objektů a dekódování funkce.