Protocol voor internetgegevensoverdracht. Basis netwerkprotocollen

Communicatieprotocollen in APCS

In moderne automatiseringssystemen, als gevolg van constante modernisering van de productie, worden de taken van het bouwen van gedistribueerde industriële netwerken met behulp van flexibele protocollen voor gegevensoverdracht steeds vaker aangetroffen.


Voorbij zijn de dagen dat ergens in de controlekamer een enorme kast met apparatuur werd geplaatst, kilometers dikke bundels kabels die naar sensoren en actuatoren leidden. Tegenwoordig is het in de overgrote meerderheid van de gevallen veel winstgevender om meerdere lokale controllers in één netwerk te installeren, waardoor installatie, testen, inbedrijfstelling en onderhoud worden bespaard in vergelijking met een gecentraliseerd systeem.


Om industriële netwerken te organiseren, worden verschillende interfaces en protocollen voor gegevensoverdracht gebruikt, bijvoorbeeld Modbus, Ethernet, CAN, HART, PROFIBUS, enz. Ze zijn nodig voor gegevensoverdracht tussen sensoren, controllers en actuatoren (IM); kalibratie van sensoren; voeding van sensoren en MI; communicatie van de onderste en bovenste niveaus van het APCS. De protocollen zijn ontwikkeld rekening houdend met de eigenaardigheden van productie- en technische systemen, en zorgen voor een betrouwbare verbinding en hoge nauwkeurigheid van gegevensoverdracht tussen verschillende apparaten. Naast de betrouwbaarheid van de werking onder zware omstandigheden, worden functionaliteit, flexibiliteit in constructie, gemakkelijke integratie en onderhoud en naleving van industriële normen steeds belangrijkere vereisten in ICS-systemen.


Het meest gebruikelijke classificatiesysteem voor netwerkprotocollen is het theoretische OSI-model ( Basisreferentiemodel voor open systeeminteractie Basisreferentiemodel voor open systeeminterconnectie). De specificatie voor dit model werd uiteindelijk in 1984 aangenomen door de International Organization for Standardization (ISO). In overeenstemming met het OSI-model zijn protocollen verdeeld in 7 lagen, die boven elkaar zijn geplaatst, afhankelijk van hun doel - van fysiek (vorming en herkenning van elektrische of andere signalen) tot applicatie (API voor het overbrengen van informatie door applicaties). Interactie tussen niveaus kan zowel verticaal als horizontaal worden uitgevoerd (Fig. 1). Bij horizontale communicatie hebben programma's een gemeenschappelijk protocol nodig om gegevens uit te wisselen. In de verticale - via interfaces.


Rijst. 1. OSI theoretisch model.


Applicatieniveau

Applicatielaag - applicatielaag ( Engels Applicatielaag). Biedt interoperabiliteit tussen het netwerk en gebruikerstoepassingen buiten het OSI-model. De volgende protocollen worden op dit niveau gebruikt: HTTP, gopher, Telnet, DNS, SMTP, SNMP, CMIP, FTP, TFTP, SSH, IRC, AIM, NFS, NNTP, NTP, SNTP, XMPP, FTAM, APPC, X.400 , X .500, AFP, LDAP, SIP, ITMS, Modbus TCP, BACnet IP, IMAP, POP3, SMB, MFTP, BitTorrent, eD2k, PROFIBUS.


Representatief niveau

Representatief niveau ( Engels Presentatie laag) - het niveau van gegevenspresentatie. Op dit niveau kunnen protocolconversie en compressie / decompressie of codering / decodering van gegevens worden uitgevoerd, evenals het omleiden van verzoeken naar een andere netwerkbron als ze niet lokaal kunnen worden verwerkt. Het converteert applicatieverzoeken die zijn ontvangen van de applicatielaag naar een formaat voor verzending via het netwerk, en converteert de gegevens ontvangen van het netwerk naar een formaat dat applicaties kunnen begrijpen. Dit niveau omvat traditioneel de volgende protocollen: HTTP, ASN.1, XML-RPC, TDI, XDR, SNMP, FTP, Telnet, SMTP, NCP, AFP.


Sessieniveau

Sessieniveau ( Engels Sessie laag) beheert het creëren / beëindigen van een communicatiesessie, de uitwisseling van informatie, synchronisatie van taken, bepaling van het recht om gegevens over te dragen en onderhoud van de sessie tijdens perioden van inactiviteit van applicaties. Overdrachtsynchronisatie wordt verzekerd door controlepunten in de datastroom te plaatsen, van waaruit het proces wordt hervat wanneer de communicatie wordt verbroken. Gebruikte protocollen: ASP, ADSP, DLC, Named Pipes, NBT, NetBIOS, NWLink, Printer Access Protocol, Zone Information Protocol, SSL, TLS, SOCKS.


Transport laag

Transport laag ( Engels Transport laag) organiseert de levering van gegevens zonder fouten, verliezen en duplicatie in de volgorde waarin ze werden verzonden. Splitst gegevens op in stukken van gelijke grootte, waarbij korte en lange worden aaneengeschakeld (de grootte van de stukken hangt af van het gebruikte protocol). Gebruikte protocollen: TCP, UDP, NetBEUI, AEP, ATP, IL, NBP, RTMP, SMB, SPX, SCTP, DCCP, RTP, TFTP.


Netwerklaag

Netwerklaag ( Engels Netwerklaag) definieert de datatransmissiepaden. Verantwoordelijk voor het vertalen van logische adressen en namen naar fysieke, voor het bepalen van de kortste routes, switching en routing, voor het opsporen van problemen en congestie in het netwerk. Gebruikte protocollen: IP, IPv6, ICMP, IGMP, IPX, NWLink, NetBEUI, DDP, IPSec, ARP, RARP, DHCP, BootP, SKIP, RIP.


Link laag

Linklaag ( Engels Datalinklaag) is bedoeld om de interactie van netwerken op fysiek niveau te waarborgen. De gegevens die van de fysieke laag worden ontvangen, worden gecontroleerd op fouten, worden zo nodig gecorrigeerd, in frames verpakt, op integriteit gecontroleerd en naar de netwerklaag verzonden. De verbindingslaag kan interageren met een of meer fysieke lagen. De IEEE 802-specificatie verdeelt deze laag in 2 sublagen - MAC (Media Access Control) regelt de toegang tot het gedeelde fysieke medium, LLC (Logical Link Control) biedt netwerklaagservices. Gebruikte protocollen: STP, ARCnet, ATM, DTM, SLIP, SMDS, Ethernet, FDDI, Frame Relay, LocalTalk, Token ring, StarLan, L2F, L2TP, PPTP, PPP, PPPoE, PROFIBUS.


Fysieke laag

Fysieke laag ( Engels Fysieke laag) is direct bedoeld voor het verzenden van een datastroom. Verzendt elektrische of optische signalen naar een kabel of radio en, dienovereenkomstig, hun ontvangst en omzetting in databits in overeenstemming met de methoden voor het coderen van digitale signalen. Gebruikte protocollen: RS-232, RS-422, RS-423, RS-449, RS-485, ITU-T, xDSL, ISDN, T1, E1, 10BASE-T, 10BASE2, 10BASE5, 100BASE-T, 1000BASE-T , 1000BASE-TX, 1000BASE-SX.


Zoals je misschien hebt gemerkt, worden veel protocollen op meerdere niveaus tegelijk genoemd. Dit geeft de onvolledigheid en afstand aan van het theoretische model van echte netwerkprotocollen, daarom is de binding van sommige ervan aan de OSI-lagen voorwaardelijk.


In de wereldpraktijk, onder de netwerken van algemeen gebruik, het meest wijdverbreide protocol HTTP (Engels HyperText Transfer Protocol - "Hypertext transfer protocol"). Verwijst naar de toepassings- en representatieniveaus van het theoretische OSI-model. HTTP is gebaseerd op client-servertechnologie, dat wil zeggen dat er een consument (client) is die een verbinding tot stand brengt en een verzoek verzendt, en een provider (server) die wacht op een verbinding om een ​​verzoek te ontvangen, de nodige acties onderneemt en terugkeert een bericht met het resultaat. Het belangrijkste type HTTP-client is een browser zoals Mozilla Firefox, Opera of Microsoft Internet Explorer. HTTP is nu alomtegenwoordig op het World Wide Web om informatie van websites op te halen.


Rijst. 2. Client-server-technologie.


Op basis van HTTP zijn uitgebreide protocollen ontwikkeld: HTTPS ( Engels Hypertext Transfer Protocol Veilig), die codering ondersteunt, en HTTP-NG ( Engels HTTP volgende generatie), wat de snelheid van het web verhoogt en de mogelijkheden voor industriële toepassingen vergroot.


Positieve kanten: gemak van ontwikkeling van client-applicaties, de mogelijkheid om het protocol uit te breiden door uw eigen headers toe te voegen, de prevalentie van het protocol.


Negatieve kanten: grote berichtgrootte in vergelijking met binaire gegevens, gebrek aan navigatie in serverbronnen, onvermogen om gedistribueerde computers te gebruiken.


creatie van controlekamers op afstand, webapplicaties voor SCADA-systemen, software voor industriële controllers, videobewaking.


Tegenwoordig worden het HTTP-protocol en zijn aanpassingen ondersteund door hardware en software van de meeste fabrikanten. Laten we er een paar bekijken.


In Korenix-apparatuur van de JetNet-, JetRock-, JetPort-, JetI / O-, JetBox (industriële Ethernet-gebaseerde netwerken), JetWave (draadloze oplossingen) serie, worden de HTTP-familieprotocollen gebruikt om toegang te organiseren, apparaten te configureren en te besturen.


ICPDAS biedt de volgende hardware en software om met het HTTP-protocol te werken. Controllers van de XRAK-, WinPAC-, WinCon-, LinPAC-, ViewPAC-serie werken onder Windows- en Linux-besturingssystemen, met een ingebouwde HTTP-server. InduSoft (SCADA), ISaGRAF, Web HMI, VXCOMM, MiniOS7 Studio-softwarepakketten gebruiken ook een HTTP-server om te communiceren en te communiceren met apparaten.


Managed switches, embedded computers en industriële draadloze apparatuur vervaardigd door Moha kunnen niet zonder het gebruik van de HTTP-familie van protocollen.


Rijst. 3. Compatibiliteit van protocollen van de Modbus-familie.


Om de interactie tussen automatiseringselementen in industriële datatransmissienetwerken te organiseren, wordt het Modbus-communicatieprotocol veel gebruikt. Er zijn drie hoofdimplementaties van het Modbus-protocol, twee voor het verzenden van gegevens via seriële communicatielijnen, beide koper EIA / TIA-232-E (RS-232), EIA-422, EIA / TIA-485-A (RS-485) , en optisch en radio: Modbus RTU en Modbus ASCII, en voor gegevensoverdracht via Ethernet-netwerken via TCP / IP: Modbus TCP.


Het verschil tussen Modbus ASCII en Modbus RTU zit in de manier waarop de karakters worden gecodeerd. In ASCII-modus worden gegevens gecodeerd met behulp van een ASCII-tabel, waarbij elk teken twee bytes aan gegevens heeft. In de RTU-modus worden gegevens verzonden als 8-bits binaire tekens voor hogere gegevenssnelheden. ASCII staat een vertraging van maximaal 1 seconde toe, in tegenstelling tot RTU, waar berichten continu moeten zijn. De ASCII-modus heeft ook een vereenvoudigd decoderings- en gegevensbeheersysteem.


De Modbus-protocolfamilie (Modbus ASCII, Modbus RTU en Modbus TCP/IP) delen hetzelfde applicatieprotocol om compatibiliteit te garanderen. Het maximale aantal netwerkknooppunten in het Modbus-netwerk is 31. De lengte van de communicatielijnen en de gegevensoverdrachtsnelheid zijn afhankelijk van de fysieke implementatie van de interface. De elementen van een Modbus-netwerk werken samen met behulp van een client-servermodel op basis van een verzoek- en antwoordtransactie.


Gewoonlijk is er slechts één client op het netwerk, het zogenaamde "master" -apparaat, en meerdere servers - "slaves" -apparaten. De host initieert transacties (verstuurt verzoeken). Slave-apparaten verzenden de door het master-apparaat gevraagde gegevens of voeren gevraagde acties uit. De master kan een slave individueel aanspreken of een broadcast-bericht voor alle slaves initiëren. Het slave-apparaat genereert een bericht en stuurt dit terug in antwoord op een specifiek aan hem gericht verzoek.


Industriële toepassingen:


Het gebruiksgemak van de Modbus-protocollenfamilie in de industrie heeft geleid tot het wijdverbreide gebruik ervan. Tegenwoordig ondersteunt de apparatuur van bijna alle fabrikanten Modbus-protocollen.


ICPDAS biedt een breed scala aan communicatieapparatuur voor netwerken op basis van Modbus-protocollen: I-7000-serie (DeviceNet-gateways, Modbus-servers, adresseerbare communicatiecontrollers); programmeerbare controllers van de ХРАК, WinPAC, WinCon, LinPAC, ViewPAC-serie.


Weintek-bedieningsterminals en frequentieomvormers van Control Techniques gebruiken ook Modbus om met controllers te communiceren.


Traditioneel worden Modbus-protocollen ondersteund door OPC-servers van SCADA-systemen (Clear SCADA, Control Microsystems, InTouch Wonderware, TRACE MODE) voor communicatie met besturingselementen (controllers, VFD's, regelaars, enz.).


Rijst. 4. Profibus-netwerk.


In Europa is het open industriële netwerk PROFIBUS (PROcess FIeld BUS) wijdverbreid. Aanvankelijk ontwikkelde Siemens een prototype van dit netwerk voor zijn industriële besturingen.


PROFIBUS combineert de technologische en functionele kenmerken van seriële veldcommunicatie. Hiermee kunt u verschillende automatiseringsapparaten combineren tot één systeem op sensor- en actuatorniveau. Het PROFIBUS-netwerk is gebaseerd op verschillende standaarden en protocollen, maakt gebruik van gegevensuitwisseling tussen master- en slave-apparaten (DP- en PA-protocollen) of tussen meerdere masters (FDL- en FMS-protocollen).


Het PROFIBUS-netwerk kan worden geassocieerd met drie lagen van het OSI-model: fysiek, datalink en applicatielaag.


Het enige protocol voor toegang tot de bus voor alle PROFIBUS-versies is het PROFIBUS-FDL-protocol geïmplementeerd op het tweede niveau van het OSI-model. Dit protocol maakt gebruik van een token-toegangsprocedure. Net als Modbus-netwerken bestaat een PROFIBUS-netwerk uit masters en slaves. De meester kan de bus besturen. Als de master toegang heeft tot de bus, kan hij berichten verzenden zonder een verzoek op afstand. Slaves zijn gewone randapparatuur die geen toegang heeft tot de bus, dat wil zeggen dat ze alleen ontvangen berichten kunnen bevestigen of berichten naar de master kunnen sturen op diens verzoek. In een minimale configuratie kan een netwerk uit twee masters bestaan, of uit één master en één slave.


Dezelfde PROFIBUS-communicatiekanalen maken het gelijktijdig gebruik van meerdere communicatieprotocollen mogelijk. Laten we ze allemaal eens bekijken.


PROFIBUS DP (Decentralized Peripheral) is een protocol dat is ontworpen voor snelle gegevensuitwisseling tussen DP-masters en gedistribueerde I/O-apparaten. Het protocol wordt gekenmerkt door een minimale reactietijd en hoge weerstand tegen externe elektromagnetische velden. Geoptimaliseerd voor snelle, goedkope systemen.


PROFIBUS PA (Process Automation) is een communicatieprotocol met veldapparatuur die zich in conventionele of gevaarlijke gebieden bevindt. Met het protocol kunnen sensoren en actuatoren worden aangesloten op een enkele lijnbus of ringbus.


PROFIBUS FMS (Fieldbus Message Specification) is een universeel protocol voor het oplossen van problemen met gegevensuitwisseling tussen intelligente netwerkapparaten (controllers, computers / programmeurs, mens-machine-interfacesystemen) op veldniveau. Een soort analoog van industrieel Ethernet, meestal gebruikt voor snelle communicatie tussen controllers en computers op het hoogste niveau.


Alle protocollen gebruiken dezelfde communicatietechnologie en gemeenschappelijke bustoegangsmethode, zodat ze op dezelfde bus kunnen werken.


Positieve kanten: openheid, leveranciersonafhankelijkheid, prevalentie.


Industriële toepassingen: organisatie van communicatie van sensoren en actuatoren met de controller, communicatie van controllers en besturingscomputers, communicatie met sensoren, controllers en bedrijfsnetwerken, in SCADA-systemen.


Het grootste deel van de apparatuur die het PROFIBUS-protocol gebruikt, is gemaakt door SIEMENS-apparatuur. Maar recentelijk wordt dit protocol door de meeste fabrikanten gebruikt. Dit is grotendeels te wijten aan de prevalentie van besturingssystemen op basis van Siemens-controllers.


Rijst. 5. Profibus-netwerk op basis van ICP DAS-apparatuur.


ICPDAS biedt een reeks slave-apparaten voor de implementatie van PROFIBUS-gebaseerde projecten: PROFIBUS / Modbus-gateways van de GW-serie, PROFIBUS naar RS-232/485/422-converters van de I-7000-serie, PROFIBUS remote I / O-modules en frames van de PROFI-8000-serie. Momenteel zijn ICPDAS-ingenieurs intensief bezig met het ontwikkelen van de PROFIBUS-master.

Protocollen voor gegevensoverdracht

Een protocol is een reeks overeenkomsten die de uitwisseling van gegevens tussen verschillende programma's definieert. Protocollen bepalen de manier waarop berichten en fouten op het netwerk worden afgehandeld, en ze maken ook de ontwikkeling mogelijk van standaarden die niet gebonden zijn aan een specifiek hardwareplatform.

Netwerkprotocollen schrijven de regels voor voor computers die op het netwerk zijn aangesloten. Οʜᴎ zijn gebouwd op een multilevel-principe. Een protocol van een bepaald niveau definieert een van de technische communicatieregels. Tegenwoordig wordt het OSI-model gebruikt voor netwerkprotocollen.

OSI-model - logisch model van netwerkwerking op zeven niveaus. Het OSI-model wordt geïmplementeerd door een groep communicatieprotocollen en -regels die in verschillende lagen zijn georganiseerd.

Op fysiek niveau worden de fysieke (mechanische, elektrische, optische) eigenschappen van communicatielijnen bepaald.

Op de datalinklaag worden de regels voor het gebruik van de fysieke laag door netwerkknooppunten bepaald.

De netwerklaag is verantwoordelijk voor het adresseren en bezorgen van berichten.

De transportlaag bepaalt de volgorde waarin de berichtcomponenten passeren.

De taak van de sessielaag is het coördineren van de communicatie tussen twee applicaties die op verschillende werkstations draaien.

De presentatielaag wordt gebruikt om gegevens van het interne formaat van de computer naar het transmissieformaat te converteren. De applicatielaag is de grens tussen het applicatieprogramma en andere lagen.

De applicatielaag biedt een handige interface voor het communiceren van gebruikersnetwerkprogramma's.

TCP / IP zijn de twee protocollen van de lagere laag die de ruggengraat vormen van internetcommunicatie. TCP (Transmission Control Protocol) verdeelt de verzonden informatie in stukjes en nummert alle stukjes. Met behulp van het Internet Protocol (IP) worden alle onderdelen naar de ontvanger verzonden. Vervolgens wordt met behulp van het TCP-protocol gecontroleerd of alle onderdelen zijn ontvangen. Wanneer alle chunks zijn ontvangen, rangschikt TCP ze in de juiste volgorde en voegt ze samen tot één geheel.

Laten we eens kijken naar de meest bekende protocollen die op internet worden gebruikt.

HTTP (Hyper Text Transfer Protocol) - ϶ᴛᴏ hypertext-overdrachtsprotocol. Het HTTP-protocol wordt gebruikt bij het overbrengen van webpagina's van de ene computer naar de andere.

FTP (File Transfer Protocol) is een protocol voor het overbrengen van bestanden van een speciale bestandsserver naar de computer van een gebruiker. Met FTP kan de abonnee binaire en tekstbestanden uitwisselen met elke computer op het netwerk. Nadat een verbinding met de externe computer tot stand is gebracht, kan de gebruiker het bestand van de externe computer naar de zijne kopiëren, of het bestand van zijn computer naar de externe computer kopiëren.

POP (Post Office Protocol) is een standaard postkantoorprotocol. POP-servers verwerken inkomende e-mail en POP is ontworpen om verzoeken om e-mail van clientmailers af te handelen.

Simple Mail Transfer Protocol (SMTP) definieert een reeks regels voor het overbrengen van e-mail. De SMTP-server retourneert een bevestiging of een foutmelding, of vraagt ​​om aanvullende informatie.

UUCP (Unix to Unix Copy Protocol) is inmiddels verouderd, maar gebruikt nog steeds het data transfer protocol, incl. voor e-mail. Dit protocol gaat uit van het gebruik van een batchmethode voor informatieoverdracht, waarbij eerst een client-serververbinding tot stand wordt gebracht en een datapakket wordt verzonden, en vervolgens autonoom wordt verwerkt, bekeken of voorbereid.

TELNET - ϶ᴛᴏ protocol voor externe toegang. Met TELNET kan de abonnee op elke computer op internet werken, net als op zichzelf, dat wil zeggen programma's starten, de bedieningsmodus wijzigen, enz. In de praktijk worden de mogelijkheden beperkt door het toegangsniveau dat is ingesteld door de beheerder van de externe machine.

Protocollen voor gegevensoverdracht - concept en typen. Classificatie en kenmerken van de categorie "Gegevensoverdrachtprotocollen" 2017, 2018.

  • - Methoden voor toegang en gegevensoverdrachtprotocollen in lokale netwerken

    Verschillende netwerken hebben verschillende procedures voor het uitwisselen van gegevens tussen werkstations. Deze procedures worden protocollen voor gegevensoverdracht genoemd. Het International Institute of Electronics Engineers (IEEE) heeft standaarden ontwikkeld voor ...


  • - Soorten processen en protocollen voor gegevensoverdracht

    Er zijn drie soorten processen die plaatsvinden in het netwerk: informatie, transport en communicatie. In afb. 5 toont een diagram van de gegevensoverdrachtprotocolstack in het netwerk en hun plaats in het OSI/ISO-netwerklaagmodel. Rijst. 5 diagram van de stapel protocollen van gegevensoverdracht in het netwerk ....


  • - Multilevel aanpak. Protocollen voor gegevensoverdracht

    De organisatie van de communicatie tussen apparaten op een netwerk is een complexe taak. Zoals u weet, wordt voor het oplossen van complexe problemen een universele techniek gebruikt om de functies te bepalen van elke module die een afzonderlijk probleem oplost, en de interfaces daartussen. Het resultaat is bereikt...


  • Het is tegenwoordig moeilijk om het bestaan ​​van een menselijke beschaving voor te stellen zonder het World Wide Web. Dit zijn ongeveer 400 miljoen gebruikers, voor wie tientallen miljoenen servers de klok rond draaien, met in totaal meer dan een miljoen pagina's. WWW is de grootste opslagplaats van openbaar beschikbare gegevens, de snelst groeiende mediakanalen, e-shops, hobbyclubs en nog veel, veel meer.

    Geen enkele analist kan voorspellen hoe het netwerk er over 10 jaar uit zal zien. Maar één ding is duidelijk: als nu het WWW, dat ongeveer 15 jaar geleden niemand kende, op school wordt bestudeerd (ondanks het feit dat het schoolonderwijs altijd conservatief is geweest), dan zal binnenkort de mogelijkheid om een ​​browser te gebruiken zo noodzakelijk worden in het schoolonderwijs als het vermogen om te lezen en te schrijven.

    Helaas is het internet net zo goed een geesteskind van militaire technologie geworden als de computer zelf. In de waanzinnige nucleaire testrace die de jaren vijftig markeerde, lanceerden de Verenigde Staten een schijnbaar niet zo krachtige explosie op een hoogte van 20 kilometer. Maar de gevolgen waren echt verschrikkelijk. De elektromagnetische puls die door de explosie werd gegenereerd, maakte niet alleen telefoon- en telegraaflijnen onbruikbaar, maar dompelde ook een hele staat Hawaï enkele dagen in duisternis, op duizend mijl van de plaats van de explosie. De moraal van het verhaal was triest genoeg voor het Amerikaanse leger: een nucleaire explosie op grote hoogte met een niet erg hoog vermogen, geproduceerd in het midden van het land, berooft het volledig van communicatiesystemen en dus van controle. De enige manier om het probleem op te lossen was om een ​​superveilig communicatiesysteem te creëren dat een enorme hoeveelheid informatie naar alle delen van het land kan verzenden.

    De geschiedenis van internet kan in verschillende fasen worden verdeeld:

    1945-1960.
    Theoretisch werk over de interactieve interactie van een persoon met een machine, het verschijnen van de eerste interactieve apparaten en computers waarop de timesharing-modus is geïmplementeerd.

    Een van de belangrijke data in de geschiedenis van internet kan worden beschouwd als 1957, toen een aparte structuur, het Advanced Research Projects Agency (DARPA), ontstond binnen het Amerikaanse ministerie van Defensie. In de jaren 60 was het hoofdwerk van DARPA gewijd aan de ontwikkeling van een methode om computers met elkaar te verbinden.

    Het hoofd van het eerste onderzoeksprogramma naar het wereldwijde communicatiesysteem, J.C.R. Licklider, publiceerde het werk "Galactic Network". Daarin voorspelde hij de mogelijkheid van het bestaan ​​in de toekomst van een wereldwijde computerverbinding tussen mensen die direct toegang hebben tot programma's en databases van overal ter wereld. Zijn visie weerspiegelt de moderne structuur van het internationale internet. Licklider kon een groep wetenschappers overtuigen van de realiteit van zijn concept, waaronder zijn toekomstige opvolger, MIT-onderzoeker Lawrence G. Roberts. Het nieuw gecreëerde netwerk moest zorgen voor het beheer van een enorm land bij gebrek aan andere communicatiemiddelen, en daarom was de capaciteit ervan erg belangrijk.

    Vanuit dit oogpunt was de theorie van pakketschakeling voor datatransmissie, die Leonard Kleinrock in 1961 ontwikkelde en voor het eerst publiceerde in juli 1964, van groot belang. Bij pakketschakeling worden de gegevens die nodig zijn voor verzending in stukken gesplitst en op verschillende manieren via het netwerk verzonden. Aan elk deel wordt een kop toegevoegd met volledige informatie over de levering van het pakket op zijn bestemming. Pakketschakeling biedt hoge bandbreedte en systeembetrouwbaarheid. Het volstaat te zeggen dat het gebruik van pakkettechnologie het mogelijk maakte om de voorgestelde transmissiesnelheid via de kanalen van het geplande ARPANET-netwerk te verhogen van 2,4 Kbps naar 50 Kbps.

    1961-1970.
    Ontwikkeling van technische principes voor pakketschakeling, implementatie van ARPANet.

    In 1966 nodigde DARPA Larry Roberts uit om het ARPANET-computernetwerkproject uit te voeren. De doelstellingen van het project waren om manieren te bestuderen om de communicatie in het geval van een nucleaire aanval in stand te houden en om een ​​concept te ontwikkelen voor gedecentraliseerde controle van militaire en civiele objecten tijdens de oorlogsperiode. Decentralisatie was van cruciaal belang omdat het netwerk hierdoor kon functioneren, zelfs wanneer meerdere knooppunten werden vernietigd. Om het probleem op te lossen, moest het in de eerste fase verschillende grote onderzoeksinstellingen (universiteiten) combineren en experimenten uitvoeren op het gebied van computercommunicatie.

    Robert Ken presenteerde de algemene architectuur van het ARPANET, Lawrence Roberts ontwikkelde de topologie en economie, Leonard Kleinrock (Network Measurement Center, UCLA) presenteerde alle netwerkmeet- en analysetools.

    In 1968 werd het contract voor de uitvoering van het project gegund aan Bolt Beranek en Newman (BBN), die het eind 1969 voltooiden door vier onderzoekscentra op één computernetwerk aan te sluiten: UCLA, SRI, UCSB en de Universiteit van Utah .
    In 1969 ging ARPANET live. Op 20 oktober 1969 gaf professor Klenroich een bericht door aan zijn collega aan de Universiteit van San Francisco. Het bericht - het woord "LOG" (om te verbinden) - werd door de professor in 3 fasen verdeeld - één letter in elk. "We hebben een brief gestuurd en gevraagd of deze is aangekomen. Toen we een positief antwoord kregen, stuurden we een tweede met dezelfde vraag. Kleinrock in een interview met de BBC. "

    20 oktober 1969 beschouwd als de eerste dag van het bestaan ​​van internet.

    Na het experiment werd al het onderzoek van Kleinrock gefinancierd in het kader van een speciaal programma van de Amerikaanse regering en werd het beschouwd als een van de meest veelbelovende gebieden in de totstandkoming van een defensie-informatiesysteem. In de jaren die volgden groeide het aantal computers dat op het ARPANET was aangesloten snel.

    1971-1980.
    Het aantal ARPANet-knooppunten is toegenomen tot enkele tientallen, er zijn speciale kabellijnen aangelegd die sommige knooppunten met elkaar verbinden, e-mail begint te functioneren, wetenschappers rapporteren de resultaten van hun werk op internationale wetenschappelijke conferenties.

    De volgende fase was natuurlijk de uitbreiding van het netwerk over het hele land, dat de hoogste militaire en politieke leiding een betrouwbaar communicatiekanaal zou bieden in geval van nood, wat in de eerste plaats een nucleaire aanval van de Sovjet-Unie betekende.

    DARPA, geïnspireerd door het succes van ARPANET, nodigde Robert Can uit om een ​​nieuw programma te ontwikkelen, het Internetting Project, om methoden te onderzoeken om verschillende netwerken met elkaar te verbinden.

    In oktober 1972 organiseerde Robert Kahn een grote, zeer succesvolle demonstratie van ARPANET op de International Computer Communications Conference. Het was de eerste openbare demonstratie van de nieuwe netwerktechnologie.

    Ook in 1972 verscheen de eerste "hot" applicatie - E-mail

    In maart schreef Ray Tomlinson, gemotiveerd door de noodzaak om eenvoudige coördinatietools voor ARPANET-ontwikkelaars te creëren, basisprogramma's voor het verzenden en lezen van e-mailberichten. In juli heeft Roberts berichtenlijst, selectief lezen, opslaan in een bestand, doorsturen en beantwoorden aan deze programma's toegevoegd. Sindsdien is e-mail al meer dan een decennium de grootste webapplicatie. Voor die tijd is e-mail geworden wat het World Wide Web nu is: een buitengewoon krachtige katalysator voor de groei van allerlei soorten interpersoonlijke gegevensstromen.

    Interessante feiten

      1971: Het eerste programma voor e-mail wordt geschreven

      1972: @-teken uitgevonden

      1973: De eerste internationale communicatie per e-mail. post tussen Engeland en Noorwegen

      1974: De eerste commerciële versie van ARPANET wordt geopend - Telnet-netwerk

      1976: Robert Metcalfe, Xerox Research Lab, creëert Ethernet, het eerste lokale computernetwerk.

      1979: "Smileys" worden uitgevonden - afbeeldingen van het gezicht naar één kant gekanteld, om de berichten een emotionele kleur te geven. Bijvoorbeeld als volgt: :-)

    1981-1990.
    Het TCP/IP-protocol wordt aangenomen, het ministerie van Defensie besluit een eigen netwerk te bouwen op basis van ARPANet, de opsplitsing in ARPANet en MILNet vindt plaats, het Domain Name System (DNS) wordt ingevoerd, het aantal hosts bereikt 100.000.

    In 1974 ontwikkelde de Internet Network Working Group (INWG), opgericht door DARPA en geleid door Vinton Cerf, het universele protocol Transmission Control Protocol / Internet Protocol (TCP / IP) voor gegevensoverdracht en netwerken, het hart van internet.

    In 1980 verklaarde de INWG, onder leiding van Vinton Cerf, TCP / IP tot standaard en presenteerde een plan voor het onderling verbinden van bestaande netwerken, waarbij de basisprincipes werden geformuleerd:

      Netwerken communiceren met elkaar via het TCP/IP-protocol.

      Netwerken zijn verbonden via speciale "gateways".

      Alle aangesloten computers gebruiken dezelfde adresseringsmethoden.

    In 1983 verplichtte DARPA alle ARPANET-computers om het TCP / IP-protocol te gebruiken, op basis waarvan het Amerikaanse ministerie van Defensie het netwerk in twee delen verdeelde: afzonderlijk voor militaire doeleinden - MILNET en wetenschappelijk onderzoek - het ARPANET-netwerk.

    Om de bestaande 6 grote computercentra te verenigen en de wereldwijde academische en onderzoeksgemeenschappen te ondersteunen, begon de Amerikaanse National Science Foundation (NSF) in 1985 met het ontwikkelen van een programma om een ​​interregionaal netwerk NSFNET op te bouwen. Steve Wolfe werd ingehuurd om het project in 1986 te leiden.

    1991-2000.
    Recente geschiedenis.

      1991: Het European Physics Laboratory CERN creëerde het bekende WWW - World Wide Web-protocol. Deze ontwikkeling is in de eerste plaats uitgevoerd voor de uitwisseling van informatie tussen natuurkundigen. De eerste computervirussen die zich via internet verspreiden, verschijnen.

      1993: De eerste Mosaic-internetbrowser wordt gemaakt door Mark Andreesen aan de Universiteit van Illinois. Het aantal internethosts heeft de 2 miljoen overschreden en het netwerk heeft 600 sites.

      1996: Er begint een competitie tussen de Netscape-browser van Mark Andreesen en Internet Explorer van Microsoft. Er zijn al 12,8 miljoen hosts en 500 duizend sites in de wereld.

      2002: Het internet verbindt 689 miljoen mensen en 172 miljoen hosts.

    Basisconcepten van internet

    Het internet is een wereldwijd computernetwerk dat tienduizenden ongelijksoortige lokale en wereldwijde computernetwerken verenigt tot één geheel, verbonden door bepaalde afspraken (protocollen). Het doel is om iedereen constant toegang te geven tot informatie. Dankzij het netwerk is er enorm veel informatie beschikbaar gekomen. Een gebruiker in elk land kan dus contact opnemen met mensen die zijn interesses delen, of waardevolle informatie krijgen in elektronische bibliotheken, zelfs als ze zich aan de andere kant van de wereld bevinden. De benodigde informatie staat binnen enkele seconden in zijn computer, door een lange keten van tussenliggende computers, door kabels en radio, door bergen en zeeën, langs de bodem van de oceanen en door satellieten..

    Het internet wordt gefinancierd door regeringen, de academische wereld, de academische wereld, bedrijven en miljoenen individuen in alle delen van de wereld, maar niemand bezit het specifiek. De technische kant van netwerken staat onder toezicht van de Federal Networking Council (FNC), gevormd uit uitgenodigde vrijwilligers, die op 24 oktober 1995 een definitie heeft aangenomen van wat we bedoelen met de term "internet":

    Het internet is een wereldwijd computersysteem dat:

    Logisch onderling verbonden door de ruimte van wereldwijd unieke adressen (elke computer die op het netwerk is aangesloten heeft zijn eigen unieke adres);

    Communicatie kunnen onderhouden (uitwisseling van informatie);

    Biedt de werking van hoogwaardige services (services), bijvoorbeeld WWW, e-mail, nieuwsgroepen, netwerkgesprekken en andere.

    internet is peer-to-peer netwerk , d.w.z. alle computers op het netwerk zijn gelijk en elke computer kan op elke andere computer worden aangesloten. Zo kan elke computer die op het netwerk is aangesloten zijn diensten aan iemand anders aanbieden.

    In de knooppunten van deze wereldwijde verbinding zijn computers geïnstalleerd, die de nodige informatie bevatten en verschillende informatie- en communicatiediensten aanbieden. Deze computers heten servers (hosts) .

    De servercomputer levert services aan andere computers die om informatie vragen, die worden genoemd klanten (gebruikers, abonnees). Werken op internet veronderstelt dus de aanwezigheid van een zender van informatie, een ontvanger en een communicatiekanaal daartussen. Wanneer we het internet "betreden", fungeert onze computer als een client, hij vraagt ​​de informatie op die we nodig hebben op de server van onze keuze.

    Protocollen voor gegevensoverdracht

    Om gebruik te kunnen maken van het wegvervoer, moesten mensen het eens worden over universele regels waaraan het zich moet houden. Op dezelfde manier kan internet niet bestaan ​​zonder uniforme regels die de volgorde van gegevensoverdracht door computers in het netwerk bepalen, aangezien computers op verschillende hardwareplatforms zijn gebouwd en door verschillende besturingssystemen worden bestuurd.

    De set conventies over de regels voor de vorming en formaten van berichten wordt een protocol genoemd.

    De verzonden gegevens worden opgedeeld in kleine stukjes die pakketten worden genoemd. Elk pakket reist onafhankelijk van andere pakketten over het netwerk. Ze gaan van het ene knooppunt naar het andere en worden vervolgens doorgestuurd naar een ander knooppunt, dat "dichter" bij de geadresseerde is. Als het pakket niet succesvol is verzonden, wordt de verzending opnieuw geprobeerd. Het is theoretisch mogelijk dat verschillende berichten op verschillende manieren gaan, maar toch de geadresseerde bereiken en worden verzameld in een volledig document. Het is mogelijk dat sommige documenten die vanuit Engeland naar Australië zijn verzonden, de wereld rond zullen reizen van oost naar west, terwijl andere van west naar oost.

    De netwerken op internet communiceren allemaal met elkaar, omdat alle computers die betrokken zijn bij de gegevensoverdracht één communicatieprotocol gebruiken. TCP / IP(lees "ti-si-pi / ay-pi").

    In feite zijn TCP / IP twee verschillende protocollen die verschillende aspecten van gegevensoverdracht via een netwerk definiëren:

    TCP (Transmission Control Protocol) - datatransmissiecontroleprotocol dat gebruik maakt van automatische hertransmissie van pakketten die fouten bevatten; dit protocol is verantwoordelijk voor het splitsen van de verzonden informatie in pakketten en het correct herstellen van informatie uit de pakketten van de ontvanger.

    IP (internetprotocol) - een internetwerkprotocol dat verantwoordelijk is voor het adresseren en toelaten van een pakket om over meerdere netwerken te reizen op weg naar zijn eindbestemming.

    Schema van informatieoverdracht via het TCP / IP-protocol is dit:

    TCP breekt informatie op in pakketten en nummert alle pakketten;
    vervolgens worden met behulp van het IP-protocol alle pakketten naar de ontvanger verzonden, waar met behulp van het TCP-protocol wordt gecontroleerd of alle pakketten zijn ontvangen;
    Nadat alle pakketten zijn ontvangen, rangschikt TCP ze in de juiste volgorde en voegt ze samen tot één geheel.

    Om toepassingen zoals e-mailprogramma's te laten werken, moet niet alleen informatie goed worden verpakt en verzonden, maar moeten ook duidelijke afspraken worden gemaakt over de inhoud van deze pakketten, evenals over de procedure voor het uitwisselen van de pakketten. Dus om bijvoorbeeld een brief te ontvangen, moet u het wachtwoord van de eigenaar van de mailbox presenteren, en dit is al een hele reeks acties. Er zijn dus ook andere protocollen nodig.

    Hypertext Transfer Protocol

    Protocol voor bestandsoverdracht

    SMTP

    Postkantoor Protocol 3

    Protocol voor het ontvangen van e-mails

    NNTP

    Teleconferentieprotocol

    Protocolnaam

    decodering

    Afspraak

    HTTP

    Hyper Text Transfer Protocol

    FTP

    Protocol voor bestandsoverdracht

    Eenvoudig e-mailoverdrachtprotocol

    Eenvoudig protocol voor het verzenden van e-mails

    POP3

    Nieuws netto overdrachtsprotocol

    Adresseersysteem

    Om informatie nauwkeurig van de ene computer naar de andere te kunnen verzenden, is het noodzakelijk om unieke adressen te hebben, met behulp waarvan het mogelijk is om de ontvanger van de informatie ondubbelzinnig te identificeren (identificeren). Net zoals gewone post poststukken bezorgt op adressen die een regio, stad, straat, huis, appartement en op internet bevatten, worden informatiepakketten bezorgd op adressen, alleen het adres geeft geen huizen en straten aan, maar netwerknummers waarnaar de ontvangende computer is aangesloten en de nummers van de computers zelf in deze netwerken.

    Elke computer die op internet is aangesloten, heeft dus een fysiek adres (IP-adres).

    Een IP-adres is een uniek nummer dat een computer op het internet uniek identificeert.

    Het IP-adres wordt weergegeven door vier decimale getallen (0 tot 255), gescheiden door punten, bijvoorbeeld 194.67.67.97 (er wordt geen punt geplaatst na het laatste cijfer). Elk cijfer komt overeen met een informatievolume van 1 byte of 8 bits.

    Het decoderen van een dergelijk adres wordt van links naar rechts uitgevoerd. Meestal zijn de eerste en tweede bytes het netwerkadres, de derde byte het subnetadres en de vierde het subnetadres van de computer.

    De IP-adressen van de aangesloten computers.

    Het IP-adres is dus 4 bytes of 32 bits. Als je met één byte 2 8 = 256 opties kunt overbrengen, dan kun je met 4 bytes 2 32 = 4 miljard opties overdragen. Er kunnen dus maximaal 4 miljard gebruikers op internet worden aangesloten. Aangezien er momenteel een snelle groei van internetgebruikers is en bovendien moderne technische vooruitgang het mogelijk maakt om niet alleen computers, maar ook mobiele telefoons, televisies en zelfs koelkasten met internet te verbinden, wordt deze adresruimte erg krap. Om het uit te breiden, wordt voorgesteld om het internet over te zetten naar een 128-bits IP-adres (maximaal 2 128 gebruikers).

    Tot op zekere hoogte is een fysiek adres vergelijkbaar met een gewoon telefoonnummer, maar het is onhandig voor een persoon om het te gebruiken. Daarom werd internet geïntroduceerd Domeinnaamsysteem (DNS).

    Het domeinnaamsysteem wijst het numerieke IP-adres van een computer toe aan een unieke domeinnaam

    Domeinnamen en IP-adressen worden toegewezen door het International Coordinating Centre for Domain Names and IP Addresses (ICANN) met 5 vertegenwoordigers van elk continent.

    Hoe is het domeinnaamsysteem opgebouwd?

    Het belangrijkste voordeel van dit systeem is duidelijkheid. Het adres is verdeeld in verschillende velden, en noch het aantal velden, noch hun grootte is beperkt.

    Het domeinnaamsysteem is hiërarchisch opgebouwd: topleveldomeinen - second level domeinen - third level domeinen. Er zijn twee soorten domeinen op het hoogste niveau: geografisch (twee letters - elk land heeft een code van twee letters) en administratief (drie letters).

    Rusland is eigenaar van het geografische domein ru. Langdurige servers kunnen tot het su (USSR) domein behoren.

    administratief

    Organisatie type

    geografisch

    Land

    com

    reclame

    ca

    Canada

    edu

    leerzaam

    de

    Duitsland

    regering

    De regering van de Verenigde Staten

    jp

    Japan

    int

    Internationale

    ru

    Rusland

    mili

    Amerikaanse leger

    zo

    de USSR

    netto-

    Computer netwerk

    uk

    Engeland

    org

    non-profit

    ons

    VS

    Domeinnamen worden van rechts naar links gelezen. Het topleveldomein bevindt zich in de uiterst rechtse marge. Alle andere adresvelden worden overgelaten aan de discretie van het land waaraan het topleveldomein is toegewezen. Links van de landenindex kan bijvoorbeeld een afgekorte plaatsnaam staan: spb - Sint-Petersburg , e-burg - Jekaterinenburg enzovoort. Dan is er misschien de naam van de organisatie die een lokaal netwerk heeft. Bijvoorbeeld, et- Elektrotechnische Universiteit. Dit kan worden gevolgd door de naam van de eenheid: Oke- Afdeling Personeelszaken.

    Overweeg een specifiek adres: sch458.spb.ru... Het top-level domein ru betekent dat de computer met deze naam zich in de Russische Federatie bevindt, dan komt het tweede-level domein spb, wat betekent - in St. Petersburg, en alleen het domein op het derde niveau - sch458 - een echte computer - komt overeen met de organisatie waartoe dit domein behoort adres - deze naam op internet is van onze school.

    Alle DNS-adressen worden geconverteerd naar IP-adressen met behulp van speciale DNS-servers, die op netwerkknooppunten symbolische namen uit databases extraheren en deze vervangen door fysieke adressen van computers. Op basis van DNS-adressen worden ook e-mailadressen en adressen van internetinformatiebronnen gebouwd.

    Met het IP-adres of de bijbehorende domeinnaam kunt u een computer op internet uniek identificeren, maar feit is dat een computer veel verschillende informatie in verschillende formaten kan bevatten, bijvoorbeeld in de vorm van bestanden, e-mails, pagina's, enzovoort. Om de vereiste informatie nauwkeurig en in het vereiste formaat te kunnen verkrijgen, wordt een tekenreeks gebruikt, die een universele bronlocator wordt genoemd. Deze tekenreeks identificeert op unieke wijze elke bron op internet. Het is zo'n string die wordt weergegeven in het veld "Adres" van Internet Explorer wanneer we op internet "lopen"

    Universal Resource Locator of URL
    omvat het documenttoegangsprotocol, de domeinnaam of het IP-adres van de server waarop het document zich bevindt, evenals het bestandspad en de bestandsnaam:
    protocol: // domeinnaam / pad / bestandsnaam

    In dit voorbeeld wordt het meest gebruikte protocol, http:///, gebruikt - het Hypertext Transfer Protocol.

    Opmerking: als de bestandsnaam niet is opgegeven, is de standaardbestandsnaam index.htm (index.html) of standaard.htm (default.html).

    Vragen.

    1. Wat is voor u het belangrijkste feit in de geschiedenis van internet?
    2. Wat is het internet?
    3. Wie is de eigenaar van internet?
    4. Wat is het verschil tussen client en server?
    5. Wat is een protocol?
    6. Hoe worden gegevens via internet verzonden?
    7. Wat is het basisprotocol op internet?
    8. Wat zijn de functies van TCP en IP?
    9. Welke andere protocollen zijn er op internet en wat zijn hun functies?
    10. Wat is een URL?
    11. Wat zijn de onderdelen van de URL?

    De test die u wordt aangeboden, bevat dertien vragen, met elk drie mogelijke antwoorden. Vragen worden weergegeven in een apart venster. Plaats bij het beantwoorden van een vraag de muiscursor op de geselecteerde antwoordoptie (deze wordt in het wit weergegeven) en klik erop. Op basis van de resultaten van de test wordt het aantal juiste antwoorden, nieuwe pogingen en de score weergegeven.

    Druk op de knop om de test te starten.

    Er zijn twee soorten protocollen: basis en toepassing. De onderliggende protocollen zijn verantwoordelijk voor de fysieke overdracht van berichten tussen computers op internet. Dit zijn de IP- en TCP-protocollen. Protocollen op een hoger niveau worden applicatieprotocollen genoemd en zijn verantwoordelijk voor het functioneren van gespecialiseerde services. HTTP wordt bijvoorbeeld gebruikt om hypertext-berichten over te dragen, FTP wordt gebruikt om bestanden over te brengen en SMTP wordt gebruikt om e-mail over te brengen.

    Een reeks protocollen van verschillende lagen die tegelijkertijd werken, wordt een protocolstack genoemd. Elke onderste laag van de protocolstack heeft zijn eigen systeem van regels en biedt service aan de hogere. Evenzo voert elk protocol in de protocolstack zijn functie uit zonder zich zorgen te maken over de functies van de andere protocollaag.

    De onderste laag gebruikt twee hoofdprotocollen: IP (Internet Protocol) en TCP (Transmission Control Protocol). De architectuur van het TCP/IP-protocol is ontworpen om netwerken met elkaar te verbinden. Dit kunnen verschillende LAN's zijn (Token Ring, Ethernet, enz.), verschillende nationale, regionale en wereldwijde netwerken. Op deze netwerken kunnen verschillende soorten machines worden aangesloten. Elk van de netwerken werkt volgens zijn eigen principes en type communicatie. Bovendien kan elk netwerk een informatiepakket ontvangen en afleveren op het opgegeven adres. Elk netwerk moet dus een soort end-to-end-protocol hebben voor het doorgeven van berichten tussen twee externe netwerken.

    Stel je hebt een soort bericht per e-mail gestuurd. E-mailoverdracht wordt uitgevoerd met behulp van het SMTP-toepassingsprotocol, dat is gebaseerd op de TCP / IP-protocollen. Volgens
    protocol TCP worden de verzonden gegevens verdeeld in kleine pakketjes met een vaste structuur en lengte, zodanig gemarkeerd dat de gegevens bij ontvangst in de juiste volgorde kunnen worden verzameld.

    Gewoonlijk is de lengte van één pakket niet groter dan 1500 bytes. Een e-mail kan dus uit enkele honderden van dergelijke pakketten bestaan. De korte pakketlengte leidt niet tot blokkering van communicatielijnen en stelt individuele gebruikers niet in staat om het communicatiekanaal lange tijd te benutten.

    Voor elk TCP-pakket dat het ontvangt, voegt IP informatie toe die kan worden gebruikt om de bron- en bestemmingsadressen te bepalen. Dit is analoog aan het adres op een envelop zetten. Voor elk binnenkomend pakket bepaalt de router waar het pakket doorheen gaat, met behulp van de gegevens van het IP-adres, welke van de dichtstbijzijnde buren het gegeven pakket moet doorsturen zodat het sneller bij de ontvanger aankomt, d.w.z. beslist over het optimale pad voor het volgende pakket. Tegelijkertijd is het geografisch kortste pad niet altijd optimaal (een snel kanaal naar een ander continent kan beter zijn dan een langzame naar een naburige stad). Het is duidelijk dat de snelheid en paden van verschillende pakketten kunnen verschillen. Onderling verbonden datapakketten kunnen op verschillende manieren worden verzonden. Het is mogelijk dat pakketten met verschillende snelheden over verschillende continenten reizen. Pakketten die later worden verzonden, kunnen echter eerder aankomen. Ongeacht de padlengte bereiken TCP-pakketten als resultaat van een eindig aantal hops hun bestemming.

    Ten slotte verzamelt en pakt het bestemmings-TCP de IP-enveloppen uit, pakt vervolgens de TCP-enveloppen uit en plaatst de gegevens in de gewenste volgorde. Als er iets ontbreekt, vraagt ​​hij om dit pakket opnieuw te verzenden. Pakketten gaan niet alleen verloren, maar kunnen ook worden vervormd tijdens verzending door de aanwezigheid van interferentie op communicatielijnen. TCP lost dit probleem ook op. Uiteindelijk wordt de informatie in de juiste volgorde verzameld en volledig hersteld.

    Het IP-protocol verplaatst dus gegevens op het netwerk en het TCP-protocol zorgt voor een betrouwbare levering van gegevens met behulp van een systeem van foutcorrigerende codes. Bovendien kunnen twee netwerkservers tegelijkertijd meerdere TCP-pakketten van verschillende clients in beide richtingen op dezelfde lijn verzenden.

    Het is noodzakelijk om het belangrijkste verschil tussen de overdracht van informatie via het telefoonnetwerk en via internet te benadrukken. Het telefoonsysteem brengt, wanneer u naar een andere regio of zelfs naar een ander continent telefoneert, een kanaal tot stand tussen uw telefoon en degene die u belt. Het kanaal kan bestaan ​​uit tientallen secties van verschillende fysieke aard - koperdraden, glasvezellijnen, draadloze secties, satellietcommunicatie, enz. Deze gebieden blijven gedurende de gehele communicatiesessie ongewijzigd. Dit betekent dat de lijn tussen jou en de persoon die je belt constant is gedurende het hele gesprek, dus schade aan een deel van de lijn kan je gesprek onderbreken. In dat geval is het aan u toegewezen deel van het netwerk niet meer beschikbaar voor anderen. Dit is een circuitgeschakeld netwerk. Het internet is een pakketgeschakeld netwerk. Het proces voor het doorsturen van e-mail is fundamenteel anders.

    Dus internetgegevens in welke vorm dan ook - e-mail, webpagina of download - reizen als een groep pakketten. Elk pakket wordt langs het best beschikbare pad naar zijn bestemming gestuurd. Daarom, zelfs als een deel van het internet kapot is, heeft dit geen invloed op de levering van het pakket, dat langs het alternatieve pad wordt verzonden. Zo is er tijdens de datalevering geen vaste lijn tussen twee gebruikers nodig. Het principe van pakketschakeling biedt het belangrijkste voordeel van internet: betrouwbaarheid. Het netwerk kan de belasting in duizendsten van een seconde over verschillende locaties verdelen. Als een stuk netwerkapparatuur beschadigd is, kan het pakket die locatie omzeilen en een ander pad volgen, zodat het hele bericht wordt afgeleverd. Internet-prototype - netwerk
    ARPAnet, ontwikkeld in opdracht van het Amerikaanse ministerie van Defensie, is juist ontworpen als een netwerk dat bestand is tegen schade (bijvoorbeeld bij vijandelijkheden), dat normaal kan blijven functioneren als een onderdeel ervan uitvalt.

    Heel vaak heb ik te maken met gespecialiseerde software (en hardware, hoewel er uiteindelijk een interface met de ingebouwde firmware op het bord is), waarvan de fabrikant zijn eigen protocol voor gegevensuitwisseling levert.

    Welke eigenschappen en kenmerken heeft een goed, goed, competent en kwalitatief hoogstaand protocol?

    Idealiter zou het protocol geabstraheerd moeten worden van het lagere interactieniveau, of het nu gaat om transmissie via TCP, UDP, seriële poort, USB, Bluetooth, digitaal radiosignaal of zelfs postduif. En er moet rekening mee worden gehouden dat ze niet allemaal de levering en / of de betrouwbaarheid van de verzonden gegevens garanderen.

    Kleine disclaimer: over de betrouwbaarheid van de gegevens gesproken, dan bedoel ik hun niet-vervorming als gevolg van interferentie en andere fouten in het transmissiemedium. In dit artikel zal ik niet ingaan op het onderwerp van de laag technologieën met betrekking tot IT-beveiliging. Laten we zeggen dat onze Alice en Bob elkaar kunnen vertrouwen, en geen Eva kan ze stoppen. (Bij collega's wordt het beveiligingsprobleem bijvoorbeeld opgelost door alle geografisch gescheiden deelnemers aan de interactie op te nemen in een goed beveiligde VPN, die op zijn beurt geen toegang tot buiten heeft)

    De meeste protocollen implementeren het Q&A-schema. Dit kun je je voorstellen als een gesprek waarin je verbaal reageert op elke opmerking van je gesprekspartner, en in dezelfde semantische sleutel. Op deze manier krijgen de deelnemers aan de interactie het vertrouwen dat hun berichten worden verzonden en adequaat worden ontvangen. Dit schema is echter niet voor alle taken toegestaan ​​en effectief: in gevallen waarin de vertraging in de communicatie moet worden geminimaliseerd of de reactie op elk van de talrijke replica's als overbodig wordt beschouwd (bijvoorbeeld voor het opsporen van fouten in berichten), wordt de "Start-Stop ”-regeling wordt uitgevoerd. Wanneer u een bericht ontvangt om te "Start", begint uw gesprekspartner een stroom opmerkingen naar u te gieten en wordt pas stil bij het woord "Stop". Berichten die in een stream worden verzonden, hebben meestal een oplopend volgnummer, en als er verwerkingsproblemen waren / een ervan werd gemist bij het accepteren van een berichtenstroom, kan deze afzonderlijk opnieuw worden aangevraagd door hetzelfde nummer.

    Alle protocollen kunnen in twee groepen worden verdeeld, (door datapresentatie): symbolisch en binair.
    Karakter de protocollen die ik ben tegengekomen waren gebaseerd op XML- of JSON-strings. Onder hun voordelen kunnen we de eenvoudigere foutopsporing van interactie noemen (vanwege hun leesbaarheid), het gemak van implementatie (de aanwezigheid van kant-en-klare parsers) en de beruchte universaliteit.
    Nu over de nadelen. Het is duidelijk dat dergelijke protocollen extreem redundant zijn, een klein deel van de nuttige informatie zweeft in een enorme, ineffectieve verpakking. Wanneer u numerieke informatie overdraagt, moet u deze converteren naar tekenreeksweergave en vice versa. De zere plek is de overdracht van binaire gegevens (en het is goed dat u zonder hen kunt, maar in sommige gevallen is dit onmogelijk). Protocolschrijvers komen meestal weg met het gebruik van Base64, of zelfs gewoon een binaire tekenreeks doorgeven in zijn hexadecimale weergave, twee tekens per byte.
    Ik zou ook willen opmerken dat de volledige specificatie van dezelfde XML extreem uitgebreid is en dat standaardparsers, ondanks al hun volledigheid van mogelijkheden, nogal omslachtig en traag zijn, daarom is het gebruikelijk wanneer een afdeling of kantoor uiteindelijk zijn eigen parser.

    Natuurlijk, voor specifieke taken, symbolische protocollen zijn, zo niet de meest efficiënte, dan toch een redelijk acceptabele optie, maar we gaan verder met u.

    nutsvoorzieningen binair protocollen. Onmiddellijk is het noodzakelijk om te onthouden over de Gulliver-oorlogen van stompe punten en scherpe punten. Persoonlijk heb ik sympathie voor big-endian, omdat Ik beschouw het impliciete typen van little-endian niet als "iets goeds", en in mijn ontwikkelomgeving is big-endian native.
    Binaire protocollen (niet alle, maar degene die ik classificeer als geletterd) kunnen worden onderverdeeld in twee lagen: de containerlaag en de gegevenslaag. Het eerste niveau draagt ​​de verantwoordelijkheid voor de integriteit en betrouwbaarheid van datatransmissie, evenals voor de beschikbaarheid van het detecteren van een bericht in een bytestroom, en natuurlijk voor het opslaan van een bericht op dataniveau op zich. Het tweede niveau moet de informatie bevatten waarvoor alle netwerkinteractie is gestart, in een formaat dat gemakkelijk te verwerken is. De structuur hangt voornamelijk af van de taken die moeten worden opgelost, maar er zijn algemene aanbevelingen voor (waarover hieronder).

    De grootte van berichten (discrete pakketten van bytes die onafhankelijk van de vorige en volgende ontvangen gegevens kunnen worden verwerkt) zijn: gemaakt en variabelen... Het is duidelijk dat met gemaakt met de grootte van berichten is alles eenvoudiger - beginnend bij de kop (daarover later meer), wordt een bepaald aantal bytes afgetrokken en verzonden voor verwerking. Om flexibiliteit te bieden, nemen de auteurs van dergelijke protocollen vaak een gebied met een vaste grootte (soms tot 80% van het totale volume) in het bericht op, dat is gereserveerd voor wijzigingen van het huidige protocol. Naar mijn mening is dit niet de meest effectieve manier om flexibiliteit te bieden, maar er is nog steeds een soort van redundantie.
    Overweeg de berichten variabele lengte.
    Hier kunt u al in meer detail praten over het onmisbare kenmerk van een binair bericht in elk protocol - over rubriek(Dit is het bovengenoemde containerniveau).
    Gewoonlijk beginnen kopteksten met een constant deel, waardoor met een zekere waarschijnlijkheid het begin van een bericht in een continue bytestroom kan worden gevonden. Het is duidelijk dat er een risico bestaat dat zo'n constante in een willekeurige stroom van bytes verschijnt, en hoewel een toename in grootte dit risico vermindert (ik heb constanten van de vorm 0123456789VASIA9876543210 gezien), is het handiger om controles te gebruiken op basis van de controlesomberekening .
    De constante wordt meestal gevolgd door het versienummer van het protocol, wat ons een idee geeft van het formaat waarin verder gelezen moet worden (en of we de mogelijkheid hebben om dit bericht te verwerken - als we zo'n versie niet kennen ). Het volgende belangrijke onderdeel van de header is informatie over de inhoud van de container zelf. Het inhoudstype wordt aangegeven (in feite hetzelfde protocolversienummer voor de gegevenslaag), de lengte en de controlesom. Met deze informatie kunt u de inhoud zonder problemen en angsten lezen en beginnen met het ontleden.
    Maar niet meteen! De header moet een checksum van zichzelf bevatten (uiteraard zonder de checksum zelf van de berekening) - dit is de enige manier waarop we er zeker van kunnen zijn dat we zojuist geen onzin hebben beschouwd, maar een geldige header, gevolgd door de gegevens die voor ons bedoeld zijn . Checksum kwam niet overeen? We zullen de volgende start van een nieuwe koers verder stroomafwaarts moeten zoeken...

    Laten we zeggen dat we op het punt komen waarop we eindelijk een onvervormd gegevenslaagbericht krijgen. De structuur is afhankelijk van het taakgebied van het systeem waarin uw netwerkuitwisseling is geïmplementeerd, maar over het algemeen kan een bericht ook zijn eigen rubriek met informatie over het berichttype. U kunt onderscheid maken tussen zowel de algemene kenmerken van het bericht (bijvoorbeeld "Verzoekset", "Bevestigende reactie om in te stellen", "Negatieve reactie om in te stellen", "Verzoek ophalen", "Reactie ophalen", "Streamingbericht"), en de specifieke reikwijdte van het bericht ... Ik zal proberen een voorbeeld te geven vanaf het plafond:
    Verzoektype: Verzoekset (0x01)
    ID bestemmingsmodule bericht: PowerSupplyModule (0x0A)
    Berichtgroep-ID: UPS-beheer (0x02)
    Berichttype-ID: opnieuw opstarten (0x01)
    Verder kan de berichttekst informatie bevatten over het UPS-adres dat de Power Management Module moet herstarten, na hoeveel seconden dit moet gebeuren, enz.
    Voor dit bericht verwachten we een antwoordbericht met het type verzoek "Ja" gevolgd door 0x0A0201 in de kop.
    Natuurlijk kan een dergelijke gedetailleerde beschrijving van het berichttype overbodig zijn wanneer de interworking niet voorziet in een groot aantal opdrachten, dus de berichtstructuur moet worden gevormd op basis van de vereisten van de TOR.
    Het is ook handig als het bericht met "Negatief antwoord" een foutcode bevat, waardoor het niet mogelijk was om het commando bevestigend te beantwoorden.

    Om mijn verhaal af te ronden, zal ik eraan toevoegen dat het onderwerp van applicatie-interactie zeer uitgebreid en soms holivoren is (wat in feite betekent dat er geen "silver bullet" -technologie in zit), en ik merk op dat de standpunten die ik presenteer slechts een bundeling van ervaring uit het werk met binnen- en buitenlandse collega's. Bedankt voor de aandacht!

    opd.
    Ik had het genoegen om met de criticus van mijn artikel te communiceren, en nu kom ik tot het besef dat ik de kwestie heb behandeld vanuit mijn, om zo te zeggen, "byte-liefhebbende" gezichtspunt. Natuurlijk, aangezien er een cursus is over de veelzijdigheid van het verwerken van gegevensopslag en -transmissie, kunnen symbolische protocollen (voornamelijk over XML) in deze geest kansen geven op andere oplossingen. Maar met betrekking tot de poging tot wijdverbreid gebruik ervan, wil ik Wirth citeren:
    Het gereedschap moet geschikt zijn voor de taak. Als de tool niet bij de taak past, moet je een nieuwe bedenken die wel past, en niet proberen de bestaande aan te passen.