network

ipコマンドとnetnsでお手軽なテストクライアント作成

この記事はLinux Advent Calendar 2014の9日目の記事です。 ネットワークを使う機能でなにかしらテストしたいときに複数のクライアントが欲しい時がありますよね。大量アクセスをしたい場合はjmeterとかありますが、クライアントのIPアドレスも複数あったほ…

φ(.. )メモシテオコウ gethostbyname(3) と gethostbyaddr(3)は古いらしいので

gethostbyname(3)のmanによると「gethostbyname*() と gethostbyaddr*() は過去のものである。」とあり、代わりにgetaddrinfo(3)とgetnameinfo(3)を使うようにとかかれているのでとりあえずめも。ホスト名からIPアドレスを引く場合はgetaddrinfo(3)でIPアド…

φ(.. )メモシテオコウ TCP FASTOPENあり・なしの場合の速度比較めも

TCP FASTOPENの有効/無効で実際にどんな感じになるのかをsendto(2)でチェックしてみた。そんなに厳密なテストはしてませんけど。 実験は1台のLinuxマシンで実行でこのような構成。 cpu Intel(R) Core(TM) i7-3770S CPU @ 3.10GHz memory 32GiB Kernel 3.10-r…

φ(・・*)ゞ ウーン sendto(2)とsendmsg(2)に渡すflagsに関する挙動の差

TFO(tcp fastopen)で遊んでいて気付いたんですが、sendto(2)とsendmsg(2)はflagsに未知の値をセットしたときの扱いが両者で挙動の差があるっぽい。 このflags引数はMSG_PEEKとかMSG_XXXなものを論理和とった結果を渡しますが、この変数に未知の値を渡したと…

φ(.. )メモシテオコウ /proc/sys/net/ipv4/tcp_fastopenに設定する内容とか実装

TCP fastopen(TFO)を使うのに/proc/sys/net/ipv4/tcp_fastopenに整数値をセットするようだけど、その数値の意味は?というのがDocumentation/networking/ip-sysctl.txtにあったのでめも。ついでに一部実装も見てますが。tcp_fastopenファイルに設定する値…