TCP/IP netværk Henrik Størner SSLUG.

Slides:



Advertisements
Lignende præsentationer
Automatiseret GUI-test Lars Kjølholm Testnet maj 2009.
Advertisements

Kombinatorik, sandsynlighed og statistik
Den danske befolknings syn på handicappedes rettigheder
Atomer Et programmeret forløb. En måde at lære på.
Telos Team Introduktion.
Trehøje-Pigerne Side 1 Vejledning til brug af hjemmesiden Det er slet ikke så vanskeligt – så brug hjemmesiden flittigt… Det er.
Forsiden 1.Denne knap bruges når du vil taste dagens resultater ind. 2.Denne knap skal kun bruges hvis du allerede har gemt data og du finder ud af at.
Access Point Y + router/gateway
TEST 2 modul 1 20 spørgsmål. Du skal klikke med musen på det rigtige svar, så kommer du automatisk til næste spørgsmål Klik for start.
Grundlæggende IT Lektion 4 Sådan virker pc’en
1 Alder år 55 % år 24 % år 17 % Hvor længe på VUC? 1 år 93%
MMSSTV Indstillinger FSK ID og andre indstillinger Af DG1OBY
Informationer om trådløs netværk På trådløs netværk bruges CSMA/CA sammen med ”Request to Send (RTS)” og “Clear to Send (CTS)” for at undgå kollisioner.
Vejledning i blog-værktøjet WordPress Opdateret august 2009.
– Sådan virker det! Dit elektroniske postsystem Ved Arne Crown Rasmussen
Firewalls & netsikkerhed Henrik Størner,
Beskyt din computer og dine data!
Formularer (Access, del 3)
Aalborg Universitet Esbjerg
Hvordan bruger jeg First Class konferencerne ?
TEST 3 modul 1 20 spørgsmål. Du skal klikke med musen på det rigtige svar, så kommer du automatisk til næste spørgsmål Klik for start.
Pc-kørekort Sådan virker pc’en Keld Hinsch.
Fil kendskab KLIK for start. De vigtigste filer er dem i Office-pakken. Word dokument.doc Word skabelon.dot Word dokument.RTF Excel projektmappe.xls Excel.
Computer netværk og TCP/IP protokoller Kort resume – uge 6
Velkommen til kurset ”IP Grundkursus”
IT og økonomi Lektion: N: Netværk.
Sådan skaber vi et kampagnekorps Baggrund Foreningen skal bruge flere frivillige til centrale og lokale events For fortsat at sikre midler til foreningens.
DS-kursusgang nr. 5: Sockets Intro Java-klasser til at arbejde med sockets. Forskellen på sockets i C og i Java. TCP/IP protokol familjen. Afslutning:
Konceptet. KirPACS Maj 2012 Konceptet.
Grundforløbsprojekt Strøm, Styring & IT.
Introduktion til Access (Access, del 1)
Webserveren kan afvikle flere applikationer, der hver har deres eget selvstændige ”liv” og hukommelse. Den enkelte applikation består typisk af flere elementer.
1 SH Holtec Beverage Service A/S December 2007 Tæller for 6 uafhængige Øl-linier For-programmeret for Liter & Deciliter tælling Brug af alle typer 12V.
QoS Introduktion til Quality of Service. IP standard service IP er designet til best-effort services –Best-effort: Transport af data efter bedste-evne.
18 – Java Server Faces. 2 NOEA2009Java-kursus – JSF 2 Web-applikationer - 1 Brugere interagerer med en Web-browser Browseren sender forespørgsler til.
Begreber og Redskaber 2 BRP.
Virus scan af Unix mail Historie Scannere til Unix Lidt om SMTP DKUUG’s setup –virus scan –spam scan –adresse check.
1 Webdesign - De første trin Grundliggende begreber Internettet (1969-): En fællesbetegnelse for netværk eller tjenester der benytter samme.
Netværk og interprocess- kommunikation. Disposition Softwarelag Protokollag ◦UDP ◦TCP.
DComNet1 Computer netværk og TCP/IP protokoller. dComNet2 Maskinarkitektur.. fokus på intern organisation af en enkelt computer:
1 Sortering I elementære metoder. 2 Plan Terminologi Elementære metoder til sortering -sortering ved udvælgelse -sortering ved indsættelse -Shellsort.
Videregående pc-vejledning Modul 06: Netværk WWW = World Wide Web 60+Bornholm.
Claus Brabrand, ITU, Denmark Mar 10, 2009EFFECTIVE JAVA Effective Java Presentation Workshop Claus Brabrand [ ] ( “FÅP”: First-year Project.
Videregående pc-vejledning Modul 07: Elektronisk post 60+Bornholm.
Videregående pc-vejledning 60+Bornholm Velkommen til.
Rapporter (Access, del 5). RHS – Informationsteknologi – Udgangspunkt Vi har oprettet en database Vi har defineret en eller flere tabeller, og.
1 USB Gennemgang af installering af USB driver til ICT. Er fortaget på Windows XP.
Grunde til at jeg elsker dig
IT Arkitektur og Sikkerhed
Per P Madsen AAU1 Datanet 2. DDel 2: Netværkslaget, Transportlaget og Socket-API’en. Protokoller Routing Quality of service IPv4 og IPv6 Protokoller. UDP.
Webserveren kan afvikle flere applikationer, der hver har deres eget selvstændige ”liv” og hukommelse. Den enkelte applikation består typisk af flere elementer.
Introduktion til Access (Access, del 1). RHS – Informationsteknologi – Fra design til udvikling Vi ved nu, hvordan vi finder et design for en database,
1 Fundamentale datastrukturer. 2 Definitioner: abstrakt datatype, datastruktur Elementære datastrukturer og abstrakte datatyper : arrays, stakke, køer,
Per P Madsen AAU1 Del 2 : Netværkslaget - Protokoller - Routing - Quality of service - IPv4 og IPv6.
DComNet1 Computer netværk og TCP/IP protokoller. dComNet2 Maskinarkitektur.. fokus på intern organisation af en enkelt computer:
Faget Datakommunikation Navn:_________________________ Velkommen til Claes Larsen, CCAI.
Netværk og interprocess- kommunikation - Et eksamensoplæg!
Fremstilling af Simple WEB steder [ITPL] Foråret 2004
Netværk og datakommunikation.
Webserveren kan afvikle flere applikationer, der hver har deres eget selvstændige ”liv” og hukommelse. Den enkelte applikation består typisk af flere elementer.
Datanet 2. DDel 2: Netværkslaget, Transportlaget og Socket-API’en.
Per P Madsen AAU1 Del 4 : Sessions-, presentations- og applikationslaget - Applikationsprotokoller. - RPC og RMI. - Digital audio og Voice over IP. - RTP.
 Kommunikation mellem computere  NAT – Network Adress Translation  IP Routing af pakker  Transport af beskeder ◦ TCP ◦ UDP.
Datalink laget Datalink Datalink Fysisk lag Fysisk lag Fysisk net
NAT Implementation. Setup Grafik fra teori-afsnit, med ip’er og andet info på.
Forbedringer af implementationen. Få TCP til at virke Blokere pakke med RST bit sat Blokere indkommende pakker inden de når Windows protokolstakken Begge.
Netteknik 1 (AMU 44947) Netteknik 1
Access Control List CCNA 2 v3.1 Modul 11 Claes Larsen, CCAI.
Tre lags arkitektur.
Modul 07, Elektronisk post
Præsentationens transcript:

TCP/IP netværk Henrik Størner SSLUG

TCP og IP og ... ”TCP/IP” er en kombinations-protokol Lagdelt protokol – TCP og IP Andre: ICMP, UDP, GRE, ESP m.fl. Relaterede: ARP, PPP

Lag i netværket – OSI model Fysisk lag: 10/100BaseT, telefon, fiber ... Datalink: Ethernet, PPP, ATM ... Netværks-lag: IPv4 eller IPv6 Transport/Sessionslag: TCP, UDP

IP er grundlaget IP = ”Internet Protocol” Bære-protokol for de øvrige protokoller på Internet – man sender ikke ”rå IP” Nuværende versioner: 4 og 6 Tidligere versioner fandtes, men er ikke længere i brug

Adressering IP-adresse – 32 bit tal (4 bytes) Skal være unik på et netværk ! Som regel er een IP-adresse knyttet til eet system (computer) Skrives ofte i ”dotted-quad”:130.228.2.150 Alternativt: 2195980950

Nogle adresser er specielle 127.*.*.* : Lokale system, localhost 255.255.255.255 : Broadcast 224.*.*.*: Multicast adresse ”Interne” IP adresser - 192.168.*.* - 172.16-31.*.* - 10.*.*.*

IP netværk En IP adresse hører til et IP netværk Netmasken afgør størrelsen af nettet Netmasken måles i bits: Det er det antal bit i IP adressen, som er fælles for alle systemer på netværket. Typisk 24, 16 eller 8 bit – men kan være alt fra 1-32

Netværks- og broadcast adresse Netværks-adressen er den ”mindste” adresse på IP-netværket Broadcast-adressen er den ”største” Beregnes ud fra en IP-adresse og netmasken

Eksempel: 130.228.2.150/24 IP-adressen 130.228.2.150, 24 bit netmaske Netværks-adressen er da 10000010 11100100 00000010 10010110 AND 11111111 11111111 11111111 00000000 10000010 11100100 00000010 00000000 (130.228.2.0) Broadcast-adressen er da 10000010 11100100 00000010 00000000 OR 00000000 00000000 00000000 11111111 10000010 11100100 00000010 11111111 (130.228.2.255)

Netmasken kan være ”skæv” Eksempel: Det reserverede netværk med 12-bit netmaske 172.17.10.1/12 Netværks-adresse er 172.16.12.0 Broadcast bliver 172.31.255.255 !

IP-adresser i Linux Tildeles med ”ifconfig” eller ”ip” programmet Netværks-IP og broadcast kan udregnes med ”ipcalc” Et netkort kan have flere adresser - aliaser

Routing Foregår på IP-laget Betyder blot at en maskine videresender pakker, som ikke er adresseret til den selv Afhænger kun af destinations-IP Routere kan være dedikerede systemer eller almindelige Linux/Unix systemer, med mere end een IP adresse.

Simpel routing Maskinen har een IP adresse, og eet netkort Al ikke-lokal trafik routes til ”default gateway” Hvad er lokalt? Afhænger af IP-netværket! Lokal trafik sendes direkte til modtageren via Ethernet (ARP) Alt andet sendes til default gateway

Routing med 2+ netværk Router fungerer ligesom det simple tilfælde Blot checkes flere IP-netværk Hvis pakken er adresseret til et af de lokale IP-netværk sendes den direkte Ellers sendes den videre til routerens default gateway Der kan være defineret lokale gateways for ikke-lokale netværk

Hvad sker der ved routing? Indholdet af pakken røres ikke ... Undtagen lige time-to-live feltet Ikke noget spor af, hvordan pakken er kommet frem Ingress filtering: Check af ankomne pakker Egress filtering: Check af udgående pakker

Routing i Linux Route-kommandoen definerer ”default gateway” og andre ruter Hvis 2 netkort bliver der ikke automatisk sendt trafik mellem dem Styres af ip_forward sysctl flaget, /proc/sys/net/ipv4/ip_forward Foregår automatisk når flaget er sat

IP protokollen Datagram baseret Ingen garanti for at pakker når frem Ingen garanti for rækkefølgen Pakker kan blive dubleret undervejs Ingen kontrol af integriteten Med andre ord: En helt upålidelig protokol

IP pakken Header (40 bytes) og data (op til 64 KB) Version (4 eller 6) Header længde (kun ”Options” feltet) Type of Service Total længde af pakken Datagram nummer DF / MF flag (Dont fragment / More fragments) Fragment offset (0-8191) Time-to-live Protokol (TCP, UDP ...) Source og Destination IP

Hvad indeholder felterne Protokol: Tal som angiver typen af data Type-of-Service: Påvirker routing Total længde: Op til 64 KB, større end noget fysisk lag kan håndtere Time-to-Live: Antal systemer pakken må passere igennem. Source/Destination: Kun IP-adressen!

Hvad bruges IP til ? I sig selv: Ingenting Blot et ”transport-medie” for andre protokoller, som gemmer sig nede i ”data” området Kan flytte noget data fra een IP-adresse til en anden

TCP protokollen Overbygning til IP Anvendes til kommunikation, når pålidelig data-overførsel er ønskelig F.eks: Web, Mail, ftp, news, Windows filesharing Relativt stort ”overhead” når kommunikationen starter

TCP er anderledes end IP Kommunikation mellem services, ikke systemer Bruger port-numre til at identificere brugere/services, oveni IP-adressen Garanterer at data kommer frem i rigtig rækkefølge og er komplet

TCP pakken Sendes som data i en IP-pakke IP pakken har Protokol = 6 Har sin egen header, som kommer efter IP-headeren

TCP headeren Source- og Destination portnummer Eget sekvensnummer samt ”acknowledge” sekvensnummer Header-længde Flag Vinduesstørrelse Checksum ”Urgent” data pointer Options

TCP portnumre Standard services bruger vel-definerede portnumre på server-siden (SMTP=25, HTTP=80, FTP=21 osv) Klienten bruger også et portnummer i sin ende – tildeles dynamisk Source-IP og port samt destination-IP og port identificerer een forbindelse

Sekvensnumre Holder rede på rækkefølgen af pakker, og at pakker ikke går tabt 32-bit tal som tælles een op for hver pakke, der sendes

TCP siger ”Pænt goddag” Sekvens-numrene skal initialiseres når forbindelsen etableres Sker med et ”three-way handshake” A: SYN=1, ACK=0, SEQ=12345, ACKSEQ=0 B: SYN=1, ACK=1, SEQ=67890, ACKSEQ=12346 A: SYN=0, ACK=1, SEQ=12346, ACKSEQ=67891

Sekvensnumre (2) SYN-flaget bruges til at SYNkronisere sekvens-numrene Start-nummeret skal vælges tilfældigt Ellers kan man lave ”spoofede” forbindelser SYN flood

TCP siger ”Pænt farvel” Lige som ved etablering af forbindelsen er der et 3-vejs handshake når den lukkes Bruger FIN-flaget i stedet for SYN FIN indikerer ”jeg har ikke mere at sende” Begge ender skal være enige om at lukke ned, ellers fortsætter data med at komme

Flag i TCP headeren SYN, FIN, ACK – styrer sekvensnumre RST – lukker en forbindelse uden afsluttende handshake PSH – ”Push” bruges til at ”skubbe” en pakke igennem nettet uden buffering URG – ”Urgent”, data som haster. F.eks. En ”ctrl-c” i en terminal-session

Nye flag ! I mange år har der kun været 6 flag – og 2 ubrugte bits Nu er de defineret i RFC 3168 (standard) ECN og CWR bruges til flow-control og adaptiv routing Volder problemer for en del firewalls!

UDP pakken UDP er datagram trafik ligesom IP Simplere end TCP – men bruger portnumre Bruger en IP-pakke med protokol=17 Intet overhead til at etablere en forbindelse Header: Blot source- og destination-port, længde og checksum

ICMP Bruges til ”kontrol”, ikke til data Kan f.eks. Bruges til at signalere at et system er off-line, eller en service er lukket Indeholdt i en IP-pakke med protokol=1 Header: Type, Kode, Checksum og evt. Data

ICMP pakke-typer Echo/Echo reply (0 / 8) Destination unreachable (3) Redirect (5) Time exceeded (11) Timestamp, info, address mask request/reply (13-18)

ICMP pakke-typer (2) Nogle ICMP-pakketyper har ekstra information i ”kode” feltet Destination unreachable : Kode angiver net/system/port – 16 forskellige Redirect – kan redirecte et helt netværk eller en enkelt host Time exceeded – TTL eller reassembly

ICMP bruges ofte! Ping, traceroute Kan I huske ”DF/MF” flagene i IP ? Nyttigt at kunne finde ud af hvor store pakker man kan sende til en modtager, uden at de skal fragmenteres ”Path MTU discovery” bruger ICMP type 3, kode 4 (fragmentation needed, DF set) svar

IP pakker i Linux Firewall-systemerne logger indholdet af pakker Ipchains: Oct 9 07:18:18 www kernel: Packet log: input - eth0 PROTO=6 61.113.5.106:3014 130.228.2.150:111 L=60 S=0x00 I=19082 F=0x4000 T=39 SYN (#47)

IP pakker i Linux (2) Iptables:Oct 8 16:11:51 fenris kernel: IN=eth1 OUT= +MAC=00:00:b4:c7:28:62:00:20:6f:0b:45:cb:08:00 SRC=217.230.143.200 +DST=192.168.1.2 LEN=52 TOS=0x00 PREC=0x00 TTL=119 ID=35562 DF PROTO=TCP +SPT=3259 DPT=21 WINDOW=32767 RES=0x00 SYN URGP=0