Vysvětlení třícestné přes TCP/IP

Překlady článku Překlady článku
ID článku: 172983 - Produkty, které se vztahují k tomuto článku.
Rozbalit všechny záložky | Minimalizovat všechny záložky

Na této stránce

Souhrn

Tento článek je určen pro posluchače, kteří jsou seznámeni s převodovkou Řízení Protocol/Internet Protocol (TCP/IP) a popisuje proces TCP třícestné, ke kterému dojde mezi klientem a serverem při Inicializace nebo ukončení připojení TCP.

Další informace o protokolu TCP/IP naleznete v následujícím dokumentu white paper k dispozici na serveru anonymous ftp společnosti Microsoft:
Název souboru: Tcpipimp2.doc
Umístění: FTP://FTP.microsoft.com/bussys/winnt/winnt-Docs/papers/ "Systém Microsoft Windows NT 3.5/3.51/4.0: podrobnosti implementace protokolu TCP/IP zásobník protokolu TCP/IP a služby, verze 2.0"

Další informace

Protokol TCP (Transmission Control Protocol) úroveň dopravy TCP/IP je-li protokol orientovaný na připojení. Orientovaná na připojení znamená, že před lze přenášet data, musí být získán spolehlivé připojení a potvrzen. Přenos úrovně dat TCP, navazování připojení a ukončení připojení zachovat specifické kontrolní parametry, které řídí celý proces. Bitů ovládacího prvku jsou následující:
URG: Pole Urgent Pointer
Potvrzení: Pole potvrzení
PSH: Funkce Push
RST: Obnovit připojení
SYN: Synchronizovat pořadová čísla
FIN: Žádná další data od odesílatele
Existují dva scénáře, kde třícestné bude probíhat:
  • Navázání připojení (aktivní otevření)
  • Ukončování připojení (Zavřít aktivní)
Následující informace vzorku byla získána z programu Sledování sítě zachycení. Program Sledování sítě je analyzátoru protokolu, který lze získat od Microsoft Systems Management Server.

Navázání připojení

Následující posloupnost ukazuje proces probíhá připojení TCP stanovit:

Snímek 1:

Jak je vidět v prvním snímku, klient, NTW3, odešle segmentu SYN (TCP ....S.). Toto je požadavek na server synchronizace posloupnosti čísla. Určuje jeho počáteční pořadové číslo (není), což je s přírůstkem 1, 8221821 + 1 = 8221822 a že je odeslán na server. K Inicializace připojení, klient a server musí každá synchronizace druhé strany pořadová čísla. Je také možnost maximální segmentu Velikost (MSS) nastavení, který je definován délku (délka: 4). tuto možnost komunikuje, bude maximální velikost segmentu odesílatel chce dostávat. Na Pole potvrzení (ack: 0) se nastaví na nulu, protože se jedná o první část Třícestný handshake.
1    2.0785 NTW3 --> BDC3 TCP ....S., len: 4, seq: 8221822-8221825, ack: 0,
win: 8192, src: 1037  dst:  139 (NBT Session)  NTW3 -->  BDC3 IP

TCP: ....S., len: 4, seq: 8221822-8221825, ack: 0, win: 8192, src: 1037
dst:  139 (NBT Session)

   TCP: Source Port = 0x040D
   TCP: Destination Port = NETBIOS Session Service
   TCP: Sequence Number = 8221822 (0x7D747E)
   TCP: Acknowledgement Number = 0 (0x0)
   TCP: Data Offset = 24 (0x18)
   TCP: Reserved = 0 (0x0000)
   TCP: Flags = 0x02 : ....S.

      TCP: ..0..... = No urgent data
      TCP: ...0.... = Acknowledgement field not significant
      TCP: ....0... = No Push function
      TCP: .....0.. = No Reset
      TCP: ......1. = Synchronize sequence numbers
      TCP: .......0 = No Fin

   TCP: Window = 8192 (0x2000)
   TCP: Checksum = 0xF213
   TCP: Urgent Pointer = 0 (0x0)
   TCP: Options

         TCP: Option Kind (Maximum Segment Size) = 2 (0x2)
         TCP: Option Length = 4 (0x4)
         TCP: Option Value = 1460 (0x5B4)

   TCP: Frame Padding

00000:  02 60 8C 9E 18 8B 02 60 8C 3B 85 C1 08 00 45 00   .`.....`.;....E.
00010:  00 2C 0D 01 40 00 80 06 E1 4B 83 6B 02 D6 83 6B   .,..@....K.k...k
00020:  02 D3 04 0D 00 8B 00 7D 74 7E 00 00 00 00 60 02   .......}t~....`.
00030:  20 00 F2 13 00 00 02 04 05 B4 20 20                .........
				
Snímek 2:

V rámci druhého serveru, BDC3, odešle potvrzení a SYN na to Segment (TCP.A..S.). V tomto segmentu serveru UZNÁVAJÍCE, požadavek klienta pro synchronizaci. Současně je server také odesílání jeho požadavek klienta pro jeho pořadí synchronizace čísla. Je hlavní rozdíl v tomto segmentu. Server Přenese číslo potvrzení (8221823) pro klienta. Na potvrzení je pouze doklad ACK je specifický pro klienta SYN iniciované klientem. UZNÁVAJÍCE požadavek klienta na proces umožňuje serveru zvýšit o jedno pořadové číslo klienta a používá Chcete-li jej jako jeho číslo potvrzení.
2   2.0786 BDC3 --> NTW3  TCP .A..S., len: 4, seq: 1109645-1109648, ack:
8221823, win: 8760, src: 139 (NBT Session)  dst: 1037 BDC3 --> NTW3  IP

TCP: .A..S., len:    4, seq:   1109645-1109648, ack:   8221823, win: 8760,
src:  139 (NBT Session)  dst: 1037

   TCP: Source Port = NETBIOS Session Service
   TCP: Destination Port = 0x040D
   TCP: Sequence Number = 1109645 (0x10EE8D)
   TCP: Acknowledgement Number = 8221823 (0x7D747F)
   TCP: Data Offset = 24 (0x18)
   TCP: Reserved = 0 (0x0000)
   TCP: Flags = 0x12 : .A..S.

      TCP: ..0..... = No urgent data
      TCP: ...1.... = Acknowledgement field significant
      TCP: ....0... = No Push function
      TCP: .....0.. = No Reset
      TCP: ......1. = Synchronize sequence numbers
      TCP: .......0 = No Fin

   TCP: Window = 8760 (0x2238)
   TCP: Checksum = 0x012D
   TCP: Urgent Pointer = 0 (0x0)
   TCP: Options

         TCP: Option Kind (Maximum Segment Size) = 2 (0x2)
         TCP: Option Length = 4 (0x4)
         TCP: Option Value = 1460 (0x5B4)

   TCP: Frame Padding

00000:  02 60 8C 3B 85 C1 02 60 8C 9E 18 8B 08 00 45 00   .`.;...`......E.
00010:  00 2C 5B 00 40 00 80 06 93 4C 83 6B 02 D3 83 6B   .,[.@....L.k...k
00020:  02 D6 00 8B 04 0D 00 10 EE 8D 00 7D 74 7F 60 12   ...........}t`.
00030:  22 38 01 2D 00 00 02 04 05 B4 20 20               "8.-......
				
Snímek 3:

V rámci třetí klient odešle potvrzení v tomto segmentu (TCP.A....). V tomto segmentu je klient UZNÁVAJÍCE požadavek ze serveru pro synchronizaci. Klient používá stejný algoritmus serveru implementován v poskytování číslo potvrzení. Klienta potvrzení požadavku na server pro synchronizaci dokončí Proces stanovení spolehlivé připojení, tedy způsobem tři handshake.
3   2.787 NTW3 --> BDC3  TCP .A...., len: 0, seq: 8221823-8221823, ack:
1109646, win: 8760, src: 1037  dst:  139 (NBT Session)  NTW3 --> BDC3  IP

TCP: .A...., len:    0, seq:   8221823-8221823, ack:   1109646, win: 8760,
src: 1037  dst:  139 (NBT Session)

   TCP: Source Port = 0x040D
   TCP: Destination Port = NETBIOS Session Service
   TCP: Sequence Number = 8221823 (0x7D747F)
   TCP: Acknowledgement Number = 1109646 (0x10EE8E)
   TCP: Data Offset = 20 (0x14)
   TCP: Reserved = 0 (0x0000)
   TCP: Flags = 0x10 : .A....

      TCP: ..0..... = No urgent data
      TCP: ...1.... = Acknowledgement field significant
      TCP: ....0... = No Push function
      TCP: .....0.. = No Reset
      TCP: ......0. = No Synchronize
      TCP: .......0 = No Fin

   TCP: Window = 8760 (0x2238)
   TCP: Checksum = 0x18EA
   TCP: Urgent Pointer = 0 (0x0)
   TCP: Frame Padding

00000:  02 60 8C 9E 18 8B 02 60 8C 3B 85 C1 08 00 45 00   .`.....`.;....E.
00010:  00 28 0E 01 40 00 80 06 E0 4F 83 6B 02 D6 83 6B   .(..@....O.k...k
00020:  02 D3 04 0D 00 8B 00 7D 74 7F 00 10 EE 8E 50 10   .......}t....P.
00030:  22 38 18 EA 00 00 20 20 20 20 20 20               "8....
				

Ukončování připojení

Ačkoli třícestné vyžaduje pouze tři pakety se spolehlivé přenášené naše síťové médium, ukončení této připojení bude vyžadovat přenos čtyř paketů. Protože TCP je plně duplexní připojení (tedy data mohou být toku v každém směru nezávislý jiných), každý směr musí být ukončena nezávisle.

Rámeček 4:

V této relaci rámců uvidíte odesílání FIN, který je klientem přiloženo potvrzení (TCP.A...F). Tento segment má dvě základní funkce. První Pokud je nastaven parametr FIN, uvědomí server, který má žádná data k odeslání. Za druhé, je nezbytné identifikovat PĚT konkrétní připojení, které jsou usazeny.
4   16.0279 NTW3 --> BDC3 TCP .A...F, len: 0, seq: 8221823-8221823,
ack:3462835714, win: 8760, src: 2337  dst: 139 (NBT Session)  NTW3 --> BDC3
IP

TCP: .A...F, len:   0, seq: 8221823-8221823, ack:  1109646, win: 8760, src:
1037  dst:  139 (NBT Session)

   TCP: Source Port = 0x040D
   TCP: Destination Port = NETBIOS Session Service
   TCP: Sequence Number = 8221823 (0x7D747F)
   TCP: Acknowledgement Number = 1109646 (0x10EE8E)
   TCP: Data Offset = 20 (0x14)
   TCP: Reserved = 0 (0x0000)
   TCP: Flags = 0x11 : .A...F

      TCP: ..0..... = No urgent data
      TCP: ...1.... = Acknowledgement field significant
      TCP: ....0... = No Push function
      TCP: .....0.. = No Reset
      TCP: ......0. = No Synchronize
      TCP: .......1 = No more data from sender

   TCP: Window = 8760 (0x2238)
   TCP: Checksum = 0x236C
   TCP: Urgent Pointer = 0 (0x0)

00000:  00 20 AF 47 93 58 00 A0 C9 22 F5 39 08 00 45 00   . .G.X...".9..E.
00010:  00 28 9B F5 40 00 80 06 21 4A C0 5E DE 7B C0 5E   .(..@...!J.^.{.^
00020:  DE 57 09 21 05 48 0B 20 96 AC CE 66 AE 02 50 11   .W.!.H. ...f..P.
00030:  22 38 23 6C 00 00                                 "8#l..
				
Rámeček 5:

V tomto snímku nezobrazí žádnou zvláštní s výjimkou pro server UZNÁVAJÍCE FIN, která byla přenesena z klienta.
5    16.0281 BDC3 --> NTW3 TCP .A...., len:    0, seq: 1109646-1109646,
ack: 8221824, win:28672, src: 139  dst: 2337 (NBT Session) BDC3 -->  NTW3
IP

TCP: .A...., len:    0, seq: 1109646-1109646, ack: 8221824, win:28672, src:
139  dst: 2337 (NBT Session)

   TCP: Source Port = 0x040D
   TCP: Destination Port = NETBIOS Session Service
   TCP: Sequence Number = 1109646 (0x10EE8E)
   TCP: Acknowledgement Number = 8221824 (0x7D7480)
   TCP: Data Offset = 20 (0x14)
   TCP: Reserved = 0 (0x0000)
   TCP: Flags = 0x10 : .A....

      TCP: ..0..... = No urgent data
      TCP: ...1.... = Acknowledgement field significant
      TCP: ....0... = No Push function
      TCP: .....0.. = No Reset
      TCP: ......0. = No Synchronize
      TCP: .......0 = No Fin

   TCP: Window = 28672 (0x7000)
   TCP: Checksum = 0xD5A3
   TCP: Urgent Pointer = 0 (0x0)
   TCP: Frame Padding

00000:  00 A0 C9 22 F5 39 08 00 02 03 BA 84 08 00 45 00   ...".9........E.
00010:  00 28 D2 82 00 00 3F 06 6B BD C0 5E DE 57 C0 5E   .(....?.k..^.W.^
00020:  DE 7B 05 48 09 21 CE 66 AE 02 0B 20 96 AD 50 10   .{.H.!.f... ..P.
00030:  70 00 D5 A3 00 00 90 00 01 00 86 00               p...........
				
Rámeček 6:

Po přijetí FIN z klientského počítače, bude server ACK. Dokonce i Když TCP bylo vytvořeno připojení mezi dvěma počítači připojení jsou stále nezávisle jeden na druhého. Proto server musí také přenášet FIN (TCP.A...F) pro klienta.
6   17.0085 BDC3 --> NTW3 TCP .A...F, len: 0, seq: 1109646-1109646, ack:
8221824, win:28672, src: 139 dst: 2337 (NBT Session) BDC3 -->  NTW3   IP

TCP: .A...F, len:  0, seq: 1109646-1109646, ack: 8221824, win:28672, src:
139  dst: 2337 (NBT Session)

   TCP: Source Port = 0x0548
   TCP: Destination Port = 0x0921
   TCP: Sequence Number = 1109646 (0x10EE8E)
   TCP: Acknowledgement Number = 8221824 (0x7D7480)
   TCP: Data Offset = 20 (0x14)
   TCP: Reserved = 0 (0x0000)
   TCP: Flags = 0x11 : .A...F

      TCP: ..0..... = No urgent data
      TCP: ...1.... = Acknowledgement field significant
      TCP: ....0... = No Push function
      TCP: .....0.. = No Reset
      TCP: ......0. = No Synchronize
      TCP: .......1 = No more data from sender

   TCP: Window = 28672 (0x7000)
   TCP: Checksum = 0xD5A2
   TCP: Urgent Pointer = 0 (0x0)
   TCP: Frame Padding

00000:  00 A0 C9 22 F5 39 08 00 02 03 BA 84 08 00 45 00   ...".9........E.
00010:  00 28 D2 94 00 00 3F 06 6B AB C0 5E DE 57 C0 5E   .(....?.k..^.W.^
00020:  DE 7B 05 48 09 21 CE 66 AE 02 0B 20 96 AD 50 11   .{.H.!.f... ..P.
00030:  70 00 D5 A2 00 00 02 04 05 B4 86 00               p...........
				
Snímek 7:

Klient odpoví ve stejném formátu jako server, podle ACKing FIN a serveru stovce pořadové číslo 1.
7   17.0085 NTW3 --> BDC3 TCP .A...., len: 0, seq: 8221824-8221824, ack:
1109647, win: 8760, src: 2337  dst: 139 (NBT Session) NTW3 --> BDC3 IP

TCP: .A...., len:    0, seq: 8221824-8221824, ack: 1109647, win: 8760, src:
2337  dst: 139   (NBT Session)

   TCP: Source Port = 0x0921
   TCP: Destination Port = 0x0548
   TCP: Sequence Number = 8221824 (0x7D7480)
   TCP: Acknowledgement Number = 1109647 (0x10EE8F)
   TCP: Data Offset = 20 (0x14)
   TCP: Reserved = 0 (0x0000)
   TCP: Flags = 0x10 : .A....

      TCP: ..0..... = No urgent data
      TCP: ...1.... = Acknowledgement field significant
      TCP: ....0... = No Push function
      TCP: .....0.. = No Reset
      TCP: ......0. = No Synchronize
      TCP: .......0 = No Fin

   TCP: Window = 8760 (0x2238)
   TCP: Checksum = 0x236B
   TCP: Urgent Pointer = 0 (0x0)

00000:  00 20 AF 47 93 58 00 A0 C9 22 F5 39 08 00 45 00   . .G.X...".9..E.
00010:  00 28 BA F5 40 00 80 06 02 4A C0 5E DE 7B C0 5E   .(..@....J.^.{.^
00020:  DE 57 09 21 05 48 0B 20 96 AD CE 66 AE 03 50 10   .W.!.H. ...f..P.
00030:  22 38 23 6B 00 00                                 "8#k..
				
ACKing FIN oznámení ze serveru identifikuje klienta postupné ukončení připojení TCP.

Odkazy

Další informace o protokolu ICMP:
Další informace naleznete v následujícím článku znalostní báze Microsoft Knowledge Base:
170292 Internet Control Message Protocol (ICMP) Základy
- nebo -
Získání dokumentu RFC 793.
Dokumenty RFC lze získat prostřednictvím Internetu takto:

Papírové kopie všech dokumentů RFC jsou k dispozici NIC, buď jednotlivě nebo na základě předplatného (pro více informací kontaktujte NIC@NIC.DDN.MIL). Online kopie jsou k dispozici prostřednictvím protokolu FTP nebo Kermit z rozhraní NIC.DDN.MIL jako Specifikace RFC a rfc #### txt nebo dokumentu rfc a rfc ####.PS (#### je číslo dokumentu RFC bez nuly).
Poznámka: Toto je článek určený k rychlému zveřejnění, který vydala přímo služba podpory společnosti Microsoft. Uvedené informace jsou poskytovány jako odpověď na vzniklé problémy. Vzhledem k požadavku na rychlé zveřejnění je možné, že zpráva obsahuje typografické chyby, a může být kdykoli bez ohlášení revidována. Další pokyny naleznete v dokumentu Podmínky užití.

Vlastnosti

ID článku: 172983 - Poslední aktualizace: 23. dubna 2011 - Revize: 3.0
Informace v tomto článku jsou určeny pro produkt:
  • Windows Server 2008 Standard
  • Windows Server 2008 Enterprise
  • Windows Server 2008 Datacenter
  • Windows Server 2008 for Itanium-Based Systems
  • Microsoft Windows Server 2003, Datacenter Edition (32-bit x86)
  • Microsoft Windows Server 2003, Enterprise Edition (32-bit x86)
  • Microsoft Windows Server 2003, Standard Edition (32-bit x86)
  • Microsoft Windows XP Professional
  • Microsoft Windows XP Home Edition
  • Microsoft Windows XP Tablet PC Edition
  • Microsoft Windows XP Media Center Edition 2005 Update Rollup 2
  • Microsoft Windows 2000 Advanced Server
  • Microsoft Windows 2000 Professional Edition
  • Microsoft Windows 2000 Server
  • Windows Vista Business
  • Windows Vista Business 64-bit edition
  • Windows Vista Enterprise
  • Windows Vista Enterprise 64-bit edition
  • Windows Vista Home Basic
  • Windows Vista Home Basic 64-bit edition
  • Windows Vista Home Premium
  • Windows Vista Home Premium 64-bit edition
  • Windows Vista Ultimate
  • Windows Server 2008 R2 Datacenter
  • Windows Server 2008 R2 Enterprise
  • Windows Server 2008 R2 Standard
  • Windows Web Server 2008 R2
  • Windows 7 Enterprise
  • Windows 7 Home Basic
  • Windows 7 Home Premium
  • Windows 7 Professional
  • Windows 7 Ultimate
Klíčová slova: 
kbinfo kbnetwork kbmt KB172983 KbMtcs
Strojově přeložený článek
Důležité: Tento článek byl přeložen pomocí software společnosti Microsoft na strojový překlad, ne profesionálním překladatelem. Společnost Microsoft nabízí jak články přeložené překladatelem, tak články přeložené pomocí software na strojový překlad, takže všechny články ve Znalostní databázi (Knowledge Base) jsou dostupné v češtině. Překlad pomocí software na strojový překlad ale není bohužel vždy dokonalý. Obsahuje chyby ve skloňování slov, skladbě vět, nebo gramatice, podobně jako když cizinci dělají chyby při mluvení v češtině. Společnost Microsoft není právně zodpovědná za nepřesnosti, chyby nebo škody vzniklé chybami v překladu, nebo při použití nepřesně přeložených instrukcí v článku zákazníkem. Společnost Microsoft aktualizuje software na strojový překlad, aby byl počet chyb omezen na minimum.
Projděte si také anglickou verzi článku:172983

Dejte nám zpětnou vazbu

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com