การฝึกอบรม Cisco 200-125 CCNA v3.0. วันที่ 6: การกรอกข้อมูลในช่องว่าง (DHCP, TCP, handshake, หมายเลขพอร์ตทั่วไป)

ก่อนที่เราจะเริ่มวิดีโอบทแนะนำในวันนี้ ฉันอยากจะขอบคุณทุกคนที่มีส่วนทำให้หลักสูตรของฉันได้รับความนิยมบน YouTube เมื่อฉันเริ่มเมื่อประมาณ 8 เดือนที่แล้ว ฉันไม่ได้คาดหวังความสำเร็จเช่นนี้ - วันนี้มีคนดูบทเรียนของฉัน 312724 คน ฉันมีสมาชิก 11208 คน ฉันไม่เคยฝันว่าจุดเริ่มต้นอันต่ำต้อยนี้จะไปถึงจุดสูงสุดเช่นนี้ แต่อย่าเสียเวลาและตรงไปที่บทเรียนของวันนี้ วันนี้เราจะมาเติมเต็มช่องว่างที่เกิดขึ้นในบทเรียนวิดีโอ 7 บทเรียนล่าสุด แม้ว่าวันนี้จะเป็นเพียงวันที่ 6 แต่วันที่ 3 แบ่งออกเป็น 3 บทเรียนแบบวิดีโอ ดังนั้นวันนี้คุณจะได้ชมบทเรียนวิดีโอที่ XNUMX จริงๆ

วันนี้เราจะครอบคลุม 3 หัวข้อสำคัญ: DHCP, การขนส่ง TCP และหมายเลขพอร์ตที่พบบ่อยที่สุด เราได้พูดคุยเกี่ยวกับที่อยู่ IP แล้ว และหนึ่งในปัจจัยที่สำคัญที่สุดในการกำหนดค่าที่อยู่ IP คือ DHCP

การฝึกอบรม Cisco 200-125 CCNA v3.0. วันที่ 6: การกรอกข้อมูลในช่องว่าง (DHCP, TCP, handshake, หมายเลขพอร์ตทั่วไป)

DHCP ย่อมาจาก Dynamic Host Configuration Protocol และเป็นโปรโตคอลที่ช่วยกำหนดค่าที่อยู่ IP แบบไดนามิกสำหรับโฮสต์ เราทุกคนก็เห็นหน้าต่างนี้แล้ว เมื่อคุณคลิกตัวเลือก “รับที่อยู่ IP โดยอัตโนมัติ” คอมพิวเตอร์จะค้นหาเซิร์ฟเวอร์ DHCP ที่กำหนดค่าบนเครือข่ายย่อยเดียวกัน และส่งแพ็กเก็ตและคำขอต่างๆ สำหรับที่อยู่ IP โปรโตคอล DHCP มี 6 ข้อความ โดย 4 ข้อความมีความสำคัญต่อการกำหนดที่อยู่ IP

ข้อความแรกคือข้อความ DHCP DISCOVERY ข้อความการค้นพบ DHCP คล้ายกับข้อความทักทาย เมื่อมีอุปกรณ์ใหม่เข้าร่วมเครือข่าย อุปกรณ์จะถามว่ามีเซิร์ฟเวอร์ DHCP บนเครือข่ายหรือไม่

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

การฝึกอบรม Cisco 200-125 CCNA v3.0. วันที่ 6: การกรอกข้อมูลในช่องว่าง (DHCP, TCP, handshake, หมายเลขพอร์ตทั่วไป)

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

การฝึกอบรม Cisco 200-125 CCNA v3.0. วันที่ 6: การกรอกข้อมูลในช่องว่าง (DHCP, TCP, handshake, หมายเลขพอร์ตทั่วไป)

เซิร์ฟเวอร์ DHCP สงวนที่อยู่ IP ในกรณีนี้คือ 192.168.1.2 ไม่ได้ระบุไว้ แต่จะสงวนที่อยู่นี้ไว้สำหรับอุปกรณ์ ในเวลาเดียวกัน แพ็คเกจข้อเสนอประกอบด้วยที่อยู่ IP ของตัวเองของเซิร์ฟเวอร์ DHCP

หากมีเซิร์ฟเวอร์ DHCP มากกว่าหนึ่งเครื่องบนเครือข่ายนี้ เมื่อได้รับคำขอออกอากาศของไคลเอ็นต์ เซิร์ฟเวอร์ DHCP อื่นจะเสนอที่อยู่ IP ของตนด้วย เช่น 192.168.1.50 ไม่ใช่เรื่องปกติที่จะมีเซิร์ฟเวอร์ DHCP สองตัวที่กำหนดค่าบนเครือข่ายเดียวกัน แต่บางครั้งมันก็เกิดขึ้นได้ ดังนั้นเมื่อมีการส่งข้อเสนอ DHCP ไปยังไคลเอนต์ ก็จะได้รับข้อเสนอ DHCP 2 ข้อเสนอ และในตอนนี้จะต้องตัดสินใจว่าข้อเสนอ DHCP ใดที่ต้องการยอมรับ

สมมติว่าลูกค้ายอมรับแอปพลิเคชันแรก ซึ่งหมายความว่าไคลเอ็นต์ส่งคำขอ DHCP REQUEST ที่ระบุว่า "ฉันยอมรับที่อยู่ IP 192.168.1.2 ที่นำเสนอโดยเซิร์ฟเวอร์ DHCP 192.168.1.1"

การฝึกอบรม Cisco 200-125 CCNA v3.0. วันที่ 6: การกรอกข้อมูลในช่องว่าง (DHCP, TCP, handshake, หมายเลขพอร์ตทั่วไป)

เมื่อได้รับคำขอ เซิร์ฟเวอร์ 192.168.1.1 DHCP จะตอบกลับว่า "โอเค ฉันยอมรับ" นั่นคือรับทราบคำขอและส่ง DHCP ACK นี้ไปยังไคลเอ็นต์ แต่เราจำได้ว่าเซิร์ฟเวอร์ DHCP อื่นได้สงวนที่อยู่ IP 1.50 ไว้สำหรับไคลเอ็นต์ เมื่อได้รับคำขอออกอากาศจากไคลเอ็นต์ ก็จะทราบเกี่ยวกับความล้มเหลวและจะนำที่อยู่ IP นั้นกลับเข้าไปในพูลเพื่อให้สามารถมอบหมายให้กับไคลเอ็นต์อื่นได้หากได้รับคำขออื่น

การฝึกอบรม Cisco 200-125 CCNA v3.0. วันที่ 6: การกรอกข้อมูลในช่องว่าง (DHCP, TCP, handshake, หมายเลขพอร์ตทั่วไป)

นี่คือข้อความสำคัญ 4 ข้อความที่ DHCP แลกเปลี่ยนเมื่อกำหนดที่อยู่ IP ถัดไป DHCP มีข้อความข้อมูลเพิ่มอีก 2 ข้อความ ลูกค้าจะออกข้อความแสดงข้อมูลหากต้องการข้อมูลมากกว่าที่ได้รับในส่วนคำสั่ง DHCP OFFER ในขั้นตอนที่สอง หากเซิร์ฟเวอร์ไม่ได้ให้ข้อมูลที่เพียงพอในข้อเสนอ DHCP หรือหากไคลเอนต์ต้องการข้อมูลมากกว่าที่มีอยู่ในแพ็กเก็ตข้อเสนอ ก็จะขอข้อมูล DHCP เพิ่มเติม มีอีกหนึ่งข้อความที่ไคลเอ็นต์ส่งไปยังเซิร์ฟเวอร์ - นี่คือ DHCP RELEASE จะแจ้งให้คุณทราบว่าลูกค้าต้องการเปิดเผยที่อยู่ IP ที่มีอยู่

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

ในบทเรียนถัดไป ฉันจะบอกคุณว่าเรากำหนดค่าเซิร์ฟเวอร์ DHCP อย่างไรเมื่อสร้างพูล DNCP การรวมกลุ่มหมายความว่าคุณบอกให้เซิร์ฟเวอร์กำหนดที่อยู่ IP ในช่วง 192.168.1.1 ถึง 192.168.1.254 ดังนั้นเซิร์ฟเวอร์ DHCP จะสร้างพูลโดยใส่ที่อยู่ IP 254 รายการในนั้น และจะสามารถกำหนดที่อยู่ให้กับไคลเอนต์บนเครือข่ายจากพูลนี้เท่านั้น นี่คือสิ่งที่เหมือนกับการตั้งค่าการดูแลระบบที่ผู้ใช้สามารถทำได้

มาดูการส่งข้อมูล TCP กัน ฉันไม่รู้ว่าคุณคุ้นเคยกับ "โทรศัพท์" ในรูปนี้หรือเปล่า แต่เมื่อเรายังเป็นเด็ก เราเคยใช้กระป๋องดีบุกที่ต่อกันด้วยเชือกเพื่อพูดคุยกัน

การฝึกอบรม Cisco 200-125 CCNA v3.0. วันที่ 6: การกรอกข้อมูลในช่องว่าง (DHCP, TCP, handshake, หมายเลขพอร์ตทั่วไป)

น่าเสียดายที่คนรุ่นปัจจุบันไม่สามารถมี "ความหรูหรา" เช่นนี้ได้ ฉันหมายถึงว่าเด็กๆ ทุกวันนี้อยู่หน้าทีวีตั้งแต่อายุ 1 ขวบ พวกเขาเล่น PSP และบางทีนี่อาจเป็นที่ถกเถียงกัน แต่ฉันคิดว่าเรามีวัยเด็กที่ดีที่สุด จริงๆ แล้วเราออกไปข้างนอกและเล่นเกม และเด็ก ๆ ในวันนี้ก็ไม่สามารถถูกดึงออกจากโซฟาได้ .

ลูกชายของฉันอายุเพียง 1 ขวบและฉันได้เห็นแล้วว่าเขาติด iPad ฉันหมายความว่าเขายังเด็กมาก แต่ฉันคิดว่าเด็ก ๆ ในปัจจุบันเกิดมารู้วิธีจัดการกับอุปกรณ์อิเล็กทรอนิกส์แล้ว ดังนั้น ฉันอยากจะบอกว่าในฐานะเด็กๆ เมื่อเราเล่น เราจะเจาะรูในกระป๋อง และเมื่อเรามัดมันด้วยเชือกแล้วพูดบางอย่างลงในกระป๋องใบหนึ่ง จากนั้นอีกด้านหนึ่ง คนๆ นั้นก็จะได้ยินสิ่งที่กำลังพูดอยู่ กับเขา เพียงแค่เอากระป๋องแนบหู ดังนั้นจึงคล้ายกับการเชื่อมต่อเครือข่ายมาก

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

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

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

สมมติว่าเด็กผู้หญิงที่อยู่เบื้องหน้าซึ่งเรามองเห็นใบหน้าได้คืออุปกรณ์ A และเด็กผู้หญิงในเบื้องหลังซึ่งมองไม่เห็นใบหน้าคืออุปกรณ์ B เด็กหญิง A ส่งแพ็กเก็ต SYN ให้กับเด็กหญิง B และเธอพูดว่า: “เยี่ยมมาก ใครล่ะ- แล้วเขาต้องการสื่อสารกับฉัน เลยต้องตอบว่าพร้อมสื่อสาร!” ทำอย่างไร? เราสามารถส่งแพ็กเก็ต SYN อื่นกลับมา จากนั้น ACK ที่ระบุการรับแพ็กเก็ต SYN ดั้งเดิม แต่แทนที่จะส่ง ACK แยกกัน เซิร์ฟเวอร์จะสร้างแพ็กเก็ตทั่วไปที่มี SYN และ ACK และส่งผ่านเครือข่าย

การฝึกอบรม Cisco 200-125 CCNA v3.0. วันที่ 6: การกรอกข้อมูลในช่องว่าง (DHCP, TCP, handshake, หมายเลขพอร์ตทั่วไป)

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

การฝึกอบรม Cisco 200-125 CCNA v3.0. วันที่ 6: การกรอกข้อมูลในช่องว่าง (DHCP, TCP, handshake, หมายเลขพอร์ตทั่วไป)

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

การฝึกอบรม Cisco 200-125 CCNA v3.0. วันที่ 6: การกรอกข้อมูลในช่องว่าง (DHCP, TCP, handshake, หมายเลขพอร์ตทั่วไป)

สมมติว่าใน Windows เรากำลังพยายามถ่ายโอนไฟล์ขนาดใหญ่ซึ่งมีขนาด 2 GB จากไดรฟ์หนึ่งไปยังอีกไดรฟ์หนึ่ง เมื่อเริ่มโอนระบบจะแจ้งว่าการโอนไฟล์จะใช้เวลาประมาณ 1 ปี แต่ไม่กี่วินาทีต่อมาระบบจะแก้ไขตัวเองแล้วพูดว่า “โอ้ เดี๋ยวก่อน ฉันคิดว่าจะใช้เวลาประมาณ 6 เดือน ไม่ใช่หนึ่งปี” เวลาผ่านไปอีกเล็กน้อยและ Windows จะพูดว่า: "ฉันคิดว่าฉันสามารถถ่ายโอนไฟล์ได้ภายใน 1 เดือน" ตามด้วยข้อความ "1 วัน", "6 ชั่วโมง", "3 ชั่วโมง", "1 ชั่วโมง", "20 นาที", "10 นาที", "3 นาที" ที่จริงแล้ว กระบวนการถ่ายโอนไฟล์ทั้งหมดจะใช้เวลาเพียง 3 นาทีเท่านั้น มันเกิดขึ้นได้อย่างไร? ในตอนแรก เมื่ออุปกรณ์ของคุณพยายามสื่อสารกับอุปกรณ์อื่น อุปกรณ์จะส่งแพ็กเก็ตหนึ่งชุดและรอการยืนยัน หากอุปกรณ์รอการยืนยันเป็นเวลานาน ระบบจะคิดว่า “หากฉันต้องถ่ายโอนข้อมูล 2 GB ด้วยความเร็วเท่านี้ ก็จะใช้เวลาประมาณ 2 ปี” หลังจากนั้นครู่หนึ่ง อุปกรณ์ของคุณได้รับ ACK และคิดว่า “โอเค ฉันส่งไปหนึ่งแพ็คเก็ตและได้รับ ACK ดังนั้นผู้รับสามารถรับได้ 1 แพ็คเก็ต ตอนนี้ฉันจะพยายามส่งซองให้เขา 10 ซองแทนที่จะเป็นซองเดียว” ผู้ส่งส่งแพ็กเก็ต 10 แพ็กเก็ต และหลังจากนั้นสักครู่จะได้รับการยืนยัน ACK จากอุปกรณ์ที่รับ ซึ่งหมายความว่าผู้รับกำลังรอแพ็กเก็ตที่ 11 ถัดไป ผู้ส่งคิดว่า: “เยี่ยมมาก เนื่องจากผู้รับจัดการ 10 แพ็กเก็ตในคราวเดียว ตอนนี้ฉันจะพยายามส่งให้เขา 100 แพ็กเก็ตแทนที่จะส่ง 100 แพ็กเก็ต” เขาส่งแพ็คเก็ตไป 101 แพ็คเก็ต และผู้รับตอบว่าได้รับ และตอนนี้กำลังรอ XNUMX แพ็คเก็ตอยู่ ดังนั้นเมื่อเวลาผ่านไป จำนวนแพ็กเก็ตที่ส่งจะเพิ่มขึ้น

นี่คือสาเหตุว่าทำไมคุณจึงเห็นว่าเวลาในการคัดลอกไฟล์ลดลงอย่างรวดเร็วเมื่อเทียบกับที่ระบุไว้ในตอนแรก เนื่องจากความสามารถในการถ่ายโอนข้อมูลจำนวนมากเพิ่มขึ้น อย่างไรก็ตาม มาถึงจุดที่ปริมาณการส่งข้อมูลเพิ่มขึ้นเป็นไปไม่ได้ สมมติว่าคุณส่งแพ็กเก็ต 10000 แพ็กเก็ต แต่บัฟเฟอร์อุปกรณ์ของผู้รับสามารถรับได้เพียง 9000 แพ็กเก็ต ในกรณีนี้ ผู้รับจะส่ง ACK พร้อมข้อความ: "ฉันได้รับ 9000 แพ็กเก็ต และตอนนี้พร้อมที่จะรับ 9001 แพ็กเก็ตแล้ว" จากนี้ผู้ส่งสรุปว่าบัฟเฟอร์ของอุปกรณ์รับมีความจุเพียง 9000 ซึ่งหมายความว่าจากนี้ไปฉันจะส่งแพ็กเก็ตครั้งละไม่เกิน 9000 แพ็กเก็ต ในกรณีนี้ ผู้ส่งจะคำนวณเวลาที่ใช้ในการถ่ายโอนข้อมูลที่เหลืออยู่ในส่วนต่างๆ ของแพ็กเก็ต 9000 อย่างรวดเร็ว และให้เวลา 3 นาที สามนาทีนี้เป็นเวลาส่งสัญญาณจริง นั่นคือสิ่งที่ TCP Windowing ทำ

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

นั่นคือเหตุผลที่เทคโนโลยี TCP Windowing ได้รับการพัฒนา เมื่อการรับส่งข้อมูลเริ่มต้นที่ความเร็วต่ำหรือด้วยการส่งแพ็กเก็ตจำนวนขั้นต่ำ จะค่อยๆ เพิ่มการรับส่งข้อมูล "หน้าต่าง" คุณส่งหนึ่งแพ็กเก็ต 5 แพ็กเก็ต 10 แพ็กเก็ต 1000 แพ็กเก็ต 10000 แพ็กเก็ต และค่อยๆ เปิดหน้าต่างนั้นมากขึ้นเรื่อยๆ จนกระทั่ง "การเปิด" ถึงปริมาณการรับส่งข้อมูลสูงสุดที่เป็นไปได้ที่ส่งในช่วงเวลาที่กำหนด ดังนั้นแนวคิดของ Windowing จึงเป็นส่วนหนึ่งของการทำงานของโปรโตคอล TCP

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

การฝึกอบรม Cisco 200-125 CCNA v3.0. วันที่ 6: การกรอกข้อมูลในช่องว่าง (DHCP, TCP, handshake, หมายเลขพอร์ตทั่วไป)

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

การฝึกอบรม Cisco 200-125 CCNA v3.0. วันที่ 6: การกรอกข้อมูลในช่องว่าง (DHCP, TCP, handshake, หมายเลขพอร์ตทั่วไป)

หากคุณเลื่อนลงมาที่หน้านี้ คุณจะเห็นว่ารายการนี้ใหญ่แค่ไหน ประกอบด้วยตัวเลขประมาณ 61 หมายเลข หมายเลขพอร์ตตั้งแต่ 000 ถึง 1 เรียกว่าหมายเลขพอร์ตที่พบบ่อยที่สุด ตัวอย่างเช่น พอร์ต 1024/TCP ใช้สำหรับส่งคำสั่ง ftp พอร์ต 21 ใช้สำหรับ ssh พอร์ต 22 ใช้สำหรับ Telnet นั่นคือสำหรับส่งข้อความที่ไม่ได้เข้ารหัส พอร์ต 23 ที่ได้รับความนิยมอย่างมากจะส่งข้อมูลผ่าน HTTP ในขณะที่พอร์ต 80 จะส่งข้อมูลที่เข้ารหัสผ่าน HTTPS ซึ่งคล้ายกับ HTTP เวอร์ชันที่ปลอดภัย
พอร์ตบางพอร์ตมีไว้สำหรับทั้ง TCP และ UDP และบางพอร์ตทำงานที่แตกต่างกัน ขึ้นอยู่กับว่าการเชื่อมต่อเป็น TCP หรือ UDP ดังนั้นจึงใช้พอร์ต TCP 80 อย่างเป็นทางการสำหรับ HTTP และพอร์ต UDP อย่างไม่เป็นทางการ 80 ใช้สำหรับ HTTP แต่ภายใต้โปรโตคอล HTTP อื่น - QUIC

การฝึกอบรม Cisco 200-125 CCNA v3.0. วันที่ 6: การกรอกข้อมูลในช่องว่าง (DHCP, TCP, handshake, หมายเลขพอร์ตทั่วไป)

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

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

ตอนนี้เรามาดูกันว่าข้อมูลเคลื่อนผ่านเครือข่ายอย่างไรโดยพิจารณาจากข้อมูลเล็กๆ น้อยๆ ที่เรารู้ สมมติว่าคอมพิวเตอร์ 10.1.1.10 ต้องการติดต่อกับคอมพิวเตอร์เครื่องนี้ หรือเซิร์ฟเวอร์นี้ ซึ่งมีที่อยู่ 30.1.1.10 ด้านล่างที่อยู่ IP ของแต่ละอุปกรณ์คือที่อยู่ MAC ฉันกำลังยกตัวอย่างที่อยู่ MAC ที่มีอักขระ 4 ตัวสุดท้ายเท่านั้น แต่ในทางปฏิบัติมันเป็นเลขฐานสิบหก 48 บิตที่มี 12 ตัวอักษร เนื่องจากแต่ละตัวเลขเหล่านี้ประกอบด้วย 4 บิต เลขฐานสิบหก 12 หลักจึงแทนตัวเลข 48 บิต

การฝึกอบรม Cisco 200-125 CCNA v3.0. วันที่ 6: การกรอกข้อมูลในช่องว่าง (DHCP, TCP, handshake, หมายเลขพอร์ตทั่วไป)

ดังที่เราทราบ หากอุปกรณ์นี้ต้องการติดต่อกับเซิร์ฟเวอร์นี้ ขั้นตอนแรกของการจับมือแบบ 3 ทางจะต้องทำก่อน นั่นคือ การส่งแพ็กเก็ต SYN เมื่อมีการร้องขอนี้ คอมพิวเตอร์ 10.1.1.10 จะระบุหมายเลขพอร์ตต้นทาง ซึ่ง Windows สร้างขึ้นแบบไดนามิก Windows จะสุ่มเลือกหมายเลขพอร์ตระหว่าง 1 ถึง 65,000 แต่เนื่องจากตัวเลขเริ่มต้นในช่วง 1 ถึง 1024 เป็นที่รู้จักอย่างกว้างขวาง ในกรณีนี้ ระบบจะพิจารณาตัวเลขที่มากกว่า 25000 และสร้างพอร์ตต้นทางแบบสุ่ม เช่น หมายเลข 25113

ต่อไประบบจะเพิ่มพอร์ตปลายทางให้กับแพ็กเก็ต ในกรณีนี้คือพอร์ต 21 เนื่องจากแอปพลิเคชันที่พยายามเชื่อมต่อกับเซิร์ฟเวอร์ FTP นี้รู้ว่าควรส่งทราฟฟิก FTP

ต่อไป คอมพิวเตอร์ของเราบอกว่า "เอาล่ะ ที่อยู่ IP ของฉันคือ 10.1.1.10 และฉันต้องติดต่อที่อยู่ IP 30.1.1.10" ที่อยู่ทั้งสองนี้ยังรวมอยู่ในแพ็กเก็ตเพื่อสร้างคำขอ SYN และแพ็กเก็ตนี้จะไม่เปลี่ยนแปลงจนกว่าการเชื่อมต่อจะสิ้นสุด

ฉันอยากให้คุณเข้าใจจากวิดีโอนี้ว่าข้อมูลเคลื่อนผ่านเครือข่ายอย่างไร เมื่อคอมพิวเตอร์ของเราส่งคำขอเห็นที่อยู่ IP ต้นทางและที่อยู่ IP ปลายทาง ระบบจะเข้าใจว่าที่อยู่ปลายทางไม่ได้อยู่ในเครือข่ายท้องถิ่นนั้น ฉันลืมบอกไปว่านี่คือ /24 IP ทั้งหมด ดังนั้น หากคุณดูที่อยู่ IP /24 คุณจะพบว่าคอมพิวเตอร์ 10.1.1.10 และ 30.1.1.10 ไม่ได้อยู่ในเครือข่ายเดียวกัน ดังนั้นคอมพิวเตอร์ที่ส่งคำขอเข้าใจว่าในการออกจากเครือข่ายนี้จะต้องติดต่อกับเกตเวย์ 10.1.1.1 ซึ่งกำหนดค่าไว้ในอินเทอร์เฟซเราเตอร์ตัวใดตัวหนึ่ง รู้ว่าควรไปที่ 10.1.1.1 และรู้ที่อยู่ MAC 1111 แต่ไม่ทราบที่อยู่ MAC ของเกตเวย์ 10.1.1.1 เขากำลังทำอะไร? โดยจะส่งคำขอ ARP ออกอากาศที่อุปกรณ์ทั้งหมดบนเครือข่ายจะได้รับ แต่เฉพาะเราเตอร์ที่มีที่อยู่ IP 10.1.1.1 เท่านั้นที่จะตอบสนอง

การฝึกอบรม Cisco 200-125 CCNA v3.0. วันที่ 6: การกรอกข้อมูลในช่องว่าง (DHCP, TCP, handshake, หมายเลขพอร์ตทั่วไป)

เราเตอร์จะตอบสนองด้วยที่อยู่ MAC AAAA และที่อยู่ MAC ต้นทางและปลายทางจะถูกวางไว้ในเฟรมนี้ด้วย เมื่อเฟรมพร้อม การตรวจสอบความสมบูรณ์ของข้อมูล CRC ซึ่งเป็นอัลกอริธึมสำหรับการค้นหาผลรวมตรวจสอบเพื่อตรวจจับข้อผิดพลาด จะดำเนินการก่อนออกจากเครือข่าย
Cyclic Redundancy CRC หมายความว่าทั้งเฟรมตั้งแต่ SYN ไปจนถึงที่อยู่ MAC สุดท้าย ทำงานผ่านอัลกอริธึมการแฮช เช่น MD5 ซึ่งส่งผลให้เกิดค่าแฮช จากนั้นค่าแฮชหรือเช็คซัม MD5 จะถูกวางไว้ที่จุดเริ่มต้นของเฟรม

การฝึกอบรม Cisco 200-125 CCNA v3.0. วันที่ 6: การกรอกข้อมูลในช่องว่าง (DHCP, TCP, handshake, หมายเลขพอร์ตทั่วไป)

ฉันตั้งชื่อว่า FCS/CRC เพราะ FCS เป็น Frame Check Sequence ซึ่งเป็นค่า CRC สี่ไบต์ บางคนใช้ชื่อ FCS และบางคนใช้ชื่อ CRC ดังนั้นฉันจึงรวมชื่อทั้งสองไว้ด้วย แต่โดยพื้นฐานแล้วมันเป็นเพียงค่าแฮช จำเป็นเพื่อให้แน่ใจว่าข้อมูลทั้งหมดที่ได้รับผ่านเครือข่ายไม่มีข้อผิดพลาด ดังนั้นเมื่อเฟรมนี้ไปถึงเราเตอร์ สิ่งแรกที่เราเตอร์จะทำคือคำนวณผลรวมตรวจสอบเองและเปรียบเทียบกับค่า FCS หรือ CRC ที่เฟรมที่ได้รับมีอยู่ ด้วยวิธีนี้เขาสามารถตรวจสอบได้ว่าข้อมูลที่ได้รับผ่านเครือข่ายไม่มีข้อผิดพลาด หลังจากนั้นเขาจะลบเช็คซัมออกจากเฟรม

จากนั้น เราเตอร์จะดูที่อยู่ MAC แล้วพูดว่า “ตกลง ที่อยู่ MAC AAAA หมายถึงเฟรมส่งถึงฉันแล้ว” และลบส่วนของเฟรมที่มีที่อยู่ MAC

การฝึกอบรม Cisco 200-125 CCNA v3.0. วันที่ 6: การกรอกข้อมูลในช่องว่าง (DHCP, TCP, handshake, หมายเลขพอร์ตทั่วไป)

เมื่อดูที่อยู่ IP ปลายทาง 30.1.1.10 เขาจะเข้าใจว่าแพ็กเก็ตนี้ไม่ได้ส่งถึงเขาและจะต้องดำเนินการเพิ่มเติมผ่านเราเตอร์

ตอนนี้เราเตอร์ "คิด" ว่าจำเป็นต้องดูว่าเครือข่ายที่อยู่ 30.1.1.10 ตั้งอยู่ที่ไหน เรายังไม่ได้ครอบคลุมแนวคิดทั้งหมดเกี่ยวกับการกำหนดเส้นทาง แต่เรารู้ว่าเราเตอร์มีตารางเส้นทาง ตารางนี้มีรายการสำหรับเครือข่ายที่มีที่อยู่ 30.1.1.0 อย่างที่คุณจำได้ นี่ไม่ใช่ที่อยู่ IP ของโฮสต์ แต่เป็นตัวระบุเครือข่าย เราเตอร์จะ "คิด" ว่าสามารถเข้าถึงที่อยู่ 30.1.1.0/24 ได้โดยผ่านเราเตอร์ 20.1.1.2

คุณอาจถามว่าเขารู้เรื่องนี้ได้อย่างไร? เพียงจำไว้ว่าเครื่องจะรู้สิ่งนี้จากโปรโตคอลการกำหนดเส้นทางหรือจากการตั้งค่าของคุณ หากคุณในฐานะผู้ดูแลระบบได้กำหนดค่าเส้นทางแบบคงที่ แต่ไม่ว่าในกรณีใด ตารางเส้นทางของเราเตอร์นี้มีรายการที่ถูกต้อง ดังนั้นจึงรู้ว่าควรส่งแพ็กเก็ตนี้ไปที่ 20.1.1.2 สมมติว่าเราเตอร์รู้ที่อยู่ MAC ปลายทางแล้ว เราก็จะส่งต่อแพ็กเก็ตต่อไป หากเขาไม่ทราบที่อยู่นี้ เขาจะเริ่ม ARP อีกครั้ง รับที่อยู่ MAC ของเราเตอร์ 20.1.1.2 และกระบวนการส่งเฟรมจะดำเนินต่อไปอีกครั้ง

ดังนั้นเราจึงถือว่ารู้ที่อยู่ MAC อยู่แล้ว จากนั้นเราจะมีที่อยู่ MAC ต้นทาง BBB และที่อยู่ MAC ปลายทาง CCC เราเตอร์จะคำนวณ FCS/CRC อีกครั้งและวางไว้ที่จุดเริ่มต้นของเฟรม

การฝึกอบรม Cisco 200-125 CCNA v3.0. วันที่ 6: การกรอกข้อมูลในช่องว่าง (DHCP, TCP, handshake, หมายเลขพอร์ตทั่วไป)

จากนั้นจะส่งเฟรมนี้ผ่านเครือข่าย เฟรมไปถึงเราเตอร์ 20.1.12 ตรวจสอบผลรวม ตรวจสอบให้แน่ใจว่าข้อมูลไม่เสียหาย และลบ FCS/CRC จากนั้นจะ "ตัดทอน" ที่อยู่ MAC ดูที่ปลายทางและเห็นว่าเป็น 30.1.1.10 เขารู้ว่าที่อยู่นี้เชื่อมต่อกับอินเทอร์เฟซของเขา กระบวนการสร้างเฟรมเดียวกันซ้ำแล้วซ้ำอีก เราเตอร์จะเพิ่มค่าที่อยู่ MAC ต้นทางและปลายทาง ทำการแฮช ติดแฮชเข้ากับเฟรม และส่งผ่านเครือข่าย

การฝึกอบรม Cisco 200-125 CCNA v3.0. วันที่ 6: การกรอกข้อมูลในช่องว่าง (DHCP, TCP, handshake, หมายเลขพอร์ตทั่วไป)

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

การฝึกอบรม Cisco 200-125 CCNA v3.0. วันที่ 6: การกรอกข้อมูลในช่องว่าง (DHCP, TCP, handshake, หมายเลขพอร์ตทั่วไป)

เขาเห็นพอร์ต 21 ซึ่งหมายถึงการรับส่งข้อมูล FTP เห็น SYN และเข้าใจว่ามีคนพยายามสื่อสารกับเขา

จากสิ่งที่เราเรียนรู้เกี่ยวกับการจับมือกัน เซิร์ฟเวอร์ 30.1.1.10 จะสร้างแพ็กเก็ต SYN/ACK และส่งกลับไปยังคอมพิวเตอร์ 10.1.1.10 เมื่อได้รับแพ็กเก็ตนี้ อุปกรณ์ 10.1.1.10 จะสร้าง ACK แล้วส่งผ่านเครือข่ายในลักษณะเดียวกับแพ็กเก็ต SYN และหลังจากที่เซิร์ฟเวอร์ได้รับ ACK การเชื่อมต่อจะถูกสร้างขึ้น

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

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


ขอบคุณที่อยู่กับเรา คุณชอบบทความของเราหรือไม่? ต้องการดูเนื้อหาที่น่าสนใจเพิ่มเติมหรือไม่ สนับสนุนเราโดยการสั่งซื้อหรือแนะนำให้เพื่อน ส่วนลด 30% สำหรับผู้ใช้ Habr ในอะนาล็อกที่ไม่ซ้ำใครของเซิร์ฟเวอร์ระดับเริ่มต้น ซึ่งเราคิดค้นขึ้นเพื่อคุณ: ความจริงทั้งหมดเกี่ยวกับ VPS (KVM) E5-2650 v4 (6 Cores) 10GB DDR4 240GB SSD 1Gbps จาก $20 หรือจะแชร์เซิร์ฟเวอร์ได้อย่างไร (ใช้ได้กับ RAID1 และ RAID10 สูงสุด 24 คอร์ และสูงสุด 40GB DDR4)

VPS (KVM) E5-2650 v4 (6 Cores) 10GB DDR4 240GB SSD 1Gbps ฟรีจนถึงฤดูร้อน เมื่อชำระเป็นเวลาหกเดือนคุณสามารถสั่งซื้อได้ ที่นี่.

Dell R730xd ถูกกว่า 2 เท่า? ที่นี่ที่เดียวเท่านั้น 2 x Intel TetraDeca-Core Xeon 2x E5-2697v3 2.6GHz 14C 64GB DDR4 4x960GB SSD 1Gbps 100 ทีวีจาก $199 ในเนเธอร์แลนด์! Dell R420 - 2x E5-2430 2.2Ghz 6C 128GB DDR3 2x960GB SSD 1Gbps 100TB - จาก $99! อ่านเกี่ยวกับ วิธีสร้างบริษัทโครงสร้างพื้นฐาน ระดับด้วยการใช้เซิร์ฟเวอร์ Dell R730xd E5-2650 v4 มูลค่า 9000 ยูโรต่อเพนนี?

ที่มา: will.com

เพิ่มความคิดเห็น