network
この記事はLinux Advent Calendar 2014の9日目の記事です。 ネットワークを使う機能でなにかしらテストしたいときに複数のクライアントが欲しい時がありますよね。大量アクセスをしたい場合はjmeterとかありますが、クライアントのIPアドレスも複数あったほ…
gethostbyname(3)のmanによると「gethostbyname*() と gethostbyaddr*() は過去のものである。」とあり、代わりにgetaddrinfo(3)とgetnameinfo(3)を使うようにとかかれているのでとりあえずめも。ホスト名からIPアドレスを引く場合はgetaddrinfo(3)でIPアド…
TCP FASTOPENの有効/無効で実際にどんな感じになるのかをsendto(2)でチェックしてみた。そんなに厳密なテストはしてませんけど。 実験は1台のLinuxマシンで実行でこのような構成。 cpu Intel(R) Core(TM) i7-3770S CPU @ 3.10GHz memory 32GiB Kernel 3.10-r…
TFO(tcp fastopen)で遊んでいて気付いたんですが、sendto(2)とsendmsg(2)はflagsに未知の値をセットしたときの扱いが両者で挙動の差があるっぽい。 このflags引数はMSG_PEEKとかMSG_XXXなものを論理和とった結果を渡しますが、この変数に未知の値を渡したと…
TCP fastopen(TFO)を使うのに/proc/sys/net/ipv4/tcp_fastopenに整数値をセットするようだけど、その数値の意味は?というのがDocumentation/networking/ip-sysctl.txtにあったのでめも。ついでに一部実装も見てますが。tcp_fastopenファイルに設定する値…