1 / 28

Varför protokoll?

Varför protokoll?.

Download Presentation

Varför protokoll?

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Varför protokoll? • När datorer ska kommunicera uppstår en rad liknande frågeställningar för att de ska kunna förstå varandra. Eftersom datorer dessutom inte kan tolka sådant som de inte är instruerade att tolka så är det ändå viktigare att de kommunicerande datorerna är överens om hur det ska gå till. • Ett kommunikationsprotokoll bestämmer en samling regler för hur en viss typ av kommunikation ska gå till. • Dessa regler innefattar typiskt sådana saker som: • vilken typ av kontakt som ska användas • vilken typ av kabel • vilka spänningsnivåer • hastigheten på överföringen • synkronisering • vilken ordning saker ska sändas • hur mottagaren ska vara säker på att det inte blivit något fel • vad som ska hända om det blir fel • vad som ska hända om trafiken avbryts • hur informationen ska kodas

  2. Simplex • I de fall kommunikationen endast går i ena riktningen kallas detta för simplex. • Några vanliga exempel på kommunikation som sker med simplex är: • Radio- och TV-utsändningar (även om det idag i och för sig går att ringa/sms:a etc till många radio- och TV-program så räknas det ändå dit). • Fjärrkontroller.

  3. Halv duplex • I de fall kommunikationen går i båda riktningarna, men inte kan göra det samtidigt, kallas detta för halv duplex. • Detta är vanligt för all kommunikation där det fysiska kommunikationsmediet inte fungerar att använda i båda riktningarna samtidigt och där det inte går att ha ett exemplar för varje riktning. Många typer av radiobaserad kommunikation såsom WLAN eller kommunikationsradio är sådan och det är även vanligt för fältbussar. Kabelbaserad Ethernet kan också vara halv duplex även om det numera är ganska ovanligt. • Vid halv duplex är det viktigt att alla inblandade enheter är överens om vilken enhet som får sända när.

  4. Full duplex • I de fall kommunikationen går i båda riktningarna och kan göra det samtidigt kallas detta för full duplex. • Detta kräver att det fysiska kommunikationsmediet antingen går att utnyttja i båda riktningarna samtidigt, eller att man har minst ett exemplar för varje riktning. • För kabel och fiber går det exempelvis att ha en kabel eller fiber för varje riktning, eller så kan man för fiber använda ljus med olika våglängd i de båda riktningarna. Om radiobaserad kommunikation ska vara i full duplex behöver de båda riktningarna använda olika frekvenser.

  5. OSI-modellen • Detta är en samling riktlinjer för hur man skall dela in problemet i mindre delar. Det är inte meningen att följa dessa riktlinjer slaviskt i varje sammanhang utan en rekommendation. • I OSI-modellen delas problemet upp i 7 delar. • Det är inte nödvändigt att använda alla delar i en viss situation, exempelvis använder de flesta fältbussar bara nivå 1, 2 och 7. • En del protokoll använder inte denna modell som mall överhuvudtaget, det går dock oftast att hitta likheter med denna modell i alla fall.

  6. OSI-modellen nivå 1 • Nivå 1 har hand om den fysiska kommunikationen, här beskrivs hårdvaran. • Seriell/parallell, synkron/asynkron etc. • Kontaktdon och stiftplacering. • Kabeltyp och terminering. • Spänningsnivåer. • Överföringshastighet.

  7. OSI-modellen nivå 1 • Det finns ett flertal protokoll som beskriver olika typer av kommunikation på nivå 1. • RS232 (vanlig serieport i datorn) • RS485 (används i många fältbussar) • Ethernet 10base2 (10Mbit, koax RG58) • Ethernet 100T (100Mbit, partvinnad kabel) • Ethernet 1000F (1Gbit, fiber)

  8. OSI-modellen nivå 2 • Denna nivå, länknivån, beskriver hur hårdvaran skall utnyttjas, av vem och när. • Här beskrivs flödeskontroll och accessmetod, vid halv duplex är det denna nivå som håller reda på vem som sänder för närvarande. • CSMA/CD • Token buss • Om det är fler än två enheter kopplade tillsammans behövs det någon form av adressering och då definieras detta på nivå 2. • En mycket viktig nivå i fältbussar.

  9. OSI-modellen nivå 3 • Nivå tre beskriver vad som skall hända om flera nätverk skall kopplas ihop och trafiken kunna flyta mellan dessa nätverk. • Ett välkänt protokoll på denna nivå är IP (Internet Protokoll) och är det som får kommunikationen över internet att fungera. Internet består av många hopkopplade nätverk spridda över hela jorden.

  10. OSI-modellen nivå 4 • Denna nivå definierar transporten från ändpunkt till ändpunkt, genom alla nätverk det skall passera. • Här kan kontrolleras sådana saker som att allt kommer fram, felfritt och i rätt ordning. • Kända protokoll på denna nivå är TCP och UDP.

  11. OSI-modellen nivå 5 • Här hanteras sessioner, dvs. allt som har med att koppla upp, hålla reda på och sedan slutligen koppla ner en förbindelse. • Exempelvis om du kör två webbläsare i din dator öppnas det två sessioner, en för varje läsare. Varje sådan session håller sedan reda på vad som är hämtat och inte och nivå 5 är det som dirigerar rätt paket data till rätt webbläsare.

  12. OSI-modellen nivå 6 • Här formas informationen om ifall detta behövs så att den presenteras på rätt sätt. • Eventuell kryptering och annan översättning sker på denna nivå. • Många protokoll har inget behov av att översätta något och då behövs inte heller denna nivå.

  13. OSI-modellen nivå 7 • Applikationsskiktet slutligen beskriver vilka tjänster som finns att tillgå för programmeraren. • Typiska protokoll på denna nivå är HTTP, FTP, POP3, SMTP. • Denna nivå finns nästan alltid i en eller annan form i alla protokoll.

  14. Checksumma • Precis som en paritetsbit används för att kontrollera att ett enskilt tecken förs över korrekt så används checksumma för att kontrollera en större mängd tecken, ett helt paket. • Checksumman består av ett eller flera tecken som räknas ut av värdet på de tecken som ingår i paketet med någon formel. • Checksumman skickas sedan över till mottagaren som gör samma beräkning och jämför sitt uträknade värde med det skickade. • Om resultatet av uträkningen stämmer överens med det skickade värdet antar man att allt är korrekt överfört. • Det är både möjligt, och i vissa fall smart, att använda både paritet och checksumma samtidigt. • Det finns alltid en viss liten risk att ett fel inte upptäcks.

  15. Checksumma • Det finns många olika formler man kan använda för att beräkna en checksumma. • Enkel summering, när summan överstiger 255 (maxvärdet för ett tecken) så låter man summeringen slå runt och börja om på noll. • XOR – funktion. En beräkning som går till på samma sätt som för paritetsbit, fast åt ”andra hållet”. • CRC (Cyclic Redundance Check), en mer avancerad metod som skapar ganska bra checksummor med liten risk för fel. • Ju fler bitar en checksumma har desto bättre är den oftast på att upptäcka fel, men det har en del med själva formeln att göra också.

  16. Overhead • För att överföra en viss mängd data måste man i regel skicka lite till. • Vi måste berätta vad det är som kommer, någon slags inledning. • Vi måste oftast berätta hur mycket vi tänker skicka, alternativt berätta när vi är klara. • Vi måste normalt kontrollera att det blev rätt. • Vi måste eventuellt hålla reda på ordningen på det som skickas. • Vi måste eventuellt ha med adresser på mottagare och avsändare i meddelandet. • Allt detta gör att det skickas mer än det rena nyttodatat, det som kommer utöver kallas för overhead. • Mängden overhead i ett protokoll måste tas med i beräkningarna när man avgör hur snabbt det är på att skicka information.

  17. Ethernet • Äldre tiders nätverk baserades på att koppla alla datorer i nätverket till en lång koaxialkabel. Då kunde alla datorer skicka till varandra. • För att en dator skulle veta att ett meddelande var till just den datorn så förses alla nätverkskort med var sin adress kallad MAC-adress (Medium Access Control). • Denna adress är 6 byte (48 bitar) lång och det skall bara finnas ett nätverkskort i världen med en viss MAC-adress. • MAC-adressen programmeras in i nätverkskortet vid tillverkningen. • Adressen FF-FF-FF-FF-FF-FF används för broadcast, dvs. alla datorer i nätverket skall ta emot meddelandet.

  18. IP • IP (Internet Protocol) är speciellt framtaget med tanke på att kunna ta sig mellan många hopkopplade nätverk via ett antal routrar. • Grundtanken är att varje router skall kunna räkna ut nästa steg längs vägen och skicka ett paket vidare, men måste inte ha en helhetskontroll på var den slutliga destinationen finns. • Det skall även hantera om en förbindelse slutar fungera och då kunna ta en annan väg i stället. • IPv4, den just nu rådande standarden har adresser som är 4 byte (32 bitar) långa, detta räcker till max ca 4300000000 datorer, i praktiken färre eftersom det inte går att utnyttja alla dessa fullt ut och routrarna måste ha en adress för varje när de sitter i. • Den kommande standarden IPv6 har adresser som är 128 bitar långa och det lär då räcka ett bra tag framöver.

  19. IP-Adresser • IPv4 adresser skrivs normalt som fyra tal mellan 0 och 255 åtskilda med punkter, exempel: 192.168.0.17 • Varje IP-adress är delad i två delar, en nätadress (network adress) och en värdadress (host adress). • Alla enheter i samma nät skall ha samma värde på den del som utgör nätadressen och olika värde på den del som utgör värdadressen. • Det som avgör vad som tillhör nät- och vad som tillhör värd-delen av adressen är nätmasken. • Nätmasken är lika lång som adressen, men börjar med ett antal ettor och övergår sedan i ett antal nollor (endast en övergång). Den del som är ettor i nätmasken är nätdelen av adressen, den del som är nollor i nätmasken är värddelen av adressen. • Exempel på en nätmask är 255.255.255.0.

  20. TCP • På nivån över IP finns ett antal andra protokoll, ett av dessa är TCP. • Detta protokoll tar ett övergripande ansvar för att allt kommer fram rätt och i rätt ordning. • TCP kan hantera omsändningar om ett paket kom fram fel eller inte alls. Paketen numreras för att hålla reda på om de kommer fram dubbelt eller i fel ordning. • Numreringen är också en hjälp vid omsändningar eftersom många paket kan vara på väg samtidigt.

  21. UDP • UDP (User Datagram Protocol) är ett protokoll på OSI modellens nivå 4 precis som TCP. Protokollet är till för applikationer som behöver kommunicera över internet men där funktionerna i TCP att upprätta en förbindelse och hantering av felaktig eller utebliven överföring inte behövs. • UDP skickar i princip bara vidare paketen till/från IP, med det tillägget att det har portar på samma sätt som TCP och att det finns en enkel kontrollsumma för felhantering. • Fördelen med UDP är att det är betydligt snabbare än TCP och det används därför ofta till applikationer där tiden är en viktigare parameter än att exakt allt måste överföras korrekt.

  22. HTTP • HTTP (HyperText Transfer Protocol) är ett protokoll i huvudsak på OSI-modellens nivå 7. Protokollet utvecklades ursprungligen för att hämta webbsidor från en server (därav början på namnet, HTML=HyperText Markup Language, dvs det var filer av denna typ som skulle hämtas). • Protokollet bygger på att klienten (vanligtvis en webbläsare) skickar en begäran till servern som sedan denna svarar på. Efter att begäran är besvarad stängs förbindelsen. • Centralt i varje begäran är ett verb, de två vanligaste verben är GET och POST, men det finns ytterligare några definierade. • HTTP använder normalt TCP port 80 på serversidan.

  23. HTTPS • HTTPS (HyperText Transfer Protocol Secure) är en krypterad variant av HTTP. • HTTPS är egentligen inte ett eget protokoll utan det är HTTP som i stället för att ansluta direkt till TCP ansluter till något av protokollen SSL (Secure Socket Layer) eller TLS (Transport Layer Security). Båda dessa är protokoll som arbetar på OSI-modellens nivå 6 och som sedan i sin tur ansluter till TCP. • På serversidan använder oftast HTTPS TCP port 443. • För sidor som använder HTTPS är trafiken skyddad genom kryptering, det går därför inte att se innehållet som skickas med avlyssning, däremot går det att se att en användare på en viss dator kontaktat en viss server.

  24. FTP • FTP (File Transfer Protocol) är ett protokoll på OSI-modellens nivå 6 och 7 vars syfte är att föra över filer mellan två datorer. • Protokollet är utformat så att stor vikt har lagts på att översätta filer mellan olika sätt att lagra dessa, framför allt för filer innehållande text, något som i dagsläget är av mindre betydelse än det var när protokollet skapades. • För att ansluta till en server måste man logga in med användarnamn och lösenord, de flesta servrar accepterar dock anonym inloggning där användarnamnet är ”anonymous” och som lösenord är det vanligt att skicka sin epostadress (det görs normalt dock ingen kontroll att det verkligen är en epostadress • Protokollet är lite speciellt genom att det för varje session öppnas två TCP förbindelser, en för att skicka kommandon om vad som ska göras och en för att skicka själva filinnehållet. Normalt används TCP port 21 för kontroll och TCP port 20 för data och det "normala" för FTP är att datakanalen öppnas från servern. Detta ställer till det när kommunikationen ska ta sig igenom brandväggar, och framför allt när NAT används. • Ett sätt att hantera problemet är att öppna även datakanalen från klienten, detta kallas för passivt läge och är något man kan välja på de flesta FTP-klienter för att lättare ta sig igenom brandväggar. som används).

  25. Industriell IT • Förr var alla datorer, både på kontoret och i industrin, fristående dvs inte anslutna till något nätverk. • Idag hör det till ovanligheterna om man hittar en dator som inte är ansluten i ett nätverk. • Via nätverket har man möjlighet att utbyta information med alla andra som är anslutna till samma nätverk och har man en router kan man kommunicera med andra nätverk genom denna enhet. • Oftast delar man data med hjälp av någon server (filserver, e-post server, web-server etc).

  26. Kommunikation i fabriken • I en fabrik har man många enheter som ska kommunicera med varandra och det är oftast så att man blandar olika tekniker beroende på vad det är för något som man ska skicka alternativt vilken typ av enheter som ska kommunicera med varandra. • Kontoret skickar vad som ska produceras och vill ha information tillbaka om hur det går för maskinerna på fabriksgolvet. • Styrsystemen pratar med sina moduler och enheter som sitter ute i fält. • De här båda exemplen har olika angelägenheter som är viktiga för just deras typ av kommunikation.

  27. Fältbussar fördelar • Huvudanledningen till att man började utveckla fältbussar var att man ville spara kabel. • I en konventionell anläggning så har varje signal en egen kabel och när man på en modern maskin talar om tusentals signaler som ska hämtas in eller skickas. Förstår man att det är intressant om man kunde skicka alla signaler på samma tråd. • Har man mindre mängd kabel i en installation, leder det till flera fördelar. • Det går fortare att bygga anläggningen. • Det blir mindre dokumentation att rita/framställa. • Mindre felkällor, eftersom det blir mindre plintar och kablar som kan gå sönder.

  28. Fältbussar - diagnostik • Eftersom det är en digital kommunikation vi pratar om så kan varje enhet skicka ytterligare information som kan underlätta skötsel och felsökning av anläggningen. • En ventil kan rapportera in att den börjar få glapp och att det är dags för service. En I/O enhet kan rapportera att den har fått kortslutning på en ingång eller utgång. • Den här typen av information kallas diagnostik. När utvecklingen går framåt blir det mer information som enheterna klarar av att skicka.

More Related