TCP/IP nettverk beskrivelse og konfigurasjon

Den engelske overskriften er fordi jeg er dårlig til å finne et egnet godt uttrykk på norsk. Noe er basert på Linux men jeg har forsøkt å unngå en del spesifikke kall som bare gjøres i Linux. I den grad dette likevel er gjort vil jeg oppdatere med informasjon for de som benytter Microsoft så snart jeg har satt meg inn i hvilke kommandoer jeg kan benytte for å erstatte Linux kallene. Siden vil dessuten bli utvidet med en del mer informasjon etterhvert sammen med de andre «how to» sidene som omhandler kommunikasjon. Siden er ment som litt hjelp for de som ønsker å konfigurere wifi og kablet nettverk og har behov for hjelp for alle fremmedord beskrivelsene.

Tidligere har jeg skrevet litt om kablet ethernet (også “Physical layer” i denne sammenhengen) og optisk nettverk og litt om trådløst nettverk/Wifi. Denne artikkelen kan i realiteten benyttes som tillegg til alle da den beskriver litt om Mac adresser, IP adresser,lag, protokoller og porter som benyttes for å sende data frem og tilbake mellom maskiner, switcher, routere, etc.

Mac adressen er en hardware adresse som er programmert inn i ditt nettverkskort (NIC eller Network Interface Card). Det er en unik adresse som produsenten har lagt inn. Alle produsenter får tildelt en serie med millioner ? med Mac adresser (12-bit adresse) og deler disse ut til de enkelte nettverkskort. Disse blir senere konvertert til IP addresser, enten dynamiske (DHCP) eller statiske når nettverkene blir store og kopples ut til internett. For å finne egen IP adresse under Linux kan en benytte “tcpdump” som er en software pakke for nettverksanalyse. Du kan også finne IP adressene til alle enhetene (dvs PC’er, routere, trådløse enheter som tablet og mobil telefoner, etc.

IP adresser

Når nettverkene blir store (f.eks. internett) blir nettverkene delt opp i undergrupper. Egentlig er det først ved dette nivået en begynner å benytte IP adresser. Men idag er “alt” koblet til internett inkludert telefoner, innbruddsalarmer, kjøleskap, etc, og derfor refereres det også nesten alltid til IP adresser (Internet Protokoll) istedenfor Mac adresser. I mindre nettverk (med opptil 65000 enheter) kan det imidlertid fortsatt benyttes MAC adresser. Det finnes idag 2 typer IP adresser som skiller antall mulige enheter totalt på internett. Dette fordi det har blitt flere enheter som er koblet til internett enn det systemet som opprinnelig var designet for. Jeg kommer tilbake til dette litt senere.

Ipv4 og IPv6 er den “gamle” og den nye måten å adressere enheter på internett (IP adresser). Antall enheter har økt vesentlig mer enn de antok for 40-50 år siden da systemet ble laget og det oppstod etterhvert mangel på antall IP adresser som kunne benyttes. At det ble innført dynamiske IP adresser DHCP var til noe hjelp, men ikke nok. Derfor måtte det lages et nytt system (Ipv6) som kan adressere flere enheter. Pr. Idag fungerer begge adresseringssystemene parallelt sammen med hverandre.

Handshake og forsendelser av “pakker” og lag

Som nevnt i andre artikler benytter ethernet/wifi nettverk handshake om det benyttes TCP overføring for å bekrefte at riktig melding har kommet frem eller om den må sendes på nytt (dette gjelder ikke UDP protokollen). Heldigvis deles informasjonen opp i “pakker” og om noe går galt og “pakken” ikke kommer riktig frem kan en få oversendt denne “pakken” på nytt uten å måtte oversende en hel fil eller andre store datamengder som tilhører den feilsendte informasjonen. Pakkene inneholder nemlig informasjon om hvilke overføring de tilhører og sendes som 7 forskjellige lag. Og alle lagene er spesifisert i OSI (Open Systems Interconnection model). Jeg kommer tilbake til innholdet i de forskjellige lagene senere men physical layer er beskrevet på siden som omhandler ethernet kabling (ref link ovenfor).

Hub'er, switcher og routere

Som nevnt må noen pakker sendes på nytt fordi de ikke kommer frem slik de var sendt. Årsaken til at det må sendes på nytt kan være støy på kabel eller trådløst nett, eller noe så enkelt som kollisjoner mellom pakkene (spesielt om det benyttes en “hub” for å sammenkople flere enheter i et nettverk istedenfor switch). Desto flere enheter som er kopplet opp på samme nettverk desto saktere går det. Med en “switch” vil ikke disse problemene oppstå i samme grad. Dette fordi en switch er “intelligent” og bygger sin egen database som forteller hvilken inn-/utgang som skal benyttes mot de aktuelle Mac/IP adressene og på den måten begrense antall kollisjoner, etc. Men fortsatt kan det gå sakte hvis det er for mange Mac adresser som switchen skal holde styr på. Benyttes det derimot en HUB vil samme adresse bli sendt til alle enhetene i det aktuelle lokale nettverket og det vil bli mye mer kaos og derfor også et tregere nett.

Managed switch

Gradvis har det blitt bygd inn mer intelligens i switchene. Disse er derfor delt inn i 2 grupper, “managed” og unmanaged”. I enkelte tilfeller er det en glidende overgang mellom disse to gruppene ettersom noen produseter støtter enkelte protokoller på “unmanaged” produkter, mens andre produsenter krever at kundene kjøper de litt dyrere “managed” løsningene. Noen produsenter har grafiske grensesnitt for å sette opp enheten, mens andre benytter komando linjer tilsvarende.

Det er viktig å vite hvilke funksjoner en ser etter og hvilke som en ikke har behov for. Prisforskjellene mellom de forskjellige løsningene behøver ikke være store, men om en klarer seg med en enklere løsning som støtter nødvendige protokoller kan det være et alternativ å velge den.

Protokoller

Ethernet er egentlig ingen protokoll men et begrep der mange forskjellige protokoller er samlet under det som kalles TCP/IP som benyttes for kommunikasjon over internett.

Nedenfor har jeg forsøkt å sette opp en liste over forskjellige protokoller og hva de kan gjøre for en. Nye funksjoner kommer stadig til.

Den mest kjente protokollen er kanskje SNMP (Simple Network Management Protocol).

Denne protokollen kan utveksle informasjon mellom enheter som støtter denne løsningen og gjør det dermed enklere å overvåke enheter i nettet og se hvilke som ikke fungerer tilfredsstillende, etc. Noen produsenter selger avanserte softwarepakker med grafisk grensesnitt for dette, men det er også mulig å finne rimelige, og også gratis software pakker på nettet, som gjør omtrent det samme.

QoS står for Quality of Service og jeg husker denne best som en protokoll der det var mulig å prioritere enkelte overføringer som f.eks. tale om det blir benyttet IP telefoni.

VLAN (må ikke forveksles med WLAN) gir mulighet for å definere virtuelle LAN selv om informasjonen er koplet gjennom samme switch/router. F.eks kan Administrasjonens nettverk skilles virituelt fra f.eks. datavdelingen sitt nettverk (eller om det benyttes hjemmekontor kan en skille nettverket som benyttes til jobb med det nettverket resten av familien benytter hjemme).

STP (Spanning Tree Protocol) muliggjør redundante løsninger og analyse av data mens enheten er oppe og går uten å måtte kople ned utsyret og dermed kanskje mange ansatte uten tilgang til netverket.

Det finnes avarter av denne som f.eks RSTP (Rapid Spanning Tree Protocol) samt MSTP, CST, MST, PVST, MISTP, MSTI, etc, etc som er laget av forskjellige produsenter for å utbedre det som noen vil definere som svakheter i STP.

SSH er et sikkerhetsløsning (Secure Shell) som muliggjør kryptering av data mellom 2 enheter. Som oftest benyttes kommando linjer i en terminal emulator for å konfigurere denne løsningen da protokollen opprinnelig er basert på Unix, men en del programvare gir også aksess til konfigurering vha et grafisk grensesnitt.

SSL er også en sikkerhetsløsning men denne benyttes når en linker seg opp mot eksterne web sider. De første sekundene en linker seg opp utveksler web siden og nettleseren litt informasjon. Dette skaper høy sikkerhet men kan i noen tilfeller senke hastigheten noe.

SLIP er en protokoll som muliggjør transport av IP pakker over serie kommunikasjon. Også denne standarden har andre versjoner som f.eks. CSLIP

Gradvis har andre protokoller som f.eks. PPP (Point to Point Protocol) overtatt for SLIP fordi den støtter AppleTalk, IPX, TCP/IP, og NetBEUI sammen med TCP/IP. Det er også mulig med autentisering ihht PAP og CHAP.

ARP (Address Resolution Protocol) er viktig da denne protokollen muliggjør pakking av IP data til Ethernet pakker. Dette er en løsning for å finne hardware adresser fra spesifike IP addresser. Uten dette er det ikke mulig å generere en ethernet pakke fra en IP pakke ettersom en ikke kan finne IP addressen. RARP (Reverse Address Resolution Protocol) er en tilsvarende løsning der en computer finner IP adressen basert på ethernet adressen.

UDP er en annen protokoll som bennyttes av programvare som lager sin egen sikkerhetsløsning for overføring av data. Den benyttes som en “broadcast” protokoll uten “handshake”, f.eks. til IP telefoni der den ikke kan vente på svar før neste pakke sendes eller for Video over IP. UDP benyttes også av SNMP protokoll som bl.a. benyttes til å overvåke komponenter i et TCP/IP nettverk. Slik overvåking kan f.eks være overvåking av switcher/routere, servere, etc og kan overvåke detaljer mht hvor full harddisken er, om vifte har stoppet, om en port på serveren ikke fungerer, etc, etc.

I tillegg finnes det en mengde andre protokoller, noen av dem knyttet til applikasjon.
To typiske protokoller som er knyttet til mail er POP3 og IMAP4 (den siste er på vei til å overta for POP3).

LAG

En enkel beskrivelse av de 7 forskjellige lagene kan beskrives ihht oversikten nedenfor. At det er 7 lag er kun i OSI modellen. Det fines også “TCP/IP” modell, “Internet modell”, “Arpanet modell”, etc samt flere andre. Disse operer med 3, 4 eller 5 lag istedenfor 7. Det kan imidlertid sies mye mer om hvert enkelt lag for de som vil sette seg inn i detaljene.

  1. Physical Layer – Hardware tilsvarende det som er beskrevet i artikkelen om ethernet kabling.
  2. Data Link Layer – Overføringsstandard ihht (802.x ethernet) vil mange si er en del av “Physical Layer ettersom disse arbeider tett sammen. Data legges i 2 “rammer”/”bokser” for å sikre feilfri overføring. Dette laget kontrollerer “klokking” (timing) av overføringen. Legger til info som “ramme”/”boks” type, adresse, forskjellige kontroll bit for overføringen. Ihht IEEE standard er dette laget nå delt inn i 2 separate lag kalt “Logic Link Control” (LLC) og Media Access control (MAC). Denne MAC definisjonen må ikke forveksles med MAC som definisjon av hardware adresser på NIC (Netwotk Interface Card).
  3. Network Layer – Dette er IP nettverk protokollen som forsøker å finne enkleste og beste vei fra sender til mottager.
  4. Transport Layer – TCP, UDP. Sikrer feilfri overføring av pakkene i den grad dette er mulig.
  5. Session Layer – Bruker interface mot nettverket. Avklarer om en prosess er påbegynt eller åpnet, hvor lenge den har vært åpen og om den er avsluttet. Kontrollerer også overføring når denne foregår. Dette laget støtter også sikkerhetprotokoller og tabeller på navn som er nødvendig for enhetene å nå frem til hverandre med datapakkene.
  6. Presentation Layer – Gjør data lesbare for lagene rundt ved å benytte ASCII , EBCDIC, BCD, binær syntax inkludert kompresjon om dette benyttes.
  7. Application Layer – Tilbyr service funksjoner som programvaren krever og som gjør at programmene kan utveksle data over internett.

Pakker

Pakkene kan overvåkes ved f.eks. å benytte “Wireshark”. Denne pakken gir informasjon om bl.a. ditt nettverk og hvilke enheter som er aktive i nettverket. Med slike verktøy får en frem informasjon der hver linje beskriver hver enkelt pakke som er overført samtidig som det er mulig å se hvor informasjonen er sendt fra. Bildet under viser et typisk skjermbilde av dette der jeg valgte å besøke hjemmesiden til Oslo kommune.

Informasjonen kan undersøkes ytterligere. Slike verktøy er nyttige om en f.eks. ikke får kontakt med andre maskiner/servere, om brannmur blokkerer, etc.Wireshark er tilgjengelig for de fleste operativsystem som f.eks Linux Ubuntu, Linux Debian, Microsoft 32-bit og 64-bit, OS X, etc, etc.

Microsofts NetMon gjør også mye av det samme.

Hva inneholder så disse pakkene ?

Naturligvis inneholder de en masse data. Men mye informasjon relaterer seg også til IP adresser, etc

4 bits som forteller om det er en Ipv4 eller Ipv6 pakke.

De neste 4 bit’ene forteller hvor stor andel av informasjonen som er header info.

De 8 neste bit’ene forteller noe om hvilken prioritet pakkeinformasjonen har (QoS)

Deretter følger 16 bit som forteller hvor lang pakken er.

De neste 16 bit’ene er er slags sikkerhetsinformasjon som skal hjelpe til med å rekonstruere informasjonen om pakken ikke blir overført slik den ble sendt.

Så følger 3 bit som forteller om pakken kan fragmenteres eller ikke.

Deretter følger 13 bit som beskriver hvor offeset er mht fragmentering av informasjon i pakken.

Videre følger 8 bit som skal fortelle hvor mange routere pakken skal ha lov til å passere F.eks. vil 24 fortelle at pakken kan passere 24 routere før den evt skal “selvdestrueres” (TTL – Time to Live).

De neste 8 bit’ene forteller hvilke protokoll som benyttes (TCP, UDP, ICMP, etc.)

Neste 16 bit inneholder checksum for å detektere om pakken har kommet frem slik den ble sendt.

Deretter følger 32 bit som forteller hvem som er avsender av pakken.

Og nesten til slutt følger 32 nye bit som forteller hvem som skal være mottager av pakken.

Etter dette følger en variabel størrelse mellom 46 og 1500 byte som er data som overføres.

Porter

Som beskrevet ovenfor benytter pakkene som overføres TCP eller UDP protokoller (eller andre, men disse er mest brukt). Pakkene inneholder også en IP adresse for avsender og mottager. Men i tillegg er det behov for en port addresse. Når vi snakker om porter her tenker vi ikke på fysiske porter som Ethernet (RJ45) eller RS232 (9-pins Dsub), men på virtuelle porter eller “software porter” som noen velger å kalle det.

En slik port kan ha adresser mellom 0 og 65535.

For eksempel benytter http/https (web applikasjoner) port 80 (kan også kreve 8080), SMTP (Email) port 25, SNMP (netverks styring) port 161 og SSH/Telnet (for bl.a. ekstern innlogging) port 22/23, osv. Noen ganger kan det være nødvendig å åpne flere porter for samme funksjon, f.eks. om det skal vises video fra flere enheter på samme enhet, dvs en port for hvert kamera. Microsoft MSN Gaming Zone krever f.eks. porter fra 28.800 til 29.100 som åpne både for TCP og UDP, mens andre spill gjerne krever porter mellom 6.100 og 49.152 som åpne.

Mange porter (ca 250 ?) er forhåndsdefinert. En kan søke på nettet for å finne disse standard portene. Generelt sett er port nummer fra 49152 til 65535 for privat bruk. Port nummer fra 0 til 49152 er”leid”/forhåndsdefinert og lister ligger hos IANA (Internet Assigned Number Authority).

De sist nevnte portene gjør at portene normalt sett er lukket på routere som en funksjon av brannmuren som er i routeren.

Ulovlig inntrengning i datasystemer benytter imidlertid “port scanning” idag for å sjekke om det er åpne porter de kan benytte for å trenge inn i datasystemene. Av samme årsak er det en fordel å begrense nye åpne porter til interne datasystemer som ikke kan aksesseres utenfra (dvs. utenforstående som ikke skal ha tilgang til nettet)

 

Copyright © 2020
Jørn Jensen

Gjengitt med tillatelse.

Om ønsker informasjon som ikke finnes på våre sider, ber vi deg kontakte oss med f.eks. en mail til vår support avdeling. Vi vil da forsøke å få opp mer informasjon så raskt som mulig.

Skroll til toppen