ความรู้เบื้องต้นเกี่ยวกับ OSI

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

แบบจำลองการทำงานของเครือข่ายถูกอ้างถึงเป็นแบบจำลองเครือข่ายของแบบจำลองอ้างอิงพื้นฐานการเชื่อมต่อระหว่างระบบเปิด ISO/OSI โดยสังเขป - โมเดล OSI (การเชื่อมต่อโครงข่ายระบบเปิด)

แบบจำลอง OSI

รุ่นนี้มีทั้งหมด 7 ระดับ ปฏิสัมพันธ์ของระดับต่างๆ จะถูกทำให้เป็นมาตรฐานและย่อให้เล็กที่สุด ระดับล่างไม่มีความคิดเกี่ยวกับการมีอยู่ของระดับที่สูงกว่าและโครงสร้างของพวกเขา

เลเยอร์ที่ต่ำที่สุดสามารถส่งบิตได้ ไม่ส่งคือส่ง เขาไม่รู้ว่าพวกเขาจะทำหรือไม่ ส่งไปแล้วลืม.

ระดับที่สูงขึ้นดำเนินการกับกลุ่มของบิต - เฟรม แล้ว และรู้เพียงเล็กน้อยเกี่ยวกับอุปกรณ์ทางกายภาพของเครือข่าย เข้าใจที่อยู่ MAC และอื่น ๆ

ระดับต่อไปคือแบทช์ เขาฉลาดกว่าและรู้วิธีทำงานกับที่อยู่ IP เครือข่าย และอื่น ๆ

ทำไมทั้งหมดนี้ถึงจำเป็น? เพื่อความคล่องตัวสูงสุด

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

สแต็กโปรโตคอล OSI

ท่านสามารถศึกษา protocol stack โดยละเอียดได้จากภาพด้านล่าง :

แต่ถ้าคุณไม่ใช่ผู้ดูแลระบบ คุณไม่จำเป็นต้องมีรายละเอียดของโปรโตคอลดังกล่าว สิ่งที่น่าสนใจกว่าคือการศึกษาโปรโตคอล TCP (Transmission Control Protocol) / IP (Internet Protocol)

สามเลเยอร์บนสุดในโมเดล OSI ได้แก่ เลเยอร์แอปพลิเคชัน เลเยอร์การนำเสนอ และเลเยอร์เซสชัน ไม่แยกความแตกต่างในโมเดล TCP/IP ซึ่งมีเพียงเลเยอร์แอปพลิเคชันเหนือเลเยอร์การขนส่ง:

การกระจายโปรโตคอลตามเลเยอร์ของแบบจำลอง OSI

ทีซีพี/ไอพี โอเอสไอ
สมัครแล้ว สมัครแล้ว HTTP, SMTP, SNMP, FTP, Telnet, SSH, SCP, SMB, NFS, RTSP, BGP
การเป็นตัวแทน XDR, เอเอฟพี, TLS, SSL
การประชุม ISO 8327 / CCITT X.225, RPC, NetBIOS, PPTP, L2TP, ASP
ขนส่ง ขนส่ง TCP, UDP, SCTP, SPX, ATP, DCCP, GRE
เครือข่าย เครือข่าย IP, ICMP, IGMP, CLNP, OSPF, RIP, IPX, DDP
ท่อ ท่อ อีเธอร์เน็ต, โทเค็นริง, HDLC, PPP, X.25, เฟรมรีเลย์, ISDN, ATM, SPB, MPLS, ARP/td>
ทางกายภาพ สายไฟฟ้า วิทยุสื่อสาร สายใยแก้วนำแสง รังสีอินฟราเรด

สแต็กโปรโตคอล TCP/IP

สแต็กโปรโตคอล TCP/IP ประกอบด้วยสี่เลเยอร์:

  • แอปพลิเคชันเลเยอร์
  • ชั้นการขนส่ง
  • ชั้นอินเทอร์เน็ต (ชั้นเครือข่าย) (ชั้นอินเทอร์เน็ต)
  • ลิงค์เลเยอร์ (เลเยอร์การเข้าถึงเครือข่าย)

โปรโตคอลของเลเยอร์เหล่านี้ใช้งานฟังก์ชันทั้งหมดของโมเดล OSI ได้อย่างเต็มที่ การโต้ตอบของผู้ใช้ทั้งหมดในเครือข่าย IP สร้างขึ้นบนสแต็กโปรโตคอล TCP / IP

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

ชั้นแอปพลิเคชันเป็นที่ที่แอปพลิเคชันเครือข่ายส่วนใหญ่ทำงาน

ชั้นแอปพลิเคชัน

สำหรับการโต้ตอบของโปรแกรม มีโปรโตคอลระดับสูงสำหรับการแลกเปลี่ยนข้อมูล ตัวอย่างเช่น เบราว์เซอร์ทำงานโดยใช้โปรโตคอล HTTP อีเมลถูกส่งโดยใช้โปรโตคอล SMTP Telegram ทำงานโดยใช้โปรโตคอลที่เข้ารหัสของตัวเอง

แต่เราไม่สนใจโปรโตคอลส่วนตัวมากนัก บ่อยครั้งที่คุณจะพบกับโปรโตคอลจำนวนมาก เช่น ไคลเอนต์ ftp สำหรับ FTP (การถ่ายโอนไฟล์), SSH (การเชื่อมต่อที่ปลอดภัยไปยังเครื่องระยะไกล), DNS (การแปลอักขระเป็นที่อยู่ IP) และอื่น ๆ อีกมากมาย

โปรโตคอลเหล่านี้เกือบทั้งหมดทำงานบน TCP แม้ว่าบางโปรโตคอลจะทำงานผ่าน UDP (User Datagram Protocol) เพื่อเร่งความเร็ว แต่ที่สำคัญ โปรโตคอลเหล่านี้มีพอร์ตเริ่มต้น ตัวอย่าง:

  • 20 FTP ไปยังพอร์ต TCP 20 (สำหรับการถ่ายโอนข้อมูล) และ 21 (สำหรับคำสั่งควบคุม)
  • 22-SSH
  • 23 - เทลเน็ต
  • 53 - การค้นหา DNS
  • 80-HTTP
  • 443 - HTTPS

พอร์ตเหล่านี้กำหนดโดย Naming Assignment and Unique Parameters Agency (IANA)

มีโปรโตคอลชั้นแอปพลิเคชันที่เป็นที่นิยมอื่นๆ อีกหลายตัว ได้แก่ Echo, Finger, Gopher, HTTP, HTTPS, IMAP, IMAPS, IRC, NNTP, NTP, POP3, POPS, QOTD, RTSP, SNMP, SSH, Telnet, XDMCP

ชั้นขนส่ง

โปรโตคอลเลเยอร์การขนส่งได้รับการออกแบบมาเพื่อแก้ปัญหาการส่งข้อความที่รับประกัน

ข้อความ (แพ็กเก็ตข้อมูล) สามารถส่งและสูญหายไปที่ไหนสักแห่งบนเครือข่าย ในกรณีนี้ จะขึ้นอยู่กับเลเยอร์การขนส่งในการตรวจสอบสถานการณ์เหล่านี้และส่งข้อความอีกครั้งหากจำเป็น

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

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

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

TCP ช่วยให้คุณควบคุมโหลดบนเครือข่าย รวมทั้งลดเวลารอข้อมูลเมื่อส่งในระยะทางไกล ยิ่งไปกว่านั้น TCP ยังรับประกันว่าข้อมูลที่ได้รับถูกส่งในลำดับเดียวกันทุกประการ นี่คือความแตกต่างหลักจาก UDP

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

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

ทั้ง TCP และ UDP ใช้หมายเลขที่เรียกว่าพอร์ตเพื่อกำหนดโปรโตคอลชั้นบน