Description of Windows 2000 and Windows Server 2003 TCP Features

การแปลบทความ การแปลบทความ
หมายเลขบทความ (Article ID): 224829 - ผลิตภัณฑ์ที่เกี่ยวข้องในบทความนี้
ขยายทั้งหมด | ยุบทั้งหมด



This article describes the following TCP features in Microsoft Windows 2000 and Microsoft Windows Server 2003:
  • TCP Window Size
  • TCP Options Now Supported
  • Windows Scaling - RFC 1323
  • Timestamp - RFC 1323
  • Protection against Wrapped Sequence Numbers (PAWS)
  • Selective Acknowledgments (SACKS) - RFC 2018
  • TCP Retransmission Behavior and Fast Retransmit
The TCP features can be changed by changing the entries in the registry.


สิ่งสำคัญนี้ส่วน วิธี หรืองานประกอบด้วยขั้นตอนที่บอกวิธีการแก้ไขรีจิสทรี อย่างไรก็ตาม ปัญหาร้ายแรงอาจเกิดขึ้นหากคุณปรับเปลี่ยนรีจิสทรีไม่ถูกต้อง ดังนั้น โปรดตรวจสอบให้แน่ใจว่าคุณได้ทำตามขั้นตอนเหล่านี้อย่างระมัดระวัง สำหรับการป้องกันเพิ่มเติม ให้สำรองรีจิสทรีก่อนทำการปรับเปลี่ยน เพื่อที่คุณจะสามารถคืนค่ารีจิสทรีได้หากมีปัญหาเกิดขึ้น สำหรับข้อมูลเพิ่มเติมเกี่ยวกับวิธีการสำรองข้อมูลและคืนค่ารีจิสทรี โปรดคลิกที่หมายเลขบทความต่อไปนี้ เพื่อดูบทความในฐานความรู้ของ Microsoft::
322756วิธีการสำรองข้อมูลและคืนค่ารีจิสทรีใน Windows

TCP window size

The TCP receive window size is the amount of receive data (in bytes) that can be buffered during a connection. The sending host can send only that amount of data before it must wait for an acknowledgment and window update from the receiving host. The Windows TCP/IP stack is designed to self-tune itself in most environments, and uses larger default window sizes than earlier versions.

Instead of using a hard-coded default receive window size; TCP adjusts to even increments of the maximum segment size (MSS), which is negotiated during connection setup. Adjusting the receive window to even increments of the MSS increases the percentage of full-sized TCP segments utilized during bulk data transmissions.

The receive window size is determined in the following manner:
  1. The first connection request sent to a remote host advertises a receive window size of 16K (16,384 bytes).
  2. When the connection is established, the receive window size is rounded up to an even increment of the MSS.
  3. The window size is adjusted to 4 times the MSS, to a maximum size of 64K, unless the window scaling option (RFC 1323) is used.
หมายเหตุ:See the "Windows scaling" section.

For Ethernet connections, the window size will normally be set to 17,520 bytes (16K rounded up to twelve 1460-byte segments). The window size may decrease when a connection is established to a computer that supports extended TCP head options, such as Selective Acknowledgments (SACKS) and Timestamps. These two options increase the TCP header size to more than 20 bytes, which results in less room for data.

In previous versions of Windows NT, the window size for an Ethernet connection was 8,760 bytes, or six 1460-byte segments.

To set the receive window size to a specific value, add the TcpWindowSize value to the registry subkey specific to your version of Windows. โดยให้ทำตามขั้นตอนต่อไปนี้::
  1. คลิกเริ่มการทำงานคลิกเรียกใช้ประเภท:regeditแล้ว คลิกตกลง.
  2. Expand the registry subkey specific to your version of Windows:
    • For Windows 2000, expand the following subkey:
    • For Windows Server 2003, expand the following subkey:
  3. ในการแก้ไขเมนู ให้ชี้ไปที่ใหม่แล้ว คลิกค่า DWORD.
  4. ประเภท:TcpWindowSizeในการNew Valuebox, and thne press Enter
  5. คลิกปรับเปลี่ยนในการแก้ไขเมนู
  6. Type the desired window size in theข้อมูลค่า:กล่อง

    หมายเหตุ:. The valid range for window size is 0-0x3FFFC000 Hexadecimal.
This value is not present by default. When you add the TcpWindowSize value, it overrides the default window size algorithm discussed above.

หมายเหตุ:TcpWindowSize can also be added to the Parameters key to set the window size globally for all interfaces.

TCP options now supported

In the past, TCP options were used primarily for negotiating maximum segment sizes. In Windows, TCP options are used for Window Scaling, Time Stamp, and Selective ACK.

There are two types of TCP options:
  1. A single octet TCP option, which is used to indicate a specific option kind.
  2. A multiple octet TCP option, which consists of an option kind, an option length and a series of option octets.
The following list shows each TCP option kind, length, name, and description.
Kind: 0
Length: 1
Option: End of Option List
Description: This is used when padding is needed for the last TCP option.

Kind: 1
Length: 1
Option: No Operation
Description: This is used when padding is needed and more TCP options follow within the same packet.

Kind: 2
Length: 4
Option: Maximum Segment Size
Description: This indicates the maximum size for a TCP segment that can be sent across the network.

Kind: 3
Length: 3
Option: Window Scale Option
Description: Identifies the scaling factor to be used when using window sizes larger than 64k.

Kind: 8
Length: 10
Option: Time Stamp Option
Description: Used to help calculate the Round Trip Time (RTT) of packets transmitted.

Kind: 4
Length: 2
Option: TCP SACK permitted
Description: Informs other hosts that Selective Acks are permitted.

Kind: 5
Length: Varies
Option: TCP SACK Option
Description: Used by hosts to identify whether out-of-order packets were received.

Windows scaling

For more efficient use of high bandwidth networks, a larger TCP window size may be used. The TCP window size field controls the flow of data and is limited to 2 bytes, or a window size of 65,535 bytes.

Since the size field cannot be expanded, a scaling factor is used. TCP window scale is an option used to increase the maximum window size from 65,535 bytes to 1 Gigabyte.

The window scale option is used only during the TCP 3-way handshake. The window scale value represents the number of bits to left-shift the 16-bit window size field. The window scale value can be set from 0 (no shift) to 14.

To calculate the true window size, multiply the window size by 2^S where S is the scale value.
If the window size is 65,535 bytes with a window scale factor of 3.
True window size = 65535*2^3
True window size = 524280
The following Network Monitor trace shows how the window scale option is used:
TCP: ....S., len:0, seq:725163-725163, ack:0, win:65535, src:1217 dst:139(NBT Session)
TCP: Source Port = 0x04C1
TCP: Destination Port = NETBIOS Session Service
TCP: Sequence Number = 725163 (0xB10AB)
TCP: Acknowledgement Number = 0 (0x0)
TCP: Data Offset = 44 (0x2C)
TCP: Reserved = 0 (0x0000)
+ TCP: Flags = 0x02 : ....S.
TCP: Window = 65535 (0xFFFF)
TCP: Checksum = 0x8565
TCP: Urgent Pointer = 0 (0x0)
TCP: Options
+ TCP: Maximum Segment Size Option
TCP: Option Nop = 1 (0x1)
TCP: Window Scale Option
TCP: Option Type = Window Scale
TCP: Option Length = 3 (0x3)
TCP: Window Scale = 3 (0x3)

TCP: Option Nop = 1 (0x1)
TCP: Option Nop = 1 (0x1)
+ TCP: Timestamps Option
TCP: Option Nop = 1 (0x1)
TCP: Option Nop = 1 (0x1)
+ TCP: SACK Permitted Option
It's important to note that the window size used in the actual 3-way handshake is NOT the window size that is scaled. This is per RFC 1323 section 2.2, "The Window field in a SYN (for example, a [SYN] or [SYN,ACK]) segment itself is never scaled."

This means that the first data packet sent after the 3-way handshake is the actual window size. If there is a scaling factor, the initial window size of 65,535 bytes is always used. The window size is then multiplied by the scaling factor identified in the 3-way handshake. The table below represents the scaling factor boundaries for various window sizes.

Scale FactorScale ValueInitial WindowWindow Scaled
0165535 or less65535 or less


ถ้าหน้าต่างขนาดใน รีจิสทรีถูกป้อนเป็น 269000000 (269 M) ในเลขฐานสิบ ปัจจัย scaling ใน 11i-3 วิธีคือ 13 เนื่องจากตัวคูณ scaling ของ 12 อนุญาตให้เฉพาะ หน้าต่างขนาดเป็น 268,431,360 ไบต์ (268 M)

ไบต์ที่ 65,535 ด้วยปัจจัยการปรับมาตราส่วนของหน้าต่างของ 13
true ขนาดหน้าต่าง = 65535 * 2 ^ 13
true ขนาดหน้าต่าง = 536,862,720
เมื่อค่าของขนาดหน้าต่างถูกเพิ่มลงในรีจิสทรี และขนาดที่มีขนาดใหญ่กว่าค่าเริ่มต้น Windows พยายามใช้ค่ามาตราส่วนที่ accommodates ขนาดหน้าต่างใหม่

สามารถเพิ่มค่า Tcp1323Opts ในรีจิสทรีคีย์ต่อไปนี้เพื่อควบคุมหน้าต่าง scaling และการประทับเวลา:
  1. บนแถบเครื่องมือคลิกเริ่มการทำงานคลิกเรียกใช้จากนั้น พิมพ์regeditเมื่อต้องการเริ่มตัวแก้ไขรีจิสทรี
  2. คลิก'ตัวแก้ไขในการรีจิสทรี'แก้ไขชี้ไปที่ใหม่แล้ว คลิกค่า DWORD.
  3. ในการค่าใหม่กล่อง ชนิดTcp1323Optsกดป้อนและจากนั้นในการแก้ไขเมนู คลิกปรับเปลี่ยน.หมายเหตุ:ช่วงที่ถูกต้องคือ 0,1,2 หรือตำแหน่ง 3:
0 (ปิดใช้งานตัวเลือก RFC 1323)
1 (สเกลหน้าต่างที่เปิดใช้งานเท่านั้น)
2 (timestamps ที่เปิดใช้งานเท่านั้น)
3 (ตัวเลือกทั้งการเปิดใช้งาน)
รายการรีจิสทรีนี้ควบคุม timestamps RFC 1323 และหน้าต่างที่ตัวเลือกการปรับมาตราส่วน Timestamps และปรับขนาดหน้าต่างจะเปิดใช้งาน โดยค่าเริ่มต้น แต่ manipulated ด้วยค่าสถานะบิต บิตการปรับขนาดหน้าต่างควบคุม 0 และบิต timestamps ควบคุม 1


ก่อนหน้านี้ สแต็ค TCP/IP ที่ใช้ตัวอย่างหนึ่งต่อหน้าต่างของข้อมูลที่ส่งไปยังคำนวณเวลากำหนดการปัด (RTT) ตัวจับเวลา (ตัวจับเวลา retransmit) ถูกตั้งค่าเมื่อแพ็คเก็ตถูกส่ง จนกว่าจะยอมรับได้รับ ตัวอย่างเช่น ถ้าขนาดของหน้าต่าง 64,240 ไบต์ (44 เซ็กเมนต์ทั้งหมด) บนเครือข่ายอีเทอร์เน็ต เพียงหนึ่งของแพคเก็ตทุก 44 ถูกใช้ในการคำนวณเวลาและการปัด ด้วยขนาดหน้าต่างที่สูงสุดเป็นไบต์ 65,535 อัตรา sampling นี้ไม่เพียงพอ ใช้การปรับขนาดหน้าต่าง และขนาดของหน้าต่างที่สูงสุดของ 1 กิกะไบต์ อัตราการ sampling ค่านี้ไม่ได้เพียงพอ

ขณะนี้ตัวเลือกการประทับเวลาของ TCP สามารถถูกตั้งค่าที่จะใช้ในเซ็กเมนต์ (ข้อมูลและ ACK) deemed เหมาะสม โดยการกองซ้อน การดำเนินการต่าง ๆ เช่นการคำนวณค่า การตรวจสอบ PAWS และอื่น ๆ ใช้ข้อมูลนี้ ค่าสามารถบอกคำนวณกับขนาดของหน้าต่างที่มีขนาดใหญ่ ค่าถูกใช้เพื่อคำนวณช่วง retransmission ค่าและ retransmission timeouts ต้องจำเป็นสำหรับการ optimum สูง

เมื่อมีการประทับเวลาของ TCP ถูกใช้ในเซสชัน TCP ผู้สร้างเซสชันส่งตัวเลือกในแพ็คเก็ตแรกของวิธีการสาม TCP handshake (SYN แพคเก็ต) ด้านอย่างใดอย่างหนึ่งจากนั้นสามารถใช้ตัวเลือก TCP ในระหว่างรอบเวลา

ตัวเลือก Timestamps การ tcp (TSopt):

ชนิด = 8ความยาว = 10ค่า ts (Tsval)ตอบกลับเสียงก้อง ts (Tsecr)
ไบต์ที่ 1ไบต์ที่ 1ไบต์ที่ 4ไบต์ที่ 4

ฟิลด์อ็อพชันการประทับเวลาสามารถดูได้ในการสืบค้นกลับของการตรวจสอบเครือข่าย ด้วยการขยายฟิลด์อ็อพชัน TCP ตามที่แสดงอยู่ด้านล่าง:
tcp: ตัวเลือก Timestamps
TCP: อ็อพชันชนิด = Timestamps
ความยาวของ TCP: อ็อพชัน = 10 (0xA)
การประทับเวลาของ TCP: = 2525186 (0x268802)
TCP: ตอบกลับการประทับเวลา = 1823192 (0x1BD1D8)

ป้องกันการหมายเลขการจัดลำดับ (PAWS)

ฟิลด์หมายเลขลำดับ TCP ถูกจำกัดไปยังรูปแบบ 32 บิต ซึ่งจำกัดจำนวนของหมายเลขลำดับที่พร้อมใช้งาน ด้วยเครือข่ายกำลังการผลิตที่ความละเอียดสูงและการโอนย้ายข้อมูลขนาดใหญ่ คือคุณสามารถตัดลำดับหมายเลขก่อนที่แพคเก็ต traverses เครือข่าย ถ้าการส่งข้อมูลบนแบบ 1 Giga ไบต์ต่อเครือข่าย (อี) ที่สอง ลำดับหมายเลขได้ตัดในน้อย 34 วินาที ถ้าแพคเก็ตล่าช้า แพคเก็ตที่แตกต่างกันได้อาจพบ ด้วยลำดับหมายเลขเดียวกัน เมื่อต้องการหลีกเลี่ยงการ confusion ในกรณีของการซ้ำลำดับหมายเลข ประทับเวลาของ TCP ถูกใช้เป็นส่วนขยายไปยังหมายเลขลำดับ แพคเก็ตได้ปัจจุบัน และ progressing เวลาลง แพคเก็ตที่เก่ามีการประทับเวลาเก่า และจะถูกยกเลิก

Acknowledgements selective (SACKs)

windows แนะนำการสนับสนุนสำหรับคุณลักษณะประสิทธิภาพการทำงานที่เรียกว่าการรับรองที่เลือก หรือ SACK SACK เป็นสิ่งสำคัญอย่างยิ่งที่สำหรับการเชื่อมต่อที่ใช้ขนาดหน้าต่าง TCP ที่มีขนาดใหญ่ รับก่อนที่จะ SACK เครื่องรับได้เฉพาะทราบหมายเลขลำดับล่าสุดของกระแสข้อมูลของข้อมูลที่อยู่ติดกันที่ได้รับ หรือ "ขอบด้านซ้าย" ของหน้าต่าง receive ด้วยการเปิดใช้งาน SACK ตัวรับสัญญาณที่ยังคงใช้หมายเลข ACK เพื่อยอมรับขอบด้านซ้ายของหน้าต่าง receive แต่รับดังกล่าวสามารถยังทราบบล็อกอื่น ๆ ของข้อมูลที่ได้รับแต่ละรายการ SACK ใช้ตัวเลือกของส่วนหัว TCP ตามที่แสดงอยู่ด้านล่าง

SACK ใช้ตัวเลือกของ TCP สองชนิด

ตัวเลือกการ TCP Sack-Permitted ถูกใช้เฉพาะในแพคเก็ต SYN (ในระหว่างการสร้างจะเชื่อมต่อ TCP) เพื่อบ่งชี้ว่า สามารถทำงาน ACK.

ตัวเลือกที่สอง TCP ตัวเลือกการ Sack TCP ประกอบด้วยการยอมรับสำหรับบล็อกของข้อมูลอย่าง น้อยหนึ่งรายการ บล็อกข้อมูลที่ระบุโดยใช้หมายเลขลำดับ เมื่อเริ่มต้น และ ส่วนท้ายของที่บล็อกของข้อมูล This is also known as the left and right edge of the block of data.

Kind 4 is TCP Sack-Permitted Option, Kind 5 is TCP Sack Option. Length is the length in bytes of this TCP option.

Tcp Sack Permitted:

Kind = 4Length = 2
1 byte1 byte

Tcp SACK Option:

Kind = 5Length = Variable
1 byteLeft edge of 1st block to Right edge of 1st block
Left edge of Nth block to Right edge of Nth block

With SACK enabled (default), a packet or series of packets can be dropped, and the receiver informs the sender which data has been received, and where there may be "holes" in the data. The sender can then selectively retransmit the missing data without a retransmission of blocks of data that have already been received successfully. SACK is controlled by the SackOpts registry parameter.

The SackOpts value in the following registry key can be edited to control the use of selective acknowledgements:
  1. บนแถบเครื่องมือคลิกเริ่มการทำงานคลิกเรียกใช้จากนั้น พิมพ์regeditto start the Registry Editor.
  2. Locate and click the above key in the Registry Editor, and then clickปรับเปลี่ยนในการแก้ไขเมนู
  3. Type the desired value in theข้อมูลค่า:กล่อง
หมายเหตุ:: The valid binary value is 0 or 1, the default value is 1. This parameter controls whether or not Selective ACK (SACK - RFC 2018) support is enabled.

The following Network Monitor trace illustrates a host acknowledging all data up to sequence number 54857341, plus the data from sequence number 54858789-54861685. The missing data is from 54857341 to 54858788.
TCP: .A...., len:0, seq:925104-925104, ack:54857341, win:32722, src:1242 dst:139
TCP: Source Port = 0x04DA
TCP: Destination Port = NETBIOS Session Service
TCP: Sequence Number = 925104 (0xE1DB0)
TCP: Acknowledgement Number = 54857341 (0x3450E7D)
TCP: Data Offset = 44 (0x2C)
TCP: Reserved = 0 (0x0000)
+ TCP: Flags = 0x10 : .A....
TCP: Window = 32722 (0x7FD2)
TCP: Checksum = 0x4A72
TCP: Urgent Pointer = 0 (0x0)
TCP: Options
TCP: Option Nop = 1 (0x1)
TCP: Option Nop = 1 (0x1)
+ TCP: Timestamps Option
TCP: Option Nop = 1 (0x1)
TCP: Option Nop = 1 (0x1)
TCP: SACK Option
TCP: Option Type = 0x05
TCP: Option Length = 10 (0xA)
TCP: Left Edge of Block = 54858789 (0x3451425)
TCP: Right Edge of Block = 54861685 (0x3451F75)

TCP retransmission behavior and fast retransmit

TCP Retransmission

As a review of normal retransmission behavior, TCP starts a retransmission timer when each outbound segment is handed down to the Internet Protocol (IP). If no acknowledgment has been received for the data in a given segment before the timer expires, then the segment is retransmitted.

The retransmission timeout (RTO) is adjusted continuously to match the characteristics of the connection using Smoothed Round Trip Time (SRTT) calculations as described in RFC 793. The timer for a given segment is doubled after each retransmission of that segment. Using this algorithm, TCP tunes itself to the normal delay of a connection.

Fast Retransmit

tcp retransmits ข้อมูลก่อนที่ตัวจับเวลา retransmission หมดอายุภายใต้สถานการณ์บางอย่าง การเกิดขึ้นใหญ่เหล่านี้เนื่องจากการเป็นคุณลักษณะที่เรียกว่า retransmit อย่างรวดเร็ว เมื่อผู้รับที่สนับสนุนการกรอ retransmits ได้รับข้อมูลที่ มีหมายเลขลำดับเกินกว่าคาดไว้ที่คุณใช้อยู่ปัจจุบัน และจากนั้น มีแนวโน้มว่า ข้อมูลบางตัวถูกส่งน้อยลง เพื่อช่วยผู้ส่งนี้เหตุการณ์การแจ้งให้ทราบ ผู้รับทันทีส่ง ACK มี ด้วยชุดหมายเลข ACK กับหมายเลขลำดับที่ถูกต้อง คุณจะดำเนินต่อการทำเช่นนี้สำหรับแต่ละส่วน TCP เพิ่มเติมที่มาถึง เมื่อผู้ส่งเริ่มต้นการรับกระแสข้อมูลของ ACKs ที่เป็น acknowledging หมายเลขลำดับเดียวกัน มีแนวโน้มว่า เซ็กเมนต์ได้ถูกส่งน้อยลง ผู้ส่งที่จะส่งทันทีเซ็กเมนต์ที่ผู้รับที่ถูกต้อง โดยไม่ต้องรอให้ตัวจับเวลา retransmission จะหมดอายุ ปรับให้เหมาะสมนี้ช่วยเพิ่มประสิทธิภาพการทำงานได้อย่างมากเมื่อแพ็คเก็ตมักจะตกหาย

โดยค่าเริ่มต้น Windows resends เซ็กเมนต์ถ้าได้รับ ACKs สามสำหรับลำดับหมายเลขเดียวกัน, (ACK หนึ่ง และสำเนาที่ 2) และ lags นั้นหมายเลขลำดับปัจจุบัน นี่คือ controllable กับพารามิเตอร์ของรีจิสทรี TcpMaxDupAcks

สามารถแก้ไขค่า TcpMaxDupAcks ในรีจิสทรีคีย์ต่อไปนี้จะควบคุมจำนวนที่ใช้ในการจำเป็นต้องเริ่มการทำงานเร็ว ACKs retransmits:
  1. บนแถบเครื่องมือคลิกเริ่มการทำงานคลิกเรียกใช้จากนั้น พิมพ์regeditเมื่อต้องการเริ่มตัวแก้ไขรีจิสทรี
  2. ค้นหา และคลิกคีย์ข้างต้นในตัวแก้ไขรีจิสทรี และจากนั้น คลิกปรับเปลี่ยนในการแก้ไขเมนู
  3. พิมพ์ค่าที่ต้องการในการข้อมูลค่า:กล่อง
หมายเหตุ:: ช่วงที่ถูกต้องอยู่ 1 3 ค่าเริ่มต้นเป็น 2

พารามิเตอร์นี้กำหนดหมายเลขของ ACKs ที่ซ้ำกันที่ต้องได้รับสำหรับหมายเลขลำดับเดียวกันของข้อมูลที่ส่งก่อน "retransmit เร็ว" จะถูกทริกเกอร์เมื่อต้องการส่งส่วนที่ได้ถูกส่งน้อยลงในการส่งต่อ


หมายเลขบทความ (Article ID): 224829 - รีวิวครั้งสุดท้าย: 8 มกราคม 2554 - Revision: 4.0
  • Microsoft Windows 2000 Server
  • Microsoft Windows 2000 Advanced Server
  • Microsoft Windows 2000 Professional Edition
  • Microsoft Windows Server 2003 Enterprise Edition
  • Microsoft Windows Server 2003 Standard Edition
  • Microsoft Windows Server 2003 Datacenter Edition
kbenv kbinfo kbnetwork kbmt KB224829 KbMtth
ข้อมูลสำคัญ: บทความนี้แปลโดยซอฟต์แวร์การแปลด้วยคอมพิวเตอร์ของ Microsoft แทนที่จะเป็นนักแปลที่เป็นบุคคล Microsoft มีบทความที่แปลโดยนักแปลและบทความที่แปลด้วยคอมพิวเตอร์ เพื่อให้คุณสามารถเข้าถึงบทความทั้งหมดในฐานความรู้ของเรา ในภาษาของคุณเอง อย่างไรก็ตาม บทความที่แปลด้วยคอมพิวเตอร์นั้นอาจมีข้อบกพร่อง โดยอาจมีข้อผิดพลาดในคำศัพท์ รูปแบบการใช้ภาษาและไวยากรณ์ เช่นเดียวกับกรณีที่ชาวต่างชาติพูดผิดเมื่อพูดภาษาของคุณ Microsoft ไม่มีส่วนรับผิดชอบต่อความคลาดเคลื่อน ความผิดพลาดหรือความเสียหายที่เกิดจากการแปลเนื้อหาผิดพลาด หรือการใช้บทแปลของลูกค้า และ Microsoft มีการปรับปรุงซอฟต์แวร์การแปลด้วยคอมพิวเตอร์อยู่เป็นประจำ



Contact us for more help

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