เป็นความจริงไหมว่าTCPนั้นสั้นสำหรับ TCP / IP และพวกมันหมายถึงสิ่งเดียวกันหรือไม่?
มันเป็นไปได้สำหรับTCPจะถูกสร้างขึ้นบนโปรโตคอลอื่นนอกเหนือจากIP ?
เป็นความจริงไหมว่าTCPนั้นสั้นสำหรับ TCP / IP และพวกมันหมายถึงสิ่งเดียวกันหรือไม่?
มันเป็นไปได้สำหรับTCPจะถูกสร้างขึ้นบนโปรโตคอลอื่นนอกเหนือจากIP ?
คำตอบ:
TCP และ IP (v4 & v6) สามารถแยกกันได้อย่างแน่นอนและหนึ่งไม่ได้หมายถึงอื่น ๆ ตามที่พิสูจน์โดยตัวอย่างของ TCP over IPX ( RFC 1791 )
อย่างไรก็ตาม TCP ไม่สามารถสร้างได้ผ่านโปรโตคอลเครือข่ายใด ๆ เหตุผลสองประการ:
ข้อมูลจำเพาะ TCP, RFC 793ไม่ใช่แหล่งข้อมูลที่ดีในการตัดสินใจคำถามนี้เนื่องจากยอมรับว่าจะปล่อยให้อินเตอร์เฟสกับเลเยอร์ที่ต่ำกว่าส่วนใหญ่ไม่ได้ระบุ
หมายเหตุ a) สำหรับ TCP เพื่อรวบรวมดาตาแกรมที่พิมพ์ใหม่บนกระดาษแผ่นเล็ก ๆ (ไม่ว่าจะเป็นนกพิราบหรือเครือข่าย corvid ที่ฉลาดกว่า) ขนาดของเพย์โหลดจะต้องถูกเขียนในตำแหน่งมาตรฐาน อีกทางเลือกหนึ่งชั้นการปรับตัวสามารถกำหนดขนาดเซ็กเมนต์ สแกนเนอร์แบบออพติคอลที่ใช้ในการติดตั้งโฮสต์สแต็คของ spec ผู้ให้บริการนก ( RFC 1149 ) ได้รวมเลเยอร์การปรับแบบฮิวริสติกเข้าด้วยกัน แต่ก็ยังไม่มีเอกสาร
ฉันไม่ได้อ่านRFCทั้งหมดแต่ภาษาในส่วนที่ 1.4 ดูเหมือนว่าจะแนะนำว่าสามารถใช้โปรโตคอล "ระดับต่ำกว่า" ได้
อินเตอร์เฟสระหว่าง TCP และโปรโตคอลระดับล่างนั้นไม่ได้ระบุเป็นหลักยกเว้นว่ามีการสันนิษฐานว่ามีกลไกที่ทั้งสองระดับสามารถส่งผ่านข้อมูลแบบอะซิงโครนัสได้ซึ่งกันและกัน โดยทั่วไปแล้วหนึ่งคาดว่าโปรโตคอลระดับล่างเพื่อระบุอินเตอร์เฟซนี้ TCP ถูกออกแบบมาเพื่อทำงานในสภาพแวดล้อมทั่วไปของเครือข่ายที่เชื่อมต่อกัน โปรโตคอลระดับล่างซึ่งถูกสันนิษฐานตลอดทั้งเอกสารนี้คือ Internet Protocol
TCP ไม่สั้นสำหรับ TCP / IP
TCP / IP มักถูกใช้เป็นวิธีการจดชวเลข " ชุดโปรโตคอลอินเทอร์เน็ต " และมักจะมีโปรโตคอลมาตรฐานอื่น ๆ เมื่อคนพูด TCP / IP พวกเขามักจะรวม UDP ผ่าน IP (ซึ่งใช้ UDP แทน TCP) และโปรโตคอลอื่น ๆ อีกมากมายเช่น ARP, ICMP, DNS, SNMP และโปรโตคอลเลเยอร์แอปพลิเคชันอื่น ๆ
แอปพลิเคชันใช้โพรโทคอลเลเยอร์เช่น SMTP (สำหรับอีเมล) สิ่งเหล่านี้อยู่บนโปรโตคอล transport layer หนึ่งในสองโปรโตคอล - TCP และ UDP โปรโตคอลชั้นแอปพลิเคชันไม่กี่จะใช้อย่างใดอย่างหนึ่งหรือทั้งสองอย่างของ UDP และ TCP แต่ส่วนใหญ่จะใช้กับโปรโตคอลการขนส่งชั้นเดียวเท่านั้น
TCP และ UDP เป็นโปรโตคอลการส่งผ่านสองชั้นที่ใช้ใน Internet Protocol Suite หากมีคนอื่นฉันไม่รู้จักพวกเขาและคนอื่น ๆ จะเป็นตัวแทนของการใช้ผู้เชี่ยวชาญขนาดเล็กที่หายไป โปรโตคอลการขนส่งเลเยอร์อื่น ๆ ได้รับการกำหนด - การใช้งานของพวกเขาอาจหมายถึงสัดส่วนเพียงเล็กน้อยของปริมาณการใช้ IP ทั่วโลก †
ในขณะที่มันอาจเป็นไปได้ในทางทฤษฎีที่จะใช้ TCP กับสิ่งอื่นที่ไม่ใช่ IP แต่ในทางปฏิบัติ TCP มักใช้งานผ่าน IP - โปรโตคอลอินเทอร์เน็ต IP ย้ายแพ็กเก็ตระหว่างเครือข่าย (คิดว่า IP เป็นการเชื่อมต่อหลาย LAN เข้าด้วยกัน)
อีเธอร์เน็ตเป็นเพียงตระกูลที่ได้รับความนิยมสูงสุดของโพรโทคอลลิงก์เลเยอร์ระดับต่ำซึ่งมีการใช้ TCP / IP แต่ TCP / IP นั้นถูกใช้อย่างกว้างขวางบน ATM และอื่น ๆ
โปรโตคอลการขนส่งเลเยอร์เพียงอย่างเดียวในการใช้งานที่สำคัญในเครือข่ายที่ใช้ Internet Protocol Suite คือ TCP และ UDP
†เพียงเพื่อความสนุกฉันวัดปริมาณการใช้งานบน LAN ขนาดเล็ก (มาก) ซึ่งรวมถึง NetBIOS (ผ่าน TCP), SSH, Rsync, อีเมล, การอัปเดตซอฟต์แวร์, DNS, การพูดคุยแบบกล่อง Windows ทั่วไปและการรับส่งข้อมูลประเภทอื่น ๆ
โปรดทราบว่าข้อความนี้ในคำถามที่พบบ่อยของ Google สำหรับโปรโตคอล QUIC
ทำไมคุณไม่สร้างโปรโตคอลใหม่ทั้งหมดแทนที่จะใช้ UDP โดยทั่วไปกล่องกลางบนอินเทอร์เน็ตในปัจจุบันจะปิดกั้นการรับส่งข้อมูลเว้นแต่ว่าจะเป็นการรับส่งข้อมูล TCP หรือ UDP
(ความสำคัญของฉัน)
เหตุผลที่ TCP / IP นั้นเป็นตัวย่อที่ใช้กันทั่วไป (เมื่อเทียบกับพูดว่า UDP / IP หรือ SCTP / IP) เป็นเพราะทั้งสองโปรโตคอลได้รับการออกแบบร่วมกันและในกระดาษต้นฉบับโดย Vint Cerf และ Bob Kahn ทั้งสองแนวคิดคือ รวมเข้าด้วยกันเป็นโปรโตคอลเดียว หลังจากนั้นไม่นานพวกเขาก็ถูกแบ่งออกเป็น IP เพื่อจัดเส้นทางและ TCP เพื่อให้การควบคุมการไหลมัลติเพล็กซ์การตรวจจับข้อผิดพลาดและอื่น ๆ จนกระทั่งเมื่อหกปีต่อมาก็มีการแนะนำ UDP เพื่อให้เลเยอร์มัลติเพล็กซิ่ง "เบา" โอเวอร์เฮดที่เกี่ยวข้องกับ TCP
ยังคง TCP และ IP เป็นสองสิ่งที่แยกจากกันและสมบูรณ์และเป็นอิสระโดยเจตนา ความจริงที่ว่า TCP ไม่ต้องการ IP นั้นจะปรากฏทันทีพร้อมกับความจริงที่ว่า TCP สามารถเรียกใช้ที่ไม่ได้แก้ไขบนทั้ง IPv4 และ IPv6 ซึ่งเป็นโปรโตคอลที่แตกต่างกันสองตัว
ด้วยการทำงานเพียงเล็กน้อยคุณสามารถสร้างโปรโตคอลการแข่งขันเพื่อ IP ที่จะให้บริการตามวัตถุประสงค์เดียวกัน แต่อาจจะต้องมีคุณสมบัติส่วนใหญ่หากไม่ใช่คุณสมบัติเดียวกันทั้งหมดและอาจจะจบลงด้วยการค้นหา IP อย่างมาก คุณสามารถยืนยันว่าส่วนขยายไปยัง IP (เช่น IPSec) เป็นโปรโตคอลสำรองเลเยอร์ 3 อย่างมีประสิทธิภาพดังนั้นคุณจึงไป
คุณสามารถเปลี่ยน IP เป็นอย่างอื่นได้ ในความเป็นจริงนั่นคือสิ่งที่คุณกำลังทำเมื่อคุณใช้ TCP ผ่าน IPv6 TCP ยังคงเป็น TCP แต่ IP คือ v6 แทนที่จะเป็น v4
AFAIK ไม่มีใครสร้างโพรโทคอลเลเยอร์ 3 อื่น ๆ เพื่อทำงานกับ TCP ด้านบน แต่ไม่มีเหตุผลที่คุณทำไม่ได้
TCP และ IP เป็นเหมือนเนยทั่วทั้งขนมปัง
คุณสามารถจับคู่สิ่งอื่น ๆ ที่ทำงานร่วมกับโพรโทคอลใดก็ได้ แต่สองสิ่งนี้เสริมกันมันเป็นวิธีที่เชื่อถือได้ในการถ่ายโอนข้อมูลและเติมหน้าท้องด้วยข้อมูลอินเทอร์เน็ต มันจาระบีท่อเพื่อให้อาหารแห้งอื่น ๆ และการจับมือกันข้อมูลเหมือนกันเพื่อรองรับการจับคู่นี้ แต่มันไม่มีทางเป็นเอกสิทธิ์
ถาม อย่างไรก็ตามมันเป็นไปไม่ได้ที่ TCP จะสร้างบนโปรโตคอลอื่นนอกเหนือจาก IP หรือไม่
ตอบ ใช่เป็นไปได้ ฉันชอบรหัสมอร์สและตัวอย่างนกพิราบของ TCP ที่ไม่มี IP
ฉันเคยได้ยินเสมอว่า TCP สั้นสำหรับ TCP / IP
จริงๆแล้วมันหมายถึงTransmission Control Protocol ผ่าน Internet Protocol
และพวกเขาหมายถึงสิ่งเดียวกัน
ไม่ถูกต้อง
อันดับแรกอีเธอร์เน็ตเป็นระบบฮาร์ดแวร์ระดับต่ำที่ควบคุมการทำงานของชิ้นส่วนฮาร์ดแวร์ที่เกิดขึ้นจริง
ต่อไปให้คิดว่าIPเป็นระบบโทรศัพท์หรือสัญญาณไฟจราจร มันให้การควบคุมพื้นฐานของระบบเชื่อมต่อสองจุดเข้าด้วยกัน
ในทางกลับกันTCPเป็นเหมือนระบบส่งข้อความหรือเจ้าหน้าที่ควบคุมการจราจรซึ่งนำข้อความ / รถยนต์ไปยังจุดที่ถูกต้อง
TCP / IP นำมารวมกันเป็นระบบของการถ่ายโอนข้อมูลที่เชื่อถือได้ไปยังและจากอุปกรณ์ที่เชื่อมต่อสองเครื่อง
ด้วยอินเทอร์เน็ตเมื่อคุณต้องการส่งหรือรับข้อมูลส่วน IP ของระบบคือส่วนที่ควบคุมการเชื่อมต่อฮาร์ดแวร์จริงด้วยสาย (หรือคลื่นไร้สาย) ส่วน TCP ของระบบเป็นซอฟต์แวร์ที่รับผิดชอบในการรับข้อมูลและทำลายการส่งการประกอบข้อมูลที่ได้รับอีกครั้งและการตรวจสอบข้อมูลและการส่งซ้ำหากจำเป็น
มีคำอธิบายที่นับไม่ถ้วนกับอุปมาและรายละเอียดทางเทคนิคที่มีอยู่โดยเฉพาะอย่างยิ่งในรูปแบบวิดีโอ DifferenceBetween.net มีเนื้อหาที่ดีเป็นพิเศษเกี่ยวกับเรื่องนี้
อย่างไรก็ตามมันเป็นไปไม่ได้ที่ TCP จะถูกสร้างขึ้นบนโปรโตคอลอื่นนอกเหนือจาก IP หรือไม่
ใช่คุณสามารถสร้างระบบสำรองให้กับ TCPที่ใช้ IP ได้ ดูรายละเอียดบางอย่างในInternet Protocol Suite
> the fact that !TCP can go over IP does not necessarily mean TCP can go over !IP Huh?
psusi พยายามฉลาดโดยใช้ "!" เป็น "not operator" ความคิดเห็นของเขาควรอ่านเป็น: "ความจริงที่ว่าสิ่งที่ไม่ใช่ TCP สามารถผ่าน IP ไม่จำเป็นต้องหมายความว่า TCP สามารถผ่านสิ่งที่ไม่ใช่ IP" มันทำในการอ้างอิงถึงประโยคสุดท้ายของคำตอบของคุณซึ่งแสดงให้เห็นการดำรงอยู่ของ "ระบบสำรองเพื่อ TCP" อย่างไรก็ตามการแสดงให้เห็นว่ามีทางเลือกอื่นสำหรับ TCP อยู่ไม่ได้แปลว่าจะบอกเป็นนัยว่าทางเลือกอื่นสำหรับ IP นั้นมีอยู่
TCP เป็นโปรโตคอลเลเยอร์ 4 รับประกันการขนส่งข้อมูลในรูปแบบของสตรีมที่สั่งซื้อจากกระบวนการหนึ่งในคอมพิวเตอร์ไปยังกระบวนการอื่นบนคอมพิวเตอร์เครื่องเดียวกัน / อีกเครื่องหนึ่ง
IP เป็นโปรโตคอลเลเยอร์ 3 มันให้การขนส่งจากโฮสต์หนึ่งไปยังอีก
ตราบใดที่มีโปรโตคอลที่สามารถโฮสต์การถ่ายโอนข้อมูล TCP จะทำงาน
ดังนั้น TCP สามารถดำเนินการผ่านโปรโตคอลใด ๆ แต่เราได้ทำ IP เท่านั้น IP นั้นง่ายและทำงานได้
ไม่จำเป็นสำหรับโปรโตคอล Layer 3 อื่น
เมื่อคุณออกแบบเครือข่ายคุณจะต้องเลือกชุดโปรโตคอล (ซึ่งโดยทั่วไปจะเป็นชุดของกฎการสื่อสารระหว่างเครื่อง) สำหรับ "เลเยอร์" ที่หลากหลายแต่ละอัน (ซึ่งคุณสามารถจินตนาการได้ว่าเป็นระดับนามธรรมที่แตกต่างกัน โปรดทราบเมื่อสร้างและรวมโพรโทคอล)
รุ่นที่เรียบง่าย: โปรโตคอลเป็นเหมือนกล่องที่เราใส่ข้อความของเรา กล่องเหล่านั้นมีขนาดแตกต่างกันและคุณใส่ข้อความของคุณลงในกล่องที่เล็กที่สุดจากนั้นกล่องที่เล็กที่สุดในกล่องที่ใหญ่กว่า ฯลฯ การเลือกชุดโปรโตคอลคือการเลือกกล่องที่คุณจะใช้สำหรับแต่ละกล่อง " เลเยอร์ "ที่ล้อมรอบข้อความของคุณ
TCP และ IP เป็นโปรโตคอลสำหรับสองชั้นอิสระที่สร้างขึ้นพร้อมกันและใช้งานร่วมกันได้ แต่สามารถใช้กับโปรโตคอลอื่นได้เป็นอย่างดี ที่เกิดขึ้นค่อนข้างบ่อย: คุณสามารถใช้ IP พร้อมกับโปรโตคอลที่ไม่ TCP หรือ TCP พร้อมกับที่ไม่ใช่ IP โปรโตคอล
เหตุผลที่ว่าทำไม TCP / IP เป็นเช่นย่อที่พบบ่อยคือการที่ทั้งสองโปรโตคอลที่เกิดขึ้นร่วมกันบนพื้นฐานของอินเทอร์เน็ตและมีความสำคัญต่อความสำเร็จของ
(TCP และ IP มีฟังก์ชั่นบางอย่างที่ออกแบบมาโดยเฉพาะเพื่อให้ทำงานร่วมกันซึ่งเป็นสิ่งที่นักสอนมักบ่นเกี่ยวกับ แต่พวกเขาไม่ได้ขัดขวางคุณจากการเชื่อมต่อกับโปรโตคอลอื่น ๆ )
ฉันคิดว่าเป็นไปได้ที่จะเรียกใช้ TCP ผ่านการขนส่ง IPX หากคุณต้องการย้อนยุค
อย่างไรก็ตามมันเป็นไปไม่ได้ที่ TCP จะถูกสร้างขึ้นบนโปรโตคอลอื่นนอกเหนือจาก IP หรือไม่
นอกเหนือจาก TCP / IPv4 และ TCP / IPv6 แบบดั้งเดิมแล้วมีการออกแบบโปรโตคอลทดลองสองสามตัวอย่างเช่น:
ในฐานะที่เป็นส่วนหนึ่งของความพยายามของ Net100 และ Probe ในการปรับปรุงการถ่ายโอนจำนวนมากผ่านเครือข่ายความเร็วสูงและเวลาแฝงที่สูงเราจึงได้พัฒนา TCP ที่เป็นเครื่องมือและปรับแต่งได้ซึ่งทำงานบน UDP การขนส่งเหมือน UDP TCP ทำหน้าที่เป็นสายรัดทดสอบสำหรับการทดลองกับตัวควบคุมที่เหมือน TCP ที่ระดับแอปพลิเคชันที่คล้ายกับ TReno
และiproxy: การเรียกใช้บริการ TCP บน UDPซึ่งสนุกกว่า:
iproxy ประกอบด้วยพร็อกซีฝั่งไคลเอ็นต์และพร็อกซีฝั่งเซิร์ฟเวอร์ที่อนุญาตให้บริการ TCP / IP ตามอำเภอใจสามารถเรียกใช้ผ่าน Broadcast, Multicast หรือ Unicast UDP เดิมทีคิดว่าเป็นวิธีการกำหนดค่าเซิร์ฟเวอร์ที่ไม่ได้รับที่อยู่ IP บน LAN โดยใช้ส่วนต่อประสานทางเว็บ
ดังนั้นคุณจะเห็น: TCP บน unicast UDP และ TCP บนbroadcast หรือ multicast UDP !
AFAIK เท่านั้น TCP / IPv4 และ TCP / IPv6 เพลิดเพลินกับการปรับใช้ขนาดใหญ่
คำตอบคือไม่! ตัวอย่างเช่นมี RFC เก่าที่อธิบาย TCP ผ่าน IPX: http://tools.ietf.org/html/rfc1791
สำหรับผู้ที่มีความจำสั้น IPX เป็นโปรโตคอล Novell Netware: http://en.wikipedia.org/wiki/Internetwork_Packet_Exchange
การใช้งาน TCP บนโปรโตคอลต่าง ๆ ที่รองรับการขนส่งดาต้าพื้นฐานอยู่แล้ว ในความเป็นจริงความต้องการไม่ได้ระบุข้อมูลเส้นทาง (TCP ไม่ต้องการ IP เพื่อทำงานด้วยเพียงแค่ลิงค์ serila กับผู้รับโดยปริยายก็เพียงพอแล้ว)
ดังนั้นคุณจึงได้ติดตั้ง TCP ที่ด้านบนของ UDP (ข้อดี: คุณใช้พอร์ตเดียวที่ด้าน "เซิร์ฟเวอร์" หรือคุณสามารถฝังผ่านการเชื่อมต่อที่มีอยู่ซึ่งขนส่งช่องสัญญาณมัลติเพล็กซ์ได้หลายช่อง) เฉพาะระดับ IP เท่านั้นที่จัดเตรียมการกำหนดเส้นทาง แต่ TCP ไม่จำเป็นต้องใช้ สิ่งที่สำคัญคือแนวคิดของ MTU นั้นจัดทำโดยชั้นล่าง
สิ่งนี้อนุญาตให้โปรโตคอลข้ามข้อ จำกัด ของการแวะผ่าน NAT โดยไม่ต้องลงทะเบียนพอร์ตการแปล UPnP สำหรับโฮสต์ที่เฉพาะเจาะจง อนุญาตให้ปรับ MTU และ MSS ได้อย่างอิสระปรับให้เหมาะสมสำหรับไคลเอนต์แต่ละตัวแทนโดยแต่ละเราเตอร์ที่ใช้ร่วมกันระดับกลาง โปรโตคอลการกำหนดเส้นทางอื่น ๆ เป็นไปได้ (รวมถึงการจัดส่งผ่าน Multicast และเครือข่ายการออกอากาศ) และคุณมีทางเลือกของกลไกความปลอดภัย
ตัวอย่างการใช้งานคือ Gogo6.net (ซึ่งใช้ช่องทางการส่งผ่าน IPv6 ผ่านเซสชัน TCP โดยใช้การปรับใช้ TCP ผ่าน UDP v4 อีกครั้ง (ใช้งานได้กับเราเตอร์ที่บ้านส่วนใหญ่ที่ยังมีที่อยู่ IPv4 เท่านั้น) และไม่สนับสนุนวิธี UPnP เสมอ โดยไม่จำเป็นต้องกำหนดค่าโดยผู้ใช้โดยใช้หมายเลขพอร์ตคงที่เฉพาะกับแอปพลิเคชันแม้ว่าจะไม่ได้ทำงานอยู่ก็ตาม)
ตัวอย่างอื่นคือการห่อหุ้ม TCP ผ่าน HTTP (หรือ HTTPS) เวอร์ชัน 1.1 พร้อมด้วยส่วนขยาย "สตรีม" ดั้งเดิม VPN ส่วนใหญ่ที่อนุญาตการเชื่อมต่อเครือข่ายผ่านอินเทอร์เน็ตจะทำเช่นเดียวกัน บริดจ์ยังสามารถสรุปหลายโปรโตคอล: Ethernet, PPP, IPv4 และ IPv6 (ขยายส่วน LAN ท้องถิ่นหรืออีเทอร์เน็ตเท่านั้น), NetBEUI / LanMan, การค้นหาเราเตอร์ (ภายในเครือข่ายบริดจ์) รวมถึงในโหมดดิบ (อนุญาต DHCPv4 หรือ DHCPv6) เครือข่าย bridged ใช้ HTTPS เนื่องจากการห่อหุ้มผ่าน HTTPS ยังช่วยให้การเข้ารหัสและการรับรองความถูกต้องสำหรับการสร้างและรักษาความปลอดภัยของบริดจ์ แต่ไม่จำเป็นต้องมีการตรวจสอบ / เข้ารหัสแบบ end-to-end สำหรับไคลเอนต์และเซิร์ฟเวอร์ผ่านเครือข่าย bridged และเนื่องจากเราเตอร์ และ HTTPS
มีตัวอย่างของระบบการสื่อสารในกองทัพโดยใช้ TCP แต่ไม่ใช่ IP เนื่องจากเส้นทางการสื่อสารเป็นการเชื่อมต่อแบบอนุกรมที่ไม่ได้รับเส้นทางผ่านเราเตอร์และอื่น ๆ หากคุณดูที่แพ็คเก็ต TCP ก่อนที่จะมุ่งหน้าไปที่ฟิลด์ IP ดูเหมือนเป็นไปได้ง่ายที่จะไม่ใช้ IP หากโปรโตคอล "การกำหนดเส้นทาง" ของคุณแตกต่างกัน