Nerre skrev:
Alla datorer med tcp/ip-stack kan väl formellt sett agera router? Detta eftersom paket utanför det egna nätet måste routas (till default gateway).


Här finns en sida som visar hur ip-paket packeteras i ethernet-frames.
[länk]
Det finns ju en anledning till att man har en nätverksstack. I detta fallet handlar det om IP, separationen mot underliggande lager är total och det blir betyldigt lättare att förstå då. Det du pratar om är inte routing, åtmintone inte i den form man normalt menar med routing (på IP-nivå).
 
I alla fall så är det routing under Windows och Linux (testa kommandot "route print" på en Windows-dator).

Tcp/ip-stacken måste veta vilken MAC-adress den ska sätta på ethernet-paktet, och det får den reda på genom routingreglerna.

Sen att default-routingen på en normal dator är simpel är en helt annan femma.


Jag tror att du kanske blandar ihop routing med forwarding?
 
Redigerat:
Nerre skrev:
I alla fall så är det routing under Windows och Linux (testa kommandot "route print" på en Windows-dator).

Tcp/ip-stacken måste veta vilken MAC-adress den ska sätta på ethernet-paktet, och det får den reda på genom routingreglerna.

Sen att default-routingen på en normal dator är simpel är en helt annan femma.


Jag tror att du kanske blandar ihop routing med forwarding?
TCP/IP stacken som du skriver måste inte veta något om några MAC adresser eftersom den inte skapar några ethernetpaket, den skapar ip paket som innehåller tcp paket.

Visst är det en form av routing det du pratar om också, men det är på en annan nivå och inte alls relevant i TS frågeställning.

Jag blandar inte ihop routing med forwarding (är det port-forwarding du menar då?).
 
Nej, jag menade packet forwarding, d.v.s. att en burk tar emot ett paket och skickar det vidare.

Vad gör tpc/ip-stacken med ip-paketet då?
 
Nerre skrev:
Nej, jag menade packet forwarding, d.v.s. att en burk tar emot ett paket och skickar det vidare.

Vad gör tpc/ip-stacken med ip-paketet då?
Det blir liksom helt fel att diskutera detta då du blandar begrepp mellan abstraktionslager i nätverksstacken. Som jag skrev tidigare så finns det en anledning till att man har en nätverksstack

http://en.wikipedia.org/wiki/OSI_model
 
Poängen är ju att tcp/ip inte följer OSI-modellen.

Några ledtrådar: ICMP och ARP.
 
Tycker inte ni ska blanda in mac-nivån då TS inte vill switcha trafiken.
TS vill hantera det på IP-nivå och det finns redan några förslag i tråden. Jag rekommenderar modellen med en central router, blir enklast så i ett litet nätverk. Man kan "leka" med FW, DMZ, prioritera, etc, men hur man gör det är beroende av de funktioner som finns i den "burk" man väljer.
 
Mikael_L
Nerre skrev:
Poängen är ju att tcp/ip inte följer OSI-modellen.

Några ledtrådar: ICMP och ARP.
Det är sant.
TCP/IP fanns långt innan OSI-modellen uppfanns, och har en liknande, men ändå helt annan struktur.
Istället för OSI-modellens 7 lager har TCP/IP i praktiken 4 lager, men inte desto mindre försöker man ganska ofta pressa in TCP/IP i OSI-modellen. Det går lite hjälpligt, särskilt på lager 1 och 2, men det haltar sen betänkligt.

På denna sida kan man se en bild hur TCP/IP's lager kan definieras.
Det nedersta lagret är transportskiktet som i praktiken nästan alltid utgörs av ethernet idag.
http://en.wikipedia.org/wiki/Ethernet_frame

En hub för ethernet arbetar i OSI-modellens lager 1, en switch i lager 2, men båda jobbar i TCP/IP-modellens första lager, transportlagret.
Hubben skickar bara helt dumt ut all data som kommer in på alla portar, medan switchen kikar på MAC-adressen och sänder bara på rätt port, där mottagande dator sitter.
Sen är det mer komplicerat än så, givetvis. ;)
http://sv.wikipedia.org/wiki/Switch

Och så kan ju switchen vara en level3 switch, dvs kikar även på IP, men men ... ;)


Så här långt ner i arkitekturen vill nu inte mycke_nu arbeta, då han är ute efter att routa, då måste man upp i IP-skiktet.
Här börjar mina kunskaper, men kanske framförallt minnet om kunskaperna svika mig alltmer, så jag kan inte bli något djuplodande. Men här finns väl lite helt basic:
http://www.sangoma.com/tutorials/tcp_ip/basic-ip-routing/



Sen vet jag inte vad detta hjälper dig, mycke_nu, antagligen inget alls ... :surprised:
 
  • Gilla
Bo.Siltberg och 1 till
  • Laddar…
AndersS skrev:
Tycker inte ni ska blanda in mac-nivån då TS inte vill switcha trafiken.
Jag försökte förklara bakgrunden till varför man kan säga att tcp/ip stackar har routingfunktioner. Ett IP-paket har bara ETT fält för destination, det fältet måste alltid vara IP-adressen för destinationen. När paketet routas via en annan burk så bibehålls destinationsadressen hela tiden i paketet, men paketet skickas till olika MAC-adresser baserat på informationen i ARP och routingtabellerna.

En routing-tabell säger visserligen "paket till nätet x.x.x.x/y ska skickas via burk z.z.z.z (på interface foo)", men det skickas inte till IP-adressen utan stacken slår via ARP upp vilken MAC-adress z.z.z.z har och skickar paketet dit (med x.x.x.x som destination).
 
Mikael_L skrev:
[länk]


Sen vet jag inte vad detta hjälper dig, mycke_nu, antagligen inget alls ... :surprised:
Jodå, det hjälpte alldeles utmärkt, ibland hänger man upp sig på småsaker som vilken funktionalitet man räkna med i en router. :)
 
Nerre skrev:
Jag försökte förklara bakgrunden till varför man kan säga att tcp/ip stackar har routingfunktioner........
Jo jag vet, utbildade själv i bl.a. protokoll som TCP/IP och hur man byggde IP-nät/strukturer på den tiden när t.ex. Cisco hade bokstavsbeteckningar på sina routrar och Pål/Tom på Upnet var generalagent ;)
Du kan hitta några gamla trådar där jag och Lars_Stefan_Axelsson "gaggar" teknisk historia.:D

Det jag bara ville uttrycka är att man inte behöver fundera på mac-nivån när man gör IP-strukturen och bygger sina nät. I TS fall behövs bara ett fåtal nät och sedan kör det flesta NAT mot Internet, så man kan använda privata nät.
 
  • Gilla
mandg och 1 till
  • Laddar…
AndersS skrev:
Det jag bara ville uttrycka är att man inte behöver fundera på mac-nivån när man gör IP-strukturen och bygger sina nät. I TS fall behövs bara ett fåtal nät och sedan kör det flesta NAT mot Internet, så man kan använda privata nät.
Det är sant. Men jag vill nog ändå ge Nerre lite rätt tidigare i tråden. Om man tänker i termer av "ett IP-paket har en destinationsaddress och en dator tar emot IP-paket på ett interface som har den addressen" så blir det nästan omöjligt att förstå hur routing/forwarding faktiskt fungerar. (Och jag har mött många som borde veta bättre vars förståelse av TCP/IP ligger på den nivån). Jag har träffat folk som dragit den iofs logiska slutsatsen att om det är så det fungerar så måste "onion routing" vara så som Internet fungerar. Och så är det ju alltså *inte*. (Om man inte kör exv. TOR med vett och vilja då... ;))

Man *måste* som sagt blanda in länklagret om man skall kunna förstå routing/forwarding eftersom det är baserat på länktopologin som forwardingbesluten fattas. Dvs som vi sagt tidigare: Jag vill till ett IP nät som är ett annat IP nät än det jag själv är en del av. Jag måste då alltså skicka paketet på en *länk* som jag vet går till en enhet som lovar att den vet hur den skall skicka det vidare för att nå det nät jag vill till. Jag signalerar att det är det jag är ute efter genom att inte signalera någonting, utan bara bygga ihop mitt IP-paket som om jag kunde skickat det lokalt och skeppa iväg det på en länk som går till en router.

Routern måste då fatta att den kan få paket med en destinationsadress som inte alls har med routerns egna interface att göra. Och den måste då alltså fatta ett routingbeslut, om vilket interface/länk den skall skicka paketet vidare på t ex genom att slå upp vilka nät som finns var i en statiskt konfigurerad routingtabell. Den ändrar typiskt inte IP-paketet (förutom TTL-värdet) och skickar det vidare på en annan länk, som kan gå till en annan router. (Vi hoppar över hur routrar lär sig vilka rötter det finns, fragmentering osv.)

Så, var det gaggigt nog? ;)
 
Ja, det är ju inte så att man som användare behöver "hålla på med" MAC-adresserna, den biten sköter ju ARP och möjligen ICMP (om man har dynamisk routing). Men man behöver "förstå" (eller "känna till") att det är därför som routingreglerna behövs. Och det är därför som alla tcp/ip-stackar har routingfunktioner: De måste veta om de ska skicka till mottagarens MAC-adress eller en gateways MAC-adress.
 
Jo, i rent utbildningssyfte;)
Men för hemmabruk med några få nät räcker det bra att veta hur man använder/skapar unika IP-nät/subnet och i routern tilldelar portarna rätt adresser (fysisk eller logisk). Envis som fa...... :D
Men det finns ju många andra säkerhetsaspekter som är viktigare, t.ex. hur man separerar trafiken, åtkomst, om man vill köra DHCP (men med få burkar kan man lika gärna skriva in dem själv), etc.

Nördfråga med risk att förstöra tråden, men jag tror den är besvarad:
Är det någon mera som sparat "Practical Unix & Internet Security" utgåva 1 -91 och utgåva 2 -96 (1000sidor) som var lite av biblar för området?
Har även Ciscos Internetworking Technology Overviw från -93.
(moderator får gärna radera inlägget då jag tillsammans med fredagsölen hängav mig åt nostalgi)
 
  • Gilla
lars_stefan_axelsson
  • Laddar…
Jag har utgåva 2 från 96 i bokhyllan någonstans. Man slänger ju inte böcker! ;)

Och nej, jag har aldrig routat ett hemmanät annat än i laborationssyfte. Finns ingen anledning, det håller jag med om. Vi körde ju hela Chalmers som ett bryggat nät, iaf när jag var där...
 
Vi vill skicka notiser för ämnen du bevakar och händelser som berör dig.