→[[ネットワーク関連]]
→IPアドレス
→LANの物理層
→イーサネット(Ethernet)
→IPv6まとめ
→[[TCP関連]]
→[[DNS関連]]
→DHCP関連
→ルーティングプロトコル
#contents
*IPヘッダ形式 [#tc96dce8]
#ref(ip_header.png);
-バージョン:4で固定
-ヘッダ長:IPのヘッダ長20バイトを4で割った値=5で固定
-TOS(またはDSCP+ECN)
--TOS=Type Of Service 優先順位
--DSCP,ECNについては下方の説明を参照
-データ長=IPパケット長:RFC791ではすべてのホストは最低でも576バイト以上のIPパケットを受信するように規定している。
--576=ヘッダ64byte+データ512byteを想定
-識別番号
--転送途中でIPパケットの分割(フラグメント)が起きてもIdentificationは変更されない(フラグメントオフセットが異なる)
-フラグ(3bit)
--MF(More Fragment)bitをオンにすると分割後のパケットであることを示す。最後のパケットだけ0
--DF(Don't Fragment)bitをオンにするとIPパケットの分割を禁止する。その場合に分割が必要になるような大きさのデータを送ろうとするとルータがICMPエラーメッセージ(タイプ3:宛先到達不可)を返す
--DFbitがオフならMTU以下かつ8の整数倍になるサイズで分割を行う
-フラグメントオフセット(13bit)
--分割したパケットの最初のデータ位置
--8byteを1単位として表現する。バイト数÷8。13bitで16bit分の長さを表現しなくてはならないため、足りない3bit分=8で表現する
-プロトコル番号(上位のプロトコロルを示す)
--1:ICMP
--2:IGMP
--4:IPinIP
--6:TCP
--17:UDP
--41:IPv6
--50:ESP
--51:AH
--88:EIGRP
--89:OSPF
*DSCP [#ue70c7b8]
-参考:[[DSCPの実装について>http://www.cisco.com/JP/support/public/ht/tac/100/1008449/dscpvalues-j.shtml]]
-TOSの8bitのうち左6bitがDSCP, 右2bitがECN(下方を参照)
-Differentiated Services Code Point
--QoSの[[DiffService>http://ja.wikipedia.org/wiki/DiffServ]]で使用する
--大きな値ほど優先度が高い
--上位3bitで優先度、下位3bitで破棄レベルを表す
-EF(Expediated Forwarding)
--優先度 101(5)
--破棄レベル 110(6:高)
-AF(Assured Forwarding)
--優先度 001,010,011,100(1,2,3,4)
--破棄レベル 010(2:低),100(4:中),110(6:高)
-DSCPの値を使用して処理を決めることをPHB(Per Hop Behavior)と呼ぶ
-RFC2474
-DSCP部分6bitのうち左3bitをIP Precedenceとして使うこともある。
--IP Precedence の場合下位3bitは class selectorとして 破棄レベル0とする
*ECN [#f4eead27]
-ECN=Explicit Congestion Notification 明示的輻輳通知
--TCPヘッダのCWR, ECEフラグと連動して輻輳制御に使われる
-ECT(ECN-Capable Transport)
--上位層がECNに対応したプロトコルであることを示す
-CE(Congestion Experienced)
--輻輳中であることを途中のルータが送信元に知らせるために付与する
*MTU [#yb2b92b1]
-Maximum Transmission Unit
-MTU とは、通信回線、いわゆるリンクごとに転送可能な最大データ長
-一回のデータ転送にて送信可能なIPデータグラムの最大値
-[[パスMTU発見(Path MTU Discovery)>http://www.itbook.info/study/p3.html]] RFC1191。送信元のホストで経路MTUの大きさに分割してから送信する方法。ルータがICMPエラーとともにMTUを返す。
-[[参考:MTU,MSS,RWIN>http://www.infraexpert.com/info/5adsl.htm]]
-[[MTU>http://www.itbook.info/study/p1.html]]
*WKP (Well known port) [#z0b5244e]
既存の普及したプロトコル、例えばFTP,SMTP,POP3,TELNET,HTTP,NetBIOSなどで使われているポート
-参考リンク
--http://e-words.jp/p/r-wellknownports.html
*ARP [#j694a818]
-ARPは、MACアドレスをあて先のIPアドレスから求めるためのプロトコル
-Address Resolution Protocol
-IPアドレス→MACアドレスの対応付け
-ARPリクエスト
--データリンクレベルでのブロードキャスト(FF-FF-FF-FF-FF-FF)を行う
-ARPリプライ
--ARPキャッシュに保存され "arp -a"コマンドで確認できる
-参考:[[ARPについて勉強した>http://d.hatena.ne.jp/nattou_curry_2/touch/20090810/1249911204]] 2013.8.16
**GARP [#ma0998dc]
-Gratuitous ARP=余計なARP
-自分自身のIPアドレスに対するARPリクエスト
-目的
--IPアドレスの重複検出(自分のIPアドレス(自分が使おうとしているIPアドレス)に対してブロードキャストでARPリクエストを出し、返事が来たらそのIPアドレスはすでに使われているということ)
--相手のARPキャッシュの更新→VRRPなどで冗長化しているときの切り替えに使う
-※IPv6ではNDP(Neighbor Discovery Protocol)の近隣要請メッセージをマルチキャストして重複検査を行う
**RARP [#s510c406]
-Reverse ARP
-指定したMACアドレスの機器IPアドレスを検索する
-電源オフにするとIPアドレス保持できない機器に対してIPアドレスを割り振るときに使われる
-RARPサーバが必要
*ICMP [#ua410b17]
-[[セキュリティグループで TCP ですべてのポートを解放していますが ping が通らないのは何故か教えてください | DevelopersIO>https://dev.classmethod.jp/articles/tsnote-security-group-icmp-ping-001/]] 2022.9
-[[TCP/IP - ICMPとは>https://www.infraexpert.com/study/tcpip4.html]] 2022.9
-[[ICMPとは|「分かりそう」で「分からない」でも「分かった」気になれるIT用語辞典>https://wa3.i-3-i.info/word13132.html]] 2022.9