TCP / UDP เพิ่มอะไรกับ“ raw ip”


18

ฉันรู้ว่าทั้ง TCP และ UDP นั้นสร้างขึ้นจาก IP และฉันรู้ถึงความแตกต่างระหว่าง TCP และ UDP แต่ฉันสับสนว่า "raw ip" คืออะไร มันจะยุติธรรมหรือไม่ที่จะบอกว่า TCP & UDP นั้นใช้ IP แต่ IP นั้นและในตัวมันเองไม่สามารถถ่ายโอนข้อมูลได้ หรือ IP เป็นรูปแบบการสื่อสารระดับต่ำมากซึ่งเป็นนามธรรมโดย TCP และ UDP เพิ่มเติม?


2
ในการแสดงความคิดเห็นเพิ่มเติมด้านล่าง (ไม่เพียงพอสำหรับคำตอบแบบเต็มเพื่อความชัดเจน): IP เป็นโปรโตคอลที่ถ่ายโอนข้อมูล TCP หรือ UDP เป็นโปรโตคอลที่รับส่งข้อมูลด้วย TCP และ UDP มักจะนั่งอยู่ด้านบนของ IP ดังนั้นสำหรับ IP มันเป็นส่วนของข้อมูลที่สามารถเป็น TCP หรือ UDP อีเธอร์เน็ตมักถูกใช้เพื่อพกพาไอพี ตัวอย่างเช่นเฟรม Ethernet อาจมีและแพ็คเก็ต IP เนื่องจากเป็นข้อมูลที่รับส่งข้อมูลและแพ็คเก็ต IP นั้นอาจถือส่วน TCP ตามที่มีการบรรจุและอื่น ๆ คุณลงท้ายด้วยสแต็คของโปรโตคอลเช่นgoo.gl/1uEYtC
jwbensley

3
IP มีการถ่ายโอนข้อมูลอย่างแน่นอน - เช่นเดียวกับแพ็คเก็ต TCP / UDP แม้ว่าโดยทั่วไปจะไม่สามารถใช้แอปพลิเคชันได้ UDP เป็นโพรโทคอลที่ดิบมาก ๆ บน IP แต่ได้เพิ่มหมายเลขพอร์ตแล้วอนุญาตให้บริการหลายอย่างเพื่อจัดการปริมาณการใช้งาน UDP พร้อมกันบนระบบ มิฉะนั้นคุณจะมีบริการได้มากเท่าที่คุณมีที่อยู่ IP
Luaan

คำตอบ:


23

IP เป็นโปรโตคอลเลเยอร์ 3 TCP / UDP เป็นโปรโตคอลเลเยอร์ 4 พวกเขาแต่ละคนมีวัตถุประสงค์ที่แตกต่างกัน

ชั้นที่ 3 อยู่ในความดูแลของการสิ้นสุดการส่งมอบปลาย ฟังก์ชันเพียงอย่างเดียวคือการเพิ่มสิ่งที่จำเป็นต่อแพ็กเก็ตเพื่อรับแพ็คเก็ตจากโฮสต์หนึ่งไปยังอีกโฮสต์หนึ่ง

ชั้น 4 เป็นค่าใช้จ่ายในการส่งมอบบริการต่อการให้บริการ ฟังก์ชั่นของมันคือการแยกกระแสข้อมูล คอมพิวเตอร์ของคุณสามารถทำงานได้หลายโปรแกรมโดยแต่ละโปรแกรมจะส่ง / รับบิตไปที่สาย IE: คุณอาจมีหลายแท็บเบราว์เซอร์ที่ใช้งาน, สตรีมมิ่งวิทยุอินเทอร์เน็ต, ทำการดาวน์โหลด, ใช้torrents ถูกกฎหมาย , ใช้แอพพลิเคชั่นแชท, ฯลฯ ทั้งหมดนี้ได้รับ 1s และ 0s จากสาย, และ Layer 4 แยกข้อมูลแต่ละสายออกไป แอปพลิเคชั่นที่ไม่ซ้ำใครที่ต้องการพวกเขา นี่คือภาพประกอบ:

L4 แยกสตรีมข้อมูล

IP ไม่สามารถส่งแพ็กเก็ตไปยังบริการ / แอปพลิเคชันที่ถูกต้อง และ TCP / UDP ไม่สามารถส่งแพ็กเก็ตจากปลายด้านหนึ่งของอินเทอร์เน็ตไปยังอีกด้านหนึ่งได้

ทั้ง TCP และ IP ทำงานร่วมกันเพื่อทำให้ทั้งคู่บรรลุเป้าหมาย "ปลายทาง" ของการสื่อสารทางอินเทอร์เน็ต

ข้อมูลที่ต้องได้รับจากโฮสต์หนึ่งไปยังอีกโฮสต์นั้นสร้างขึ้นโดยเลเยอร์ด้านบนของโมเดล OSI

ข้อมูลนี้ถูกส่งผ่านไปยัง L4 ซึ่งจะเพิ่มข้อมูลที่จำเป็นในการส่งข้อมูลจากบริการไปยังบริการเช่นส่วนหัว TCP ที่มีพอร์ตต้นทางและปลายทาง ตอนนี้ Data และส่วนหัวของ L4 ถูกอ้างถึงเป็นเซ็กเมนต์

จากนั้นส่วนจะถูกส่งผ่านไปยัง L3 ซึ่งจะเพิ่มข้อมูลที่จำเป็นในการส่งมอบกลุ่มตั้งแต่ต้นจนจบเช่นหัว IP ที่มีที่อยู่ IP ต้นทางและปลายทาง ตอนนี้ส่วนหัว L3 และกลุ่มสามารถเรียกว่าเป็นแพ็คเก็ต

กระบวนการนี้เรียกว่าEncapsulation และ De-encapsulation (หรือบางครั้ง decapsulation) นี่คือภาพเคลื่อนไหวของการทำงาน:

Encapsulation และ De-encapsulation ใช้โดยได้รับอนุญาตจาก Practical Networking.net

ถ้าสิ่งนี้ไม่สมเหตุสมผลฉันขอแนะนำให้อ่านเพิ่มเติมเกี่ยวกับโมเดล OSIและวิธีที่แต่ละเลเยอร์มีความรับผิดชอบที่แตกต่างกันซึ่งทั้งหมดทำงานร่วมกันเพื่อให้ย้ายแพ็กเก็ตผ่านอินเทอร์เน็ตได้สำเร็จ


7
โปรดทราบว่าอินเทอร์เน็ตจะหลวมตามรุ่น OSI เท่านั้น
user253751

2
inside an IP header is usually a TCP or UDP headerไม่ถูกต้องส่วนหัว TCP / UDP ไม่ได้อยู่ในส่วนหัวของ IP มันอยู่ในส่วนข้อมูลของแพ็คเก็ต IP
Eborbob

"ฟังก์ชั่น แต่เพียงผู้เดียวคือการแยกสตรีมข้อมูล" ในขณะที่ส่วนใหญ่เป็นจริงสำหรับ UDP (นอกจากนี้ยังมีการตรวจสอบ แต่ meh) มันไม่เป็นความจริงสำหรับ TCP
ปีเตอร์กรีน

1
@immibis จริง แต่ฉันยังไม่เห็นว่าการติดตามแบบจำลอง OSI ได้นำไปสู่การใช้งานอ้าปากค้างหรือทำความเข้าใจกับการเลียนแบบ ส่วนใหญ่และโดยเฉพาะอย่างยิ่งสำหรับใครบางคนที่เพิ่งเข้าใกล้เทคโนโลยีอินเทอร์เน็ตมันมีค่ามากกว่าที่จะคิดต่อไปตามข้อ จำกัด ของแบบจำลอง OSI
Eddie

@Eborbob ฉันสามารถดูว่ามันผิดขึ้นอยู่กับวิธีดูประโยค โดยสุจริตว่าทั้งย่อหน้าสามารถใช้คำพูดซ้ำได้ฉันจะลองอ่านมันในคืนนี้ ขอบคุณที่ชี้นำ
Eddie

6

IP สามารถส่งข้อมูลได้ดีปัญหาคือสิ่งที่เกิดขึ้นเมื่อข้อมูลนั้นสิ้นสุดลง ข้อมูลการระบุเพียงอย่างเดียวคือที่อยู่ IP ของโฮสต์และหมายเลขโปรโตคอล ไม่มีวิธีใดในการแยกความแตกต่างของซ็อกเก็ตข้อมูลสำหรับ

เป็นไปได้ที่โปรแกรมจะใช้ IP โดยตรงผ่านสิ่งที่เรียกว่า "ซ็อกเก็ตดิบ" แต่ขาดกลไกที่เหมาะสมสำหรับการตัดสินใจว่าซ็อกเก็ตใดที่จะส่งข้อมูลเพื่อเพิ่มความปลอดภัยและประสิทธิภาพการทำงาน (เคอร์เนลต้องส่งข้อมูลไปยังซ็อกเก็ตดิบทั้งหมด สำหรับหมายเลขโปรโตคอลที่ระบุ) ด้วยเหตุนี้ความสามารถในการเปิด "ซ็อกเก็ตดิบ" จึงมักถูก จำกัด ไว้ที่รูท (หรือเทียบเท่ากับแพลตฟอร์มของคุณ)

UDP เป็นชั้นที่ค่อนข้างน้อยกว่า IP จะเพิ่มหมายเลขพอร์ตเพื่อระบุซ็อกเก็ตข้อมูลและการตรวจสอบ (เพื่อปฏิเสธแพ็กเก็ตที่เสียหาย) แอปพลิเคชั่นยังคงรับผิดชอบในการจัดการกับแพ็คเก็ตที่หายไปการควบคุมความแออัดและการแยกข้อมูลออกเป็นแพ็กเก็ตขนาดที่เหมาะสม

TCP เป็นโปรโตคอลที่ซับซ้อนยิ่งขึ้นนอกเหนือจากการให้หมายเลขพอร์ตและ checksums แยกไบต์ - ลำธารเป็นแพ็คเก็ตประกอบกันอีกครั้งที่ปลายทางของพวกเขาและให้การควบคุมความแออัดและคุณสมบัติการกู้คืน


4

IP เป็นโปรโตคอลชั้น OSI-3 ในขณะที่ TCP และ UDP เป็นโปรโตคอลชั้น OSI-4 ในฐานะที่เป็นโปรโตคอลเลเยอร์ 3 IP สามารถดำเนินการโปรโตคอลเลเยอร์ 4 ที่แตกต่างกันมากมาย TCP และ UDP น่าจะเป็นที่พบมากที่สุด แต่ก็ไม่ใช่คนเดียว โปรโตคอล Layer-4 เป็นแอปพลิเคชั่นที่ใช้เป็นการเชื่อมต่อแบบครบวงจร IP transports layer-4 โปรโตคอลจากเครือข่ายไปยังเครือข่าย (โฮสต์ต่อโฮสต์) โปรโตคอล Layer-2 เช่นอีเธอร์เน็ตโปรโตคอลการขนส่งเลเยอร์ 3 บน LAN

คุณควรศึกษาแบบจำลอง OSI แต่ตระหนักว่ามันเป็นแบบจำลองทางความคิดและโลกแห่งความจริงมักจะไม่ตรงกัน

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.