คำถามติดแท็ก protocols

5
ทำไมโปรโตคอลอินเทอร์เน็ตจำนวนมากจึงใช้ข้อความ?
จากสิ่งที่ฉันได้พบเป็นมากจำนวนมากของโปรโตคอลที่เดินทางผ่านทางอินเทอร์เน็ตเป็น "ข้อความตาม" มากกว่าไบนารี โปรโตคอลที่เป็นปัญหานั้นรวมถึง แต่ไม่ จำกัด เพียง HTTP, SMTP, FTP (ฉันคิดว่าอันนี้เป็นข้อความทั้งหมดหรือไม่), WHOIS, IRC ในความเป็นจริงบางส่วนของโปรโตคอลเหล่านี้กระโดดผ่านห่วงบางเมื่อใดก็ตามที่พวกเขาต้องการที่จะส่งข้อมูลไบนารี มีเหตุผลเบื้องหลังนี้ไหม? เห็นได้ชัดว่าโปรโตคอลบนพื้นฐานข้อความมีค่าใช้จ่ายเล็กน้อยเนื่องจากต้องการส่งข้อมูลเพิ่มเติมเพื่อส่งข้อมูลในปริมาณเท่ากัน (ดูตัวอย่างด้านล่าง) ประโยชน์ที่เกินดุลนี้คืออะไร โดยการใช้ข้อความฉันหมายถึงตัวละครส่วนใหญ่ที่ใช้ในโปรโตคอลอยู่ระหว่าง0x20(ช่องว่าง) และ0x7E( ~) โดยมี "speical character" เป็นครั้งคราวที่ใช้เพื่อจุดประสงค์พิเศษเช่น newlines, null, ETX และ EOT ตรงข้ามกับการส่งข้อมูลดิบข้อมูลไบนารีผ่านการเชื่อมต่อ ตัวอย่างเช่นการส่งจำนวนเต็ม123456เป็นข้อความจะเกี่ยวข้องกับการส่งสตริง123456(แสดงเป็น31 32 33 34 35 36เลขฐานสิบหก) ในขณะที่ค่าไบนารีแบบ 32 บิตจะถูกส่งเป็น (แสดงเป็นเลขฐานสิบหก) 0x0001E240(และตามที่คุณเห็น "มี" อักขระ null พิเศษ .

4
การวัดความหน่วงแฝงของเครือข่ายทางเดียว
นี่เป็นปริศนาเกี่ยวกับการวัดเวลาในการตอบสนองของเครือข่ายที่ฉันสร้างขึ้น ฉันเชื่อว่าทางออกคือมันเป็นไปไม่ได้ แต่เพื่อน ๆ ไม่เห็นด้วย ฉันกำลังมองหาคำอธิบายที่น่าเชื่อทั้งสองทาง (แม้ว่ามันจะถูกวางเป็นปริศนาฉันคิดว่ามันเหมาะกับเว็บไซต์นี้เพราะมันมีผลบังคับใช้กับการออกแบบและประสบการณ์ของโปรโตคอลการสื่อสารเช่นในเกมออนไลน์ไม่ต้องพูดถึง NTP) สมมติว่าหุ่นยนต์สองตัวอยู่ในห้องสองห้องเชื่อมต่อกันโดยเครือข่ายที่มีเวลาแฝงแบบทางเดียวต่างกันดังที่แสดงในภาพด้านล่าง เมื่อหุ่นยนต์ A ส่งข้อความไปยังหุ่นยนต์ B จะใช้เวลา 3 วินาทีเพื่อให้มันมาถึง แต่เมื่อหุ่นยนต์ B ส่งข้อความไปยังหุ่นยนต์ A จะใช้เวลา 1 วินาทีในการมาถึง เวลาแฝงไม่เคยเปลี่ยนแปลง หุ่นยนต์เหมือนกันและไม่มีนาฬิกาที่แชร์แม้ว่าพวกเขาสามารถวัดระยะเวลา (เช่นพวกเขามีนาฬิกาหยุด) พวกเขาไม่รู้ว่าใครคือหุ่นยนต์ A (ซึ่งข้อความล่าช้า 3 วินาที) และหุ่นยนต์ B (ซึ่งข้อความล่าช้า 1 วินาที) โปรโตคอลเพื่อค้นหาเวลาไปกลับคือ: whenReceive(TICK).then(send TOCK) // Wait for other other robot to wake up send READY …

1
ทำลายโปรโตคอลการตรวจสอบความถูกต้องโดยใช้คีย์ symmetric ที่แบ่งปันล่วงหน้า
พิจารณาโปรโตคอลต่อไปนี้ซึ่งหมายถึงการรับรองความถูกต้อง (Alice) ถึง (Bob) และในทางกลับกันAAABBB A→B:B→A:A→B:“I'm Alice”,RAE(RA,K)E(⟨RA+1,PA⟩,K)A→B:“I'm Alice”,RAB→A:E(RA,K)A→B:E(⟨RA+1,PA⟩,K) \begin{align*} A \to B: &\quad \text{“I'm Alice”}, R_A \\ B \to A: &\quad E(R_A, K) \\ A \to B: &\quad E(\langle R_A+1, P_A\rangle, K) \\ \end{align*} RRRคือ nonce สุ่ม KKKเป็นคีย์สมมาตรที่แชร์ล่วงหน้า PPPคือส่วนของข้อมูล E(m,K)E(m,K)E(m, K)หมายถึงเข้ารหัสด้วยKmmmKKK ⟨m1,m2⟩⟨m1,m2⟩\langle m_1, m_2\rangleหมายถึงประกอบกับในลักษณะที่สามารถถอดรหัสได้อย่างไม่น่าสงสัยm1m1m_1m2m2m_2 เราคิดว่าอัลกอริทึมการเข้ารหัสลับมีความปลอดภัยและดำเนินการอย่างถูกต้อง ผู้โจมตี (Trudy) ต้องการโน้มน้าวให้ Bob ยอมรับน้ำหนักบรรทุกของเธอว่ามาจาก …
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.