เราเตอร์ (อังกฤษ: router) เป็นอุปกรณ์คอมพิวเตอร์ที่ทำหน้าที่หาเส้นทางและส่ง (forward) แพ็กเกตข้อมูลระหว่างเครือข่ายคอมพิวเตอร์ ไปยังเครือข่ายปลายทางที่ต้องการ เราเตอร์ทำงานบนเลเยอร์ที่ 3 ตามมาตรฐานของ OSI Model
เราเตอร์เชื่อมต่อเข้ากับสองเส้นทางหรือมากกว่าจากเครือข่ายที่แตกต่างกัน (ต่างจากสวิทช์ที่เชื่อมต่อสายข้อมูลภายในเครือข่ายเดียวกัน) เมื่อแพ็คเก็ตข้อมูลเข้ามาจากเส้นทางหนึ่ง เราเตอร์จะอ่านข้อมูล address ที่อยู่ในแพ็คเก็ตเพื่อค้นหาปลายทางสุดท้าย จากนั้น, ด้วยข้อมูลในตารางเส้นทางหรือนโยบายการส่ง, จะส่งแพ็กเก็ตไปยังเครือข่ายข้างหน้าตามเส้นทางนั้น เราเตอร์จะดำเนินการ "กำกับการจราจร" บนเส้นทางนั้นด้วย แพ็คเก็ตข้อมูลโดยทั่วไปจะถูกส่งจากเราเตอร์หนึ่งไปยังอีกเราเตอร์หนึ่งผ่านเครือข่ายที่เป็น Internetwork จนกว่าจะถึงโหนดปลายทาง
เราเตอร์ประเภทที่คุ้นเคยมากที่สุดคือ เราเตอร์ที่บ้านและสำนักงานขนาดเล็ก ที่เพียงส่งผ่านข้อมูลเช่นหน้าเว็บ, อีเมล์, IM และวิดีโอระหว่างเครื่องคอมพิวเตอร์ที่บ้านและอินเทอร์เน็ต เราเตอร์ดังกล่าวอาจเป็นเคเบิลโมเด็มหรือ DSL โมเด็มที่เชื่อมต่อกับอินเทอร์เน็ตผ่าน ISP เราเตอร์ที่มีความซับซ้อนมากขึ้นเช่นเราเตอร์ขององค์กรธุรกิจเชื่อมต่อกับธุรกิจขนาดใหญ่หรือกับเครือข่ายผู้ให้บริการอินเทอร์เน็ต เข้ากับคอร์เราเตอร์กำลังสูงที่สามารถส่งข้อมูลไปข้างหน้าด้วยความเร็วสูงตามแนวเส้นใยแก้วนำแสงของอินเทอร์เน็ตแบ็คโบน แม้ว่าเราเตอร์โดยปกติจะเป็นอุปกรณ์ที่ทำงานด้วยฮาร์ดแวร์ก็ตาม การใช้เราเตอร์ที่ทำงานด้วยซอฟต์แวร์มีการเจริญเติบโตมากขึ้น
เมื่อเราเตอร์หลายตัวถูกใช้ในเครือข่ายที่เชื่อมต่อระหว่างกัน, เราเตอร์แลกเปลี่ยนข้อมูลเกี่ยวกับ address ปลายทางโดยใช้โพรโทคอลการกำหนดเส้นทางแบบไดนามิก เราเตอร์แต่ละตัวจะสร้างตารางแสดงรายการเส้นทางที่พอใจ ระหว่างสองระบบบนเครือข่ายที่เชื่อมโยงกัน เราเตอร์มีอินเตอร์เฟซทางกายภาพสำหรับการเชื่อมต่อเครือข่ายที่ประเภทแตกต่างกัน (เช่นสายทองแดง, ใยแก้วนำแสงหรือการส่งไร้สาย) นอกจากนี้ยังมีเฟิร์มแวร์สำหรับเครือข่ายการสื่อสารที่มีมาตรฐานของโพรโทคอลแตกต่างกัน อินเตอร์เฟซแต่ละเครือข่ายจะใช้ซอฟแวร์คอมพิวเตอร์นี้โดยเฉพาะเพื่อให้สามารถส่งแพ็กเก็ตข้อมูลไปข้างหน้าจากระบบการส่งผ่านโพรโทคอลหนึ่งไปยังอีกระบบหนึ่ง
เราเตอร์อาจถูกใช้ในการเชื่อมต่อกลุ่มตรรกะของอุปกรณ์คอมพิวเตอร์หรือเครือข่ายย่อยสองกลุ่มหรือมากกว่า ที่แต่ละกลุ่มมีที่อยู่ของเครือข่ายย่อยแตกต่างกัน ที่อยู่ของเครือข่ายย่อยที่ถูกบันทึกไว้ในเราเตอร์ไม่จำเป็นต้อง map โดยตรงเข้ากับไปยังการเชื่อมต่ออินเตอร์เฟซทางกายภาพ เราเตอร์มีสองขั้นตอนของการทำงานเรียกว่า เพลนส์ ได้แก่:
เราเตอร์อาจจัดให้มีการเชื่อมต่อภายในองค์กร, ระหว่างองค์กรธุรกิจและอินเทอร์เน็ต, และระหว่างผู้ให้บริการเครือข่ายอินเทอร์เน็ต (ISP) เราเตอร์ที่ใหญ่ที่สุด (เช่น Cisco CRS-1 หรือ Juniper T1600) เชื่อมต่อระหว่างผู้ให้บริการอินเทอร์เน็ตที่แตกต่างกันหรืออาจจะใช้ในเครือข่ายองค์กรขนาดใหญ่. เราเตอร์ขนาดเล็กมักจะให้การเชื่อมต่อสำหรับบ้านทั่วไปและเครือข่ายสำนักงาน โซลูชั่นของเครือข่ายอื่น ๆ อาจให้บริการด้วย Wireless Distribution System (WDS) ที่หลีกเลี่ยงค่าใช้จ่ายของการนำสายเคเบิลเครือข่ายเข้าไปในอาคาร
ภายในองค์กรขนาดใหญ่อาจมีเราเตอร์ใช้อยู่ทุกขนาด เราเตอร์กำลังสูงส่วนมากจะพบได้ใน ISP, สถาบันการศึกษาและองค์กรวิจัย ธุรกิจขนาดใหญ่อาจจำเป็นต้องใช้เราเตอร์กำลังสูงมากกว่าเช่นกันเพื่อรับมือกับความต้องการการจราจรข้อมูลในอินเตอร์เนทที่เพิ่มสูงขึ้นตลอดเวลา รุ่นที่เป็นเลเยอร์ 3 จะถูกใช้โดยทั่วไป แต่ไม่ใช่ทั้งหมดที่เครือข่ายขนาดเล็กจำเป็นต้องใช้
เราเตอร์การเข้าถึงรวมทั้งรุ่น 'สำนักงาน / บ้านขนาดเล็ก (SOHO) จะวางอยู่ที่ไซต์ของลูกค้าเช่นสำนักงานสาขาที่ไม่จำเป็นต้องกำหนดเส้นทางลำดับชั้นแต่อย่างใด โดยปกติแล้วเราเตอร์เหล่านี้จะถูกปรับให้เหมาะสมกับค่าใช้จ่ายที่ต่ำ บางเราเตอร์ SOHO มีความสามารถทำงานกับทางเลือกของ firmwares ฟรีของลีนุกซ์เช่น Tomato, OpenWrt หรือ DD-WRT.
เราเตอร์การกระจายจะรวบรวมการจราจรจากเราเตอร์การเข้าถึงหลายช่องทาง การจราจรอาจเป็นที่ไซต์เดียวกันหรือในการเก็บกระแสข้อมูลจากหลายๆไซต์จนถึงสถานที่ขององค์กรที่สำคัญ เราเตอร์กระจายมักจะรับผิดชอบในการบังคับใช้คุณภาพของบริการทั่วแวน ดังนั้นพวกมันอาจจะมีหน่วยความจำมาก การเชื่อมต่ออินเตอร์เฟซหลายๆ WAN และที่สำคัญการประมวลผลข้อมูลที่มีรูทีนการทำงานที่หลากหลาย นอกจากนี้ยังอาจให้การเชื่อมต่อไปยังกลุ่มของไฟล์เซิร์ฟเวอร์หรือเครือข่ายภายนอกอื่น ๆ
เครือข่ายภายนอกจะต้องมีการพิจารณาอย่างรอบคอบในฐานะที่เป็นส่วนหนึ่งของกลยุทธ์การรักษาความปลอดภัยโดยรวม แยกออกจากเราเตอร์อาจจะเป็นไฟร์วอลล์หรืออุปกรณ์การจัดการ VPN หรือเราเตอร์อาจรวมถึงฟังก์ชันการรักษาความปลอดภัยเหล่านี้และอื่น ๆ หลาย บริษัทได้ผลิตเราเตอร์ที่มุ่งเน้นรักษาความปลอดภัยเป็นหลัก ได้แก่ PIX และ ชุดของ ASA5500 ของ Cisco Systems, Netscreen ของจูนิเปอร์, Firebox ของ WatchGuard, หลากหลายอุปกรณ์ที่มุ่งเน้น mail ของ Barracuda และอื่น ๆ อีกมากมาย
นอกจากนี้ สิ่งสำคัญคือต้องทราบว่าเราเตอร์ยังไวโจมตี DDoS (การปฏิเสธการให้บริการแบบกระจาย) ซึ่งเครือข่ายของคอมพิวเตอร์ที่ถูกบุกรุกจะทำให้เราเตอร์มีปริมาณการรับส่งข้อมูลจำนวนมาก ทำให้เราเตอร์ท่วมท้นและทำให้เราเตอร์เสียหายหรือไม่ตอบสนอง เพื่อป้องกันการโจมตี DDoS องค์กรควรพิจารณาใช้โซลูชันการป้องกัน DDoS เช่น บริการบนคลาวด์ที่สามารถดูดซับและกรองการรับส่งข้อมูลที่เป็นอันตรายก่อนที่จะมาถึงเราเตอร์
ในสถานประกอบการขนาดใหญ่ คอร์เราเตอร์จะเป็น "แบ็คโบน" เชื่อมต่อเป็นแกนกลางของเครือข่าย ที่ประกอบด้วยเราเตอร์ชั้นในกระจายจากหลายอาคารของมหาวิทยาลัยหรือสถานที่องค์กรขนาดใหญ่ เราเตอร์เหล่านี้มีจุดประสงค์เพื่อเพิ่มประสิทธิภาพด้วยแบนด์วิดธ์สูง แต่ขาดบางส่วนของคุณสมบัติของเราเตอร์ขอบ(Edge Router).
เราเตอร์ที่มีไว้สำหรับผู้ให้บริการอินเทอร์เน็ตและสำหรับการเชื่อมต่อองค์กรที่สำคัญมักจะแลกเปลี่ยนข้อมูลเส้นทางโดยใช้ Border Gateway Protocol (BGP). มาตรฐาน RFC 4098 กำหนดประเภทของเราเตอร์ที่ใช้ BGP โพรโทคอลตามฟังก์ชันเราเตอร์ดังนี้:
อุปกรณ์ตัวแรกๆที่มีพื้นฐานการทำงานเดียวกันกับเราเตอร์ในวันนี้ก็คือ Interface Message Processor (IMP); IMPเป็นอุปกรณ์ที่สร้าง ARPANET ขึ้นเป็นเครือข่ายแพ็คเก็ตตัวแรก ความคิดสำหรับเราเตอร์ (เรียกว่า "เกตเวย์" ในเวลานั้น) ในขั้นต้นเกิดขึ้นผ่านทางกลุ่มนานาชาติของนักวิจัยเครือข่ายคอมพิวเตอร์ที่เรียกว่า International Network Working Group (INWG) ตั้งขึ้นในปี 1972 เป็นกลุ่มอย่างไม่เป็นทางการที่จะต้องพิจารณาปัญหาทางเทคนิคที่เกี่ยวข้องในการเชื่อมต่อเครือข่ายที่แตกต่างกัน ในปีต่อมามันก็กลายเป็นคณะอนุกรรมการของสหพันธ์นานาชาติสำหรับการประมวลผลข้อมูล.
อุปกรณ์เหล่านี้แตกต่างจากเครือข่ายแพ็คเก็ตก่อนหน้านี้ในสองทาง ทางแรกอุปกรณ์เหล่านี้เชื่อมต่อเครือข่ายที่ต่างชนิดกัน เช่นสายอนุกรมกับเครือข่ายท้องถิ่น ทางที่สองอุปกรณ์เหล่านี้เป็นอุปกรณ์ connectionless ซึ่งไม่มีบทบาทในการให้ความเชื่อมั่นการจราจรอย่างน่าเชื่อถือ
ไอเดียมีการสำรวจในรายละเอียดมากขึ้น ด้วยความตั้งใจที่จะผลิตระบบต้นแบบให้เป็นส่วนหนึ่งของสองโปรแกรมร่วมสมัย โปรแกรมแรกคือโปรแกรมที่ริเริ่มโดย DARPA ซึ่งได้สร้างสถาปัตยกรรม TCP / IP ที่ใช้อยู่ในปัจจุบัน. อีกโปรแกรมหนึ่งคือโปรแกรมที่ Xerox PARC ในการสำรวจเทคโนโลยีเครือข่ายใหม่ซึ่งผลิตระบบ PARC Universal Packet system เนื่องจากความกังวลเกี่ยวกับทรัพย์สินทางปัญญาของบริษัท มันจึงได้รับความสนใจน้อยนอกซีร็อกซ์เป็นเวลาหลายปี.
หลังจากช่วงต้นปี 1974 เราเตอร์ซีร็อกซ์ตัวแรกเริ่มทำงาน เราเตอร์ IP จริงตัวแรกได้รับการพัฒนาโดยเวอร์จิเนีย Strazisar ที่ BBN ซึ่งเป็นส่วนหนึ่งของความพยายามที่ริเริ่มของ DARPA ระหว่างปี 1975-1976. ในตอนท้ายของ 1976, สามเราเตอร์ที่มีพิ้นฐานจาก PDP-11 ให้บริการอินเทอร์เน็ตในต้นแบบการทดลอง.
เราเตอร์หลายโพรโทคอลตัวแรกได้ถูกสร้างขึ้นเป็นเอกเทศโดยนักวิจัยที่เอ็มไอทีและ Stanford ในปี 1981; เราเตอร์ Stanford ถูกสร้างโดยวิลเลียม เยเกอร์และเอ็มไอที วันโดย Noel Chiappa. ทั้งคู่ก็ยังขึ้นอยู่กับ PDP-11s
เครือข่ายแทบทั้งหมดในปัจจุบันใช้ TCP / IP แต่เราเตอร์หลายโพรโทคอลยังคงมีการผลิต เราเตอร์อินเทอร์เน็ตสมัยใหม่ที่ทำงานทั้ง IPv4 และ IPv6 เป็นแบบหลายโพรโทคอล แต่เป็นอุปกรณ์ที่ง่ายกว่าเราเตอร์ที่ประมวลผลโพรโทคอล AppleTalk, DECnet, IP และซีร็อกซ์
ตั้งแต่กลางปี 1970 และในช่วงปี 1980, มินิคอมพิวเตอร์แบบวัตถุประสงค์ทั่วไปทำหน้าที่เป็นเราเตอร์ เราเตอร์ความเร็วสูงสมัยใหม่เป็นคอมพิวเตอร์เชี่ยวชาญสูงกับฮาร์ดแวร์พิเศษที่เพิ่มเพื่อเพิ่มความเร็วทั้งในฟังก์ชันเส้นทางร่วมเช่นการส่งต่อแพ็คเก็ตและฟังก์ชันพิเศษเช่นการเข้ารหัส IPsec
มีการใช้งานอย่างมีนัยสำคัญของเครื่องซอฟแวร์ Linux และ Unix ที่ใช้การเราติ้งเป็นโอเพนซอร์ส สำหรับงานด้านวิจัยและอื่น ๆ ระบบปฏิบัติการของซิสโก้ได้รับการออกแบบอย่างอิสระ ระบบปฏิบัติการของเราเตอร์ที่สำคัญเช่นจากเครือข่ายของ Juniper และเครือข่าย Extreme เป็นซอฟต์แวร์ระบบปฏิบัติการยูนิกซ์ที่มีการแก้ไขอย่างกว้างขวาง
สำหรับฟังก์ชันการส่งต่อแบบ Internet Protocol (IP) บริสุทธิ์ เราเตอร์ถูกออกแบบมาเพื่อลดข้อมูลของสถานะภาพที่เกี่ยวข้องกับแต่ละแพ็คเก็ต วัตถุประสงค์หลักของเราเตอร์คือการเชื่อมต่อหลายเครือข่ายและส่งแพ็คเก็ตไปข้างหน้าปลายทางที่เครือข่ายของตัวเองหรือเครือข่ายอื่น เราเตอร์เป็นอุปกรณ์ชั้น 3 เพราะว่าการตัดสินใจขั้นต้นในการส่งต่อจะขึ้นอยู่กับข้อมูลแพ็กเก็ต IP ในเลเยอร์ 3 โดยเฉพาะอย่างยิ่งที่อยู่ IP ปลายทาง กระบวนการนี้เป็นที่รู้จักกันว่าเป็นการเร้าติ้ง เมื่อแต่ละเราเตอร์ได้รับแพ็คเก็ต จะค้นหาในตารางเส้นทางเพื่อจับคู่ที่ดีที่สุดระหว่าง IP address ปลายทางของแพ็คเก็ตกับหนึ่งใน network addresses ในตารางเส้นทาง เมื่อจับคู่ได้แล้ว แพ็คเก็ตจะถูกห่อหุ้ม (encapsulated) ใน เฟรมการเชื่อมโยงข้อมูลชั้น 2 เพื่อส่งไปยังอินเตอร์เฟซขาออกของเราเตอร์ เราเตอร์ไม่ได้มองเข้าไปในเนื้อหาของข้อมูลที่แท้จริงว่าแพ็คเก็ตขนส่งอะไรมา เพียงแต่ตัดสินใจส่งต่อที่ addressesชั้น 3 รวมทั้งข้อมูลอื่น ๆ ในส่วนหัว เช่นคุณภาพของบริการ (QoS) เมื่อแพ็คเก็ตถูกส่งต่อไปแล้ว เราเตอร์ไม่เก็บข้อมูลประวัติเกี่ยวกับแพ็คเก็ต แต่เก็บกิจกรรมการส่งรวบรวมเป็นข้อมูลทางสถิติ, ถ้าถูกกำหนดค่าไว้ให้เก็บ
การตัดสินใจในการส่งต่อสามารถทำได้บนชั้นอื่นนอกจากชั้น 3. ฟังก์ชันที่การส่งต่อขึ้นอยู่กับข้อมูลในชั้น 2 เรียกว่าบริดจ์ โดยใช้ layer 2 addresses (เช่น MAC addresses on Ethernet) ในการส่งต่อข้อมูล.
นอกเหนือไปจากหน้าที่การตัดสินใจในการส่งต่อแล้ว เราเตอร์ยังต้องบริหารจัดการความแออัดเมื่อแพ็คเกตมาถึงในอัตราที่สูงกว่าที่เราเตอร์สามารถประมวลผลได้ สามนโยบายที่ใช้กันทั่วไปในอินเทอร์เน็ตได้แก่ tail drop, random early detection (RED), and weighted random early detection (WRED) tail drop ธรรมดาที่สุดและดำเนินการง่ายที่สุด; เราเตอร์เพียงแต่ตัดทิ้งแพ็คเก็ตถ้าความยาวของคิวเกินขนาดของบัฟเฟอร์ในเราเตอร์ RED จะดูความเป็นไปได้ทางสถิติเพื่อตัดทิ้งดาต้าแกรมล่วงหน้าเมื่อคิวมากเกินกว่า buffer ที่กำหนดไว้ล่วงหน้า จนกระทั่งถึงจุดสูงสุดที่กำหนดไว้มันจะกลายเป็น tail drop. WRED ต้องใช้น้ำหนักของขนาดคิวเฉลี่ยเพื่อจะกระทำการใดๆเมื่อการจราจรกำลังจะเกินขนาดที่กำหนดไว้ล่วงหน้าเพื่อที่ว่า short bursts จะไม่เรียกการ random drops มาใช้
ฟังก์ชันอื่นที่เราเตอร์จะดำเนินการก็คือการที่จะตัดสินใจว่าแพ็คเก็ตไหนควรจะดำเนินการก่อนเมื่อมีหลายคิว งานนี้จะจัดการผ่าน QoS ซึ่งเป็นสิ่งสำคัญเมื่อ Voice over IP มีการนำมาใช้ เพื่อให้ความล่าช้าระหว่างแพ็กเกตมีไม่เกิน 150ms เพื่อรักษาคุณภาพของการสนทนาเสียง
ยังมีฟังก์ชันอื่นที่เราเตอร์ดำเนินการที่เรียกว่าการเราติ้งตามนโยบาย ที่ซึ่งกฎพิเศษถูกสร้างขึ้นมาเพื่อใช้แทนที่กฎที่ได้มาจากตารางเส้นทาง เมื่อทำการตัดสินใจส่งต่อแพ็คเกต
ฟังก์ชันเหล่านี้อาจจะดำเนินการผ่านเส้นทางภายในเดียวกันกับที่แพ็คเกตเดินทางในเราเตอร์ บางส่วนของฟังก์ชันอาจจะดำเนินการผ่าน application-specific integrated circuit (ASIC) เพื่อหลีกเลี่ยงค่าใช้จ่ายที่เกิดขึ้นโดย CPU ต้องทำงานหลายรอบ และฟังชั่นอื่น ๆ อาจจะต้องมีการดำเนินการผ่าน CPU เพราะแพ็กเก็ตเหล่านี้ต้องการความสนใจเป็นพิเศษที่ไม่สามารถจัดการได้โดย ASIC