Præsentation er lastning. Vent venligst

Præsentation er lastning. Vent venligst

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

Lignende præsentationer


Præsentationer af emnet: "TCP/IP netværk Henrik Størner SSLUG."— Præsentationens transcript:

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

2 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

3 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

4 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

5 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”: Alternativt:

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

7 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

8 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

9 Eksempel: 130.228.2.150/24 IP-adressen 130.228.2.150, 24 bit netmaske
Netværks-adressen er da AND ( ) Broadcast-adressen er da OR ( )

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

11 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

12 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.

13 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

14 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

15 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

16 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

17 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

18 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

19 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!

20 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

21 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

22 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

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

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

25 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

26 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

27 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

28 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

29 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

30 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

31 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!

32 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

33 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

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

35 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

36 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

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

38 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= +DST= LEN=52 TOS=0x00 PREC=0x00 TTL=119 ID=35562 DF PROTO=TCP +SPT=3259 DPT=21 WINDOW=32767 RES=0x00 SYN URGP=0


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

Lignende præsentationer


Annoncer fra Google