Download præsentationen
Præsentation er lastning. Vent venligst
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
Lignende præsentationer
© 2024 SlidePlayer.dk Inc.
All rights reserved.