TCP нэвтрүүлэх чадварын дээд хязгаарыг ойлгох нь
Сүлжээний практикт холболтын онолын хурд болон бодит дамжуулалтын хурд хоёрын хооронд ихээхэн зөрүү гардаг. Нэг TCP урсгалын бодит нэвтрүүлэх чадвар нь зөвхөн шугамын хурднаас бус, сүлжээний замын хоцролт, пакет алдагдал болон хүлээн авагч талын буферийн хэмжээ зэрэг харилцан хамааралтай хүчин зүйлсээс шууд хамаардаг. "Сүлжээний Хоцролт ба Зурвасын Өргөний Тооцоолуур" нь эдгээр параметрүүдийг ашиглан тухайн сүлжээний замын бодит дээд хязгаарыг тооцоолж, дамжуулалтыг хязгаарлаж буй гол саадыг тодорхойлдог хэрэгсэл юм.
Нэг TCP урсгалын хурд нь бие даасан гурван дээд хязгаарын хамгийн бага утгаар тодорхойлогддог:
- Холболтын багтаамж (link capacity): Протоколын нэмэлт зардлыг хассан шугамын физик хурд.
- Хүлээн авах цонх (the receive window): Хүлээн авагч талын буферлэх чадвараар хязгаарлагдах хурд.
- Пакет алдагдал (packet loss): Сүлжээний түгжрэл болон алдагдлаас шалтгаалж Mathis загвараар тооцоологдох хурд.
Эдгээр хязгаарлалтуудын аль бага нь бодит дамжуулалтын хурдыг тодорхойлох бөгөөд тооцоолуурын үр дүнд үүнийг "‹constraint›-аар хязгаарлагдсан" гэдгээр буюу холболтын багтаамж, хүлээн авах цонх, эсвэл пакет алдагдлаар хязгаарлагдсан болохыг динамикаар зааж өгдөг.
Оруулах өгөгдөл ба хязгаарлалтууд
Тооцоолуурыг ашиглахын тулд хэрэглэгч дараах оролтын утгуудыг оруулна:
- Холболтын хурд: Зам дээрх хамгийн удаан холболт буюу таны тарифын төлөвлөгөөний хурд. Утга нь тэгээс их байх ёстой бөгөөд буруу оруулсан тохиолдолд "Холболтын хурд нь тэгээс их байх ёстой." гэсэн алдаа заана.
- Эргэлтийн хугацаа (RTT): Алсын цэг хүртэлх пинг хугацаа бөгөөд ачаалалтай үед хүлээгдэж буй хамгийн их утгыг ашиглана. Тэгээс их байх шаардлагатай бөгөөд буруу утгад "Эргэлтийн хугацаа (RTT) нь тэгээс их байх ёстой." гэж анхааруулна.
- Өгөгдлийн хэмжээ: Дамжуулах файл, нөөц хуулбар эсвэл өгөгдлийн багцын хэмжээ. Тэгээс их байх ёстой бөгөөд буруу утгад "Өгөгдлийн хэмжээ нь тэгээс их байх ёстой." гэсэн алдаа гарна.
- Хүлээн авах цонх: Хүлээн авагчийн буферлэх боломжтой байтын хэмжээ. Тэгээс их байх ёстой бөгөөд RFC 7323 стандартын дагуу 1,073,725,440 байтаас хэтрэхгүй байх ёстой. Хэрэв хэтэрвэл "TCP нь 1,073,725,440 байтаас дээш цонхыг тохиролцох боломжгүй (RFC 7323 цонхны масштабжуулалт)." гэсэн алдааг харуулна. Энэ талбарыг хоосон орхивол цонхны хязгаарлалтгүй гэж үзнэ.
- MSS (байт): Нэг пакет дахь ачааллын байтын хэмжээ. 1-ээс 65,495-ын хооронд бүхэл тоо байх ёстой бөгөөд хязгаараас давбал "MSS нь 1-ээс 65,495-ын хооронд бүхэл байтаар илэрхийлэгдсэн утга байх ёстой." гэсэн алдаа заана. Хоосон орхивол нэмэлт зардал болон алдагдлыг тооцохгүй.
- Пакет алдагдал (%): Пакет алдагдлын дундаж магадлал. 0-оос 100 хувийн хооронд байх ёстой бөгөөд хязгаараас давбал "Алдагдлын хувь хэмжээ 0-оос 100 хувийн хооронд байх ёстой." гэсэн алдаа заана. Хоосон эсвэл 0 гэж оруулбал алдагдлын хязгааргүй гэж үзнэ.
- Харагдах аравтын орон: Гаралтын утгуудын нарийвчлалыг тодорхойлно.
Интерфэйс дээрх "Жишээ ачаалах" товчлуураар бэлэн жишээ өгөгдлийг ачаалж болох бөгөөд "Арилгах" товчлуураар талбаруудыг цэвэрлэнэ. Хэрэв оруулсан тэмдэгт тоо биш бол "‹field›: “‹token›” нь тоо биш байна." гэсэн алдааг харуулна. Тооцоолол системийн хязгаараас давсан тохиолдолд "Утга эсвэл завсрын үр дүн нь дэмжигдэх тооны мужаас хэтэрсэн байна." гэсэн алдаа гарна.
Тооцоолох томьёо ба аргачлал
Тооцоолуур нь дараах үндсэн томьёо болон алхмуудыг ашиглан бодит нэвтрүүлэх чадвар болон хугацааг тооцоолно:
1. Протоколын үр ашиг ба холболтын дээд хязгаар
Сүлжээний протоколын нэмэлт зардал нь стандарт Ethernet фрейм дээр суурилдаг бөгөөд пакет бүрт 78 байт (TCP/IP толгойн 40 байт + физик шугамын 38 байт) нэмэгддэг. Протоколын үр ашиг = MSS / (MSS + 78 B) Үүнээс холболтын бодит дээд хязгаарыг дараах байдлаар тооцно: Холболтын дээд хязгаар = Хурд × Үр ашиг
2. Зурвасын өргөн-хоцролтын үржвэр (BDP) ба шаардлагатай цонх
BDP нь тухайн сүлжээний замыг бүрэн дүүргэхийн тулд шугаман дээр байх ёстой өгөгдлийн хэмжээг заана. BDP = Хурд × RTT Замыг дүүргэхэд шаардлагатай цонхны хэмжээг дараах байдлаар тооцно: Замыг дүүргэх цонх = BDP / 8
3. Цонхны дээд хязгаар
Хүлээн авах цонхны хэмжээнээс хамаарсан нэвтрүүлэх чадварын хязгаарлалт: Цонхны дээд хязгаар = Хүлээн авах цонх / RTT
4. Mathis загварын алдагдлын хязгаар
Пакет алдагдалтай үед TCP нэвтрүүлэх чадварын дээд хязгаарыг Mathis томьёогоор тодорхойлно: Алдагдлын дээд хязгаар (Mathis) = MSS / (RTT × √(p)) Энд p нь пакет алдагдлын магадлал юм.
5. Хүлээгдэж буй нэвтрүүлэх чадвар ба дамжуулах хугацаа
Эцсийн хүлээгдэж буй нэвтрүүлэх чадвар нь дээрх гурван хязгаарын хамгийн бага нь байна: Хүлээгдэж буй нэвтрүүлэх чадвар = min(Холболтын дээд хязгаар, Цонхны дээд хязгаар, Алдагдлын дээд хязгаар) Нийт дамжуулах хугацааг дараах байдлаар тооцно: Дамжуулах хугацаа = RTT + (8 × Өгөгдлийн хэмжээ) / Хүлээгдэж буй нэвтрүүлэх чадвар
Сүлжээний дүрэм ба онцгой тохиолдлууд
- Нэгжийн хөрвүүлэлт: Сүлжээний бүх нэгжүүд аравтын системд суурилдаг (жишээ нь, 1 kbit = 1,000 бит, 1 MB = 1,000,000 байт). Файл менежерүүд ихэвчлэн 1024-т суурилсан хоёртын системийг (Жишээ нь, 100 MB файл нь бодит байдал дээр 100 MiB буюу ойролцоогоор 104.86 аравтын MB болно) ашигладаг тул тооцоолол хийхдээ үүнийг анхаарах шаардлагатай.
- Mathis загварын хязгаарлалт: Mathis загвар нь пакет алдагдлыг жигд тархсан гэж үздэг бөгөөд зөвхөн 1%-иас бага алдагдалтай үед найдвартай ажилладаг. Хэрэв алдагдал 1%-иас давбал тооцоолуур "1%-иас дээш алдагдал нь Mathis загварын найдвартай хязгаараас гадуур тул алдагдлын дээд хязгаарыг өөдрөгөөр төсөөлсөн гэж үзнэ үү." гэсэн анхааруулгыг харуулна.
- TCP цонхны масштабжуулалт (RFC 7323):
- Стандарт TCP цонхны дээд хязгаар нь 65,535 байт байдаг. Хэрэв замыг дүүргэхэд шаардлагатай цонх үүнээс давбал "Энэ замыг дүүргэхийн тулд
‹window›цонх шаардлагатай — энэ нь масштабгүй хамгийн их хэмжээ болох 65,535 байтаас дээш тул хоёр тал хоёулаа TCP цонхны масштаблах (RFC 7323) тохиргоог хийх шаардлагатай." гэсэн тэмдэглэл гарна. - RFC 7323 стандартын дагуу тохиролцож болох хамгийн дээд цонхны хэмжээ нь 1,073,725,440 байт юм. Хэрэв шаардлагатай цонх үүнээс давбал "Энэ замыг дүүргэхийн тулд
‹window›шаардлагатай — энэ нь TCP-ийн тохиролцож чадах хамгийн том цонхны хэмжээнээс (1,073,725,440 байт) хэтэрсэн байна. Энэ зам дээрх нэг урсгал хэзээ ч‹value›-аас хэтрэх боломжгүй." гэж анхааруулна.
- Стандарт TCP цонхны дээд хязгаар нь 65,535 байт байдаг. Хэрэв замыг дүүргэхэд шаардлагатай цонх үүнээс давбал "Энэ замыг дүүргэхийн тулд
- Загварын хамрах хүрээ: Энэхүү тооцоолол нь тогтвортой төлөвт байгаа нэг TCP урсгалыг авч үздэг. Бодит амьдрал дээрх TCP slow start (удаан эхлэл), түгжрэлийн хяналтын алгоритмын зохицуулалт, хүлээн авагчийн удаан ажиллагаа болон TLS гар барилт (handshake) зэрэг хүчин зүйлсийг тооцоогүй тул бодит дамжуулалт тооцоолсон дээд хязгаараас удаан байх боломжтой.
Нууцлал ба боловсруулалт
Энэхүү тооцоолуур нь хэрэглэгчийн нууцлалыг бүрэн хангасан бөгөөд таны оруулсан утга бүрийг зөвхөн таны ашиглаж буй хөтөч дотор локал байдлаар тооцоолж, ямар нэгэн гадны сервер рүү дамжуулахгүй.
Түгээмэл асуултууд (FAQ)
Асуулт: Миний дамжуулалт яагаад миний төлж буй холболтын хурднаас удаан байна вэ? Хариулт: Нэг TCP урсгал нь бие даасан гурван дээд хязгаартай тулгардаг бөгөөд хамгийн бага нь шийдвэрлэх үүрэг гүйцэтгэдэг. Протоколын нэмэлт зардал нь холболтыг өөрийг нь ойролцоогоор 5%-иар бууруулдаг — стандарт Ethernet фрейм нь шугаман дээрх 1,538 байтаас 1,460 байтын ачааллыг дамжуулдаг. Хүлээн авах цонх нь нэвтрүүлэх чадварыг window ÷ RTT-ээр хязгаарладаг тул сонгодог 65,535 байтын цонх нь холболт хэчнээн хурдан байсан ч 50 ms сааталтай замыг ойролцоогоор 10.5 Mbit/s хүртэл хязгаарладаг. Мөн алдагдал нь үүнийг (MSS ÷ RTT) ÷ √loss томьёогоор хязгаарладаг. Дээрх үр дүн нь таны оруулсан тоонуудад аль хязгаарлалт үйлчилж байгааг зааж өгнө.