ルーター
ルーターまたはルータ（）は、コンピュータネットワークにおいて、データを2つ以上の異なるネットワーク間に中継する通信機器である。通信プロトコルにTCP/IPが使われるようになってから普及した。データをネットワーク層で、どのルートを通して転送すべきかを判断するルート選択機能を持つ。
ルーターはネットワーク間を相互接続する通信機器であり、通常はOSI基本参照モデルでの第1層（物理層）から第3層（ネットワーク層）までの接続を担う。一般的に用いられるルーターは、基本機能として各ネットワーク間でのIPパケット（第3層）をやり取りできるようにする装置であるが、実際は基本に加えてさまざまな付加機能を実現している。
ハードウェアとしてのルーターは、おおまかに通信事業者 (ISP) 向けのコアルーターと企業向けのエッジルーター、コンシューマー向けのブロードバンドルーターに分かれる。それぞれベンダーの設計思想や販売戦略により製品区分が異なるため、呼称は一定ではない。
ルーター内部のソフトウェア (OS) については、米ジュニパーネットワークス社のJUNOSや米エクストリームネットワークス社のExtremeXOSなど、主要なOSはUnixの修正版である。米シスコシステムズ社のみは、独自のCisco IOSを展開しているが、IOS XRではUNIX系のマイクロカーネルを採用した。
また、2005年OSSとしてDebianLinuxベースのVyattaが開発され、日アライドテレシス社は同社製AlliedWare PlusにLinuxカーネルを採用するなどLinuxの利用も広まっている。
1964年MITのラリー・ロバーツがARPA（Advanced Research Projects Agency、DARPAの前身）のJ.C.リックライダーと出会い、コンピュータ同士の接続に意欲を燃やす。1966年にARPAに異動したラリーはARPANETの設計責任者となって、従来の「回線交換」にかわる「パケット交換」を基本とすることに決定。1968年よりARPANETの実計画がスタートし、1970年に最初の4箇所での接続によって稼動開始。ARPANETは米BBN社 (Bolt Beranek and Newman) の作ったIMP (Interface Message Processor) と呼ばれるパケット交換機が中心で構成されていた。IMPは単一プロトコルでの動作であったため、まだこの時点ではルーターではない。1972年にARPAに着任したボブ・カーンは様々なインターフェースを持つ「ゲートウェイ」と呼ぶ装置を構想していた。カーンはパケットそのものをローカル・ネットワークのパケットに入れて運ぶパケットのカプセル化を考えた。プログラミングに詳しいスタンフォード大学のビントン・サーフがカーンと協力してゲートウェイとカプセル化のアイデアを詰めていった。1974年に2人はIEEEの学術誌に現在のTCP/IPの原型となる「TCP」というプロトコルを発表。1977年に最初のネットワーク相互接続実験が行われ、衛星通信を介したTCPパケットの送信に成功した。ゲートウェイという用語は1980年代後半にルーターと呼ばれるまで使い続けられた日経NETWORK 2005年1月号「発掘！ルーター開発物語」。今でもイーサネットではないWAN回線等への接続の場合には、回線インターフェースが明らかに変わるのでゲートウェイと呼ばれることがあるがこれが「外部への出口」という意味で使われたのか、カーンの命名からの由来なのか判然としない。
その後、2人のTCPプロトコルはアプリケーション同士の通信を担当する部分 (TCP) とパケット中継を担当する部分 (IP) へと分割され、1981年には洗練されたプロトコルとして現在の「TCP/IP」が発表された。
1976年、米BNN社の手によってARPANETに繋ぐ、IP対応ルーターが世界で初めて製品化された。この「ルーター」は、米DEC社の16ビット・ミニコン「PDP-11」上で、アセンブリ言語で書いた20Kバイトのルータープログラムを走らせるものであった。処理速度は100パケット/秒程度であった。
1982年にはARPANETの内部や米国・欧州を合わせて20以上のルーターと数百のホスト・コンピュータが1つに繋がれた。これが今のインターネットの原型となった。
1986年米プロテオン社より、マルチプロトコルに対応した世界初の商用ルーター「ProNET p4200」が発売された。1990年米シスコシステムズ社が「Cisco7000」を、1997年にインターフェースカード（ラインカード）に分散アーキティクチャを導入した「Cisco12000」を発売し、10Mパケット/秒クラスの性能に至った。
1987年、世界初の商用インターネットプロバイダ (ISP) UUNETが誕生し、一般固定電話が定額制だった事から、コアルーターをDCE、アナログモデムをDTEとした、ハブスポーク型トポロジによるネットワークが米国において定着する。
1995年頃、回線の高速化（ISDNやCATVの普及）に伴うトラフィックの増加に伴い、X.25に代わるWANプロトコルとして、エラー制御処理の簡略化により、高速化したフレームリレーが導入された。その後、ルーターは様々な種類の物理インタフェースをサポートするようになった（ルーターの基本機能#接続を参照）。
また、この頃からLAN回線（トークンリング、イーサネット、FDDI (Fiber-Distributed Data Interface)）上で動作するネットワーク層プロトコル (AppleTalk、IP、IPX) とWANプロトコルをリンクさせる役割をルーターが担うことになり、同時に、LAN回線に比べて速度で劣るWAN回線を効率よく使用するため、WAN側に設置されたルーターをデータ端末装置 (DTE) として扱うことで、過剰なトラフィックをWAN側に流さないようになった。ルーターは、ISPによるWAN網のバックボーンとなるコアルーターと、そのDCEもしくはDTEとなるエッジルーターとに分かれることになる。
1995年、標準ネットワーク機能としてTCP/IPを実装するOS「Windows95」が発売され、企業におけるPCとLAN回線の普及が進むと、企業ネットワークの世界はISPセンターとPCを接続するトポロジから、セグメントごとにハブを介して専用線経由で接続するトポロジに変わり、LAN側セグメント間のルーティング機能が重視されるようになった。こうした状況の変化にともない、ネットワーク中継装置としてレイヤ2スイッチが注目されるようになり、やがてレイヤ2スイッチは利便性向上のため、VLAN (Virtual LAN) を実装するに至った。
一方で、コンシューマーにおいては前者のハブスポーク型トポロジは継続した。日本では、接続回線にISDNが広まったことから、アナログモデムからダイアルアップルーターに移行した。やがて1990年代後半からのブロードバンド回線の普及にともない、ブロードバンドルーターが広まることになった。
VLAN技術により、ポートの効率化が可能になると、次はLAN側トラフィックの急増によってセグメント間ネットワーク層のルーティングがボトルネックとなった。
レイヤ3スイッチは、レイヤ2スイッチとルーターのルーティング機能を1つの筐体に同居させることで、レイヤ2スイッチとルーター間のボトルネックを解消した。ルーティング機能は、汎用CPUを使ったソフトウェア処理からASIC (Application Specific Integrated Circuit) とよばれる半導体チップによる処理に変更したことにより、処理の高速化を実現した。また、コストの面から利用するプロトコルをTCP/IPに特化し、インターフェースをイーサネットに限定したことが、広域イーサネットやIP-VPNといった次世代のWAN側サービスと合致したため、ユーザーの需要が高まることとなった。
当初、レイヤ3スイッチは高価であったが、2000年代に米エクストリームネットワーク社が安価で多彩な機能を持ったレイヤ3スイッチである「Summit」シリーズを発売し、センタールータの代替として、企業や官庁を中心にレイヤ3スイッチは普及した。
2000年頃から、企業ネットワークの主流がこれまでの専用線から、より安価で接続範囲を限定されないインターネットによるVPN (Virtual Private Network) に移行した。通信業者はMPLSとVRによる有料サービス「IP-VPN」を提供したが、企業や個人にも独自にVPN環境を構築する動きが広がり、IPsecトンネルやPPTPを経路とするインターネットVPNを実装するエッジルーターやブロードバンドルーターが開発された。
2002年には、データリンク層をギガビットイーサネットで繋ぐ、広域イーサネットによるサービスが広まり、そのデバイスとしてレイヤ2スイッチが再度注目されることとなった。
2000年代後半より、IP電話や第3世代 (IMT-2000) 以降の携帯電話の発展に応じて、コアネットワーク（バックボーン）のオールIP化を志向した次世代ネットワーク (NGN) が提唱され、通信業者のバックボーンは、これまでの電話交換機による電話網からルーターやスイッチ類などによるIP網に再構築された。また、2010年6月、次世代イーサネット規格として、40Gbps/100Gbpsというふたつの異なる伝送速度に応じたIEEE 802.3baが承認された。40Gbpsはサーバ等機器間での接続に、100Gbpsは主にネットワーク間のバックボーンに使われるとの見通しで、各ベンダーの設計もこの規格に基づきおこなわれている。
規模やネットワーク上で使用される位置によってルーターが分類されており、それぞれ名称が変わる。いずれもルーターとしての機能は同じである。以下に規模の大きな物から順に示す。ルーターの基本機能は4つある。
ルーターは、ネットワークセグメントの異なるLAN側のインターフェースや、WAN側のインターフェースなどの中から2つ以上の物理インターフェースを有する。それぞれの物理インターフェースは、様々な回線種別に対応しており、タイプとして固定型とモジュラー型に分かれる。タイプを選択することにより、ユーザーのサービスにあわせた柔軟な対応ができる。ATMを使ったセルリレーや、フレームリレーなどデータリンク層への接続には、WAN側のインタフェースカードの交換、シリアルケーブルでデバイス (DTE) と接続、インターフェースの設定を行うことによって接続が可能となる。
ルーターは、受信パケットの宛先情報から経路選択をおこなう。これをルーティング (Routing) という。ルーティングを実施する際にルーティングテーブルの情報が参照される。その情報を元にパケットの転送をおこなう。これをフォワーディング (Forwarding) という。
IPv4パケットの場合の流れを説明すると、
となる。
この時に用いられるルーティングテーブルには、ネクストホップ情報、宛先アドレス情報、そのルーターに接続するためのインターフェース情報など、転送に用いる経路情報が記録される。ルーターの性能は、このルーティングテーブルやARPテーブルの参照処理能力と、スループット値などにより決まる。
なお、レイヤ3スイッチの場合は、最初のパケットをコントロールプレーン (Control Plane) のCPUで処理し、ルーティングテーブルとARPテーブルで算出した情報をASICのレイヤ3テーブルに追加する。2回目以降のパケットをデータプレーン (Data Plane) のASICで処理する。
ルーターは、WAN側から受け取ったIPパケットに応じて、フィルタによって転送せずに破棄したり、QoS (Quality of Service) によって優遇してLAN側に転送するなど、パケットの選別機能を持つ。ルーターは、経路情報を持つルーティングテーブルの管理をおこなう。
直接接続された他のインターフェースとの通信によって、経路情報を自動的に学習する。しかし、ルーターは「直接接続されていないインターフェース」には接続できないため、それを含めた経路情報を設定する必要がある。
経路情報を設定する方法には、ネットワーク管理者が手動で設定する静的ルート (Static Route) と、ルーティングプロトコルで設定された動的ルート (Dynamic Route) がある。
動的ルートは、ルーティングプロトコルが設定されると、相互接続された他のルーターとの通信によって経路情報を交換し合い、自動的にルーティングテーブルを最適な状態に保つ。この状態を収束または収斂（コンバージェンス）という。
この経路情報の収集につかわれるルーティングプロトコルには2種類あり、異なる自律システム (AS) 間でつかわれるEGP (Exterior Gateway Protocol) と、同一のAS間でつかわれるIGP (Interior Gateway Protocol) がある。その中でも策定団体の違いによって、EGPではBGP-4、IGPではRIP、OSPFなどがある。
また、通信制御用プロトコルであるICMPを周囲に発信し、エラーや回線の状態を監視するルーターもある。
これらによって、あらかじめ伝送路の2重化や迂回経路への切り替えを設定しておけば、伝送路に障害が発生した場合、RIP、OSPF、BGPといったプロトコルを利用せずに別経路への自動的な切り替えが行われる。
ルーターの内部について、代表的なアーキテクチャには分散型と集中型がある。アーキテクチャはインターフェースカード、スイッチカード、制御部で構成される。
インターフェースカードは、パケット処理エンジン、パケットバッファ用メモリ、ルーティングテーブル用メモリ、各種テーブルメモリにより構成される。そして、ルーターの内部の処理は4段階に分かれる。受信した信号をインターフェース回路がビット列に変換し、受信処理を行うパケット処理エンジンに入力データを渡す。パケット処理エンジンでは受け取ったIPフレームをあらかじめ区切られたルーティングテーブル用メモリバッファに蓄積する。この入力バッファ領域は1フレームが十分に収まる長さごとに区切られている。メモリーのサイズは限りがあるため、転送処理が滞って後から来たパケットがメモリに格納出来なくなればそのパケットは破棄される。これが「パケット・ロス」と呼ばれる現象である。
パケット処理エンジンは、ルーティングテーブル用メモリに蓄積されたIPパケットのヘッダーを読み取り、ルーティングテーブルの検索をおこない、出力先インターフェースを決める。同時にQoSとアクセス制御リストを参照する。条件にあえばその処理を行う。解析で得られた情報は、パケットバッファ用メモリのIPパケットに付加しておく。
ルーティングテーブルの検索方法は3種類ある。
加工されたパケットは以下のように処理される。
パケットの送出を担当するパケット処理エンジンは、各種テーブルメモリからパケットを読み出して、「解析」処理で得られたQoSにより、出力インターフェイスを振り分け、パケットバッファ用メモリに蓄積する。スケジューラにより、パケットバッファ用メモリからパケットを読み出して出力する。
ネットワーク上での障害を回避したり最小限にする技術に冗長化（または冗長構成 (redundant configuration)）がある。
ルーターやレイヤー3スイッチを複数備えると、障害時に切り替える物理的な冗長化がおこなわれる。このままでは障害発生を検知して自動的に予備機に切り替えることはできないため、ルーターを仮想化するプロトコルによって冗長構成の制御をおこなう。複数のVRRPグループに仮想ルーターの設定をおこなうことでロードバランスが可能となる。標準化されあるいは、ベンダー独自のプロトコルが複数存在する。
また、リンク・アグリゲーション（en:Link aggregation、cisco社ではEtherChannel）によって、複数の通信回線を物理的に束ねて、仮想的に1回線として使用すれば、一部の通信回線に障害が発生しても、残りの回線で通信が可能なため、通信の途絶が回避できる。
スパニング・ツリー (Spanning Tree Protocol, STP) や通信速度の改良をおこなったラピッド・スパンニング・ツリー (Rapid Spanning Tree Protocol, RSTP) などの冗長化技術などの、データリンク層で使用するプロトコルによる冗長化技術は本項では扱わない。
WAN回線側のインターフェースをISDN用のターミナルアダプタとしたリモートルーター。日本国内では、INSネット64サービスの開始後、一般にも普及した。代表的な製品にはNTT-TE東京（現NTT-ME）の「MN128 SOHO」やヤマハの「RTA-50i」などがあった。
ダイヤルアップルーターの大きな特徴として、ダイヤルアップ自動接続・切断機能が挙げられる。フレッツ・ISDNなどによる定額接続サービス登場以前は、接続時間による従量制課金であった。そこで、PCがインターネットにアクセスしようとしたとき、ダイアルアップルーターはそれを検知して接続（設定したISPのアクセスポイント番号へのダイヤル）を開始し、一定時間外部との通信が無いときには自動的に切断する機能を備えていた。
基本的な機能としては小規模LAN向けとしてDHCPサーバ機能、IPマスカレード・NATなど。その他の機能については、ブロードバンドルーター#機能を参照。
2001年にソフトバンクがADSLによるブロードバンドインターネット接続を低価格で発売したことにより、NTT（当時）が独占してきたISDNによるインターネット接続はシェアを奪われ、それに伴いダイヤルアップルーターはレガシーハードウェアとなった。
「MN128 SOHO」シリーズから「PAL B&I」や「IB3」のほか、PCカード型LANカードを装着しWANポートとすることによりブロードバンドルーターとしても使える「Slotin」が発売されていた。このうち、「IB3」と「Slotin」は無線LANにも対応し、またPCカード型端末を挿入しFOMAやPHSなどの回線経由でインターネットに接続することも可能であった。
基本的にはローカルルーターとスイッチングハブであるが、WAN回線用のモデム等を内蔵しリモートルーターであるものもある。2010年現在、小型・簡略化したものが市販されており、一般家庭や小規模事務所などのユーザ向けのADSLやFTTHなどの、ブロードバンドインターネット接続用に使われる。また、回線事業者が契約者に貸し出すADSLモデムやONUといった接続装置の多くがルーター機能を持っている。
一般家庭ユーザの利用を想定して、出荷前にあらかじめ基礎的な機能の設定がなされており、通常はISPの接続用アカウントを設定することで使えるようになっている。
また、本来ルーターはIP層までを扱うのが本来の役割であるが、家庭向けブロードバンドルーターの中には、それに加えDNSキャッシュサーバ、ダイナミックドメインネームサービスへの自動登録機能、BitTorrentクライアントなどそれ以上の層に属する機能を持つものもある。
小さな形状であり、初心者でも扱えることが利点である反面、それゆえのデメリットもある。ルーターの技術は、家庭や小規模オフィスでの電話回線を通じたネットワークの構築にも長年使用されている。現在のブロードバンド・ルーターに繋がる初期の電話回線用インターフェース機器では、WAN 側に汎用の RS-232C などのシリアルポートを持ち、モデムやターミナルアダプタなどの回線機器を介して電話回線と1対1で接続していたが、後にはダイヤルアップ・ルーターと呼ばれるWAN側にISDN回線や128kbpsまでのデジタル専用回線を直接収容する回線インターフェースなどを持ち、LAN側に複数の端末が接続できるものが多くなった。1990年代末からの日本でのADSLや2000年代初頭からのFTTHの普及に伴う回線の高速化（ブロードバンドインターネット接続）のため、こういった製品もADSLや光ファイバーへ対応し、PPPoAやPPPoEによってADSLモデムやONU（光回線終端装置）に接続され、総称してブロードバンド・モデムルーターと呼ばれるようになった。
Wi-Fiを定義するIEEE規格は、データリンク層での動作のため、本項の説明からは除く。
2008年現在では、ルーターを含む大規模なネットワークの利便性向上のためにさまざまな技術が生まれている。下記にルーターに関係が深い技術を示す。
MPLS (Multi protocol label switching) は、MACヘッダーの後ろにMPLSシム・ヘッダーと呼ばれるラベルを付加して、MPLS対応ルーター同士での転送先識別に利用する。MPLS対応ルーター同士はLPS（ラベル・スイッチ・パス）と呼ばれる仮想パスで結ばれる。レイヤー3スイッチと違い、ルーターの使用によって優先制御や帯域制御といった機能、特定のパケットだけを別経路にう回させたり、回線障害の発生時に瞬時（数ミリ秒）に迂回路を設定する「ファスト・リルート」機能などによって高い利便性が提供される。
VPLS (Virtual private LAN) はMPLSを利用したMACアドレスを転送先アドレスとして使用する、ルーターによって構成される広域イーサネット技術。企業のローカル拠点のLANをVPLS網に繋ぐことで、そのままイーサネットのMACフレームによるやり取りが行える。VPLS網の端に位置するエッジ・ルーターはMACアドレスとパスの対応表を持ち、ローカルLANから受け取ったフレームのパケットの宛先MACアドレスからパスを見付け出してラベルを付けてVPLS網に送り出す。コア・ルーターでは、ラベルだけを頼りにフレームを転送してMACアドレスは扱わない。ローカルLANから見れば、VLPSネットワークは大きなLANスイッチと同じように機能する。MPLSの利点であるQoS機能やファスト・リルート機能が提供される。