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 minnepinne![]() Synes du installeringen av Vista tar for lang tid? Det kan installeres fra en minnepinne med noen få enkle steg. |
Skru 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 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?![]() 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
Totalt redesignet
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:

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.
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.
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.
Side 1 | Side 2 | Neste >>
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 ]



















