มีความเข้าใจผิดที่อาจเกิดขึ้นหรือความเข้าใจผิดในคำถามที่จะกล่าวถึงในโพสต์นี้
ในไดอะแกรม 2 แสดงการเป็นตัวแทนของซอฟต์แวร์ "สแต็ค"ที่คอมพิวเตอร์ (PC) จะใช้ในการสร้างประมวลผลและส่งข้อความผ่านอินเทอร์เน็ตไปยังคอมพิวเตอร์เครื่องอื่น
คอมพิวเตอร์ทุกประเภทไม่ว่าจะเป็นสมาร์ทโฟน / ทีวี / เกมคอนโซล ฯลฯ ใช้รูปแบบนี้หรือไม่
(ในเรื่องนี้) มีความแตกต่างระหว่างอินเทอร์เน็ตเซลลูลาร์กับ Wifi / Ethernet หรือไม่?
สิ่งที่เกี่ยวกับอุปกรณ์ฟังก์ชั่นเดียวที่ไม่มีเลเยอร์ "แอปพลิเคชัน" - เช่นกล้องที่เชื่อมต่อกับเว็บไลท์สวิตช์หรือเทอร์โมสแตท
การมีความเข้าใจที่คลาดเคลื่อนเหล่านี้จำเป็นต้องมีการรวมคำอธิบายต่อไปนี้ (เพื่อจัดเตรียมบริบทสำหรับการสนทนาที่ตามมา):
- อินเทอร์เน็ตคืออะไร
- ชุดโปรโตคอล TCP / IP คืออะไร
- แอปพลิเคชันคืออะไร
จากนั้นคำถามจะได้รับการแก้ไขโดยตรง
โปรดทราบว่าด้วยความสำคัญและความซับซ้อนหนังสือทั้งชุดได้ถูกเขียนลงในชุดโปรโตคอล TCP / IP คำนิยามและคำอธิบายที่นี่จะถูกวาดส่วนใหญ่มาจากวิกิพีเดีย, TCP / IP ภาพประกอบเล่ม 1 ฉบับที่สอง: โครงการวิจัยโดยสตีเวนส์และฤดูใบไม้ร่วงและของไอบีเอ็มสอน TCP / IP และภาพรวมทางเทคนิค
1. อินเทอร์เน็ต
อินเทอร์เน็ตเป็นเทคนิคWide Area Network (WAN)แต่วิธีที่เป็นประโยชน์มากขึ้นที่จะคิดว่ามันเป็นชนิดของ SUPERNETWORK (เครือข่ายของเครือข่าย) หรือรวมกันจำนวนมากที่แตกต่างกันระหว่างการเชื่อมต่อสุทธิผลงาน นี่คือรูปภาพของเส้นทางการส่งผ่านส่วนหนึ่งของอินเทอร์เน็ต:
- อินเทอร์เน็ตประกอบด้วยเครือข่ายที่เชื่อมต่ออยู่มากมาย
- เครือข่ายอาจประกอบด้วย 1 ระบบขึ้นไป ( โฮสต์ )
- โดยทั่วไประบบที่เชื่อมต่อจะทำงานบนแพลตฟอร์มฮาร์ดแวร์บางประเภท
- มีความแตกต่างที่สำคัญในประเภทของระบบที่เชื่อมต่อกับเครือข่ายและฮาร์ดแวร์ที่ใช้งานอยู่
สนุกอ่านวิธีการทำงานของอินเทอร์เน็ตที่สามารถพบได้ในบทความ ArsTechnica วิธีอินเทอร์เน็ตทำงาน: ใย Submarine, สมองในขวดและสาย
ดังนั้นระบบต่าง ๆ ที่ทำงานบนแพลตฟอร์มฮาร์ดแวร์ต่าง ๆ ที่เชื่อมต่อกับเครือข่ายต่างกันสามารถสื่อสารกันได้อย่างไร การสื่อสารระหว่างระบบและเครือข่ายที่กว้างใหญ่และหลากหลายเป็นไปได้อย่างไร? ทั้งหมดนี้เกิดขึ้นพร้อมกันได้อย่างไร?
2. ชุด Internet Protocol
คำตอบนั้นมีให้โดยชุดโปรโตคอลอินเทอร์เน็ตหรือที่รู้จักว่าชุดโปรโตคอล TCP / IP คำถามเหล่านี้ถูกนำมาพิจารณาในระหว่างกระบวนการออกแบบสถาปัตยกรรมของอินเทอร์เน็ต (TCP / IP Illustrated, ส่วนที่ 1.1: หลักการทางสถาปัตยกรรม):
เป้าหมายหลายประการเป็นแนวทางในการสร้างสถาปัตยกรรมอินเทอร์เน็ต ใน [C88] คลาร์กเล่าว่าเป้าหมายหลักคือ "พัฒนาเทคนิคที่มีประสิทธิภาพสำหรับการใช้งานเครือข่ายเชื่อมต่อระหว่างกันที่มีอยู่แบบมัลติเพล็กซ์" สาระสำคัญของคำสั่งนี้คือสถาปัตยกรรมอินเทอร์เน็ตควรเชื่อมต่อเครือข่ายที่แตกต่างกันหลายอย่าง สามารถทำงานพร้อมกันบนเครือข่ายเชื่อมต่อที่เกิดขึ้น
จากInternet Protocol Suite (Wikipedia):
ชุดโปรโตคอลอินเทอร์เน็ตเป็นรูปแบบแนวคิดและชุดโปรโตคอลการสื่อสารที่ใช้บนอินเทอร์เน็ตและเครือข่ายคอมพิวเตอร์ที่คล้ายกัน
ชุดโปรโตคอล Internet ให้แบบ end-to-end การสื่อสารข้อมูลระบุว่าข้อมูลควรจะ packetized จ่าหน้าส่ง, ส่งและได้รับ ฟังก์ชั่นนี้แบ่งออกเป็นสี่เลเยอร์นามธรรมที่ใช้ในการเรียงลำดับโปรโตคอลที่เกี่ยวข้องทั้งหมดตามขอบเขตของเครือข่ายที่เกี่ยวข้อง
วิธีคิดอย่างหนึ่งของชุดโปรโตคอล TCP / IP นั้นเป็นข้อกำหนดสำหรับวิธีการที่กระบวนการทำงานบนระบบที่แตกต่างกันและเครือข่ายที่แตกต่างกันสามารถสื่อสารระหว่างกันได้ ในสาระสำคัญชุดโปรโตคอล TCP / IP ให้มาตรฐานสำหรับการสื่อสารระหว่างกระบวนการ
ระบบใด ๆ ที่ใช้ชุดโปรโตคอล TCP / IP อย่างถูกต้องอาจใช้ฟังก์ชันที่ให้ไว้เพื่ออนุญาตให้กระบวนการสื่อสารผ่านอินเทอร์เน็ต ในความเป็นจริงเพื่อให้กระบวนการสื่อสารผ่านอินเทอร์เน็ตกับกระบวนการอื่นที่รันบนระบบรีโมตบนเครือข่ายอื่นระบบต้องใช้โปรโตคอล TCP / IP suite ที่เป็นไปตามมาตรฐาน
3. การใช้งาน
จากแอพพลิเคชั่นซอฟต์แวร์ (Wikipedia):
แอปพลิเคชันโปรแกรม (สั้นหรือแอพพลิเคชั่น) เป็นโปรแกรมคอมพิวเตอร์ที่ออกแบบมาเพื่อทำงานกลุ่มประสานงานงานหรือกิจกรรมเพื่อประโยชน์ของผู้ใช้ ตัวอย่างของแอปพลิเคชันรวมถึงโปรแกรมประมวลผลคำ, สเปรดชีต, แอปพลิเคชั่นการบัญชี, เว็บเบราว์เซอร์, เครื่องเล่นสื่อ, โปรแกรมจำลองการบินเกี่ยวกับการบิน, เกมคอนโซลหรือโปรแกรมตกแต่งภาพถ่าย ซอฟต์แวร์แอปพลิเคชันคำนามรวมหมายถึงแอปพลิเคชันทั้งหมดโดยรวม ตรงกันข้ามกับซอฟต์แวร์ระบบซึ่งส่วนใหญ่เกี่ยวข้องกับการใช้คอมพิวเตอร์
แอ็พพลิเคชันสามารถถูกพิจารณาว่าเป็นกระบวนการพื้นที่ผู้ใช้ที่รันอยู่บนระบบ นอกเหนือจากตัวอย่างที่แสดงไว้ด้านบนสิ่งนี้อาจรวมถึงโปรแกรมเช่น (โหมดที่ไม่ใช่เคอร์เนล) ไวรัสคอมพิวเตอร์เว็บเซิร์ฟเวอร์แอปพลิเคชันกล้องและโปรแกรมการรวมข้อมูลเซ็นเซอร์
เมื่อแอปพลิเคชั่นส่งและรับข้อมูลผ่านอินเทอร์เน็ตมันจะต้องใช้การใช้ชุดโปรโตคอล TCP / IP ของระบบโฮสต์ จากเลเยอร์แอปพลิเคชัน (Wikipedia):
ใน TCP / IP เลเยอร์ของแอปพลิเคชันมีโปรโตคอลการสื่อสารและวิธีการเชื่อมต่อที่ใช้ในการสื่อสารระหว่างกระบวนการกับกระบวนการข้ามเครือข่ายคอมพิวเตอร์ Internet Protocol (IP) แอปพลิเคชันเลเยอร์สร้างมาตรฐานการสื่อสารเท่านั้นและขึ้นอยู่กับโปรโตคอลเลเยอร์การส่งข้อมูลพื้นฐานเพื่อสร้างช่องทางการถ่ายโอนข้อมูลระหว่างโฮสต์และโฮสต์และจัดการการแลกเปลี่ยนข้อมูลในรูปแบบเครือข่ายไคลเอนต์เซิร์ฟเวอร์หรือเพียร์ทูเพียร์
ชั้นแอปพลิเคชันของชุดโปรโตคอล TCP / IP ประกอบด้วยโปรโตคอลเช่น File Transfer Protocol (FTP), ระบบชื่อโดเมน (DNS) และอาจเป็นที่รู้จักกันดีที่สุด Hypertext Transfer Protocol (HTTP)
ตัวอย่างเช่นโปรโตคอลเลเยอร์ของแอปพลิเคชัน HTTP ระบุวิธีที่ข้อมูลถูกส่งระหว่าง 2 กระบวนการที่ทำงานบน (โดยทั่วไป) ระบบต่าง ๆ : แอปพลิเคชันไคลเอนต์, เว็บเบราว์เซอร์และแอปพลิเคชันเซิร์ฟเวอร์
การชี้แจงความเข้าใจผิดที่อาจเกิดขึ้น
ในไดอะแกรม 2 แสดงการเป็นตัวแทนของซอฟต์แวร์ "สแต็ค"ที่คอมพิวเตอร์ (PC) จะใช้ในการสร้างประมวลผลและส่งข้อความผ่านอินเทอร์เน็ตไปยังคอมพิวเตอร์เครื่องอื่น
ชุดโปรโตคอล TCP / IP ไม่ใช่ซอฟต์แวร์สแต็ก จากTechnopedia :
สแตกซอฟต์แวร์คือกลุ่มของโปรแกรมที่ทำงานควบคู่เพื่อสร้างผลลัพธ์หรือบรรลุเป้าหมายร่วมกัน Software stack หมายถึงชุดของแอพพลิเคชั่นใด ๆ ที่ทำงานในลำดับเฉพาะและที่กำหนดไปสู่เป้าหมายทั่วไปหรือกลุ่มของยูทิลิตี้หรือแอปพลิเคชันประจำที่ทำงานเป็นชุด ไฟล์ที่ติดตั้งได้คำจำกัดความซอฟต์แวร์ของผลิตภัณฑ์และแพตช์สามารถรวมอยู่ในซอฟต์แวร์สแต็ก หนึ่งในซอฟต์แวร์สแต็กซ์ที่ได้รับความนิยมคือ LAMP (Linux, Apache, MYSQL, Perl หรือ PHP หรือ Python) WINS (Windows Server, Internet Explorer, .NET, SQL, SQL Server) เป็นซอฟต์แวร์สแต็คที่ได้รับความนิยมจาก Windows
ค่อนข้างเป็นโปรโตคอลสแต็กซึ่งมักจะใช้งานโดยเคอร์เนล (เช่นจากTechnopedia ):
โปรโตคอลสแต็กหมายถึงกลุ่มของโปรโตคอลที่ทำงานพร้อมกันที่ใช้สำหรับการดำเนินงานของชุดโปรโตคอลเครือข่าย
โปรโตคอลในสแต็กจะกำหนดกฎการเชื่อมต่อระหว่างกันสำหรับโมเดลเครือข่ายแบบเลเยอร์เช่นใน OSI หรือโมเดล TCP / IP ในการเป็นสแต็กโปรโตคอลจะต้องสามารถทำงานร่วมกันได้เพื่อให้สามารถเชื่อมต่อได้ทั้งแนวตั้งระหว่างเลเยอร์ของเครือข่ายและแนวนอนระหว่างจุดสิ้นสุดของจุดส่งสัญญาณแต่ละส่วน
คอมพิวเตอร์ทุกประเภทไม่ว่าจะเป็นสมาร์ทโฟน / ทีวี / เกมคอนโซล ฯลฯ ใช้รูปแบบนี้หรือไม่
ชุดโปรโตคอล TCP / IP เป็นระบบการสื่อสารข้อมูลจำเพาะอิสระฮาร์ดแวร์และการดำเนินงานไม่เป็นรูปแบบที่ หากกระบวนการที่ทำงานบนแพลตฟอร์มฮาร์ดแวร์หนึ่งต้องการสื่อสารกับกระบวนการที่ทำงานบนระบบระยะไกลบนแพลตฟอร์มฮาร์ดแวร์อื่นและเกิดการสื่อสารผ่านอินเทอร์เน็ตระบบจะต้อง
- ใช้ชุดโปรโตคอล TCP / IP อย่างถูกต้องและ
- โปรโตคอลที่เหมาะสมภายในชุดนี้จะต้องถูกนำมาใช้เพื่อให้บรรลุการสื่อสารระหว่างกระบวนการ
(ในเรื่องนี้) มีความแตกต่างระหว่างอินเทอร์เน็ตเซลลูลาร์กับ Wifi / Ethernet หรือไม่?
การตีความคำถามนี้ของฉันคือ "อุปกรณ์มือถือเชื่อมต่อกับเครือข่าย GSM และวิธีการที่อุปกรณ์มือถือเชื่อมต่อกับเครือข่าย WiFi หรือไม่"
ความแตกต่างอยู่ที่เลเยอร์เครือข่าย
คำถามนี้แสดงให้เห็นภาพที่ไม่ดีของชุดโปรโตคอล TCP / IP ในแผนภาพในบทความที่เชื่อมโยงกับคำถาม สำหรับการอ้างอิงนี่คือแผนภาพ:
ชั้นต่ำสุดที่เรียกว่า "ฮาร์ดแวร์" ควรจะเรียกว่าชั้นเชื่อมโยง , การควบคุมการเข้าถึงสื่อ (MAC) ชั้นหรือชั้นเชื่อมต่อเครือข่าย
จาก "บทช่วยสอน TCP / IP และภาพรวมทางเทคนิค" ของ IBM หน้า 34:
เลเยอร์เครือข่ายอินเทอร์เฟซเรียกอีกอย่างว่าเลเยอร์ลิงก์หรือเลเยอร์ดาต้าลิงค์เป็นอินเตอร์เฟสไปยังฮาร์ดแวร์เครือข่ายจริง อินเทอร์เฟซนี้อาจมีหรือไม่มีการส่งที่เชื่อถือได้และอาจเป็นแพ็กเก็ตหรือสตรีม ในความเป็นจริง TCP / IP ไม่ได้ระบุโปรโตคอลใด ๆ ที่นี่ แต่สามารถใช้เกือบทุกอินเตอร์เฟสเครือข่ายที่มีอยู่ซึ่งแสดงให้เห็นถึงความยืดหยุ่นของเลเยอร์ IP ตัวอย่างคือ IEEE 802.2, X.25 (ซึ่งเชื่อถือได้ในตัวเอง), ATM, FDDI และแม้แต่ SNA
นี่เป็นภาพที่ถูกต้องและเหนือกว่า (จากคู่มือ TCP / IP ):
เหตุผลที่การอภิปรายของเลเยอร์อินเทอร์เฟซเครือข่ายนั้นมีความเกี่ยวข้องก็คือมันอยู่ที่ชั้นนี้ซึ่งมีความแตกต่างในวิธีที่อุปกรณ์มือถือ / มือถือเชื่อมต่อกับเครือข่าย GSM กับเครือข่าย WiFi
เมื่อเชื่อมต่อกับเครือข่าย GSM โปรโตคอลชั้นเชื่อมต่อเครือข่ายที่ใช้ในการจัดการการเชื่อมต่อระหว่างอุปกรณ์มือถือและสถานีตัวรับส่งสัญญาณพื้นฐาน (BTS) จะถูกระบุโดย3G
เมื่อเชื่อมต่อกับจุดเชื่อมต่อไร้สาย Wi-Fi (WAP) โปรโตคอลที่ใช้ระบุโดยมาตรฐาน IEEE 802.11
สิ่งที่เกี่ยวกับอุปกรณ์ฟังก์ชั่นเดียวที่ไม่มีเลเยอร์ "แอปพลิเคชัน" - เช่นกล้องที่เชื่อมต่อกับเว็บสวิตช์ไฟหรืออุณหภูมิ
ตามที่อธิบายไว้ก่อนหน้านี้โปรโตคอลในชั้นแอปพลิเคชันของชุดโปรโตคอล TCP / IP ให้มาตรฐานสำหรับวิธีการแลกเปลี่ยนข้อมูลแอปพลิเคชันระหว่างกระบวนการ
เลเยอร์เป็นแนวคิด พวกเขาไม่ได้อยู่ในระบบหรือบนแพลตฟอร์มฮาร์ดแวร์
กล้องที่เชื่อมต่อกับเว็บสวิตช์ไฟและเทอร์โมสแตทอาจมีกระบวนการที่ใช้งานซึ่งสื่อสารผ่านอินเทอร์เน็ตกับกระบวนการที่ทำงานบนระบบระยะไกล (ตรวจสอบการอัปเดตเฟิร์มแวร์การแลกเปลี่ยนข้อมูลกับเซิร์ฟเวอร์ ฯลฯ ) กระบวนการหรือแอปพลิเคชันเหล่านี้จะใช้การดำเนินการตามชุดโปรโตคอล TCP / IP เพื่อให้การสื่อสารระหว่างกระบวนการนี้บรรลุผล
ชุดโปรโตคอล TCP / IP และระบบฝังตัว ("IoT")
ในขณะที่มีแอพพลิเคชั่นต่าง ๆ ที่ใช้โพรโทคอลชั้นแอพพลิเคชั่นต่าง ๆ ที่รันบนพีซีหรือเซิร์ฟเวอร์แบบดั้งเดิม แต่ก็มีความแตกต่างไม่มากนักในแง่ของวิธีการที่แพลตฟอร์มฮาร์ดแวร์เชื่อมต่อกับจุดเชื่อมต่อ สามารถทำได้ทั้งแบบใช้สายหรือไร้สายผ่านอีเธอร์เน็ต
สถานการณ์ค่อนข้างแตกต่างเมื่อพูดถึงระบบฝังตัวที่หลากหลายซึ่งสื่อสารผ่าน TCP / IP นี่คือภาพประกอบของสิ่งนี้ (จากPostscapes ):
สำหรับข้อมูลเพิ่มเติมดูบทความเหล่านี้:
การทำความเข้าใจโปรโตคอลที่อยู่เบื้องหลังอินเทอร์เน็ตของสิ่งต่าง ๆ
IoT มาตรฐานและโปรโตคอล
คู่มือเทคโนโลยี IoT