tcpretrans.bt(8) System Manager's Manual tcpretrans.bt(8)

tcpretrans.bt - ردیابی یا شمارش ارسال‌های مجدد TCP با استفاده از bpftrace/eBPF لینوکس

tcpretrans.bt

این ابزار ارسال‌های مجدد TCP را ردیابی کرده و اطلاعات نشانی، درگاه، وضعیت TCP و گاهی PID را نمایش می‌دهد (اگرچه معمولاً نمایش داده نمی‌شود، زیرا ارسال‌های مجدد اغلب توسط هسته بر اثر اتمام مهلت زمانی یا timeout ارسال می‌شوند). برای پایین نگه داشتن بار پردازشی (overhead)، تنها توابع ارسال مجدد TCP ردیابی می‌شوند. این ابزار تک‌تک بسته‌ها را ردیابی نمی‌کند (برخلاف tcpdump(8) یا شنودکننده‌های بسته). به صورت اختیاری، می‌تواند ارسال‌های مجدد را در یک بازه زمانی مشخص‌شده توسط کاربر شمارش کند تا مسیرهای شبکه‌ای با افت احتمالی بسته در طول تبادلات شناسایی شوند.

این ابزار از ردیابی پویای توابع هسته tcp_retransmit_skb() و tcp_send_loss_probe() استفاده می‌کند و برای هماهنگی با تغییرات اعمال‌شده روی این توابع در هسته، نیازمند به‌روزرسانی خواهد بود.

از آنجا که این ابزار از BPF استفاده می‌کند، تنها کاربر ریشه (root) می‌تواند از آن استفاده کند.

CONFIG_BPF و bcc. CONFIG_BPF و bpftrace.

ردیابی ارسال‌های مجدد TCP:
# tcpretrans.bt

زمان فراخوانی، در قالب HH:MM:SS.
شناسه فرایندی که روی CPU در حال اجرا بوده است. این فیلد ممکن است کمتر از آنچه به نظر می‌رسد مفید باشد، زیرا معمولاً برای ارسال‌های مجدد مبتنی بر تایمر در هسته مقدار 0 دارد.
نشانی IP محلی و درگاه محلی.
نشانی IP راه دور و درگاه راه دور.
وضعیت نشست TCP.

باید ناچیز باشد: رویدادهای ارسال مجدد TCP معمولاً کم هستند (کمتر از ۱۰۰۰ در ثانیه)، و بار پردازشی اندکی که این ابزار به ازای هر رویداد اضافه می‌کند هزینه کلی را ناچیز می‌سازد.

این ابزار برگرفته از bpftrace است.

https://github.com/bpftrace/bpftrace

همچنین در توزیع bpftrace به فایل همراه _examples.txt که شامل نمونه نحوه استفاده، خروجی و توضیحات این ابزار است مراجعه کنید.

این یک نسخه bpftrace از ابزار bcc با همین نام است. ابزار bcc ممکن است گزینه‌ها و قابلیت‌های سفارشی‌سازی بیشتری ارائه دهد.

https://github.com/iovisor/bcc

Linux

ناپایدار - در حال توسعه.

Brendan Gregg، سازگار شده برای bpftrace توسط Dale Hamel

tcpconnect.bt(8), tcpaccept.bt(8)

2018-11-24 USER COMMANDS