Chapter 8 Mobile IP.

Slides:



Advertisements
งานนำเสนอที่คล้ายกัน
การผลิตบ่อพัก ทำเอง ใช้เอง หจก. มภัสกาญ คอนสตรัคชั่น
Advertisements

 เครือข่ายคอมพิวเตอร์  การที่ระบบเครือข่ายมีบทบาทและ ความสำคัญเพิ่มขึ้น เพราะไมโครคอมพิวเตอร์ได้รับ การใช้งานอย่างแพร่หลาย จึงเกิดความต้องการที่จะ.
จัดทำโดย ด. ญ. ศศิปภา มณีขัติย์ ชั้น 2/6 เลขที่ 4.
จัดทำโดย น. ส. ดวงกมล งามอยู่เจริญ เลขที่ 8 น. ส. ณัชชา เชื้อตา เลขที่ 6 เตรียมบริหารธุรกิจปี 1.
การสื่อสารข้อมูลทางคอมพิวเตอร์
Click Here Click Here. หน้าแรก รายละเอียด LINK Microsoft Word Microsoft Word โปรแกรมการพิมพ์ เอกสาร จดหมายที่มีผู้ใช้งานมากที่สุดใน โลก ! ผมคิดว่ายังงั้น.
เครื่องชี้วัดคุณภาพ วัตถุประสงค์: เพื่อให้ผู้เรียน
Mind Mapping อ. พิมพ์ชนก หาคำ 23 เมษายน 2556.
OSI 7 LAYER.
FIX COMMON PC PROBLEMS By Missis Jatuporn Surinseng Missis Chamaiporn Sommit.
รูปร่างของเครือข่ายคอมพิวเตอร์
กระบวนการของการอธิบาย
การประเมินผลโครงการ คปสอ.คลองใหญ่.
โปรแกรมคำนวณคะแนน สหกรณ์ ตามเกณฑ์ดีเด่นแห่งชาติ กรมส่งเสริม สหกรณ์ กองพัฒนาสหกรณ์ด้านการเงิน และร้านค้า วิธีการใ ช้
PORTABLE ELECTRONIC DEVICES SECURITY การรักษาความปลอดภัยของข้อมูลในกรณีที่ ใช้อุปกรณ์ที่พกพาได้
วิธีการใ ช้ โปรแกรมคำนวณคะแนน กลุ่มเกษตรกรดีเด่น กองพัฒนาสหกรณ์ด้าน การเงินและร้านค้า กรมส่งเสริม สหกรณ์
1. รู้ถึงความต้องการของตัวเอง ก่อนก่อนเริ่มต้นออกแบบ เมื่อคุณเริ่มคิดจะออกแบบโบรชัวร์ออกมาอย่างไร ให้เริ่มต้น สอบถามลูกค้าของคุณก่อนว่าทำไม เค้าต้องการโบร์ชัวร์
Project Management by Gantt Chart & PERT Diagram
ALLPPT.com _ Free PowerPoint Templates, Diagrams and Charts.
Case Study.
Mobile Network/Transport Layers
stack #2 ผู้สอน อาจารย์ ยืนยง กันทะเนตร
IP-Addressing and Subneting
การใช้ Social Media เพื่อการสื่อสาร
IP-Addressing and Subneting
Content Team: คู่มือการป้องกันสินค้าลอกเลียนแบบ 9 July 2015
Boson Netsim Simulator ภาควิชาวิศวกรรมไฟฟ้าและคอมพิวเตอร์
อาจารย์อภิพงศ์ ปิงยศ บทที่ 2 : แบบจำลองเครือข่าย (Network Models) part1 สธ313 การสื่อสารข้อมูลและเครือข่ายคอมพิวเตอร์ทางธุรกิจ อาจารย์อภิพงศ์
C# Part 0: Introduction to Revision Control
บทที่ 1 ความรู้ทั่วไปเกี่ยวกับการสื่อสารข้อมูล
Bus and Star Topologies Switch ขนาดเล็ก Switch ขนาดใหญ่
บทที่ 7 การวิเคราะห์และพัฒนาระบบ
การพัฒนาการใช้งานในระบบเว็บ
การบริหารโครงการ Project Management
บทที่ 5 เครื่องมือสืบค้นข้อมูล (Search Engine)
รายการ(List) [3] ผู้สอน อาจารย์ ยืนยง กันทะเนตร
คุณลักษณะของสัญญาณไฟฟ้าแบบต่าง ๆ
อาจารย์อภิพงศ์ ปิงยศ บทที่ 5 : การตรวจจับข้อผิดพลาด การควบคุมการไหลของข้อมูล และการควบคุมข้อผิดพลาด Part1 สธ313 การสื่อสารข้อมูลและเครือข่ายคอมพิวเตอร์ทางธุรกิจ.
อาจารย์อภิพงศ์ ปิงยศ บทที่ 4 : สื่อกลางส่งข้อมูลและการมัลติเพล็กซ์ (Transmission Media and Multiplexing) Part3 สธ313 การสื่อสารข้อมูลและเครือข่ายคอมพิวเตอร์ทางธุรกิจ.
1.เครื่องทวนสัญญาณ (Repeater)
Switched Communications Networks Stations Nodes ตัวอย่างที่ต้อง multiplex เช่น 3 และ 6 ส่งไป 5 พร้อมๆ กัน ทำให้ 5 ต้อง multiplex.
B92 Protocol Alice สุ่ม string a string a (data bits)
บทที่ 8 การควบคุมโครงการ
ชุดที่ 1 ไป เมนูรอง.
บัตรยิ้ม สร้างเสริมกำลังใจ
มหาวิทยาลัยราชภัฏนครปฐม
ขั้นตอนการออกแบบ ผังงาน (Flow Chart)
การเขียนโปรแกรมแบบวนซ้ำ: คำสั่ง while คำสั่ง do….while
บทที่ 7 การวิเคราะห์และพัฒนาระบบ
กำหนดกรอบระยะเวลาการขึ้นทะเบียนปี2556/57 1. ข้าว
Chapter 1 ความรู้เบื้องต้นในเทคโนโลยีอินเตอร์เน็ต Edit
Data storage II Introduction to Computer Science ( )
SMS News Distribute Service
อาจารย์อภิพงศ์ ปิงยศ ปฏิบัติการที่ 1 : การสร้างการเชื่อมต่อบนอุปกรณ์แอคเซสพอยต์ไร้สาย สธ313 การสื่อสารข้อมูลและเครือข่ายคอมพิวเตอร์ทางธุรกิจ.
วัฏจักรหิน วัฏจักรหิน : วัดวาอาราม หินงามบ้านเรา
บทที่ 3 : รูปแบบการเชื่อมต่อเครือข่ายและส่วนประกอบของเครือข่ายท้องถิ่น (Topologies and LAN Components) Part1.
บทที่ 9 การเรียงลำดับข้อมูล (Sorting)
บทที่ 7 การประมวลผลอาร์เรย์
บทที่ 8 การแก้ไขข้อผิดพลาดโปรแกรม(Debugging)
หลักเกณฑ์การเก็บรักษาข้อมูลจราจรทางคอมพิวเตอร์ ของผู้ให้บริการ
หัวใจหยุดเต้น หยุดหายใจ ปั๊มหัวใจ ทำอย่างไร ?
งานนำเสนอสำหรับโครงการ นิทรรศการวิทยาศาสตร์
กิจกรรมที่ 7 นายปรีชา ขอวางกลาง
ชัยพฤกษ์รัตนาธิเบศร์ - วงแหวน
การสื่อสารข้อมูล ผู้สอน...ศริยา แก้วลายทอง.
ทายสิอะไรเอ่ย ? กลม เขียวเปรี้ยว เฉลย ทายสิอะไรเอ่ย ? ขาว มันจืด เฉลย.
เครื่องโทรศัพท์ติดต่อภายใน intercommunication
อาจารย์อภิพงศ์ ปิงยศ ปฏิบัติการที่ 3 : การตั้งค่าอุปกรณ์แอคเซสพอยต์ไร้สาย วค101 วิทยาศาสตร์และเทคโนโลยีคอมพิวเตอร์ อาจารย์อภิพงศ์
กระดาษทำการ (หลักการและภาคปฏิบัติ)
ใบสำเนางานนำเสนอ:

Chapter 8 Mobile IP

ทบทวนเรื่อง Internet - TCP/IP และ OSI models

Mobile Network Layer เกี่ยวกับการ route packets จากต้นทางไปปลายทางใน network

ใช้ Mobile Computers บน Internet (TCP/IP) ไม่ได้ • Internet protocol ระบุปลายทางด้วย IP address เช่น 11.22.33.44 หมายถึง ผู้รับเกาะอยู่กับ subnet ที่มี network prefix คือ 11.22.33. • Router จะอ่าน destination IP address และ forward packet ไปทาง subnet นั้น โดยใช้ routing table ที่อยู่ภายใน router เพื่อประหยัดเนื้อที่เก็บจึงเก็บเฉพาะ prefix • ถ้าผู้ใช้เคลื่อนที่ หรือไปเกาะกับ subnet ใหม่ จะได้ IP address ใหม่ ทำให้รับส่งข้อมูลต่อเนื่องไม่ได้ อินเทอร์เน็ตไม่ได้ออกแบบมาให้ทำได้ ต้อง disconnect และ reconnect ใหม่

What is Mobile IP 1.The Mobile Node (MN) travels to a foreign network and gets a new care-of-address. 2.The MN performs a binding update to its Home Agent (HA) (the new care-of-address gets registered at HA). HA sends a binding acknowledgement to MN. 3.A Correspondent Node (CN) wants to contact the MN. The HA intercepts packets destined to the MN. 4.The HA then tunnels all packets to the MN from the CN using MN's care-of-address. 5.When the MN answers the CN, it may use its current care-of-address (and perform a binding to the CN) and communicate with the CN directly (“route optimization”) or it can tunnel all its packets through the HA. https://www.csie.ntu.edu.tw/~b93070/CNL/v4.0/CNLv4.0.files/Page947.htm

Why Mobile IP • Remote Access VPNs 1. Handover บน WiFi อาจจะเปลี่ยน IP address 2. ปัญหาเหล่านี้ไม่เกิดใน cellular network • Remote Access VPNs Remote access VPNs(Virtual Private Network), based on IPSec technology, are very sensitive to IP-address changes. Mobile IP solution is compatible with all the major VPN solutions on the market. • Microsoft Office and Windows If a user edits a file on a server while changing networks, the file will be blocked on the server and cause problems. • Database applications Any client-server application based on ODBC(Open Database Connectivity) drivers or something like that will fail if the user changes IP-address while working. • Voice over IP Voice applications, which are becoming more and more popular on wireless networks, are typical examples of session driven applications. Without Mobile IP, the user has to restart the conversation every time he moves between networks or subnets. https://www.csie.ntu.edu.tw/~b93070/CNL/v4.0/CNLv4.0.files/Page947.htm

A Quick and Dirty Solution • Dynamic Host Configuration Protocol (DHCP) จ่าย IP address ให้ใหม่ • Dynamic Domain Name System (DDNS) ใช้ re-mapping between logical name vs. IP address • การ update ข้อมูล IP address และ logical name บนระบบ internet เปลี่ยนเร็วมากไม่ได้ ถ้าผู้ใช้เคลื่อนที่เร็วมาก หรือเปลี่ยนที่บ่อยๆ DHCP และ DDNS ก็ทำงานไม่ทัน • TCP layer สร้าง connection โดยระบุ IP address ต้นทางและปลายทาง เมื่อ IP address เปลี่ยน TCP จะทำงานต่อไม่ได้ ต้อง terminate connection และ establish connection ใหม่ (TCP ถูกออกแบบมาเช่นนี้)

Solution Requirements • Compatibility ทั้ง software และ hardware เดิมที่อยู่บน internet (TCP/IP) ต้องทำงานได้ปกติเหมือนเดิม • Transparency ต้อง invisible สำหรับ layer ข้างบน เช่น application ทำงาน (เขียนโปรแกรม) เหมือนกันไม่ว่าจะใช้ network later แบบธรรมดาหรือ mobile network layer อีกอย่าง layer ข้างบนไม่ควรรู้ว่าผู้ใช้เคลื่อนที่อยู่หรือไม่ หรืออยู่ที่ไหน • Scalability and efficiency เพราะ internet มีผู้ใช้จำนวนมาก ต้อง scalable และ efficient เพื่อไม่ให้ traffic บน internet เพิ่มขึ้นมากเกินไป • Security ต้องปลอดภัยด้วย เพราะ mobility เปิดช่องให้โจมตีได้ง่าย เช่น หลอกว่าผู้ใช้ย้ายมาที่ foreign network นี้ แล้วให้ forward packet ของผู้ใช้ไปให้

Entities and Terminology

Entities and Terminology • Mobile node (MN) ผู้ใช้ที่เคลื่อนที่ • Correspondent node (CN) ผู้ที่สื่อสารกับ MN • Home network คือ subnet ที่รวม IP address ของ MN (IP address ของ MN อยู่ใต้ subnet นี้) • Foreign network คือ subnet ที่ MN เคลื่อนที่ออกไป และไปเกาะอยู่ใต้ subnet นั้น • Foreign agent (FA) ให้บริการต่างๆ แก่ MN เพื่อให้เกิด mobility • Care-of address (COA) รับ packet แทน MN ทำได้ 2 แบบ COA เกาะอยู่กับ router ใช้ IP address ของ router COA เกาะอยู่กับ MN กรณีนี้ COA ต้องขอ IP address (ใช้ DHCP) ใน foreign network • Home agent (HA) รับ incoming packets แทน MN เพื่อให้เกิด mobility ทําได้ 2 แบบ เกาะอยู่กับ router แบบนี้ต้องโปรแกรม router ใหม่ ใช้ router ธรรมดาไม่ได้ เป็น node หนึ่งใน home network แบบนี้เสียเวลาเพราะ packet ต้องวิ่งผ่าน router สองรอบ

IP Packet Delivery • CN ส่งข้อมูลไป home network (ใช้ IP address ของ MN) • HA บน router (ในกรณีที่แก้โปรแกรมบน router) จะดักจับ packet ไว้ แล้ว forward ไป foreign network • เมื่อ MN จะส่งข้อมูลกลับไปหา CN ก็ใช้ FA ให้ส่งให้โดยส่งจาก IP address ของ FA • ถ้า CN เคลื่อนที่ด้วย CA ก็ต้องทําแบบเดียวกับ MN • ไม่ค่อย efficient เท่าไหร่ packet บน internet จะเพิ่มขึ้น 2 เท่า

IPv6 Support for Mobility IP ที่เราใช้อยู่ปัจจุบันคือ IPv4 ซึ่งไม่ได้ออกแบบมาเพื่อ mobility ตอนที่คิด IPv4 ไม่ได้เผื่อไว้ว่า IP address จะเคลื่อนที่ได้ แต่ใน IPv6 ได้ออกแบบมาเพื่อแก้ปัญหาหลายอย่างของ IPv4 เช่น จำนวน IP address ไม่พอ (IPv6 เพื่อความยาว IP address จาก 32 บิตเป็น 64 บิต) และได้ออกแบบมาเพื่อแก้ปัญหา mobile IP ด้วย Built-in COA, Built-in auto-discovery of foreign network, no needs for add-ons MN ส่ง current COA ไปให้ CN และ HA ได้เอง (IPv4 ต้องพึ่ง FA ทำให้ เพราะ MN ไม่รู้เรื่อง) Soft hand-over MN สามารถบอก COAold ได้ว่าจะย้ายไป COAnew Packet ที่ส่งไปยัง COAold จะถูก forward ตามไปที่ COAnew CN และ MN มีความสามารถเพิ่มขึ้น ไม่ต้องพึ่งอุปกรณ์เสริมอื่นๆ IPv6 ยังไม่ได้แก้ปัญหา firewall ต้องใช้วิธีอื่น ๆ เสริม เพื่อแก้ปัญหานี้ ถ้าอยากได้ mobile IP ในองค์กรก็ขยับไปใช้ IPv6 อุปกรณ์ต่างๆ บน IPv6 จะทำ mobile IP ได้เลย ไม่ต้องปรับแต่งหรือใช้อุปกรณ์เสริม แต่โลกภายนอกส่วนใหญ่ยังใช้ IPv4 อยู่ (มี router ที่เชื่อม IPv4 กับ IPv6)

IP Micro-Mobility Support เปลี่ยนที่อยู่เร็ว (short-term changes in host’s location) เมื่อ MN เข้าไปใน foreign network จะกำหนด COA ไว้ที่ gateway ของ foreign network นั้น เมื่อ MN เคลื่อนที่ไปภายใน foreign network (subnet) จะไม่เปลี่ยน COA คือใช้ COA เดิมที่ gateway ไปเรื่อยๆ จะได้ไม่ต้องอัพเดต COA กับ HA บ่อยๆ เพื่อลด traffic บนอินเทอร์เน็ต ข้างใน foreign network ทำ micro-mobility handover ได้ 3 วิธี ซึ่งมีข้อดีข้อเสียต่างๆ กัน วิธีแรก Cellular IP Routing table ถูกแก้ตาม packet สุดท้ายที่ส่งออกจาก MN1 Packet จาก MN2 ถูกส่งไปตามเส้นทางใหม่ แต่ก็ยังเหลือ packet ที่ส่งมาตามเส้นทางเก่าด้วย (เส้นประ) อุปกรณ์ MN1 ถูกออกแบบมาให้รับข้อมูลได้จาก 2 base stations (BS) โดยแก้ layer ข้างล่าง (ไม่ใช่อุปกรณ์ที่ใช้ตามมาตรฐานปกติ) เช่น องค์กร สถาบัน มหาวิทยาลัย อีก 2 วิธี ไม่ได้เอามาสอน

อาจจะต้องแก้ SW หรือ HW CIPGW = Cellular IP Gateway

ใจความสำคัญของ mobile IP คือ ต้องการเคลื่อนที่ไปบนอินเทอร์เน็ตโดยไม่เปลี่ยน IP address เพื่อให้ดูเหมือนว่ายังอยู่ใน home network ที่เดิม และให้ applications ทำงานต่อเนื่องไปได้โดยไม่ต้อง restart (reconnect) แล้ว applications อะไรที่ห้ามเปลี่ยน IP address • อุปกรณ์ทั้งหมดขององค์กรถูกกำหนด IP address ไว้ตายตัว IP address คือ identity ของอุปกรณ์นั้น เช่น อุปกรณ์ทั้งหมดภายในโรงพยาบาล รวมถึงเครื่องมือต่างๆ ในรถพยาบาล รถฉุกเฉิน เป็นต้น • ลองนึกถึงหมอที่เดินไปเดินมาในโรงพยาบาล และใช้ tablet เพื่อดาวน์โหลดข้อมูลประวัติคนไข้ เช่น ฟิล์ม x-ray เป็นต้น หรือคุยด้วยเสียงกับหมอ/พยาบาลคนอื่นๆ สถานการณ์แบบนี้เหมาะกับการใช้ mobile IP เพราะว่า applications เดิมๆ ที่ใช้กับ fixed IP จะทำงานได้ทันทีโดยไม่ต้องไปปรับแต่งหรือพัฒนา applications ใหม่

Applications of Mobile IP VPN (Virtual Private Network) VoIP (Voice over IP) อุปกรณ์/เครื่องมือวัดในโรงงาน/โรงพยาบาล เพื่อให้เคลื่อนย้ายไปที่ไหนก็ได้ และอ่านค่าจากเครื่องมือวัดได้โดยระบุ fixed IP address (อุปกรณ์พวกนี้อาจจะไม่มี OS สำหรับติดต่อกับ DHCP server หรือ register กับ server ถ้าจะใช้ cellular network ก็ต้องใส่ sim ได้ และอุปกรณ์แต่ละ cell แพงมาก)

ปี 2005

Why are no problems today ? ใช้โทรศัพท์มือถือกันหมดแล้ว IP ของ mobile phone ไม่เปลี่ยน !!! ถ้ามี packets ส่งมาที่ cell1 ก็จะ forward ไปที่ cell2 (ใช้สาย)

Fixed IP sim http://www.value.in.th/simfixip.html

https://youtu.be/kVsiKiH4f4s

Mobile Transport Layer บทนี้ต่อจากบทที่แล้ว บทที่แล้วพยายามเพิ่ม mobility ลงไปใน internet โดยการไปแก้ network layer (IP) แต่ในบทนี้จะแก้ layer ที่สูงขึ้นมาคือ transport layer (TCP) ขอเรียกสั้นๆ ว่า TCP ตาม TCP/IP model, TCP สร้าง connection ขึ้นมาระหว่าง 2 applications (เสมือนว่ามี “สายสัญญาณ” เชื่อมอยู่ ทั้งที่จริงๆ แล้วเป็น packet-switched network) TCP มีหน้าที่ • รับประกัน in-order delivery หั่นข้อมูลขนาดใหญ่เป็น packet เล็กๆ แล้วส่งให้ IP layer ทำหน้าที่ route หาเส้นทางส่ง packet นี้ไปบน internet แต่ packet อาจจะไม่ได้วิ่งไปในทิศทางเดิมเสมอ แต่เปลี่ยนเส้นทางเนื่องจาก traffic ทำให้ packet ที่ส่งก่อนอาจจะไปถึงผู้รับทีหลัง packet ที่ส่งทีหลังไปถึงก่อนก็เป็นได้ ที่ TCP layer ของผู้รับมีหน้าเรียง packet ให้ถูกต้อง • Reliable transmission ทำ retransmission และ digestion control (ลด transmission rate ลงเมื่อ packet loss เพิ่มขึ้น) เพราะถ้า packet loss แสดงว่า internet มันส่ง packet ไม่ทัน router ก็โยน packet ทิ้ง (ไม่มี memory จะเก็บ) เกี่ยวกับการทำ connection oriented, การเรียง packet ให้ตามลำดับ, การ retransmit ถ้ามี packet loss

Traditional TCP: Congestion Control • TCP ถูกออกแบบมาสำหรับ fixed network กับ fixed end-systems • Congestion เกิดขึ้นบ่อยๆ ในระบบ internet เมื่อ packet buffer บน router เต็ม ทำให้ forward packet ไม่ทัน ทำให้ router ต้อง drop packet ทิ้ง ผู้รับจะ acknowledge เฉพาะ packet ที่ได้รับ • ผู้ส่งเห็นว่ามีบาง packet ไม่ได้รับ acknowledge กลับมา เดาว่าน่าจะเกิดจาก congestion ก็จะส่งใหม่ โดยลด transmission rate ลง อันนี้เรียกว่าออกแบบมาให้ network friendly

Traditional TCP: Slow Start • TCP ตอบสนอง congestion ด้วย “slow start” (congestion window = 1) • ผู้ส่งต้องคำนวณ size of congestion window อยู่เสมอ เริ่มต้นที่ส่ง 1 packet ต่อ congestion window ถ้าได้ acknowledge ครบก็จะ double เป็น 2 packet ต่อ congestion window โดยเพิ่มแบบ exponential ไปเรื่อยๆ จาก 1, 2, 4, 8, 16, 32 จนถึง threshold ค่านึงจึงหยุด และเพิ่มทีละ 1 แทน • เมื่อผู้ส่งรอ acknowledge จนหมดเวลา (เกิด congestion) ในกรณีนี้ผู้ส่งจะลด window size ลงมาครึ่งนึง แล้วค่อยๆ เพิ่มทีละ 1

Traditional TCP: Fast Retransmit / Fast Recovery • ในกรณีที่ได้ acknowledge ไม่ครบเกิด gap เช่น ได้ acknowledge ของ 1, 2, 4, 5 ขาด 3 อาจจะไม่ใช่เพราะ congestion แต่เกิดจาก transmission error, sender จะรีบส่ง packet นี้ใหม่ก่อนที่ timer จะหมดเวลาลง และก่อนที่จะโดนสรุปว่าเป็น congestion • ต้องเกิด packet loss เป็นชุดติดกันยาวๆ เช่น 3, 4, 5, … หาย ถึงจะคิดว่าเป็น congestion แล้วส่งให้ช้าลง

Improvement 1: Indirect TCP (I-TCP) • สร้าง TCP แบบใหม่ขึ้นมาสำหรับ wireless network (TCP เดิมก็ทำงานแบบเดิมต่อไป) • ตัว foreign agent (FA) ทำหน้าที่เหมือน relay ที่เชื่อมระหว่าง TCP network กับ mobile host ปลายทางของ TCP มาจบที่ FA เสร็จแล้ว FA จะส่งข้อมูลต่อให้ mobile host เอง (ด้วยวิธีอะไรก็ได้ อาจจะไม่ใช่ TCP), mobile host ต้องส่ง acknowledge กลับมาให้ FA เมื่อได้รับข้อมูล แต่ไม่ใช่ ack ของ standard TCP (FA ส่ง ack ให้ source ตั้งแต่แรกที่ได้รับ packet แล้ว) • ขากลับส่งข้อมูลจาก mobile host, FA จะเป็นผู้รับ และตอบ ack จากนั้น FA จะส่งข้อมูลผ่าน TCP แบบปกติ • ข้อเสียของ I-TCP คือทำลาย end-to-end semantic ของ TCP ที่จริงผู้ส่งต้องการส่งให้ถึง mobile host แต่ได้รับ ack เมื่อส่งถึง FA ทำให้ไม่รู้ว่าจริงๆ แล้วส่งไปถึง mobile host หรือไม่

Improvement 2: Snooping TCP • ใช้ FA เพื่อ buffer ข้อมูลทั้งหมดที่วิ่งไป mobile host, FA มีหน้าที่ทำ fast retransmission โดยคอยฟังว่า mobile host ส่ง ack กลับมาในเวลาที่กำหนดหรือไม่ ถ้าไม่ก็จะส่ง packet ให้ mobile host อีกครั้ง

ข้อเสียของ snooping TCP คือ ถ้าคุณภาพของ wireless link ไม่ดี และ delay สูง time out ของ FA ก็เกือบๆ จะเท่า time out ของ correspondent host ดังนั้นใช้ snooping ไปก็ไม่ค่อยช่วยเท่าไหร่ อาจจะต้องดู characteristics ของ wireless network ก่อนว่าเหมาะกับ snooping หรือไม่ วัดความเข้าใจ แล้ว characteristics แบบไหนที่เหมาะกับ snooping TCP ? ขากลับจาก mobile host ไป correspondent host, FA จะ snoop ดู packet ที่วิ่งออกไป เช่น เห็น packet 1, 2, 4, 5 ขาด 3 ซึ่ง packet 3 อาจจะหายไปเพราะคุณภาพ wireless link ไม่ดี, FA จะส่ง negative ack เพื่อบอก mobile host ว่ามีบาง packet loss ให้รีบส่งใหม่ ทาง correspondent host จะได้ไม่รู้ว่ามี packet loss เดี๋ยวจะคิดว่าเป็น congestion แต่การใช้ negative ack แบบนี้ไม่ transparent ต้องแก้ mobile host ให้รู้จัก negative ack (ใช้ negative ack เพื่อบอกว่า packet loss เกิดจาก wireless link ไม่ดี ไม่ใช่เกิดจาก congestion ใน wired TCP) ถ้ามี end-to-end encryption จะใช้วิธีนี้ไม่ได้ TCP header อาจจะถูกเข้ารหัสได้ ดังนั้น snoop ขึ้นมาก็อ่านไม่รู้เรื่อง

Improvement 3: Mobile TCP • ปัญหาอีกอย่างของ wireless link คือมักจะ disconnected ไปเป็นเวลานานๆ เนื่องจากหลายสาเหตุ เช่น มีการรบกวนสูง เข้าไปอยู่ในที่อับสัญญาณ เข้าไปอยู่ใน interference zone เป็นต้น • TCP จะพยายามส่งใหม่โดยรอเป็นเวลา t ถ้าไม่สำเร็จอีกก็จะรอ 2t, 4t, 8t, 16t (double ไปเรื่อยๆ) และจะล้มเลิกความพยายามเมื่อครบ 12 ครั้ง ปัญหาคือ wireless link มักจะติดๆ ดับๆ ตอนที่ส่ง packet มา wireless link ดับ (disconnected) ผ่านไปเดี๋ยวเดียวก็ ติดใหม่ (connected) แต่ต้องรอนานมาก กว่าจะเกิด retransmission อีกครั้ง • ปัญหานี้ส่งผลเสียกับทั้ง I-TCP และ snooping TCP เมื่อ mobile host disconnected o I-TCP จะต้องใช้ memory ในการ buffer ข้อมูลเยอะมาก o Snooping TCP ก็ช่วยอะไรไม่ได้

M-TCP ทำงานคล้าย I-TCP อธิบายด้วยรูปเดียวกัน FA ไม่ cache / retransmit ข้อมูลให้ mobile host (assume ว่า wireless link ดี error rate ต่ำ wireless สมัยใหม่ก็น่าจะเป็นแบบนี้ แต่ยังมีปัญหาติดๆ ดับๆ) ถ้า packet loss บน wireless, correspondent host จะต้องส่งใหม่เอง วิธีนี้จะรักษา semantics ของ TCP FA คอยเฝ้าระวังว่าถ้า mobile host ไม่ ack มาในเวลาที่กำหนด จะบอก correspondent host ให้ใช้ window size = 0 (หยุด retransmit) เมื่อ FA สามารถ connect กับ mobile host ได้จะกำหนด window size ให้เป็นค่าเดิม (ไปที่ full speed เลย ไม่ต้องเริ่มจาก 1 ใหม่) ขากลับส่งจาก mobile host ใช้ modified TCP (หนังสือไม่อธิบายละเอียด) ไม่ได้ใช้ slow start เพราะถ้า wireless link มันติดๆ ดับๆ จะรีเซ็ต window size = 1 บ่อยๆ คงแก้ TCP ให้ resume window size เดิมเลย

สถานการณ์ปัจจุบันเป็นอย่างไร ? Wireless network ไม่ว่าจะเป็น Wireless LAN, Cellular Network (4G/5G) พัฒนาไปมาก ไม่ค่อยจะมีปัญหาเรื่อง error rate ที่สูงมาก หรือ disconnected บ่อยๆ อีกแล้ว ตัวอย่าง เช่น วัดได้ 1.5% packet loss, Mac Laptop, IEEE 802.11n สมัยนี้ติดตั้ง WiFi แล้วก็ดู packet loss ก่อน ว่าไม่สูงมาก ก็ไม่มีปัญหากับ TCP/IP ก็ไม่มีความจำเป็นที่ต้องไปแก้ปัญหาให้ TCP/IP บทความส่วนใหญ่เกี่ยวกับการแก้ปัญหาที่เกิดจาก wireless มักอยู่ประมาณปี 2005 แล้วก็ไม่ค่อยมีใครพูดถึงอีก อีกอย่างการแก้ไขปรับปรุง TCP/IP มักจะต้องไปแก้อุปกรณ์ เช่น router ซึ่งเป็นไปได้ยาก ที่จะไปอัพเกรดอุปกรณ์ทั้งหมดในอินเทอร์เน็ต

ตัวอย่าง ใช้คำสั่ง ping /n 100 www.google.com จาก wired เทียบกับ wireless network

บทความที่น่าสนใจ A Survey of TCP Optimizations for Wireless Channels (2006) http://www.cs.wustl.edu/~jain/cse574-06/ftp/wimax_tcp/index.html A method for reducing TCP latency due to consecutive packet losses in mobile networks http://ieeexplore.ieee.org/document/7737274 Optimising TCP for Cloud-Based Mobile Networks http://ieeexplore.ieee.org/document/7504390