ไพรเมอร์ในการสื่อสารเครือข่าย

เราได้ยินมาตลอดว่าในการทำการทดสอบการเจาะผู้ดูแลจะต้องทราบเกี่ยวกับแนวคิดพื้นฐานเกี่ยวกับระบบเครือข่ายเช่นที่อยู่ IP, เครือข่ายย่อยแบบคลาสสิก, เครือข่ายย่อยแบบไม่มีคลาส, พอร์ตและเครือข่ายกระจายเสียง เหตุผลประการแรกคือกิจกรรมต่างๆเช่นโฮสต์ที่อาศัยอยู่ในขอบเขตที่ได้รับการอนุมัติและบริการพอร์ตและคุณลักษณะใดที่เปิดอยู่และตอบสนองได้จะเป็นตัวกำหนดว่าผู้ประเมินจะดำเนินการในการทดสอบการเจาะระบบกิจกรรมประเภทใด สภาพแวดล้อมเปลี่ยนแปลงไปเรื่อย ๆ และระบบมักจะถูกจัดสรรใหม่ ดังนั้นจึงค่อนข้างเป็นไปได้ที่ช่องโหว่เก่า ๆ อาจเกิดขึ้นอีกครั้งและหากไม่มีความรู้ที่ดีในการสแกนเครือข่ายอาจเกิดขึ้นได้ว่าการสแกนครั้งแรกจะต้องได้รับการแก้ไขใหม่ ในส่วนต่อไปเราจะพูดถึงพื้นฐานของการสื่อสารบนเครือข่าย

รุ่นอ้างอิง

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

เรามีโมเดลอ้างอิงสองแบบเช่นโมเดล OSI และโมเดลอ้างอิง TCP / IP อย่างไรก็ตามแบบจำลอง OSI เป็นแบบจำลองสมมุติฐาน แต่ TCP / IP เป็นโมเดลที่ใช้งานได้จริง

OSI รุ่น

อินเทอร์เฟซระบบเปิดได้รับการออกแบบโดยองค์กรระหว่างประเทศของ Standardization (ISO) ดังนั้นจึงเรียกอีกอย่างว่า ISO-OSI Model

แบบจำลอง OSI ประกอบด้วยเจ็ดชั้นดังแสดงในแผนภาพต่อไปนี้ แต่ละเลเยอร์มีฟังก์ชันเฉพาะอย่างไรก็ตามแต่ละเลเยอร์จะให้บริการแก่เลเยอร์ด้านบน

ชั้นทางกายภาพ

ชั้นกายภาพรับผิดชอบกิจกรรมต่อไปนี้ -

  • การเปิดใช้งานการบำรุงรักษาและการปิดใช้งานการเชื่อมต่อทางกายภาพ

  • การกำหนดแรงดันไฟฟ้าและอัตราข้อมูลที่จำเป็นสำหรับการส่ง

  • การแปลงบิตดิจิทัลเป็นสัญญาณไฟฟ้า

  • การตัดสินใจว่าการเชื่อมต่อเป็นแบบซิมเพล็กซ์ฮาล์ฟดูเพล็กซ์หรือฟูลดูเพล็กซ์

Data Link Layer

เลเยอร์ลิงค์ข้อมูลทำหน้าที่ดังต่อไปนี้ -

  • ทำการซิงโครไนซ์และควบคุมข้อผิดพลาดสำหรับข้อมูลที่จะส่งผ่านฟิสิคัลลิงค์

  • เปิดใช้งานการตรวจจับข้อผิดพลาดและเพิ่มบิตตรวจจับข้อผิดพลาดให้กับข้อมูลที่จะส่ง

เลเยอร์เครือข่าย

เลเยอร์เครือข่ายทำหน้าที่ดังต่อไปนี้ -

  • เพื่อกำหนดเส้นทางสัญญาณผ่านช่องต่างๆไปยังอีกด้านหนึ่ง

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

  • เพื่อแบ่งข้อความขาออกเป็นแพ็กเก็ตและรวบรวมแพ็กเก็ตขาเข้าเป็นข้อความสำหรับระดับที่สูงขึ้น

เลเยอร์การขนส่ง

เลเยอร์การขนส่งทำหน้าที่ดังต่อไปนี้ -

  • ตัดสินใจว่าการส่งข้อมูลควรเกิดขึ้นบนเส้นทางขนานหรือเส้นทางเดียว

  • ทำการมัลติเพล็กซ์แยกข้อมูล

  • แบ่งกลุ่มข้อมูลออกเป็นหน่วยย่อย ๆ เพื่อให้เลเยอร์เครือข่ายจัดการได้อย่างมีประสิทธิภาพมากขึ้น

Transport Layer รับประกันการส่งข้อมูลจากปลายด้านหนึ่งไปยังอีกด้านหนึ่ง

ชั้นเซสชัน

เลเยอร์เซสชันทำหน้าที่ดังต่อไปนี้ -

  • จัดการข้อความและซิงโครไนซ์การสนทนาระหว่างสองแอปพลิเคชันที่แตกต่างกัน

  • ควบคุมการเข้าสู่ระบบและปิดการระบุผู้ใช้การเรียกเก็บเงินและการจัดการเซสชัน

เลเยอร์การนำเสนอ

เลเยอร์การนำเสนอทำหน้าที่ดังต่อไปนี้ -

  • เลเยอร์นี้ช่วยให้มั่นใจได้ว่าข้อมูลจะถูกส่งในรูปแบบที่ระบบรับจะเข้าใจและใช้งานได้

Application Layer

ชั้นแอปพลิเคชันทำหน้าที่ดังต่อไปนี้ -

  • ให้บริการที่แตกต่างกันเช่นการจัดการข้อมูลในหลาย ๆ วิธีการถ่ายโอนไฟล์ข้อมูลซ้ำการแจกจ่ายผลลัพธ์เป็นต้น

  • ฟังก์ชันต่างๆเช่น LOGIN หรือการตรวจสอบรหัสผ่านจะดำเนินการโดยชั้นของแอปพลิเคชัน

โมเดล TCP / IP

แบบจำลอง Transmission Control Protocol และ Internet Protocol (TCP / IP) เป็นแบบจำลองที่ใช้ได้จริงและใช้ในอินเทอร์เน็ต

โมเดล TCP / IP รวมสองเลเยอร์ (เลเยอร์ฟิสิคัลและดาต้าลิงค์) ไว้ในเลเยอร์เดียว - เลเยอร์โฮสต์ถึงเครือข่าย แผนภาพต่อไปนี้แสดงเลเยอร์ต่างๆของโมเดล TCP / IP -

Application Layer

เลเยอร์นี้เหมือนกับโมเดล OSI และทำหน้าที่ต่อไปนี้ -

  • ให้บริการที่แตกต่างกันเช่นการจัดการข้อมูลในหลาย ๆ วิธีการถ่ายโอนไฟล์ข้อมูลซ้ำการแจกจ่ายผลลัพธ์เป็นต้น

  • เลเยอร์แอปพลิเคชันยังทำหน้าที่ต่างๆเช่นการเข้าสู่ระบบหรือการตรวจสอบรหัสผ่าน

  • ต่อไปนี้เป็นโปรโตคอลต่างๆที่ใช้ในเลเยอร์แอปพลิเคชัน -

    • TELNET
    • FTP
    • SMTP
    • DN
    • HTTP
    • NNTP

เลเยอร์การขนส่ง

มันทำหน้าที่เช่นเดียวกับเลเยอร์การขนส่งในโมเดล OSI พิจารณาประเด็นสำคัญต่อไปนี้ที่เกี่ยวข้องกับเลเยอร์การขนส่ง -

  • ใช้โปรโตคอล TCP และ UDP สำหรับการส่งแบบ end to end

  • TCP เป็นโปรโตคอลที่เน้นการเชื่อมต่อที่เชื่อถือได้

  • TCP ยังจัดการการควบคุมการไหล

  • UDP ไม่น่าเชื่อถือและการเชื่อมต่อน้อยโปรโตคอลไม่ดำเนินการควบคุมการไหล

  • ใช้โปรโตคอล TCP / IP และ UDP ในเลเยอร์นี้

ชั้นอินเทอร์เน็ต

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

Internet Protocol (IP) ถูกใช้ในชั้นอินเทอร์เน็ต

Host-to-Network Layer

นี่คือเลเยอร์ที่ต่ำที่สุดในโมเดล TCP / IP โฮสต์ต้องเชื่อมต่อกับเครือข่ายโดยใช้โปรโตคอลบางอย่างเพื่อให้สามารถส่งแพ็กเก็ต IP ผ่านได้ โปรโตคอลนี้แตกต่างกันไปในแต่ละโฮสต์และเครือข่ายไปยังเครือข่าย

โปรโตคอลต่างๆที่ใช้ในเลเยอร์นี้ ได้แก่ -

  • ARPANET
  • SATNET
  • LAN
  • วิทยุแพ็คเก็ต

สถาปัตยกรรมที่มีประโยชน์

ต่อไปนี้เป็นสถาปัตยกรรมที่มีประโยชน์ซึ่งใช้ในการสื่อสารผ่านเครือข่าย -

สถาปัตยกรรมเฟรม Ethernet

วิศวกรคนแรกชื่อ Robert Metcalfe ได้คิดค้นเครือข่ายอีเทอร์เน็ตโดยกำหนดภายใต้มาตรฐาน IEEE 802.3 ในปี 1973 ครั้งแรกถูกใช้เพื่อเชื่อมต่อและส่งข้อมูลระหว่างเวิร์กสเตชันและเครื่องพิมพ์ LAN มากกว่า 80% ใช้มาตรฐานอีเธอร์เน็ตเพื่อความเร็วลดต้นทุนและติดตั้งง่าย ในอีกด้านหนึ่งถ้าเราพูดถึงเฟรมข้อมูลจะเดินทางจากโฮสต์ไปยังโฮสต์ในทางนั้น เฟรมประกอบด้วยส่วนประกอบต่างๆเช่นที่อยู่ MAC, ส่วนหัวของ IP, ตัวคั่นเริ่มต้นและจุดสิ้นสุดเป็นต้น

เฟรมอีเทอร์เน็ตเริ่มต้นด้วยคำนำและ SFD ส่วนหัวของอีเทอร์เน็ตมีทั้งที่อยู่ MAC ต้นทางและปลายทางหลังจากนั้นจะมีเพย์โหลดของเฟรม ฟิลด์สุดท้ายคือ CRC ซึ่งใช้ในการตรวจจับข้อผิดพลาด โครงสร้างเฟรมอีเทอร์เน็ตพื้นฐานถูกกำหนดไว้ในมาตรฐาน IEEE 802.3 ซึ่งอธิบายได้ดังต่อไปนี้ -

รูปแบบเฟรม Ethernet (IEEE 802.3)

แพ็กเก็ตอีเทอร์เน็ตส่งเฟรมอีเทอร์เน็ตเป็นเพย์โหลด ต่อไปนี้เป็นการแสดงกราฟิกของอีเธอร์เน็ตเฟรมพร้อมกับคำอธิบายของแต่ละฟิลด์ -

ชื่อฟิลด์ ปรารภ SFD (จุดเริ่มต้นของตัวคั่นเฟรม) MAC ปลายทาง ที่มา MAC ประเภท ข้อมูล ศอฉ
ขนาด (เป็นไบต์) 7 1 6 6 2 46-1500 4

ปรารภ

เฟรมอีเทอร์เน็ตนำหน้าด้วยพรีแอมเบลอร์ขนาด 7 ไบต์ซึ่งแจ้งระบบรับว่าเฟรมกำลังเริ่มทำงานและอนุญาตให้ผู้ส่งและผู้รับสร้างการซิงโครไนซ์บิต

SFD (จุดเริ่มต้นของตัวคั่นเฟรม)

นี่คือฟิลด์ 1 ไบต์ที่ใช้เพื่อแสดงว่าฟิลด์ที่อยู่ MAC ปลายทางเริ่มต้นด้วยไบต์ถัดไป บางครั้งช่อง SFD ถือเป็นส่วนหนึ่งของคำนำ นั่นคือเหตุผลที่คำนำหน้าถือว่าเป็น 8 ไบต์ในหลาย ๆ ที่

  • Destination MAC - นี่คือฟิลด์ 6 ไบต์ซึ่งเรามีที่อยู่ของระบบรับ

  • Source MAC - นี่คือฟิลด์ 6 ไบต์ซึ่งเรามีที่อยู่ของระบบส่ง

  • Type- กำหนดประเภทของโปรโตคอลภายในเฟรม ตัวอย่างเช่น IPv4 หรือ IPv6 มีขนาด 2 ไบต์

  • Data- เรียกอีกอย่างว่า Payload และข้อมูลจริงจะถูกแทรกที่นี่ ความยาวต้องอยู่ระหว่าง 46-1500 ไบต์ หากความยาวน้อยกว่า 46 ไบต์จะมีการเพิ่มช่องว่างของ 0 เพื่อให้เป็นไปตามความยาวขั้นต่ำที่เป็นไปได้นั่นคือ 46

  • CRC (Cyclic Redundancy Check) - นี่คือฟิลด์ 4 ไบต์ที่มี CRC 32 บิตซึ่งช่วยให้ตรวจจับข้อมูลที่เสียหายได้

รูปแบบ Extended Ethernet Frame (Ethernet II frame)

ต่อไปนี้เป็นการแสดงกราฟิกของเฟรม Ethernet แบบขยายซึ่งเราสามารถรับ Payload ที่มีขนาดใหญ่กว่า 1,500 ไบต์ -

ชื่อฟิลด์ MAC ปลายทาง ที่มา MAC ประเภท DSAP SSAP Ctrl ข้อมูล ศอฉ
ขนาด (เป็นไบต์) 6 6 2 1 1 1 > 46 4

คำอธิบายของฟิลด์ซึ่งแตกต่างจาก IEEE 802.3 Ethernet frame มีดังต่อไปนี้ -

DSAP (จุดเชื่อมต่อบริการปลายทาง)

DSAP เป็นฟิลด์ขนาด 1 ไบต์ที่แสดงที่อยู่แบบลอจิคัลของเอนทิตีเลเยอร์เครือข่ายที่ต้องการรับข้อความ

SSAP (จุดเชื่อมต่อบริการต้นทาง)

SSAP เป็นฟิลด์ขนาด 1 ไบต์ที่แสดงถึงโลจิคัลแอดเดรสของเอนทิตีเลเยอร์เครือข่ายที่สร้างข้อความ

Ctrl

นี่คือฟิลด์ควบคุม 1 ไบต์

สถาปัตยกรรมแพ็คเก็ต IP

Internet Protocol เป็นหนึ่งในโปรโตคอลหลักในชุดโปรโตคอล TCP / IP โปรโตคอลนี้ทำงานที่เลเยอร์เครือข่ายของโมเดล OSI และที่ชั้นอินเทอร์เน็ตของโมเดล TCP / IP ดังนั้นโปรโตคอลนี้จึงมีหน้าที่ในการระบุโฮสต์ตามที่อยู่ตรรกะและกำหนดเส้นทางข้อมูลระหว่างพวกเขาผ่านเครือข่ายพื้นฐาน IP มีกลไกในการระบุโฮสต์ที่ไม่ซ้ำกันโดยโครงร่างที่อยู่ IP IP ใช้ความพยายามอย่างเต็มที่ในการจัดส่งกล่าวคือไม่รับประกันว่าแพ็กเก็ตจะถูกส่งไปยังโฮสต์ที่กำหนดไว้ แต่จะพยายามอย่างเต็มที่เพื่อไปยังปลายทาง

ในส่วนต่อไปเราจะเรียนรู้เกี่ยวกับ IP สองเวอร์ชันที่แตกต่างกัน

IPv4

นี่คือ Internet Protocol เวอร์ชัน 4 ซึ่งใช้ที่อยู่โลจิคัล 32 บิต ต่อไปนี้เป็นแผนภาพของส่วนหัว IPv4 พร้อมกับคำอธิบายของฟิลด์ -

เวอร์ชัน

นี่คือเวอร์ชันของ Internet Protocol ที่ใช้ ตัวอย่างเช่น IPv4

IHL

ความยาวส่วนหัวอินเทอร์เน็ต ความยาวของส่วนหัว IP ทั้งหมด

DSCP

จุดรหัสบริการที่แตกต่าง นี่คือประเภทของบริการ

ECN

การแจ้งเตือนความแออัดอย่างชัดเจน มันมีข้อมูลเกี่ยวกับความแออัดที่เห็นในเส้นทาง

ความยาวรวม

ความยาวของแพ็คเก็ต IP ทั้งหมด (รวมถึงส่วนหัว IP และน้ำหนักบรรทุก IP)

การระบุ

หากแพ็กเก็ต IP แยกส่วนระหว่างการส่งข้อมูลชิ้นส่วนทั้งหมดจะมีหมายเลขประจำตัวเดียวกัน

ธง

ตามที่ทรัพยากรเครือข่ายต้องการหากแพ็กเก็ต IP มีขนาดใหญ่เกินกว่าจะจัดการได้ 'แฟล็ก' เหล่านี้จะบอกได้ว่าสามารถแยกส่วนได้หรือไม่ ในแฟล็ก 3 บิตนี้ MSB จะถูกตั้งค่าเป็น '0' เสมอ

แฟรกเมนต์ออฟเซ็ต

ออฟเซ็ตนี้บอกตำแหน่งที่แน่นอนของแฟรกเมนต์ใน IP Packet ดั้งเดิม

เวลาที่จะมีชีวิตอยู่

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

มาตรการ

บอกเลเยอร์เครือข่ายที่โฮสต์ปลายทางซึ่งโปรโตคอลนี้เป็นของแพ็กเก็ตกล่าวคือโปรโตคอลระดับถัดไป ตัวอย่างเช่นหมายเลขโปรโตคอลของ ICMP คือ 1 TCP คือ 6 และ UDP คือ 17

ส่วนหัว Checksum

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

ที่อยู่ต้นทาง

ที่อยู่ 32 บิตของผู้ส่ง (หรือแหล่งที่มา) ของแพ็กเก็ต

ที่อยู่ปลายทาง

ที่อยู่ 32 บิตของผู้รับ (หรือปลายทาง) ของแพ็กเก็ต

ตัวเลือก

นี่เป็นช่องทางเลือกซึ่งจะใช้หากค่าของ IHL มากกว่า 5 ตัวเลือกเหล่านี้อาจมีค่าสำหรับตัวเลือกต่างๆเช่นความปลอดภัยเส้นทางการบันทึกการประทับเวลาเป็นต้น

หากคุณต้องการศึกษารายละเอียดเกี่ยวกับ IPv4 โปรดดูที่ลิงค์นี้ - www.tutorialspoint.com/ipv4/index.htm

IPv6

Internet Protocol รุ่น 6 เป็นโปรโตคอลการสื่อสารล่าสุดซึ่ง IPv4 รุ่นก่อนทำงานบน Network Layer (Layer-3) นอกเหนือจากการเสนอพื้นที่ที่อยู่แบบลอจิคัลจำนวนมหาศาลแล้วโปรโตคอลนี้ยังมีคุณสมบัติมากมายซึ่งระบุถึงข้อบกพร่องของ IPv4 ต่อไปนี้เป็นแผนภาพของส่วนหัว IPv4 พร้อมกับคำอธิบายของฟิลด์ -

เวอร์ชัน (4 บิต)

เป็นรุ่นของ Internet Protocol - 0110

คลาสการรับส่งข้อมูล (8 บิต)

8 บิตเหล่านี้แบ่งออกเป็นสองส่วน 6 บิตที่สำคัญที่สุดใช้สำหรับประเภทของบริการเพื่อให้เราเตอร์ทราบว่าควรให้บริการใดกับแพ็กเก็ตนี้ ใช้ 2 บิตที่มีนัยสำคัญน้อยที่สุดสำหรับ Explicit Congestion Notification (ECN)

Flow Label (20 บิต)

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

ความยาวของน้ำหนักบรรทุก (16 บิต)

ฟิลด์นี้ใช้เพื่อบอกเราเตอร์ว่าข้อมูลในแพ็กเก็ตนั้นมีข้อมูลเท่าใดในเพย์โหลด Payload ประกอบด้วย Extension Headers และ Upper Layer data ด้วย 16 บิตสามารถระบุได้สูงสุด 65535 ไบต์ แต่ถ้าส่วนหัวของส่วนขยายมีส่วนหัวของส่วนขยายแบบ Hop-by-Hop น้ำหนักบรรทุกอาจเกิน 65535 ไบต์และฟิลด์นี้ถูกตั้งค่าเป็น 0

ส่วนหัวถัดไป (8 บิต)

ช่องนี้ใช้เพื่อระบุประเภทของส่วนหัวของส่วนขยายหรือถ้าไม่มีส่วนหัวของส่วนขยายอยู่แสดงว่า PDU ชั้นบน ค่าสำหรับประเภทของ Upper Layer PDU จะเหมือนกับของ IPv4

ขีด จำกัด การกระโดด (8 บิต)

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

ที่อยู่ต้นทาง (128 บิต)

ฟิลด์นี้ระบุที่อยู่ของผู้สร้างแพ็กเก็ต

ที่อยู่ปลายทาง (128 บิต)

ฟิลด์นี้ระบุที่อยู่ของผู้รับที่ต้องการของแพ็กเก็ต

หากคุณต้องการศึกษารายละเอียดเกี่ยวกับ IPv6 โปรดดูที่ลิงค์นี้ - www.tutorialspoint.com/ipv6/index.htm

สถาปัตยกรรมส่วนหัว TCP (Transmission Control Protocol)

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

Step 1 − Packet with SYN flag set

ก่อนอื่นระบบที่พยายามเริ่มการเชื่อมต่อเริ่มต้นด้วยแพ็กเก็ตที่มีการตั้งค่าสถานะ SYN

Step 2 − Packet with SYN-ACK flag set

ตอนนี้ในขั้นตอนนี้ระบบเป้าหมายจะส่งคืนแพ็กเก็ตที่มีชุดค่าสถานะ SYN และ ACK

Step 3 − Packet with ACK flag set

ในที่สุดระบบเริ่มต้นจะส่งคืนแพ็กเก็ตไปยังระบบเป้าหมายดั้งเดิมพร้อมชุดค่าสถานะ ACK

ต่อไปนี้เป็นแผนภาพของส่วนหัว TCP พร้อมกับคำอธิบายของฟิลด์ -

พอร์ตต้นทาง (16 บิต)

ระบุพอร์ตต้นทางของกระบวนการแอปพลิเคชันบนอุปกรณ์ที่ส่ง

พอร์ตปลายทาง (16 บิต)

ระบุพอร์ตปลายทางของกระบวนการแอปพลิเคชันบนอุปกรณ์รับ

หมายเลขลำดับ (32 บิต)

หมายเลขลำดับของไบต์ข้อมูลของเซ็กเมนต์ในเซสชัน

หมายเลขรับทราบ (32 บิต)

เมื่อตั้งค่าสถานะ ACK หมายเลขนี้จะมีหมายเลขลำดับถัดไปของไบต์ข้อมูลที่คาดไว้และทำงานเป็นการรับทราบข้อมูลก่อนหน้านี้ที่ได้รับ

Data Offset (4 บิต)

ฟิลด์นี้หมายถึงทั้งขนาดของส่วนหัว TCP (คำ 32 บิต) และออฟเซ็ตของข้อมูลในแพ็กเก็ตปัจจุบันในเซ็กเมนต์ TCP ทั้งหมด

สงวนไว้ (3 บิต)

สงวนไว้สำหรับการใช้งานในอนาคตและตั้งค่าเป็นศูนย์ตามค่าเริ่มต้น

แฟล็ก (แบบละ 1 บิต)

  • NS - กระบวนการส่งสัญญาณการแจ้งเตือนความแออัดอย่างชัดเจนใช้บิต Nonce Sum นี้

  • CWR - เมื่อโฮสต์ได้รับแพ็กเก็ตที่มีการตั้งค่าบิต ECE ระบบจะตั้งค่า Congestion Windows Reduced เพื่อรับทราบว่าได้รับ ECE

  • ECE - มันมีสองความหมาย -

    • ถ้า SYN บิตชัดเจนเป็น 0 ดังนั้น ECE หมายความว่าแพ็คเก็ต IP มีชุดบิต CE (ประสบการณ์ความแออัด)

    • ถ้า SYN bit ถูกตั้งค่าเป็น 1 ECE หมายความว่าอุปกรณ์นั้นสามารถใช้ ECT ได้

  • URG - ระบุว่าช่องตัวชี้เร่งด่วนมีข้อมูลสำคัญและควรได้รับการประมวลผล

  • ACK- แสดงว่าช่องรับทราบมีความสำคัญ ถ้า ACK ถูกล้างเป็น 0 แสดงว่าแพ็กเก็ตไม่มีการตอบรับใด ๆ

  • PSH - เมื่อตั้งค่าแล้วจะเป็นการร้องขอไปยังสถานีรับเพื่อส่งข้อมูล (ทันทีที่มา) ไปยังแอปพลิเคชันรับโดยไม่ต้องบัฟเฟอร์

  • RST - ตั้งค่าสถานะใหม่มีคุณสมบัติดังต่อไปนี้ -

    • ใช้เพื่อปฏิเสธการเชื่อมต่อที่เข้ามา

    • ใช้เพื่อปฏิเสธกลุ่ม

    • ใช้เพื่อเริ่มการเชื่อมต่อใหม่

  • SYN - แฟล็กนี้ใช้เพื่อตั้งค่าการเชื่อมต่อระหว่างโฮสต์

  • FIN- แฟล็กนี้ใช้เพื่อปล่อยการเชื่อมต่อและไม่มีการแลกเปลี่ยนข้อมูลอีกหลังจากนั้น เนื่องจากแพ็กเก็ตที่มีแฟล็ก SYN และ FIN มีหมายเลขลำดับจึงประมวลผลตามลำดับที่ถูกต้อง

ขนาด Windows

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

  • Checksum - ฟิลด์นี้ประกอบด้วยการตรวจสอบส่วนหัวข้อมูลและส่วนหัวหลอก

  • Urgent Pointer - ชี้ไปที่ไบต์ข้อมูลเร่งด่วนหากตั้งค่าสถานะ URG เป็น 1

  • Options- อำนวยความสะดวกในตัวเลือกเพิ่มเติมซึ่งส่วนหัวปกติไม่ครอบคลุม ฟิลด์ตัวเลือกจะอธิบายเป็นคำ 32 บิตเสมอ หากฟิลด์นี้มีข้อมูลน้อยกว่า 32 บิตจะมีการใช้ช่องว่างภายในเพื่อปกปิดบิตที่เหลือเพื่อให้ถึงขอบเขต 32 บิต

หากคุณต้องการศึกษารายละเอียด TCP โปรดดูที่ลิงค์นี้ - https://www.tutorialspoint.com/data_communication_computer_network/transmission_control_protocol.htm

สถาปัตยกรรมส่วนหัว UDP (User Datagram Protocol)

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

พอร์ตต้นทาง

ข้อมูล 16 บิตนี้ใช้เพื่อระบุพอร์ตต้นทางของแพ็กเก็ต

พอร์ตปลายทาง

ข้อมูล 16 บิตนี้ใช้เพื่อระบุบริการระดับแอปพลิเคชันบนเครื่องปลายทาง

ความยาว

ฟิลด์ความยาวระบุความยาวทั้งหมดของแพ็กเก็ต UDP (รวมถึงส่วนหัว) เป็นฟิลด์ 16 บิตและค่าต่ำสุดคือ 8 ไบต์นั่นคือขนาดของส่วนหัว UDP เอง

เช็คซัม

ฟิลด์นี้เก็บค่า checksum ที่ผู้ส่งสร้างขึ้นก่อนส่ง IPv4 มีฟิลด์นี้เป็นทางเลือกดังนั้นเมื่อฟิลด์ checksum ไม่มีค่าใด ๆ จะถูกสร้างเป็น 0 และบิตทั้งหมดจะถูกตั้งค่าเป็นศูนย์

หากต้องการศึกษารายละเอียด TCP โปรดดูที่ลิงค์นี้ - User Datagram Protocol