最近工事が結構な勢いで入る。
その中で起きた事象をまとめている。
ある現場で起きた話
まあ、単なる設計configミスなんですが
(俺がやったんじゃないですよ)
それを少し掘り下げてみました。
えっと、拠点間でIPSec GRE over IPSecの設定をしてましたが
何故かshow tunnelコマンドでみてもpeerとはれていない感じ
いつもなら真面目な顔をしながら携帯でHなサイトのページをみて
その場をやり過ごす俺だけど
以前現場で一緒だった「奥さんの出産時に血を見て気絶した」Sさんのように
ここは積極的にトラブルシューティングに参加しようと思った。
そうでもしないときっと実力はつかないと思ったから。
先輩の邪魔にならないようにWANルーターの副系にコンソールを指した。
そしてそ~っとラックの裏に潜り込んでtelnetで正系の方にログインした。
show logを見てみると なんかFragmentがどうたらこうたらというログを
すげえはいてた!
こ、これは・・・
そういえば自分もIPSecの設定をする時になかなかできなくて
いろんなサイトで調べていたら パケットのサイズを設定しなければ
いけないということを知った。
その設定が入ってないんじゃないかなと思って
設定を見ていった。
するとやっぱりそうだ ip tcp-adjust-mssの設定がDialer 0に入っていない。
でも自信がなかったから先輩にこっそり
俺「あ、あの~、間違ってたらゴメンナサイ。ここの設定が入っていないのでは・・」
先輩「あ!そうかも」
横にいた親会社の人がびく!っとなって
親会社「あ!それだ」と
こんな感じで事件は解決した。
やっぱ1812を買ってよかったなぁと思ったのはつかの間
この日は問題が起こりすぎて
本来なら9:00~18:00の予定が9:00~22:30にしかも3連休のうち2連休しか
工事を行わないはずが、3連休フル出場で9:00~22:30になるとは
この時はまだ誰も知らなかった。
まあ話は長くなりましたが
俺なり少し調べた結果を下に
コピペじゃないです
******************************************
IPsecのフラグメント対策の問題について
MSSの調整を行う時に使用される
MSS(Maximum Segment Size)とは
イーサーネットの場合、最大フレーム長が
1518byte、そこからMACヘッダーが18byte、IPヘッダが
20byte、TCPヘッダが20byteを除いた1460byteがMSSとなる。
MSSが決定されるのはTCPの3wayハンドシェイクの時に自分のMSS
サイズを相手に通知する。(自分の受け取れるサイズは何バイト
かを相手に通知する。)
通知を受け取った側はMSSの大きさで
TCPストリームを細切りにしてTCPヘッダをつけて
相手に送る。
この自分が受け取れるTCPストリームのサイズを
変更するコマンドがip tcp adjust-mssコマンドになる。
IPSecを使用する場合もとのIPパケットに対して
新たなヘッダ情報が追加されるので、その合計サイズが
インタフェイスのIP MTUサイズを超える場合に、この
調整が必要になる
※ちなみに何故、フラグメントの発生が良くないか?
→パケットが増えるとルーターはソフトウェアで再組み立ての
処理を行う為、CPUに負荷がかかる。
IPSecの複合化処理に加えて再組み立て処理を同時に行うと
CPU負荷が上昇し、スループットが低下する。
IPSecを使う場合はフラグメントは避けて通れないから多段に
フラグメントが発生しないように最適なIP MTUサイズを見つ
けることが大事。
Bフレッツの最適なIP MTU値は1390byte
このサイズよりも40byte小さい1350byteを
ip tcp adjust-mssコマンドで設定すればTCP通信に関して
フラグメントの発生を防ぐことができる。
ちなみにBフレッツ時は1354
光プレミアムの時は1330となる。
その中で起きた事象をまとめている。
ある現場で起きた話
まあ、単なる設計configミスなんですが
(俺がやったんじゃないですよ)
それを少し掘り下げてみました。
えっと、拠点間でIPSec GRE over IPSecの設定をしてましたが
何故かshow tunnelコマンドでみてもpeerとはれていない感じ
いつもなら真面目な顔をしながら携帯でHなサイトのページをみて
その場をやり過ごす俺だけど
以前現場で一緒だった「奥さんの出産時に血を見て気絶した」Sさんのように
ここは積極的にトラブルシューティングに参加しようと思った。
そうでもしないときっと実力はつかないと思ったから。
先輩の邪魔にならないようにWANルーターの副系にコンソールを指した。
そしてそ~っとラックの裏に潜り込んでtelnetで正系の方にログインした。
show logを見てみると なんかFragmentがどうたらこうたらというログを
すげえはいてた!
こ、これは・・・
そういえば自分もIPSecの設定をする時になかなかできなくて
いろんなサイトで調べていたら パケットのサイズを設定しなければ
いけないということを知った。
その設定が入ってないんじゃないかなと思って
設定を見ていった。
するとやっぱりそうだ ip tcp-adjust-mssの設定がDialer 0に入っていない。
でも自信がなかったから先輩にこっそり
俺「あ、あの~、間違ってたらゴメンナサイ。ここの設定が入っていないのでは・・」
先輩「あ!そうかも」
横にいた親会社の人がびく!っとなって
親会社「あ!それだ」と
こんな感じで事件は解決した。
やっぱ1812を買ってよかったなぁと思ったのはつかの間
この日は問題が起こりすぎて
本来なら9:00~18:00の予定が9:00~22:30にしかも3連休のうち2連休しか
工事を行わないはずが、3連休フル出場で9:00~22:30になるとは
この時はまだ誰も知らなかった。
まあ話は長くなりましたが
俺なり少し調べた結果を下に
コピペじゃないです
******************************************
IPsecのフラグメント対策の問題について
MSSの調整を行う時に使用される
MSS(Maximum Segment Size)とは
イーサーネットの場合、最大フレーム長が
1518byte、そこからMACヘッダーが18byte、IPヘッダが
20byte、TCPヘッダが20byteを除いた1460byteがMSSとなる。
MSSが決定されるのはTCPの3wayハンドシェイクの時に自分のMSS
サイズを相手に通知する。(自分の受け取れるサイズは何バイト
かを相手に通知する。)
通知を受け取った側はMSSの大きさで
TCPストリームを細切りにしてTCPヘッダをつけて
相手に送る。
この自分が受け取れるTCPストリームのサイズを
変更するコマンドがip tcp adjust-mssコマンドになる。
IPSecを使用する場合もとのIPパケットに対して
新たなヘッダ情報が追加されるので、その合計サイズが
インタフェイスのIP MTUサイズを超える場合に、この
調整が必要になる
※ちなみに何故、フラグメントの発生が良くないか?
→パケットが増えるとルーターはソフトウェアで再組み立ての
処理を行う為、CPUに負荷がかかる。
IPSecの複合化処理に加えて再組み立て処理を同時に行うと
CPU負荷が上昇し、スループットが低下する。
IPSecを使う場合はフラグメントは避けて通れないから多段に
フラグメントが発生しないように最適なIP MTUサイズを見つ
けることが大事。
Bフレッツの最適なIP MTU値は1390byte
このサイズよりも40byte小さい1350byteを
ip tcp adjust-mssコマンドで設定すればTCP通信に関して
フラグメントの発生を防ぐことができる。
ちなみにBフレッツ時は1354
光プレミアムの時は1330となる。

調べて日記として立ち上げたいとおもいます