Network 15/09/09
posted on 15 Sep 2009 22:09 by namsom3249
ศึกษาเรื่อง CCNA
ในปัจจุบันคาดว่า IpV4 กำลังจะหมดไป จึงคิดที่จะมีการแก้ไขโดยใช้ IpV6 หรือการใช้ NAT
CIDR ใช้ Variable-length subnet masking(VLSM) คือใช้เท่าไหร่ก็ได้
NAT ทำงานโดยในหนึ่งองค์กรจะให้เพียงหนึ่งเลข IP Address เป็น IP จริง แล้วแต่ละเครื่องภายในองค์กรนั้นๆ จะมีเลข IP ภายในอีกทีหนึ่ง แต่เมื่อจะทำการติดต่อกับภายนอก router จะทำการแปลง IP ที่ใช้ในองค์กร เป็นเลข IP จริง โดยอาศัยหลักการทำงานของ port แต่มีการถกเถียงกันเรื่องขอบเขตการทำงานเพราะไปก้าวก่ายการทำงานของ transport layer
การคำนวณ Subnets
• Class A จะมี Subnet mask เป็น 255.0.0.0 หรือเลขฐานสองดัง้นี้
11111111.00000000.00000000.00000000
(รวมเลข 1 ให้หมด ก็จะได้เท่ากับ 255)
• Class B จะมี Subnet mask เป็น 255.255.0.0 หรือเลขฐานสองดัง้นี้
11111111.11111111.00000000.00000000
• Class C จะมี Subnet mask เป็น 255.255.255.0 หรือเลขฐานสองดัง้นี้
11111111.11111111.11111111.00000000
การวางแผน คำนวณ Subnet
1. หาจำนวน Segment ทั้งหมดที่ต้องการ Subnet address จำนวนใน Segment ในที่นี้ นับจำนวน network ที่อยุ่ในแต่ล่ะฝั่งอขง Router หรือของ switch Layer 3 หรือ หากมีการ implement VLAN จะนับจำนวนของ VLANก็ได้
Two Key Network-Layer Functions
-ส่งต่ออย่างรวดเร็ว
-หาเส้นทาง โดยใช้ routing algorithms
ATM
แบ่งข้อมูลออกเป็น 512 byte เรียกว่า sell ทำ connection setup , call setup(คือการจองบางส่วนของ bandwidth กำหนดเพดาน traffic ลดปัญหาการไม่เรียงลำดับของข้อมูล)สามารถการันตีได้ทุกอย่างเป็นการใช้งานแค่ช่วงหนึ่ง ใช้แค่ tear 1 ส่วน tear 2,3...เป็นการใช้แบบ packet
IP datagram format
ประกอบด้วย version, head length, type of service ชนิดของข้อมูล, length รวม head length ด้วย, fragmentation reassembly, time to live เป็นการกำหนด hop ถ้าถึงที่กำหนดก็จะโยนdata ทิ้ง, upper layer(TCP,UDP), header checksum, source IP Address, destination IP Address, option, data
Fast Retransmit
-ทำงานเมื่อ ได้รับ ACK ซ้ำๆกัน 3 ครั้ง ก็จะทำการส่ง packet ที่สูญหายเลย โดยไม่รอ Time out เพราะอาจจะนานเกิน
TCP Flow Control
-เมื่อข้อมูลที่เข้ามาเป็นแบบ in-order จะทำการส่งให้ application อ่านแล้วทำการลบ packet เหล่านั้นออกไป เมื่อข้อมูลเกิดไม่เรียงลำดับมา จะทำการเก็บไว้ใน buffer ก่อน โดยที่ recieveWindow = recieveBuffer - (lastByteRecieve - lastByteRead) และจะทำการ update recieveWindow อยู่ตลอดเพื่อให้ sender รู้ว่า reciever รับข้อมูลได้แค่ไหน
TCP Connection Management
-Three way handshake :
1. เครื่องไคลเอนต์จะทำการส่งเซกเมนต์ โดยเปิด SYN Flag ระบุหมายเลขพอร์ตที่ต้องการติดต่อบนเซิร์ฟเวอร์และระบุหมายเลข ลำดับของข้อมูล (ISN - Initial Sequence Number)
2. เครื่องเซิร์ฟเวอร์เมื่อได้รับข้อมูลเซกเมนต์จากข้อ 1 ก็จะตอบกลับด้วยการเพิ่มค่า ISN ที่ได้รับขึ้นอีก 1 พร้อมทั้งระบุหมายเลขลำดับ (ISN) ของตนเอง และเปิด SYN กับ ACK Flag
3. ไคล์เอนต์เมื่อได้รับการตอบกลับจากเซิร์ฟเวอร์ตามข้อ 2 ก็จะทำการตอบรับกลับไป โดยการเพิ่มค่า ISN ของเซิร์ฟเวอร์ขึ้นอีก 1 และเปิด ACK Flag เมื่อผ่านการสร้าง connection ทั้ง 3 ขั้นตอนแล้ว ตอนนี้ทั้งไคล์เอนต์ และเซิร์ฟเวอร์เปรียบเสมือนมีการเชื่อมต่อถึงกันแล้ว สถานะของการเชื่อมต่อในขณะนี้เรียกว่า Established
-Closing a connection
1. ไคลเอนต์ทำการส่ง ISN พร้อมกับ FIN ACK Flag ไปยังเซิร์ฟเวอร์
2. เซิร์ฟเวอร์ทำการตอบรับ ISN และบวกค่า ISN อีก 1 พร้อม ACK Flag
3. เซิร์ฟเวอร์ทำการส่ง ISN พร้อมกับ FIN ACK Flag ไปยังไคลเอนต์
4. ไคลเอนต์ทำการตอบรับ ISN และบวกค่า ISN อีก 1 พร้อม ACK Flag
TCP Slow Start
-กระบวนการ Congestion Control จะเกิดจากการควบคุมขนาดของ Congestion Window Size โดยขนาดของ Congestion Window Size จะหมายถึง Segment ที่สามารถส่งไ้ด้ โดยเ่ริ่มแรก TCP จะอยู่ในสถานะ Slow Start และจะขยายขนาดของ Congestion Window Size เป็นแบบ Exponential เพื่อไม่ให้มี Traffic เกิดขึ้นในเครือข่ายมากเกินไปเวลาที่ผู้ใช้เข้าถึงเครือข่ายพร้อมๆกัน ในช่วงแรกเช่นตอนเช้าของวันทำงานเป็นต้น จากนั้นเมื่อ Congestion Window Size มากกว่าค่า Slow Start Threshold แล้ว TCP จะเข้าสู่ช่วง Congestion Avoidance ซึ่งจะมีลักษณะการเพิ่ม Congestion Window Size เป็นลักษณะ AIMD (additive increase multiplicative decrease) ซึ่งถ้า TCP จับได้ว่ามี ACKs ซ้ำกัน 3 ครั้ง จะหมายถึง ข้อมูล Loss และ TCP จะมองว่าConges (มี Traffic เยอะ) ดังนั้น TCP จะลดขนาดของ Congestion Window Size ลง ½ และ กำหนดให้ Slow Start Threshold = Congestion Window Size
และถ้าเกิดเหตุการณ์ที่ TCP จับได้ว่า Time out TCP จะทำการลด Congestion Window Size ½ และ กำหนดให้ Slow Start Threshold = 1 MMS (Maximum Segment Size) และ้ถ้า Congestion Window Size ลดลงจนเหลือ 1 MMS TCP จะกลับไปอยู่ในสถานะ Slow Start ใหม่