Archive for the ‘IP Network’ Category

0183 | TCP MSS Clamping

Sunday, July 27th, 2014 Posted in IP Network, Linux | No Comments »

MSS => Maximum segment size คือค่า parameter ระบุขนาด packet สูงสุดที่ server ทั้งสองฝ่ายรับรู้ เพื่อป้องกันไม่ให้ packet มีขนาดมากเกินว่าค่า MTU ใน Layer 2 ซึ่งถ้าเกินจะทำให้ packet โดน drop หายไปกลางทาง ตามก็ไม่เจอ trace ก็ไม่เห็นว่า loss (เพราะตอน trace ไม่ได้ใช้ packet ขนาดเท่ากะที่ loss) สนุกสนานมาก

เนื่องด้วย TCP เป็น 2-way communication เพราะงั้นก็เลยมี option MSS ไว้ระบุว่าทั้งสองฝั่งจะคุยกันด้วยขนาด packet ไม่เกินเท่าไหร่ ส่งตอบไปตอบกลับตอน 3-way handshake แล้วก็จะพยายามส่ง packet ขนาดไม่เกินเท่านั้นตลอด

MTU interface ปกติคือ 1500 ถ้า traffic ต้องวิ่งผ่าน interface ที่มี encapsulation เพิ่มเช่น pppoe หรือ tunnel ต่างๆ ก็ต้องหัก header ของการ encapsulation นี้ออกไปทำให้ MTU ลดลงไปอีกด้วย ถ้าเครื่องต้นทางและปลายทาง config ไว้ไม่ดีก็อาจทำให้ packet loss ได้

iptables มีตัวช่วยคือ mangle TCP MSS ที่ช่วยแก้ไขค่า MSS ใน packet ให้อยู่ในระดับที่เหมาะสมได้ดังนี้ครับ

iptables -t mangle -A POSTROUTING -p tcp –tcp-flags SYN,RST SYN -m tcpmss –mss 1453:1536 -j TCPMSS –set-mss 1452

คำสั่งแก้ไขเพิ่มเติมจากโพสของพี่นิวตรอน

คำสั่งเดียวเอง แก้ปัญหา packet วิ่งข้าม tunnel แล้ว loss ได้แล้ว แต่มีผลเฉพาะ tcp นะครับ

0182 | Debug traffic บน Cisco 6500 SUP720

Saturday, July 26th, 2014 Posted in IP Network | No Comments »

เจอมาจาก http://www.cisco.com/c/en/us/products/collateral/switches/catalyst-6500-series-switches/white_paper_c11_553261.html

ก่อนหน้านี้เคยเจอปัญหา core switch โดนยิงจนร่วง ก็ต้องมานั่งเดาว่ามันยิงมาทางไหนยังไง มี traffic อะไรแปลกปลอมมา ก็ต้องหาทางดักที่ uplink (ซึ่งบางทีเป็น 10Gbps แล้วจะหาเครื่องที่ไหนมารับได้)

วันนี้เจอท่าไม้ตายครับ T_T ดีใจน้ำตาจะไหลขอแชร์นะคะกันเลยทีเดียว

monitor session 1 type local
source cpu rp
destination interface Gi1/4

แค่นี้แหละครับ แล้วเราก็เอาสายแลนไปจิ้มจาก port Gi1/4 (จะแก้เลข port เป็นอะไรก็ตามใจ) แล้วเอา wireshark จับดูเลย

อาาา ฟิน