ITpro.no - Online IT-magasin
Vis Online CV
Kristian Svantorp
Teknisk Spesialist
(KristianS)

Grad: Wizard
TechPoeng:
20840

ProPoeng:
1210

Stemmer: 29
 

Lesernes vurdering av innholdet og kvaliteten på artikkelen.

Klikk på terningen du vil gi:

1 2 3 4 5 6

Torsdagstipset: Fjernet papirkurven?Torsdagstipset: Fjernet papirkurven?
Torsdagstipset er en nyoppstartet spalte som vil ta for seg enkle tips i alle Windows-versjoner. Denne uken vil vi gjenopplive papirkurven i Windows Vista.
Hvordan installere Vista via en minnepinneHvordan installere Vista via en minnepinne
Synes du installeringen av Vista tar for lang tid? Det kan installeres fra en minnepinne med noen få enkle steg.
Skru av dvalemodusSkru av dvalemodus
Dvalemodus er en funksjon i Windows som gjør at du kan lagre arbeidet ditt og slå av datamaskinen. Mange har ikke bruk for denne funksjonen og kan spare diskplass ved å skru den av.
Fiks for COM SurrogateFiks for COM Surrogate
Det har vært en del tilfeller at "Com Surrogate har sluttet å virke" i Vista. En del av problemene er fikset, noen er ikke. Her er en del løsninger på problemet.
Hvor defragmentert er harddisken?Hvor defragmentert er harddisken?
Er du en av de Vista brukerne som irriterer deg over av at du ikke vet hvor fragmentert din harddisk er?


Mest leste Windows Vista-artikler

Spesialrapport: Et innblikk i Windows Longhorn
Windows Vista - En titt på innsiden
Kompatibel programvare for Vista
Slå av User Account Control i Vista
Gjør avknappen i Vista til en avknapp
Windows Vista Service Pack 1 tar form
Last ned Windows Vista nå
Skjermbilder av Windows Vista Beta 1
Vista jobber ikke sammen med MSN Live
Skjermbilder fra Windows Longhorn alpha
Fantastisk grafikk i Longhorn
Bilder av Vista Beta 2
Hvordan finne produktnøkkelen i Windows Vista
Windows Vistas 8 utgaver
Windows Vista-KeyGen klar?
Endre bootscreen i Windows Vista
Freeze Dry Windows Vista
Last ned Avalon CTP for Windows XP og Server 2003
Last ned Windows Vista RC2
Last ned Vista SP1 Beta



Ny IP-stack i Windows Vista
Totalt redesignet
IP-stacken i Windows Vista ble totalt redesignet av ulike årsaker. Det man først og fremst ville oppnå var ordentlig nettverks-tuning, mer effektiv overføring, bedre sikkerhet og bedre støtte på maskinvaresiden.

Guide: IT-drift & Nettverk: Windows Vista  ·   Av Kristian Svantorp  ·  Tirsdag 30. januar 2007 07:00


I tillegg har mye endret seg på nettverksfronten fra TCP-algoritmen og for den saks skyld siden Windows XP ble designet. Da var dial-up vanlig og 20Mb ADSL-linjer var ikke-eksisterende. Den tidens nettverksmiljø påvirket helt klart designet, og det skulle jo bare mangle, men dermed krever det litt tilpasning nå.

Når det gjelder TCP selv har jo ikke de mest basiske operasjonene endret seg siden 1981 med standarden definert i dokumentet RFC793. Men det har ikke manglet på forslag til nye måter å implementere den på. Det har også kommet en rekke nye tillegg for kontroll med "congestion" og trafikk generelt. Den gode gamle metoden var TCP Reno, men det har senere kommet en rekke forslag: High Speed TCP, TCP Vegas, BIC TCP, H-TCP, Fast TCP osv.

Håndtering av pakketap

TCP i dag har også enkelte utfordringer på trådløse nett, med hovedsaklig pakketapsbasert tuning. Et hvert pakketap er ansett for å være en indikasjon på "congestion" og dermed reduseres vindusstørrelsen.

Trådløse nett opplever ofte kortvarige tap av ulike årsaker og det minker overføringseffektiviteten betraktelig når et tap gjør at vindusstørrelsen blir redusert så betraktelig og deretter bare økes sakte igjen. Gjennomsnittelig hastighet på overføringene blir ikke så bra som de kunne vært. 

Lite effektiv

Jeg leste et eksempel i dokumentasjonen fra en Microsoft-ansatt i USA. Han forteller der at med Windows XP, og den implementasjonen av TCP som er der, vil man på en 10Mb/s linje med 10ms latency faktisk bruke 1 (en) time på å ta i bruk hele båndbredden. Selv om XP maskinen ikke deler linja med noen andre enn maskinen i den andre enden.

XP tar veldig forsiktig i bruk mer "båndbredde" og prøver seg sakte, men sikkert fram om det går å bruke mer. Så fort det er et pakketap reduseres båndbreddebruken vesentlig igjen, før XP sakte prøver å øke utnyttelsen av linja igjen. På eldre nettverk var dette en mer fornuftig implementasjon enn det kan sies å være i dag.

 

Nyheter i Windows Vistas IP Stack

Følgende nyheter er å finne i Windows Vistas IP-stack:
  • Receive windows auto tuning
  • Compound TCP
  • Forbedret håndtering av trådløst
  • Bedre/ny håndtering av routing, deteksjon av veier, fail-back
  • Windows Filtering Platform
  • Offloading & Multi-Core / Multi-CPU støtte
  • Native IPv6

Muligheten for 2-3 ganger bedre nedlastningshastighet uten ny linje er ikke å forakte.

 

IP Stack-design

Her har du en skisse som viser deg arkitekturen til den nye IP Stacken:

IP Stack-arkitektur

Tre standard API'er brukt mot denne for nettverkskommunikasjon:

  • WSK - winsock kernel, et nytt kernel-mode interface som skal erstate Transport driver Interface (TDI)
  • Sockets API - Sockets baserte applikasjoner. Operer gjennom Ancillary Function Driver (AFD) for å utføre TCP/IP operasjoner.
  • TDI - NetBios over TCP/IP og andre eldre protokoller.
  • I tillegg: Inspection API som er en del av Windows Filtering Platform, for inspeksjon av trafikk/firewall.

Mer om WSK i artikkelen Introduction to Winsock Kernel (WSK) og på Winsock Kernel (WSK) Forum.

Mer om WFP i artikkelen Windows Filtering Platform og MSDN Library: Windows Filtering Platform.

 

Hardware og ny IP Stack

En helt annen ting som måtte endres på var IP Stackens støtte for ulik hardware. Der har verden endret seg mye siden XP.

Tidligere versjoner av IP stacken skalerte ikke spesielt bra over flere CPU'er eller kjerner, noe som er lite hensiktsmessig nå som selv bærbare kommer med to kjerner. Derfor ble den nye IP Stacken i Windows Vista designet for å kunne ta i bruk ressursene som er tilgjenglig og faktisk benytte seg av begge kjernene for eksempel.

Tidligere var det Ndis (5.1) som var begrensningen og bandt prosesseringen av mottak til en CPU. RSS, Receive side scaling fra NDIS 6, løser dette ved å balansere lasten over flere cpu'er/kjerner.

Se whitepaper på RSS.

Windows Vista generelt er blitt veldig mye bedre til å ta i bruk flere kjerner/cpu'er og du får en klart merkbar ytelsesforbedring med det på Vista.

En annen ting med IP stacken nå er at den har støtte for full "offloading" av TCP-tilkoblinger til NIC (Network Interface Card = nettverkskortet). Selve offloadingen gjøres med TCP Chimney, et navn den har fått fordi den følger en "chimney" arkitektur, der man har en direkte vei mellom NIC/offloaded og applikasjonen.

Windows Vista fortsetter også å støtte "task offload" som tidligere, men man kan bare offloade oppgaver fra tilkoblinger som ikke er fullt offloadet med chimney.

Se whitepaper på TCP Chimney.

 

Ny IP Stack og Routing

Du finner også noen forbedringer rundt ruting. Det er tre ting som klart skiller seg ut som mest interessant:

Routing Compartments

Dette er for å øke sikkerheten ved å beskytte mot tidligere typer angrep der man kunne få sendt pakker inn via et interface og over på et annet. Nå segmenteres tilkoblinger i routing compartments: en kombinasjon av interfacer, knyttet sammen med en login sesjon og en routing tabell.

Alle maskiner kan ha flere compartments, men et interface kan kun være tilknyttet en compartment. Dette brukes for eksempel til å skille trådløse tilkoblinger til hot-spots fra VPN tilkoblinger inn mot firmanettverket. Sammen med neste punkt er dette med på å øke sikkerheten.

Sterkere Host model

Windows Vista har en såkalt "strong host model", i motsetning til Windows Server 2003 og Windows XP, som bruker en svakere modell. Dette går på hvor sterkt adresser knyttes mot interface. Med den nye IP Stacken må pakker sendes direkte til riktig interface og pakker som kommer til feil blir ikke behandlet på samme måten som med XP. Dvs at de ikke blir "videresendt" internt til riktig interface.

Neighbor Unreachability Detection

Joda, det er egentlig funksjonalitet i IPv6. Men det er jo ingen grunn til å ikke sørge for at man kan få noe av den samme funksjonaliteten i IPv4, som tross alt brukes mest fortsatt og kunne trengt så nyttig funksjonalitet. IPv6 bruker Neighbor Solicitation og Neighbor Advertisement pakker og/eller monitorer høynivå protokoller. IPv4 har ikke disse spesielle typene pakker tilgjenglig.

Vista har sørget for følgende:

  • Monitorering av TCP tilkoblinger
  • Dead Gateway deteksjon
    • Denne trigges av TCP retransmisjoner over stacken.
    • Sender så arp-pakke og avventer svar. Ved ikke svar byttes det til alternative gateway om mulig.
  • Nå er det også inkludert failback, ved at Vista forsøker å sende over gatewayen som anses som død. Når det blir mulig igjen bytter Vista tilbake til gateway nummer en. Dette var ikke tilfellet med XP, som da ville fortsatt å bruke gateway 2.

Neste avsnittet om IP stacken i Vista blir om Auto tuning (receive window). Kanskje den beste forbedringen generelt med den nye stacken.



Les videre >>

Side 1 | Side 2 | Neste >>

Kilde: Norsk Windows Vista Blog | Republisering tillatt
  • Del



 Gi din kommentar
 
Ditt navn: Anonym [ Logg inn | Registrer deg ]

Emne:



Kommentar:

Vennligst hold deg til saken i artikkelen. Alle useriøse og irrelevante kommentarer vil uten videre bli fjernet.

Skriv inn teksten fra bildet:

Tillatt HTML: <p> <b> <i> <em> <br> <strong> <blockquote> <tt> <li> <ol> <ul> <img> <a>
 

Kommentarer (13)

qrio90: Ny IP-stack i Windows Vista · Tirsdag 30. januar 2007 07:27
Send en melding · http://
Endelig noe posistivt om Vista, har bare sett negative nyheter og er absolutt lei av dette!

En fullverdig 6 er fra meg. En artikkel som virkelig skiller seg ut!

[ Svar på dette | Ny kommentar ]



Anonym: Ny IP-stack i Windows Vista · Tirsdag 30. januar 2007 09:13
Endelig en skikkelig artikkel her!

[ Svar på dette | Ny kommentar ]



andralmq: Ny IP-stack i Windows Vista · Tirsdag 30. januar 2007 12:31
Send en melding · http://
Dritbra artikkel!

[ Svar på dette | Ny kommentar ]



exchange: Ny IP-stack i Windows Vista · Tirsdag 30. januar 2007 12:50
Send en melding · http://
The Cable Guy - November 2005
Performance Enhancements in the Next Generation TCP/IP Stack

http://www.microsoft.com/technet/community/columns/cableguy/cg1105.mspx

viser til følgende rfc's som er implementert ( 4 første primært for å forbedre båndbredde i tårdløs kommunikasjon)

RFC 2582: The NewReno Modification to TCP's Fast Recovery Algorithm
http://www.ietf.org/rfc/rfc2582.txt?number=2582

RFC 2883 : An Extension to the Selective Acknowledgement (SACK) Option for TCP
http://www.ietf.org/rfc/rfc2883.txt?number=2883

RFC 3517 : A Conservative Selective Acknowledgment (SACK)-based Loss Recovery Algorithm for TCP
http://www.ietf.org/rfc/rfc3517.txt?number=3517

RFC 4138: Forward RTO-Recovery (F-RTO): An Algorithm for Detecting Spuriou Retransmission Timeouts with TCP and the Stream Control Transmission Protocol (SCTP)
http://www.ietf.org/rfc/rfc4138.txt?number=4138

Explicit Congestion Notification ( ECN ) er definert i RFC 3168: The Addition of Explicit Congestion Notification (ECN) to IP
http://www.ietf.org/rfc/rfc3168.txt?number=3168

RFC 1323: TCP Extensions for High Performance ( skalering av window)
http://www.ietf.org/rfc/rfc1323.txt

-------

Når det gjelder Receive windows auto tuning betyr det kun at stacken vil
justere minne bufferen for windowing etter kvaliteten på båndbredden( altså størrelsen på mellomlageret av innkommende data) Størrelsen baseres på båndbredde x latenstid for hver tcp tilgang og gir motaker muligheter til å fortelle hvor mye data en sender kan sende avgårde før den får en ack fra mottaker om at den har mottatt datene.

Problemet er at mottaks vinduet optimaliseres på "per -connection basis", så hva skjer om båndbredden blir dårligere i løpet av sesjonen ?

[ Svar på dette | Ny kommentar ]



    KristianS: Ny IP-stack i Windows Vista · Tirsdag 30. januar 2007 21:23
    Send en melding
    Dette monitoreres og justeres underveis i sesjonen / tilkoblingen, en kontinuerlig prosess, noe som er innebygget i TCP. Dette gjøres derimot i liten grad XP, som også kun justerer seg basert på pakketap, og har dårligere "tolkning" av hva pakketapet kan bety. XP regner alltid med at det betyr congestion i nettet og justerer seg rett ned.

    Men det er også korrekt at dette brukes på buffer størrelsen som allokeres. Windows Vista bruker forøvrig også application retrieve rate som kriterie her, + bandwidth delay product.

    "the transmission rate of data is determined by the size of the TCP recieve window. When transferring data between clients they will constantly send TCP Window Update packets to each other as there ability to recieve data speeds up or slows down."

    Viktig å merke seg at Windows Vista maskinen i andre enden også bruker dette til å justere sin sende rate tilsvarende fort og man får dermed en god synergi effekt. Fungerer mot longhorn server og, som har samme ip stack, og det finnes en oppdatering for 2003 server som øker ytelsen mot den og.

    [ Svar på dette | Ny kommentar ]



      exchange: Ny IP-stack i Windows Vista · Tirsdag 30. januar 2007 23:29
      Send en melding · http://
      >Dette monitoreres og justeres underveis i sesjonen / tilkoblingen, en kontinuerlig prosess, noe som er innebygget i TCP

      nei det er ikke riktig, for window størrelsen må defineres før en oppretter en tilgang
      i tcp headeren er det kun 16 bits for winow størrelse, noe som gir max 64 kb winow størrelse.
      vil at winow størrelsen skal være over 64 kb, må TCP window scale option, benyttes.
      som igjen må opprettes ved åpningen av en tilgang. ( jamfør rfc1322 )

      "Therefore, for each of the extensions defined below, TCP options will be sent on non-SYN segments only when an exchange of options on the SYN segments has indicated that both sides understand the extension. Furthermore,an extension option will be sent in a segment only if the corresponding option was received in the initial segment.

      En tcp tilgang begynner som kjennt med en SYN pakke, så SYN/ACK og så en ack

      For å gjøre diskusjonen kort; winodw scale over de max 64 kb kan kun benyttes under 3 way handshake
      og ikke under tilgangen, ergo (per -connection basis)

      [ Svar på dette | Ny kommentar ]



        KristianS: Ny IP-stack i Windows Vista · Torsdag 1. februar 2007 14:53
        Send en melding
        Scaling settes pr connection ja, det kan vi være enig om=) men vindusstørrelsen videre kan justeres på vanlig måte, hvor mye avhenger jo av hvilken scaling som er satt opp også. Vista setter bit'en for å enable scaling som default pr tilkobling.



        [ Svar på dette | Ny kommentar ]



Anonym: Ny IP-stack i Windows Vista · Tirsdag 30. januar 2007 20:08
Ny Stack betyr ikke bedre sikkerhet, antagelig mindre sikkerhet (Hør på Vista's virgin stack podcast fra twit/grc)

[ Svar på dette | Ny kommentar ]



    Anonym: Ny IP-stack i Windows Vista · Tirsdag 30. januar 2007 21:10
    IP-stakken i seg selv har vel lite med sikkerhet å gjøre, hverken i den ene eller andre retningen.

    [ Svar på dette | Ny kommentar ]



    KristianS: Ny IP-stack i Windows Vista · Tirsdag 30. januar 2007 21:29
    Send en melding
    Skjønner ikke kommentaren din i (), så ser bort fra den;)

    Det er korrekt at noe nytt er innført og siden det ikke har vært ute lenge er det muligens uavdekkede hull. Vi kan være enig om at sannsynligheten er der.

    Men, all problemer, hull og design issues med XPs IP Stack ble selvsagt brukt som input ved ny design og mye lærdom ble også trykket fra forbedring på Windows 2003 server. I tillegg var trussel modellering en del av design prosessen, samt både interne og eksterne security reviews av kode ble gjennomført. Sånn sett antagelig godt egnet for å håndtere eksisterende angrep og prinsippene bak enkelte av dem, feilformat pakker, buffer overflow triggering osv.
    Det som blir mer spennende er hva nytt som evt oppstår, det er jo et kontinuerlig race...

    [ Svar på dette | Ny kommentar ]



wardog: Ny IP-stack i Windows Vista · Tirsdag 30. januar 2007 22:55
Send en melding
Imponerende retorikk, men dette ligner jo veldig på IP stack i win2003server.
Jeg har gjort dette i mange år med tredje part tools.

Ikke imponert enda.



[ Svar på dette | Ny kommentar ]



wardog: Ny IP-stack i Windows Vista · Tirsdag 30. januar 2007 23:23
Send en melding
OK, ref forrige kommentar.
Dette er uansett en veldig bra artikkel.
:-) - keep it pumpin!

[ Svar på dette | Ny kommentar ]


På forsiden nå

Les mer...
Video: ID-tyveri
Informasjon og datasikkerhet
Les mer...
Comodo Dragon Internet Browser 1.0.0.10
Fokus på sikkerhet
Les mer...
Kvinner; Verdens beste brannmur
Med en liten svakhet...
Les mer...
Malware med 33 i 1
Tilpasser navnet etter operativsystemet
Les mer...
Her er Microsofts hemmelige dagbok
Ultraportabel tablett fra Microsoft
Les mer...
Ønsker du å bidra på ITpro.no?
Her er alt du trenger å vite!