Internett-dataoverføringsprotokoll. Grunnleggende nettverksprotokoller

Kommunikasjonsprotokoller i APCS

I moderne automasjonssystemer, som et resultat av konstant modernisering av produksjonen, blir oppgavene med å bygge distribuerte industrielle nettverk ved hjelp av fleksible dataoverføringsprotokoller i økende grad møtt.


Borte er tiden da et enormt skap med utstyr ble plassert et sted i kontrollrommet, kilometervis med tykke bunter med kabler som førte til sensorer og aktuatorer strukket til det. I dag er det i de aller fleste tilfeller mye mer lønnsomt å installere flere lokale kontrollere koblet i et enkelt nettverk, og dermed spare på installasjon, testing, igangkjøring og vedlikehold sammenlignet med et sentralisert system.


For å organisere industrielle nettverk brukes en rekke grensesnitt og dataoverføringsprotokoller, for eksempel Modbus, Ethernet, CAN, HART, PROFIBUS osv. De er nødvendige for dataoverføring mellom sensorer, kontrollere og aktuatorer (IM); kalibrering av sensorer; strømforsyning av sensorer og MI; kommunikasjon av de nedre og øvre nivåene av APCS. Protokollene er utviklet under hensyntagen til særegenhetene til produksjon og tekniske systemer, og sikrer pålitelig tilkobling og høy nøyaktighet av dataoverføring mellom ulike enheter. Sammen med driftssikkerheten under tøffe forhold, blir funksjonalitet, fleksibilitet i konstruksjonen, enkel integrering og vedlikehold, og samsvar med industrielle standarder stadig viktigere krav i ICS-systemer.


Det vanligste klassifiseringssystemet for nettverksprotokoller er den teoretiske OSI-modellen ( Grunnleggende referansemodell for interaksjon med åpne systemer Open Systems Interconnection Basic Reference Model). Spesifikasjonen for denne modellen ble endelig vedtatt i 1984 av International Organization for Standardization (ISO). I samsvar med OSI-modellen er protokoller delt inn i 7 lag, plassert over hverandre, i henhold til deres formål - fra fysisk (dannelse og gjenkjenning av elektriske eller andre signaler) til applikasjon (API for overføring av informasjon etter applikasjoner). Samhandling mellom nivåer kan utføres både vertikalt og horisontalt (fig. 1). I horisontal kommunikasjon krever programmer en felles protokoll for å utveksle data. I vertikale - gjennom grensesnitt.


Ris. 1. OSI teoretisk modell.


Søknadsnivå

Påføringslag - påføringslag ( Engelsk Påføringslag). Gir interoperabilitet mellom nettverket og brukerapplikasjoner utenfor OSI-modellen. Følgende protokoller brukes på dette nivået: 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.


Representativt nivå

Representativt nivå ( Engelsk Presentasjonslag) - nivået på datapresentasjonen. På dette nivået kan protokollkonvertering og komprimering / dekompresjon eller koding / dekoding av data utføres, samt omdirigere forespørsler til en annen nettverksressurs hvis de ikke kan behandles lokalt. Den konverterer applikasjonsforespørsler mottatt fra applikasjonslaget til et format for overføring over nettverket, og konverterer dataene som mottas fra nettverket til et format som applikasjoner kan forstå. Dette nivået inkluderer tradisjonelt følgende protokoller: HTTP, ASN.1, XML-RPC, TDI, XDR, SNMP, FTP, Telnet, SMTP, NCP, AFP.


Sesjonsnivå

Øktnivå ( Engelsk Sesjonslag) administrerer opprettelse / avslutning av en kommunikasjonsøkt, utveksling av informasjon, synkronisering av oppgaver, fastsettelse av retten til å overføre data og vedlikehold av økten i perioder med inaktivitet av applikasjoner. Overføringssynkronisering sikres ved å plassere sjekkpunkter i datastrømmen, hvorfra prosessen gjenopptas når kommunikasjonen brytes. Protokoller som brukes: ASP, ADSP, DLC, Named Pipes, NBT, NetBIOS, NWLink, Printer Access Protocol, Zone Information Protocol, SSL, TLS, SOCKS.


Transportlag

Transportlag ( Engelsk Transportlag) organiserer leveringen av data uten feil, tap og duplisering i rekkefølgen som de ble overført. Deler data i biter av lik størrelse, setter sammen korte og deler lange (klumpstørrelse avhenger av den brukte protokollen). Brukte protokoller: TCP, UDP, NetBEUI, AEP, ATP, IL, NBP, RTMP, SMB, SPX, SCTP, DCCP, RTP, TFTP.


Nettverkslag

Nettverkslag ( Engelsk Nettverkslag) definerer dataoverføringsbanene. Ansvarlig for å oversette logiske adresser og navn til fysiske, for å bestemme korteste ruter, bytte og ruting, for sporing av problemer og overbelastning i nettverket. Brukte protokoller: IP, IPv6, ICMP, IGMP, IPX, NWLink, NetBEUI, DDP, IPSec, ARP, RARP, DHCP, BootP, SKIP, RIP.


Linklag

Linklag ( Engelsk Datalinklag) er ment å sikre samspillet mellom nettverk på fysisk nivå. Dataene som mottas fra det fysiske laget sjekkes for feil, om nødvendig korrigerer det, pakker det inn i rammer, sjekker for integritet og sender det til nettverkslaget. Linklaget kan samhandle med ett eller flere fysiske lag. IEEE 802-spesifikasjonen deler dette laget i 2 underlag - MAC (Media Access Control) regulerer tilgangen til det delte fysiske mediet, LLC (Logical Link Control) gir nettverkslagtjenester. Protokoller som brukes: STP, ARCnet, ATM, DTM, SLIP, SMDS, Ethernet, FDDI, Frame Relay, LocalTalk, Token ring, StarLan, L2F, L2TP, PPTP, PPP, PPPoE, PROFIBUS.


Fysisk lag

Fysisk lag ( Engelsk Fysisk lag) er beregnet direkte for å overføre en datastrøm. Sender elektriske eller optiske signaler til en kabel eller radioluft og følgelig mottak og konvertering av dem til databiter i samsvar med metodene for koding av digitale signaler. Brukte protokoller: RS-232, RS-422, RS-423, RS-449, RS-485, ITU-T, xDSL, ISDN, T1, E1, 10BASE-T, 10BASE2, 10BASE5, 100BASE-T, 1000BASE , 1000BASE-TX, 1000BASE-SX.


Som du kanskje har lagt merke til, er mange protokoller nevnt på flere nivåer samtidig. Dette indikerer ufullstendigheten og fjernheten til den teoretiske modellen fra ekte nettverksprotokoller, derfor er bindingen av noen av dem til OSI-lagene betinget.


I verdenspraksis, blant nettverkene for generell bruk, den mest utbredte protokollen HTTP (Engelsk HyperText Transfer Protocol - "Hypertekstoverføringsprotokoll"). Refererer til anvendelses- og representasjonsnivåene til den teoretiske OSI-modellen. HTTP er basert på klient-server-teknologi, det vil si at det er en forbruker (klient) som starter en tilkobling og sender en forespørsel, og en leverandør (server) som venter på at en tilkobling skal motta en forespørsel, tar de nødvendige handlingene og returnerer en melding med resultatet. Hovedtypen HTTP-klient er en nettleser som Mozilla Firefox, Opera eller Microsoft Internet Explorer. HTTP er nå allestedsnærværende på World Wide Web for å hente informasjon fra nettsteder.


Ris. 2. Klient-server-teknologi.


Utvidede protokoller er utviklet på grunnlag av HTTP: HTTPS ( Engelsk Hypertext Transfer Protocol Secure), som støtter kryptering, og HTTP-NG ( Engelsk HTTP neste generasjon), som øker hastigheten på nettet og utvider mulighetene for industrielle applikasjoner.


Positive sider: enkel utvikling av klientapplikasjoner, muligheten til å utvide protokollen ved å legge til dine egne overskrifter, utbredelsen av protokollen.


Negative sider: stor meldingsstørrelse sammenlignet med binære data, mangel på navigering i serverressurser, manglende evne til å bruke distribuert databehandling.


opprettelse av fjernkontrollrom, webapplikasjoner for SCADA-systemer, programvare for industrielle kontrollere, videoovervåking.


I dag støttes HTTP-protokollen og dens modifikasjoner av maskinvare og programvare fra de fleste produsenter. La oss ta en titt på noen av dem.


I Korenix-utstyr fra JetNet, JetRock, JetPort, JetI/O, JetBox (industrielle Ethernet-baserte nettverk), JetWave (trådløse løsninger), brukes HTTP-familieprotokollene til å organisere tilgang, konfigurere og kontrollere enheter.


ICPDAS tilbyr følgende maskinvare og programvare for å fungere med HTTP-protokollen. Kontrollere av XRAK, WinPAC, WinCon, LinPAC, ViewPAC-serien opererer under Windows og Linux operativsystemer, med en innebygd HTTP-server. Programvarepakker for InduSoft (SCADA), ISaGRAF, Web HMI, VXCOMM, MiniOS7 Studio bruker også en HTTP-server for å kommunisere og samhandle med enheter.


Administrerte brytere, innebygde datamaskiner og industrielt trådløst utstyr produsert av Moha kan ikke klare seg uten bruk av HTTP-familien av protokoller.


Ris. 3. Kompatibilitet med protokoller til Modbus-familien.


For å organisere interaksjon mellom automasjonselementer i industrielle dataoverføringsnettverk, er Modbus kommunikasjonsprotokoll mye brukt. Det er tre hovedimplementeringer av Modbus-protokollen, to for overføring av data over serielle kommunikasjonslinjer, begge kobber EIA / TIA-232-E (RS-232), EIA-422, EIA / TIA-485-A (RS-485) , og optisk og radio: Modbus RTU og Modbus ASCII, og for dataoverføring over Ethernet-nettverk over TCP / IP: Modbus TCP.


Forskjellen mellom Modbus ASCII og Modbus RTU er måten tegnene er kodet på. I ASCII-modus kodes data ved hjelp av en ASCII-tabell, der hvert tegn har to byte med data. I RTU-modus overføres data som 8-bits binære tegn for høyere datahastigheter. ASCII tillater en forsinkelse på opptil 1 sekund, i motsetning til RTU, hvor meldinger må være kontinuerlige. ASCII-modus har også et forenklet dekodings- og datastyringssystem.


Modbus-familien av protokoller (Modbus ASCII, Modbus RTU og Modbus TCP/IP) deler den samme applikasjonsprotokollen for å sikre kompatibilitet. Maksimalt antall nettverksnoder i Modbus-nettverket er 31. Lengden på kommunikasjonslinjene og dataoverføringshastigheten avhenger av den fysiske implementeringen av grensesnittet. Elementene i et Modbus-nettverk samhandler ved hjelp av en klient-server-modell basert på en forespørsel og svar-transaksjon.


Vanligvis er det bare en klient på nettverket, den såkalte "master" -enheten, og flere servere - "slaver" -enheter. Verten initierer transaksjoner (sender forespørsler). Slaveenheter overfører data forespurt av masterenheten, eller utfører forespurte handlinger. Masteren kan adressere en slave individuelt eller starte en kringkastingsmelding for alle slaver. Slaveenheten genererer en melding og returnerer den som svar på en forespørsel adressert spesifikt til ham.


Industrielle bruksområder:


Brukervennligheten til Modbus-familien av protokoller i industrien har ført til utstrakt bruk. I dag støtter utstyret til nesten alle produsenter Modbus-protokoller.


ICPDAS tilbyr et bredt spekter av kommunikasjonsutstyr for nettverk basert på Modbus-protokoller: I-7000-serien (DeviceNet-gatewayer, Modbus-servere, adresserbare kommunikasjonskontrollere); programmerbare kontrollere i serien ХРАК, WinPAC, WinCon, LinPAC, ViewPAC.


Weintek operatørterminaler og Control Techniques frekvensomformere bruker også Modbus for å kommunisere med kontrollere.


Tradisjonelt støttes Modbus-protokoller av OPC-servere til SCADA-systemer (Clear SCADA, Control Microsystems, InTouch Wonderware, TRACE MODE) for kommunikasjon med kontrollelementer (kontrollere, VFD-er, regulatorer, etc.).


Ris. 4. Profibus-nettverk.


I Europa har det åpne industrinettverket PROFIBUS (PROcess FIeld BUS) blitt utbredt. Opprinnelig ble en prototype av dette nettverket utviklet av Siemens for sine industrielle kontrollere.


PROFIBUS kombinerer de teknologiske og funksjonelle egenskapene til seriell feltkommunikasjon. Den lar deg kombinere forskjellige automatiseringsenheter til ett enkelt system på sensor- og aktuatornivå. PROFIBUS-nettverket er basert på flere standarder og protokoller, bruker datautveksling mellom master- og slaveenheter (DP- og PA-protokoller) eller mellom flere mastere (FDL- og FMS-protokoller).


PROFIBUS-nettverket kan assosieres med tre lag av OSI-modellen: fysisk, datalink og applikasjonslag.


Enkeltprotokollen for tilgang til bussen for alle PROFIBUS-versjoner er PROFIBUS-FDL-protokollen implementert på andre nivå av OSI-modellen. Denne protokollen bruker en token-tilgangsprosedyre. I likhet med Modbus-nettverk består et PROFIBUS-nett av master og slaver. Mesteren kan kjøre bussen. Når masteren har tilgang til bussen, kan den sende meldinger uten fjernforespørsel. Slaver er vanlige perifere enheter som ikke har tilgang til bussen, det vil si at de bare kan bekrefte mottatte meldinger eller sende meldinger til masteren på forespørsel. I en minimal konfigurasjon kan et nettverk bestå av enten to mastere, eller en master og en slave.


De samme PROFIBUS-kommunikasjonskanalene tillater samtidig bruk av flere kommunikasjonsprotokoller. La oss vurdere hver av dem.


PROFIBUS DP (Decentralized Peripheral) er en protokoll utviklet for å gi høyhastighets datautveksling mellom DP-mastere og distribuerte I/O-enheter. Protokollen er preget av en minimal reaksjonstid og høy motstand mot eksterne elektromagnetiske felt. Optimalisert for systemer med høy hastighet og lave kostnader.


PROFIBUS PA (Process Automation) er en kommunikasjonsprotokoll med feltutstyr plassert i konvensjonelle eller farlige områder. Protokollen lar sensorer og aktuatorer kobles til en enkelt linjebuss eller ringbuss.


PROFIBUS FMS (Fieldbus Message Specification) er en universell protokoll for å løse problemer med datautveksling mellom intelligente nettverksenheter (kontrollere, datamaskiner/programmerere, menneske-maskin-grensesnittsystemer) på feltnivå. Noen analoge av industriell Ethernet, vanligvis brukt for høyhastighetskommunikasjon mellom kontrollere og datamaskiner på overordnet nivå.


Alle protokoller bruker samme kommunikasjonsteknologi og felles busstilgangsmetode, slik at de kan operere på samme buss.


Positive sider:åpenhet, leverandøruavhengighet, utbredelse.


Industrielle bruksområder: organisering av kommunikasjon av sensorer og aktuatorer med kontrolleren, kommunikasjon av kontrollere og kontrolldatamaskiner, kommunikasjon med sensorer, kontrollere og bedriftsnettverk, i SCADA-systemer.


Hoveddelen av utstyret som bruker PROFIBUS-protokollen er laget av SIEMENS-utstyr. Men nylig har denne protokollen blitt brukt av de fleste produsenter. Dette skyldes i stor grad utbredelsen av kontrollsystemer basert på Siemens-kontrollere.


Ris. 5. Profibus-nettverk basert på ICP DAS-utstyr.


ICPDAS tilbyr en rekke slaveenheter for implementering av PROFIBUS-baserte prosjekter: PROFIBUS / Modbus-gatewayer i GW-serien, PROFIBUS til RS-232/485/422-omformere i I-7000-serien, PROFIBUS eksterne I/O-moduler og rammer av PROFI-8000-serien. For tiden utvikler ICPDAS-ingeniører intensivt PROFIBUS-mesteren.

Dataoverføringsprotokoller

En protokoll er et sett med avtaler som definerer utveksling av data mellom ulike programmer. Protokoller definerer måten meldinger og feil håndteres på i nettverket, og de tillater også utvikling av standarder som ikke er knyttet til en bestemt maskinvareplattform.

Nettverksprotokoller foreskriver reglene for datamaskiner som er koblet til nettverket. Οʜᴎ er bygget på et flernivåprinsipp. En protokoll på et eller annet nivå definerer en av de tekniske reglene for kommunikasjon. I dag brukes OSI-modellen for nettverksprotokoller.

OSI-modell - syv-nivå logisk modell for nettverksdrift. OSI-modellen implementeres av en gruppe kommunikasjonsprotokoller og regler organisert i flere lag.

På det fysiske nivået bestemmes de fysiske (mekaniske, elektriske, optiske) egenskapene til kommunikasjonslinjer.

På datalinklaget bestemmes reglene for bruk av det fysiske laget av nettverksnoder.

Nettverkslaget er ansvarlig for adressering og levering av meldinger.

Transportlaget styrer rekkefølgen meldingskomponentene passerer i.

Sesjonslagets oppgave er å koordinere kommunikasjon mellom to applikasjoner som kjører på forskjellige arbeidsstasjoner.

Presentasjonslaget brukes til å konvertere data fra datamaskinens interne format til overføringsformatet. Applikasjonslaget er grensen mellom applikasjonsprogrammet og andre lag.

Applikasjonslaget gir et praktisk grensesnitt for å kommunisere brukernettverksprogrammer.

TCP / IP er de to lavere lag protokollene som er ryggraden i Internett-kommunikasjon. TCP (Transmission Control Protocol) deler den overførte informasjonen i biter og nummererer alle biter. Ved å bruke Internett-protokollen (IP) blir alle deler overført til mottakeren. Deretter, ved hjelp av TCP-protokollen, sjekkes det om alle deler er mottatt. Når alle biter er mottatt, ordner TCP dem i riktig rekkefølge og setter dem sammen til en enkelt helhet.

La oss vurdere de mest kjente protokollene som brukes på Internett.

HTTP (Hyper Text Transfer Protocol) - ϶ᴛᴏ hypertekstoverføringsprotokoll. HTTP-protokollen brukes ved overføring av websider fra en datamaskin til en annen.

FTP (File Transfer Protocol) er en protokoll for overføring av filer fra en dedikert filserver til en brukers datamaskin. FTP lar abonnenten utveksle binære filer og tekstfiler med hvilken som helst datamaskin på nettverket. Etter å ha opprettet en forbindelse med den eksterne datamaskinen, kan brukeren kopiere filen fra den eksterne datamaskinen til sin egen, eller kopiere filen fra sin datamaskin til den eksterne.

POP (Post Office Protocol) er en standard postkontorprotokoll. POP-servere håndterer innkommende e-post, og POP er designet for å håndtere forespørsler om å motta e-post fra klientposter.

Simple Mail Transfer Protocol (SMTP) definerer et sett med regler for overføring av post. SMTP-serveren returnerer enten en bekreftelse eller en feilmelding, eller ber om tilleggsinformasjon.

UUCP (Unix to Unix Copy Protocol) er nå utdatert, men brukes fortsatt dataoverføringsprotokoll, inkl. for e-post. Denne protokollen forutsetter bruk av en batch-metode for informasjonsoverføring, der først en klient-server-forbindelse etableres og en datapakke overføres, og deretter behandles, ses eller klargjøres autonomt.

TELNET - ϶ᴛᴏ protokoll for ekstern tilgang. TELNET gjør det mulig for abonnenten å jobbe på hvilken som helst datamaskin på Internett, som på egen hånd, det vil si å starte programmer, endre driftsmodus, etc. I praksis er mulighetene begrenset av tilgangsnivået satt av administratoren for den eksterne maskinen.

Dataoverføringsprotokoller - konsept og typer. Klassifisering og funksjoner i kategorien "Dataoverføringsprotokoller" 2017, 2018.

  • - Metoder for tilgang og dataoverføringsprotokoller i lokale nettverk

    Ulike nettverk har ulike prosedyrer for utveksling av data mellom arbeidsstasjoner. Disse prosedyrene kalles dataoverføringsprotokoller. International Institute of Electronics Engineers (IEEE) har utviklet standarder for ...


  • - Typer prosesser og dataoverføringsprotokoller

    Det er tre typer prosesser som foregår i nettverket: informasjon, transport og kommunikasjon. I fig. 5 viser et diagram over dataoverføringsprotokollstabelen i nettverket og deres plassering i OSI/ISO-nettverkslagsmodellen. Ris. 5 diagram over stabelen med protokoller for dataoverføring i nettverket ....


  • - Flernivåtilnærming. Dataoverføringsprotokoller

    Organiseringen av kommunikasjon mellom enheter på et nettverk er en kompleks oppgave. Som du vet, for å løse komplekse problemer, brukes en universell teknikk for å bestemme funksjonene til hver modul som løser et eget problem, og grensesnittene mellom dem. Resultatet er oppnådd...


  • I dag er det vanskelig å forestille seg eksistensen av menneskelig sivilisasjon uten World Wide Web. Dette er rundt 400 millioner brukere, for hvem titalls millioner servere kjører døgnet rundt, og inneholder mer enn en million sider totalt. WWW er det største depotet av offentlig tilgjengelig data, de raskest voksende mediene, e-butikker, hobbyklubber og mye, mye mer.

    Ingen analytiker kan forutsi hvordan nettverket vil se ut om 10 år. Men én ting er klart: hvis nå WWW, som ingen visste om for 15 år siden, studeres på skolen (til tross for at skoleundervisning alltid har vært konservativ), vil snart muligheten til å bruke nettleseren bli så nødvendig i skoleopplæringen som evnen til å lese og skrive.

    Dessverre å rapportere det, har Internett blitt like mye et hjernebarn av militær teknologi som selve datamaskinen. I det vanvittige atomprøveløpet som markerte 1950-tallet, lanserte USA en tilsynelatende ikke så kraftig eksplosjon i en høyde av 20 kilometer. Men konsekvensene var virkelig alvorlige. Den elektromagnetiske pulsen som ble generert av eksplosjonen deaktiverte ikke bare telefon- og telegraflinjer, men kastet også en hel delstat på Hawaii ned i mørket i flere dager, som ligger tusen miles fra eksplosjonsstedet. Moralen i historien var trist nok for det amerikanske militæret: en kjernefysisk eksplosjon i stor høyde med ikke særlig stor kraft, produsert i sentrum av landet, frarøver det fullstendig kommunikasjonssystemer og derfor kontroll. Den eneste måten å løse problemet på var å lage et supersikkert kommunikasjonssystem som er i stand til å overføre en enorm mengde informasjon til alle deler av landet.

    Historien til Internett kan deles inn i flere stadier:

    1945-1960.
    Teoretisk arbeid med den interaktive interaksjonen til en person med en maskin, utseendet til de første interaktive enhetene og datamaskinene som tidsdelingsmodusen er implementert på.

    En av de viktige datoene i Internetts historie kan betraktes som 1957, da en egen struktur, Advanced Research Projects Agency (DARPA), dukket opp innenfor det amerikanske forsvarsdepartementet. På 60-tallet ble hovedarbeidet til DARPA viet utviklingen av en metode for å koble datamaskiner til hverandre.

    Lederen for det første forskningsprogrammet på det globale kommunikasjonssystemet, J.C.R. Licklider, publiserte verket "Galactic Network". I den forutså han muligheten for at det i fremtiden vil eksistere en global dataforbindelse mellom mennesker som har umiddelbar tilgang til programmer og databaser fra hvor som helst i verden. Hans visjon gjenspeiler den moderne strukturen til det internasjonale Internett. Licklider var i stand til å overbevise en gruppe forskere i realiteten til konseptet hans, inkludert hans fremtidige etterfølger, MIT-forsker Lawrence G. Roberts. Det nyopprettede nettverket skulle sikre ledelsen av et stort land i mangel av andre kommunikasjonsmidler, og derfor var kapasiteten svært viktig.

    Fra dette synspunktet var teorien om pakkesvitsjing for dataoverføring, som Leonard Kleinrock utviklet i 1961 og først publisert i juli 1964, av stor betydning. Ved pakkesvitsjing blir dataene som kreves for overføring delt i biter og overført på forskjellige måter gjennom nettverket. Hver del er vedlagt en overskrift som inneholder fullstendig informasjon om levering av pakken til destinasjonen. Pakkesvitsjing gir høy båndbredde og systempålitelighet. Det er nok å si at bruken av pakketeknologi gjorde det mulig å øke den foreslåtte overføringshastigheten gjennom kanalene til det projiserte ARPANET-nettverket fra 2,4 Kbps til 50 Kbps.

    1961-1970.
    Utvikling av tekniske prinsipper for pakkesvitsjing, implementering av ARPANet.

    I 1966 inviterte DARPA Larry Roberts til å implementere ARPANET datanettverksprosjektet. Målet med prosjektet var å studere måter å opprettholde kommunikasjon i møte med et atomangrep og å utvikle et konsept for desentralisert kontroll av militære og sivile objekter i løpet av krigsperioden. Desentralisering var kritisk fordi det tillot nettverket å fungere selv når flere noder ble ødelagt. For å løse problemet var det i første omgang ment å kombinere flere store forskningsinstitusjoner (universiteter) og gjennomføre eksperimenter innen datakommunikasjon.

    Robert Ken presenterte den overordnede arkitekturen til ARPANET, Lawrence Roberts utviklet topologien og økonomien, Leonard Kleinrock (Network Measurement Center, UCLA) presenterte alle nettverksmålings- og analyseverktøyene.

    I 1968 ble kontrakten for gjennomføringen av prosjektet tildelt Bolt Beranek og Newman (BBN), som fullførte det innen utgangen av 1969 ved å koble fire forskningssentre til ett datanettverk: UCLA, SRI, UCSB og University of Utah .
    I 1969 gikk ARPANET live. Den 20. oktober 1969 videreformidlet professor Klenroich en melding til sin kollega ved University of San Francisco. Meldingen - ordet "LOG" (for å koble til) - ble delt av professoren i 3 trinn - en bokstav i hver. "Vi sendte ett brev og spurte om det kom igjennom. Da vi fikk et positivt svar, sendte vi et annet med det samme spørsmålet. Kleinrock i et intervju med BBC.

    20. oktober 1969 betraktet som den første dagen av eksistensen av Internett.

    Etter eksperimentet begynte all Kleinrocks forskning å bli finansiert under et spesielt amerikansk regjeringsprogram og ble ansett som et av de mest lovende områdene i etableringen av et forsvarsinformasjonssystem. I årene som fulgte vokste antallet datamaskiner koblet til ARPANET raskt.

    1971-1980.
    Antall ARPANet-noder har økt til flere dusin, spesielle kabellinjer er lagt som forbinder noen noder, e-post begynner å fungere, forskere rapporterer resultatene av arbeidet deres på internasjonale vitenskapelige konferanser.

    Det neste trinnet var åpenbart utvidelsen av nettverket over hele landet, som ville gi den høyeste militære og politiske ledelsen en pålitelig kommunikasjonskanal i nødstilfeller, noe som først og fremst betydde et atomangrep fra siden av Sovjetunionen.

    DARPA, inspirert av suksessen til ARPANET, inviterte Robert Can til å utvikle et nytt program, Internetting Project, for å utforske metoder for å koble ulike nettverk sammen.

    I oktober 1972 arrangerte Robert Kahn en stor, svært vellykket demonstrasjon av ARPANET på International Computer Communications Conference. Det var den første offentlige demonstrasjonen av den nye nettverksteknologien.

    Også i 1972 dukket den første "hotte" søknaden opp - E-post

    I mars skrev Ray Tomlinson, motivert av behovet for å lage enkle koordineringsverktøy for ARPANET-utviklere, grunnleggende programmer for å sende og lese e-postmeldinger. I juli la Roberts til meldingsoppføring, selektiv lesing, lagring til fil, videresending og svarfunksjoner til disse programmene. Siden den gang, i mer enn et tiår, har e-post blitt den største nettapplikasjonen. For sin tid har e-post blitt det World Wide Web er i dag – en ekstremt kraftig katalysator for veksten av alle slags mellommenneskelige datastrømmer.

    Interessante fakta

      1971: Det første programmet for e-post skrives

      1972: @-tegn oppfunnet

      1973: Den første internasjonale kommunikasjonen via e-post. post mellom England og Norge

      1974: Den første kommersielle versjonen av ARPANET åpnes - Telnet-nettverk

      1976: Robert Metcalfe, Xerox Research Lab, oppretter Ethernet, det første lokale datanettverket.

      1979: «Smileys» blir oppfunnet – bilder av ansiktet snudd opp til siden, for å gi meldingene en følelsesmessig farge. For eksempel slik: :-)

    1981-1990.
    TCP/IP-protokollen tas i bruk, Forsvarsdepartementet bestemmer seg for å bygge sitt eget nettverk basert på ARPANet, oppdelingen i ARPANet og MILNet finner sted, Domain Name System (DNS) introduseres, antall verter når 100 000.

    I 1974 utviklet Internet Network Working Group (INWG), opprettet av DARPA og ledet av Vinton Cerf, Transmission Control Protocol / Internet Protocol (TCP / IP) universell protokoll for dataoverføring og nettverk, hjertet av Internett.

    I 1980 erklærte INWG, ledet av Vinton Cerf, TCP / IP som en standard og presenterte en plan for sammenkobling av eksisterende nettverk, og formulerte de grunnleggende prinsippene:

      Nettverk samhandler med hverandre ved hjelp av TCP/IP-protokollen.

      Nettverk er koblet sammen gjennom spesielle "gatewayer".

      Alle tilkoblede datamaskiner bruker de samme adresseringsmetodene.

    I 1983 forpliktet DARPA alle ARPANET-datamaskiner til å bruke TCP / IP-protokollen, på grunnlag av hvilken det amerikanske forsvarsdepartementet delte nettverket i to deler: separat for militære formål - MILNET, og vitenskapelig forskning - ARPANET-nettverket.

    For å forene de eksisterende 6 store datasentrene og støtte de globale akademiske og forskningsmiljøene i 1985, begynte US National Science Foundation (NSF) å utvikle et program for å bygge et interregionalt nettverk NSFNET. Steve Wolfe ble ansatt for å lede prosjektet i 1986.

    1991-2000.
    Nylig historie.

      1991: European Physics Laboratory CERN opprettet den velkjente WWW - World Wide Web-protokollen. Denne utviklingen ble først og fremst utført for utveksling av informasjon blant fysikere. De første datavirusene som spres over Internett dukker opp.

      1993: Den første nettleseren Mosaic ble laget av Mark Andreesen ved University of Illinois. Antall Internett-verter har oversteget 2 millioner Nettverket har 600 nettsteder.

      1996: En konkurranse starter mellom Mark Andreesens Netscape-nettleser og Microsofts Internet Explorer. Det er allerede 12,8 millioner verter og 500 tusen nettsteder i verden.

      2002: Internett kobler sammen 689 millioner mennesker og 172 millioner verter.

    Grunnleggende begreper om Internett

    Internett er et verdensomspennende datanettverk som forener titusenvis av ulike lokale og globale datanettverk til en enkelt helhet, knyttet sammen av visse avtaler (protokoller). Formålet er å gi alle konstant tilgang til informasjon. Takket være nettverket har en enorm mengde informasjon blitt tilgjengelig. Så en bruker i et hvilket som helst land kan kontakte folk som deler hans interesser, eller få verdifull informasjon i elektroniske biblioteker, selv om de befinner seg på den andre siden av verden. Den nødvendige informasjonen vil være i datamaskinen hans i løpet av sekunder, gå gjennom en lang kjede av mellomliggende datamaskiner, gjennom kabler og radio, gjennom fjell og hav, langs bunnen av havene og gjennom satellitter.

    Internett er finansiert av myndigheter, akademia, akademia, bedrifter og millioner av enkeltpersoner i alle deler av verden, men ingen eier det spesifikt. Den tekniske siden av nettverk er overvåket av Federal Networking Council (FNC), dannet av inviterte frivillige, som 24. oktober 1995 vedtok en definisjon av hva vi mener med begrepet "Internett":

    Internett er et globalt datasystem som:

    Logisk sammenkoblet av plassen med globalt unike adresser (hver datamaskin koblet til nettverket har sin egen unike adresse);

    i stand til å opprettholde kommunikasjon (utveksling av informasjon);

    Gir drift av høynivåtjenester (tjenester), for eksempel WWW, e-post, nyhetsgrupper, nettverkssamtaler og andre.

    Internett er peer-to-peer nettverk , dvs. alle datamaskiner på nettverket er like, og enhver datamaskin kan kobles til en hvilken som helst annen datamaskin. Dermed kan enhver datamaskin koblet til nettverket tilby sine tjenester til alle andre.

    I nodene til denne verdensomspennende forbindelsen er det installert datamaskiner som inneholder nødvendig informasjon og tilbyr ulike informasjons- og kommunikasjonstjenester. Disse datamaskinene kalles servere (verter) .

    Serverdatamaskinen leverer tjenester til andre datamaskiner som ber om informasjon, som kalles kunder (brukere, abonnenter). Arbeid på Internett forutsetter derfor tilstedeværelsen av en sender av informasjon, en mottaker og en kommunikasjonskanal mellom dem. Når vi "går inn" på Internett, fungerer datamaskinen vår som en klient, den ber om informasjonen vi trenger på den serveren vi velger.

    Dataoverføringsprotokoller

    For å kunne bruke veitransport, måtte folk bli enige om universelle regler som de må følge. På samme måte kan internett ikke eksistere uten enhetlige regler som bestemmer rekkefølgen for dataoverføring fra datamaskiner i nettverket, siden datamaskiner er bygget på forskjellige maskinvareplattformer og styres av forskjellige operativsystemer.

    Settet med konvensjoner om reglene for dannelse og formater av meldinger kalles en protokoll.

    De overførte dataene er delt opp i små biter kalt pakker. Hver pakke reiser på nettverket uavhengig av andre pakker. De beveger seg fra en node til en annen og blir deretter videresendt til en annen node, som er "nærmere" adressaten. Hvis pakken mislykkes, blir overføringen forsøkt på nytt. Det er teoretisk mulig at ulike meldinger vil gå på ulike måter, men likevel nå adressaten og samles til et komplett dokument. Det er mulig at noen dokumenter sendt fra England til Australia vil omgå kloden fra øst til vest, mens andre fra vest til øst.

    Nettverkene på Internett kommuniserer alle med hverandre, fordi alle datamaskiner som er involvert i overføringen av data bruker en enkelt kommunikasjonsprotokoll. TCP/IP(les "ti-si-pi / ay-pi").

    Faktisk er TCP / IP to forskjellige protokoller som definerer forskjellige aspekter ved dataoverføring over et nettverk:

    TCP (Transmission Control Protocol) - kontrollprotokoll for dataoverføring ved bruk av automatisk reoverføring av pakker som inneholder feil; denne protokollen er ansvarlig for å dele den overførte informasjonen i pakker og gjenopprette informasjon fra mottakerens pakker.

    IP (Internettprotokoll) - en internettarbeidsprotokoll som er ansvarlig for å adressere og la en pakke reise over flere nettverk på vei til den endelige destinasjonen.

    Opplegg for informasjonsoverføring over TCP / IP-protokollen er dette:

    TCP deler informasjon i pakker og nummererer alle pakker;
    deretter, ved bruk av IP-protokollen, sendes alle pakker til mottakeren, hvor det ved bruk av TCP-protokollen kontrolleres om alle pakker mottas;
    Etter å ha mottatt alle pakkene, ordner TCP dem i riktig rekkefølge og setter dem sammen til en enkelt helhet.

    For at applikasjoner som e-postprogrammer skal fungere, må ikke bare informasjon pakkes og sendes på riktig måte, men det er også nødvendig å tydelig avtale innholdet i disse pakkene, samt prosedyren for utveksling av pakkene. Så for å motta et brev, må du for eksempel presentere passordet til eieren av postkassen, og dette er allerede en hel sekvens av handlinger. Dermed trengs andre protokoller også.

    Hypertext Transfer Protocol

    Filoverføringsprotokoll

    SMTP

    Postkontorprotokoll 3

    Protokoll for mottak av e-post

    NNTP

    Telekonferanseprotokoll

    Protokollnavn

    Dekryptering

    Avtale

    HTTP

    Hypertext Transfer Protocol

    FTP

    Filoverføringsprotokoll

    Enkel e-postoverføringsprotokoll

    Enkel protokoll for å sende e-post

    POP3

    Nyhetsnettoverføringsprotokoll

    Adresseringssystem

    For at informasjon skal overføres nøyaktig fra en datamaskin til en annen, er det nødvendig å ha unike adresser, ved hjelp av disse er det mulig å entydig identifisere (identifisere) mottakeren av informasjonen. Akkurat som vanlig post leverer postforsendelser til adresser som inkluderer en region, by, gate, hus, leilighet og på Internett, leveres informasjonspakker til adresser, bare adressen angir ikke hus og gater, men nettverksnummer som mottakerdatamaskinen er tilkoblet og numrene til selve datamaskinene i disse nettverkene.

    Så hver datamaskin koblet til Internett har en fysisk adresse (IP-adresse).

    En IP-adresse er et unikt nummer som unikt identifiserer en datamaskin på Internett.

    IP-adressen er representert med fire desimaltall (0 til 255) atskilt med punktum, for eksempel 194.67.67.97 (ingen punktum settes etter siste nummer). Hvert tall tilsvarer et informasjonsvolum på 1 byte eller 8 biter.

    Dekryptering av en slik adresse utføres fra venstre mot høyre. Vanligvis er den første og andre byten nettverksadressen, den tredje byten er undernettadressen, og den fjerde er datamaskinens undernettadresse.

    IP-adressene til de tilkoblede datamaskinene.

    Så IP-adressen er 4 byte eller 32 biter. Hvis du med én byte kan overføre 2 8 = 256 opsjoner, kan du med 4 byte overføre 2 32 = 4 milliarder opsjoner. Dermed kan maksimalt 4 milliarder brukere kobles til Internett. Siden det for tiden er en rask vekst av Internett-brukere, og i tillegg tillater moderne tekniske fremskritt å koble til Internett, ikke bare datamaskiner, men også mobiltelefoner, TV-er og til og med kjøleskap, blir denne adresseplassen veldig trang. For å utvide det, foreslås det å overføre Internett til en 128-biters IP-adresse (maksimalt brukere 2 128).

    Til en viss grad ligner en fysisk adresse på et vanlig telefonnummer, men det er upraktisk for en person å bruke det. Derfor ble Internett introdusert Domain Name System (DNS).

    Domenenavnsystemet tilordner en datamaskins numeriske IP-adresse til et unikt domenenavn

    Domenenavn og IP-adresser tildeles av International Coordinating Center for Domain Names and IP Addresses (ICANN) med 5 representanter fra hvert kontinent.

    Hvordan er domenenavnsystemet bygget opp?

    Den største fordelen med dette systemet er klarhet. Adressen er delt inn i flere felt, og verken antall felt eller størrelse er begrenset.

    Domenenavnsystemet har en hierarkisk struktur: toppdomener - andrenivådomener - tredjenivådomener. Toppdomener er av to typer: geografiske (to bokstaver - hvert land har en kode på to bokstaver) og administrative (tre bokstaver).

    Russland eier det geografiske domenet ru. Langvarige servere kan tilhøre su (USSR) domenet.

    Administrativt

    Organisasjonstype

    Geografisk

    Land

    com

    kommersielle

    ca

    Canada

    edu

    pedagogisk

    de

    Tyskland

    gov

    amerikanske myndigheter

    jp

    Japan

    int

    Internasjonal

    ru

    Russland

    mil

    amerikansk militær

    su

    USSR

    nett

    Datanettverk

    uk

    England

    org

    Non-profit

    oss

    USA

    Domenenavn leses fra høyre mot venstre. Toppdomenet er plassert helt til høyre. Alle andre adressefelter overlates til landet som toppdomenet er tildelt for. Til venstre for landindeksen kan det for eksempel være et forkortet bynavn: spb - St. Petersburg , e-burg - Jekaterinburg etc. Så kan det være navnet på organisasjonen som har et lokalt nettverk. For eksempel, et- Elektroteknisk universitet. Dette kan etterfølges av navnet på enheten: ok- Personalavdelingen.

    Tenk på en bestemt adresse: sch458.spb.ru... Toppnivådomenet ru betyr at datamaskinen med dette navnet ligger i Russland, deretter kommer andrenivådomenet spb, som betyr - i St. Petersburg, og bare tredjenivådomenet - sch458 - en ekte datamaskin - tilsvarer organisasjonen som dette domenet tilhører adresser - dette navnet på Internett tilhører skolen vår.

    Alle DNS-adresser konverteres til IP-adresser ved hjelp av spesial DNS-servere, som på nettverksnoder trekker ut symbolske navn fra databaser og erstatter dem med fysiske adresser til datamaskiner. På grunnlag av DNS-adresser bygges også e-postadresser og adresser til Internett-informasjonsressurser.

    IP-adressen eller det tilsvarende domenenavnet lar deg identifisere en datamaskin på Internett unikt, men faktum er at en datamaskin kan inneholde mye forskjellig informasjon i forskjellige formater, for eksempel i form av filer, e-poster, sider, etc. For å kunne skaffe den nødvendige informasjonen nøyaktig og i det nødvendige formatet, brukes en tegnstreng, som kalles en universal resource locator. Denne strengen identifiserer en unik ressurs på Internett. Det er en slik streng som vises i "Adresse"-feltet i Internet Explorer når vi "går" på Internett

    Universal Resource Locator eller URL
    inkluderer dokumenttilgangsprotokollen, domenenavnet eller IP-adressen til serveren som dokumentet ligger på, samt filbanen og filnavnet:
    protokoll: // domenenavn / bane / filnavn

    I dette eksemplet brukes den mest brukte protokollen, http: // - Hypertext Transfer Protocol.

    Merk: hvis filnavnet ikke er spesifisert, er standard filnavn index.htm (index.html) eller default.htm (default.html).

    Spørsmål.

    1. Hva er det viktigste faktumet i Internetts historie for deg?
    2. Hva er Internett?
    3. Hvem er eieren av Internett?
    4. Hva er forskjellen mellom klient og server?
    5. Hva er en protokoll?
    6. Hvordan overføres data over Internett?
    7. Hva er den grunnleggende protokollen på Internett?
    8. Hva er funksjonene til TCP og IP?
    9. Hvilke andre protokoller finnes på Internett og hva er deres funksjoner?
    10. Hva er en URL?
    11. Hva er delene av nettadressen?

    Testen som tilbys deg inneholder tretten spørsmål, for hver av dem er det tre mulige svar. Spørsmål vises i et eget vindu. Når du svarer på et spørsmål, plasserer du musepekeren på det valgte svaralternativet (det vil vises i hvitt) og klikker på det. Basert på resultatene fra testen, vil antall riktige svar, gjenforsøk og poengsum vises.

    Trykk på knappen for å starte testen.

    Det er to typer protokoller: grunnleggende og applikasjon. De underliggende protokollene er ansvarlige for fysisk overføring av meldinger mellom datamaskiner på Internett. Dette er IP- og TCP-protokollene. Protokoller på høyere nivå kalles applikasjonsprotokoller; de er ansvarlige for funksjonen til spesialiserte tjenester. For eksempel brukes HTTP til å overføre hypertekstmeldinger, FTP brukes til å overføre filer og SMTP brukes til å overføre e-post.

    Et sett med protokoller med forskjellige lag som fungerer samtidig kalles en protokollstabel. Hvert nedre lag av protokollstabelen har sitt eget regelsystem og gir service til de høyere. På samme måte utfører hver protokoll i protokollstabelen sin funksjon uten å bekymre seg for funksjonene til det andre protokolllaget.

    Det nedre laget bruker to hovedprotokoller: IP (Internet Protocol) og TCP (Transmission Control Protocol). TCP / IP-protokollarkitekturen er designet for å koble sammen nettverk. De kan være forskjellige LAN (Token Ring, Ethernet, etc.), forskjellige nasjonale, regionale og globale nettverk. Ulike typer maskiner kan kobles til disse nettverkene. Hvert av nettverkene opererer i samsvar med sine egne prinsipper og type kommunikasjon. Dessuten kan hvert nettverk motta en pakke med informasjon og levere den til den angitte adressen. Dermed er hvert nettverk pålagt å ha en slags ende-til-ende-protokoll for å sende meldinger mellom to eksterne nettverk.

    Anta at du har en slags melding sendt på e-post. E-postoverføring utføres ved hjelp av SMTP-applikasjonsprotokollen, som er basert på TCP/IP-protokollene. I følge
    protokoll TCP, er dataene som sendes delt inn i små pakker med fast struktur og lengde, merket på en slik måte at når de mottas, kan dataene samles i riktig rekkefølge.

    Vanligvis overskrider ikke lengden på en pakke 1500 byte. Derfor kan én e-post bestå av flere hundre slike pakker. Den korte pakkelengden fører ikke til blokkering av kommunikasjonslinjer og tillater ikke individuelle brukere å gripe kommunikasjonskanalen i lang tid.

    For hver TCP-pakke den mottar, legger IP til informasjon som kan brukes til å bestemme kilde- og destinasjonsadressene. Dette er analogt med å legge adressen på en konvolutt. For hver innkommende pakke bestemmer ruteren som pakken går gjennom, ved hjelp av dataene til IP-adressen, hvilken av de nærmeste naboene som må videresende den gitte pakken slik at den kommer raskere til mottakeren, dvs. bestemmer seg for den optimale banen for neste pakke. Samtidig er den geografisk korteste veien ikke alltid optimal (en rask kanal til et annet kontinent kan være bedre enn en langsom til en naboby). Det er klart at hastigheten og banene til forskjellige pakker kan være forskjellige. Sammenkoblede datapakker kan overføres på forskjellige måter. Det er mulig at pakker vil reise på tvers av forskjellige kontinenter med forskjellige hastigheter. Pakker som sendes senere kan imidlertid komme tidligere. Uavhengig av veilengden, som et resultat av et begrenset antall hopp, når TCP-pakker destinasjonen.

    Til slutt samler og pakker destinasjons-TCP inn IP-konvoluttene, pakker deretter ut TCP-konvoluttene og plasserer dataene i ønsket rekkefølge. Hvis noe mangler, ber han om å sende denne pakken på nytt. Pakker går ikke bare tapt, men kan også bli forvrengt under overføring på grunn av tilstedeværelsen av interferens på kommunikasjonslinjer. TCP løser også dette problemet. Til slutt blir informasjonen samlet inn i riktig rekkefølge og fullstendig gjenopprettet.

    Dermed flytter IP-protokollen data på nettverket, og TCP-protokollen sikrer pålitelig levering av data ved hjelp av et system med feilkorrigerende koder. Dessuten kan to nettverksservere samtidig overføre flere TCP-pakker fra forskjellige klienter i begge retninger på samme linje.

    Det er nødvendig å understreke hovedforskjellen mellom overføring av informasjon over telefonnettet og over Internett. Når telefonsystemet ringer til en annen region eller til og med til et annet kontinent, etablerer det en kanal mellom telefonen din og den du ringer. Kanalen kan bestå av dusinvis av seksjoner av forskjellig fysisk natur - kobberledninger, fiberoptiske linjer, trådløse seksjoner, satellittkommunikasjon, etc. Disse områdene er uendret gjennom hele kommunikasjonssesjonen. Dette betyr at linjen mellom deg og personen du ringer er konstant gjennom hele samtalen, så skade på hvilken som helst del av linjen kan avbryte samtalen. I dette tilfellet er den delen av nettverket som er tildelt deg ikke lenger tilgjengelig for andre. Dette er et kretssvitsjet nettverk. Internett er et pakkesvitsjet nettverk. Prosessen for å videresende e-post er fundamentalt annerledes.

    Så Internett-data i enhver form – e-post, nettside eller nedlasting – reiser som en gruppe pakker. Hver pakke sendes til sin destinasjon langs den beste tilgjengelige banen. Derfor, selv om en del av Internett er ødelagt, vil det ikke påvirke leveringen av pakken, som vil bli sendt langs den alternative banen. Under datalevering er det således ikke behov for en fast linje mellom to brukere. Prinsippet om pakkesvitsj gir Internetts største fordel - pålitelighet. Nettverket kan fordele belastningen på ulike nettsteder på tusendeler av et sekund. Hvis et nettverksutstyr er skadet, kan pakken omgå denne plasseringen og følge en annen vei, og sikre at hele meldingen leveres. Internett-prototype - nettverk
    ARPAnet, utviklet etter ordre fra det amerikanske forsvarsdepartementet, ble nettopp tenkt som et nettverk som er motstandsdyktig mot skade (for eksempel i tilfelle fiendtligheter), som er i stand til å fortsette å fungere normalt hvis noen del av det svikter.

    Ganske ofte må jeg grensesnitt med spesialisert programvare (og maskinvare, selv om det til slutt er et grensesnitt med fastvaren innebygd på brettet), produsenten av hver gir sin egen datautvekslingsprotokoll.

    Hvilke egenskaper og funksjoner har en god, god, kompetent protokoll av høy kvalitet?

    Ideelt sett bør protokollen abstraheres fra det lavere nivået av interaksjon, enten det er overføring over TCP, UDP, seriell port, USB, Bluetooth, digitalt radiosignal eller til og med duepost. Og det bør huskes at ikke alle garanterer leveringen og / eller påliteligheten til de overførte dataene.

    Liten ansvarsfraskrivelse: Når jeg snakker om påliteligheten til dataene, mener jeg deres uforvrengning på grunn av interferens og andre feil i overføringsmediet. I denne artikkelen vil jeg ikke berøre temaet laget av teknologier knyttet til IT-sikkerhet. La oss si at vår Alice og Bob kan stole på hverandre, og ingen Eva kan stoppe dem. (For eksempel, blant kolleger løses sikkerhetsproblemet ved å inkludere alle geografisk adskilte deltakere i samhandlingen i en godt beskyttet VPN, som igjen ikke har tilgang til utsiden)

    De fleste protokoller implementerer Q&A-ordningen. Dette kan tenkes som en samtale der du reagerer verbalt på hver bemerkning fra samtalepartneren din, og i samme semantiske nøkkel. På denne måten får deltakerne i interaksjonen tillit til at deres meldinger blir overført og godt mottatt. Imidlertid er denne ordningen tillatt og ikke effektiv for alle oppgaver: i tilfeller der forsinkelsen i kommunikasjonen må minimeres, eller svaret på hver av de mange replikaene anses som overflødige (for eksempel for feilsøkingsmeldinger), "Start-Stop "ordningen er implementert. Når du mottar en melding til "Start", begynner samtalepartneren å helle en strøm av bemerkninger mot deg, og blir stille bare ved ordet "Stopp". Meldinger som sendes i en strøm har vanligvis et inkrementelt sekvensnummer, og hvis det var behandlingsproblemer / en av dem gikk glipp av når en meldingsstrøm ble akseptert, kan den etterspørres separat med det samme nummeret.

    Alle protokoller kan deles inn i to grupper (ved datapresentasjon): symbolsk og binær.
    Karakter protokollene jeg har kommet over var basert på enten XML- eller JSON-strenger. Blant fordelene deres kan vi nevne den enklere feilsøkingen av interaksjon (på grunn av deres lesbarhet), den enkle implementeringen (tilstedeværelsen av ferdige parsere) og den beryktede universaliteten.
    Nå om ulempene. Åpenbart er slike protokoller ekstremt overflødige, en liten brøkdel av nyttig informasjon flyter i en massiv, ineffektiv innpakning. Når du overfører numerisk informasjon, må du konvertere dem til strengrepresentasjon og omvendt. Det såre stedet er overføring av binære data (og det er bra at du kan klare deg uten dem, men i noen tilfeller er dette umulig). Protokollskrivere slipper vanligvis unna med å bruke Base64, eller til og med bare å sende en binær streng i sin hex-representasjon, to tegn per byte.
    Jeg vil også merke meg at den fullstendige spesifikasjonen av den samme XML-en er ekstremt omfattende, og standard-parsere, for alle deres fullstendige funksjoner, er ganske tungvinte og trege, så det er vanlig praksis når en avdeling eller et kontor til slutt skriver og bruker sin egen parser.

    Selvfølgelig, for spesifikke oppgaver, symbolske protokoller er, om ikke de mest effektive, så i det minste et ganske akseptabelt alternativ, men vi går videre med deg.

    binær protokoller. Umiddelbart er det nødvendig å huske om Gulliver-krigene med stumpe punkter og skarpe punkter. Personlig sympatiserer jeg med big-endian, fordi Jeg anser ikke implisitt liten-endian-skriving som "noe bra", og i mitt utviklingsmiljø er big-endian innfødt.
    Binære protokoller (ikke alle, men de som jeg klassifiserer som literate) kan deles inn i to lag: beholderlaget og datalaget. Det første nivået har ansvar for integriteten og påliteligheten til dataoverføring, så vel som for tilgjengeligheten av å oppdage en melding i en bytestrøm, og selvfølgelig for å lagre en melding på datanivå i seg selv. Det andre nivået bør inneholde informasjonen som all nettverksinteraksjon ble startet for, i et format som er praktisk for behandling. Strukturen avhenger hovedsakelig av oppgavene som skal løses, men det er generelle anbefalinger for den (om hvilke nedenfor).

    Størrelsene på meldinger (diskrete pakker med byte som kan behandles uavhengig av tidligere og etterfølgende mottatte data) er fikset og variabler... Det er klart at med fikset med størrelsen på meldinger er alt enklere - fra overskriften (mer om det senere), trekkes et visst antall byte fra og sendes til behandling. Ofte, for å gi fleksibilitet, inkluderer forfatterne av slike protokoller i meldingen et område med en fast størrelse (noen ganger opptil 80 % av det totale volumet), som er reservert for modifikasjoner av gjeldende protokoll. Etter min mening er ikke dette den mest effektive måten å gi fleksibilitet på, men det er fortsatt en form for redundans.
    Tenk på meldingene variabel lengde.
    Her kan du allerede snakke mer detaljert om den uunnværlige egenskapen til en binær melding i enhver protokoll - om overskrift(Dette er det nevnte beholdernivået).
    Vanligvis begynner overskrifter med en konstant del, som gjør det mulig, med en viss sannsynlighet, å finne begynnelsen av en melding i en kontinuerlig bytestrøm. Det er åpenbart en risiko for at en slik konstant dukker opp i en vilkårlig strøm av byte, og selv om en økning i størrelse reduserer denne risikoen (jeg har sett konstanter av formen 0123456789VASIA9876543210), er det mer hensiktsmessig å bruke sjekker basert på sjekksumberegningen .
    Konstanten blir vanligvis fulgt av protokollversjonsnummeret, som gir oss en ide om formatet som videre lesing skal finne sted i (og om vi i det hele tatt har mulighet til å behandle denne meldingen - hvis vi ikke kjenner en slik versjon ). Den neste viktige delen av overskriften er informasjon om innholdet i selve beholderen. Innholdstypen er angitt (faktisk samme protokollversjonsnummer for datalaget), lengden og kontrollsummen. Med denne informasjonen kan du lese innholdet uten problemer og frykt og begynne å analysere det.
    Men ikke med en gang! Overskriften må inneholde en sjekksum av seg selv (utenom selve sjekksummen fra beregningen, selvfølgelig) - dette er den eneste måten vi kan være sikre på at vi nettopp har vurdert ikke søppel, men en gyldig overskrift, etterfulgt av dataene beregnet for oss . Sjekksummen stemte ikke? Vi må se etter neste start på en ny kurs lenger nedstrøms ...

    La oss si at vi kommer til det punktet hvor vi endelig får en uforvrengt datalagsmelding. Strukturen avhenger av oppgaveområdet til systemet der nettverksutvekslingen din er implementert, men generelt kan en melding også ha sin egen overskrift som inneholder informasjon om meldingstypen. Du kan skille mellom de generelle spesifikasjonene til meldingen (for eksempel "Request Set", "Bekreftende svar på sett", "Negative Response to Set", "Request Get", "Response Get", "Streaming message"), og det spesifikke omfanget av meldingen ... Jeg skal prøve å gi et eksempel fra taket:
    Forespørselstype: Forespørselssett (0x01)
    Meldingsdestinasjonsmodul-ID: PowerSupplyModule (0x0A)
    Meldingsgruppe-ID: UPS Management (0x02)
    Meldingstype ID: Start på nytt (0x01)
    Videre kan meldingsteksten inneholde informasjon om UPS-adressen som strømstyringsmodulen skal starte på nytt, etter hvor mange sekunder den skal gjøres osv.
    For denne meldingen forventer vi å motta en svarmelding med typen forespørsel "Ja" og etterfulgt av 0x0A0201 i overskriften.
    Selvfølgelig kan en slik detaljert beskrivelse av meldingstypen være overflødig når samspillet ikke sørger for et stort antall kommandoer, så meldingsstrukturen må dannes basert på kravene til TOR.
    Det vil også være nyttig hvis meldingen med "Negativt svar" inneholder en feilkode, på grunn av at det ikke var mulig å svare bekreftende på kommandoen.

    Når jeg avslutter historien min, vil jeg legge til at temaet applikasjonsinteraksjon er veldig omfattende og noen ganger holivorn (som faktisk betyr at det ikke er noen "silver bullet"-teknologi i den), og jeg legger merke til at synspunktene jeg presenterer bare er en sammenstilling av erfaring fra arbeid med innenlandske og utenlandske kolleger. Takk for oppmerksomheten!

    oppd.
    Jeg hadde gleden av å kommunisere med kritikeren av artikkelen min, og nå innser jeg at jeg har dekket problemet fra mitt, så å si, "byte-elskende" synspunkt. Selvfølgelig, siden det er et kurs om allsidigheten ved å behandle datalagring og overføring, kan symbolske protokoller (primært snakker om XML) i denne ånden gi odds til andre løsninger. Men angående forsøket på deres utbredte bruk, la meg sitere Wirth:
    Verktøyet må passe til oppgaven. Hvis verktøyet ikke passer til oppgaven, må du finne et nytt som passer det, og ikke prøve å tilpasse det eksisterende.