---
title: iPhone 5 の Wi-Fi ちゃんと動いてましたか？ #yidev
tags:  #yidev #ios #wi-fi #トラブルシューティング  
author: [熊谷友宏](https://convert.docswell.com/user/es_kumagai)
site: [Docswell](https://www.docswell.com/)
thumbnail: https://bcdn.docswell.com/page/G7WD4VMQE2.jpg?width=480
description: iPhone 5 の Wi-Fi ちゃんと動いてましたか？ 自分は使えていませんでした。しかも iPhone 5 購入直後から。そんなお話を、2013/02/23 に横浜馬車道で開催された yidev 横浜 iPhone 開発者勉強会でお話してきました。せっかくの開発者のみなさんなので、後半はネットワークの基礎についてを主軸にしつつ。  ※ Docswell での公開に移行する直前の Slideshare での閲覧数は 4,073 でした。
published: February 23, 13
canonical: https://convert.docswell.com/s/es_kumagai/K1R243-2013-02-23-iphonewififailed
---
# Page. 1

![Page Image](https://bcdn.docswell.com/page/G7WD4VMQE2.jpg)

iPhone 5 の Wi-Fi
まし
ちゃんと動いてますか︖
た
〜 なぜか噂にもならなかった身近なお話 〜
EZ-NET 熊⾕友宏 @EasyStyleGK
http://program.station.ez-net.jp/


# Page. 2

![Page Image](https://bcdn.docswell.com/page/4JZG24Q373.jpg)

iPhone 5 の Wi-Fi、ちゃんと使えてましたか︖
自分は使えていませんでした。
しかも iPhone 5 購入直後から。


# Page. 3

![Page Image](https://bcdn.docswell.com/page/YE6YV36ZJV.jpg)

新しくなった App Store を眺めていると …
• 一覧が出るのに数分以上、待たされる。
• 数回に 1 度、読込が打ち切られる。
きっと iPhone 5 が人気で重いんだろうな〜


# Page. 4

![Page Image](https://bcdn.docswell.com/page/GE5GDL69E4.jpg)

ちがいました。
おかしいのは、自分の iPhone 5 でした。
• 他のアプリでも通信エラーが発生
• コネクションロストとは比較的重傷
• そういえば Safari の閲覧も遅い
iPhone 3GS さえ問題ないのに！
iPhone 4 でも問題ないのに！
iPhone 4S なら問題ないのに！


# Page. 5

![Page Image](https://bcdn.docswell.com/page/972Y8LM57R.jpg)

そういえば Wi-Fi だと全般的に遅いかも …
• Wi-Fi のときに通信で異常に待たされる
• 3G や LTE なら問題ないみたい


# Page. 6

![Page Image](https://bcdn.docswell.com/page/DJYG6QX6JM.jpg)

ping ツールで調べてみると …
36 bytes from 8.8.8.8 icmp_seq=11 ttl=128 time=3ms
36 bytes from 8.8.8.8 icmp_seq=12 ttl=128 time=3ms
Request timeout for icmp_seq 13
実に ping パケット 70% 消失︕
Request timeout for icmp_seq 14
※icmp_seq=15
ただし Wi-Fi
に限る
36 bytes from 8.8.8.8
ttl=128 time=3ms
Request timeout for icmp_seq 16
:
:
--- 8.8.8.8 ping statistics --578 packets transmitted, 178 packets received, lost 69.3%


# Page. 7

![Page Image](https://bcdn.docswell.com/page/V7NGZK51E8.jpg)

もしかして⾃分だけ︖
ツイッターで問いかけてみる
誰も噂にもしない …
インターネットで調べてみる
Wi-Fi の暗号化が AES だと、
Wi-Fi が切断されてしまう人は居る様子
でも、今回の現象とは違うみたい


# Page. 8

![Page Image](https://bcdn.docswell.com/page/YJ9WZVYYJ3.jpg)

おっと、反応がありました。
どうかされましたか？
iPhone 5 の Wi-Fi 通信で
ping パケットが消失します！
ping って iTunes の
ping サービスのことですか？
？


# Page. 9

![Page Image](https://bcdn.docswell.com/page/GJ8N1P6KED.jpg)

気を取り直して …
iPhone 5 で Wi-Fi 通信が
できません。
同じ LAN の Windows と
通信できません。
契約しているプロバイダを
教えてもらっていいですか？
？
とりあえず、ありがとうございます！


# Page. 10

![Page Image](https://bcdn.docswell.com/page/LJLPQ19PER.jpg)

しかし、これは困りました。
EZ-NET IP Phone
iPhone をひかり電話子機にするアプリ
自宅ではいつも EZ-NET IP Phone で iPhone を
NTT ひかり電話の子機にして使っているので、
Wi-Fi が使えないのは極めて不便です。
※ ステルスマーケティング


# Page. 11

![Page Image](https://bcdn.docswell.com/page/47M41WZ2EW.jpg)

問題を整理してみる


# Page. 12

![Page Image](https://bcdn.docswell.com/page/P7RWLY65E9.jpg)

問題を整理すると …
Wi-Fi 接続で通信エラーが多発する
• Windows 7, 8 が相手だとパケット消失
（Windows XP が相手なら正常）
• NOPPHIX 5.3.1 (Kernel 2.6.24.4) も異常
• Mac 相手の通信だと正常♪


# Page. 13

![Page Image](https://bcdn.docswell.com/page/PJXPWGMXEX.jpg)

問題を整理すると …
ルータ相手でも機種によって通信エラー
• PCI MZK-RP150N だとパケット消失
• FON2405E だと Wi-Fi から即切断
• BUFFALO AG54 は ping がハングアップ
• BUFFALO WHR-G301N だと正常
• BUFFALO WHR-G300N だと正常
• Apple Time Capsule 相手だと正常♪


# Page. 14

![Page Image](https://bcdn.docswell.com/page/3JKDV4G97D.jpg)

⼤事なこと
ルータ相手の通信がダメなので、
NAPT を使うと、その先の通信は全滅。


# Page. 15

![Page Image](https://bcdn.docswell.com/page/LE3RMLN975.jpg)

もうひとつ⼤事なこと
これらの障害は
どれも iPhone 5 でだけ発生する
ということ。


# Page. 16

![Page Image](https://bcdn.docswell.com/page/8EDY6NW8EG.jpg)

パケットキャプチャで調べてみると …
iPhone 5 から通信を始めるとき
Windows さん、
どこに居ますか？
ここにいますよ。
そちらに居ましたか。
パケット送りますね。
パケット来た！
ここまでは OK ︕


# Page. 17

![Page Image](https://bcdn.docswell.com/page/V7P6Y59WJ8.jpg)

パケットキャプチャで調べてみると …
Windows が返信パケットを返すとき
さて iPhone 5 さんに
お返しのパケットを送ろう …
iPhone 5 さん、
今はどこに居ますか？
今は面倒だ。
無視！
あれ、居なくなってる！
パケット送れない！！
なんと iPhone 5 が無視を決め込む︕


# Page. 18

![Page Image](https://bcdn.docswell.com/page/2JV3GPM9EQ.jpg)

パケットキャプチャで調べてみると …
でも Mac からの問いかけには
iPhone 5 さん居ない。
困ったなぁ …
無視、無視。
iPhone 5 さん、居ます？
!!!
ここに居るよ〜！
Apple 同⼠だと仲がいいのね。


# Page. 19

![Page Image](https://bcdn.docswell.com/page/5EG38PG47L.jpg)

他で語られない不思議
他の人でも遭遇しそうな問題なのに、
なんで騒がれていないのだろう …
⾃分の iPhone 5 だけの不具合なのか…


# Page. 20

![Page Image](https://bcdn.docswell.com/page/4JQ592XR7P.jpg)

ちがった︕
そんな頃合いに
我が家に訪れた iPad mini。
いきなり、同じ問題が発⽣︕
iPad 1 ではこの問題は発⽣しないので
新型 iPhone &amp; iPad 共通の Wi-Fi の不具合では︖


# Page. 21

![Page Image](https://bcdn.docswell.com/page/K749XL6QE1.jpg)

解消⽅法


# Page. 22

![Page Image](https://bcdn.docswell.com/page/LJ1KNLVL7G.jpg)

問題の解消⽅法
２０１３年１月２９日までは …
1. iPhone 5 を再起動する
– ただし、数日後には再発
2. 通信相手の ARP テーブルに
iPhone 5 の MAC アドレスを登録する
– NAPT ルータに登録できれば、
それ以降の通信全てを正常化可能


# Page. 23

![Page Image](https://bcdn.docswell.com/page/GJWD4VLQ72.jpg)

問題の解消⽅法
でも、これからは …
iOS 6.1 にアップデートする
きっと、ただそれだけ
iOS 6.1 にアップデートしたのを境に、
今のところ問題は発生していません。


# Page. 24

![Page Image](https://bcdn.docswell.com/page/4EZG24M3J3.jpg)

ここからが本題
せっかくの開発者な皆様なので
もう少し踏み込んでみたいと思います。
開発の役に立つかは判りませんが！


# Page. 25

![Page Image](https://bcdn.docswell.com/page/Y76YV3NZEV.jpg)

知ってる⼈なら知ってる
ネットワークの基礎のおはなし


# Page. 26

![Page Image](https://bcdn.docswell.com/page/G75GDL5974.jpg)

ping ってなに︖


# Page. 27

![Page Image](https://bcdn.docswell.com/page/9J2Y8LN5JR.jpg)

ping とは
• ICMP プロトコルを使い、ネットワーク上
のある宛先に到達可能か調べる仕組み。
• Echo Request を送信し、Echo Reply を
受け取ることで、到達できると判断する。
• ICMP は OSI 参照モデルの第３層「ネッ
トワーク層」に位置するプロトコル。
言葉で語ると小難しいですが …


# Page. 28

![Page Image](https://bcdn.docswell.com/page/DEYG6QP6EM.jpg)

ICMP Echo Request-Reply
やることはこれだけ
Echo Request
パケット送信
IP
Echo Reply
パケット送信
IP
• Request は IP アドレスで宛先を指定。
• Reply は送信元 IP アドレスへ返信。
• 送信元が Reply を受け取ったら終了。


# Page. 29

![Page Image](https://bcdn.docswell.com/page/VJNGZKM178.jpg)

ICMP Echo Request-Reply
到達不能と見なされる場面
Echo Request
パケット送信
IP
しばらく待ったけど Reply ないから、
相手はきっとオフラインだな …
• Request を送ってしばらくしても返答が
なければ、相⼿が落ちていると⾒なす。
• タイムアウト制。


# Page. 30

![Page Image](https://bcdn.docswell.com/page/YE9WZVNYE3.jpg)

ping で判ること
• 宛先から返事があるかどうか。
• 普通は、返事を返してくれる約束。
• ただし、返してくれない場合もある。
iPhone 5 も返事を返してくれませんでした。


# Page. 31

![Page Image](https://bcdn.docswell.com/page/GE8N1PKK7D.jpg)

OSI 参照モデル
ICMP プロトコルの位置づけ的には
HTTP とか
いろいろ
有名な
TCP や UDP
IP とか
ICMP
ARP とか
Ethernet
物理的な
配線とか
第７層
アプリケーション層
第６層
プレゼンテーション層
第５層
セッション層
第４層
トランスポート層
第３層
ネットワーク層
第２層
データリンク層
第１層
物理層


# Page. 32

![Page Image](https://bcdn.docswell.com/page/LELPQ1ZP7R.jpg)

実際のネットワークに照らし合わせると
第４層 トランスポート層
TCP や UDP で機器に直接アクセス
第３層 ネットワーク層
IP アドレスを使って相手を特定
複数のLAN を直通運転（ルーティング）
第２層
データリンク層
MAC アドレスで相手を特定
ひとつのネットワークを形成（LAN）
第１層
物理層
機械的なネットワークのつながり
有線や無線で電気的に繋がっている
ソケット（IP アドレスとポート番号）で相手を特定


# Page. 33

![Page Image](https://bcdn.docswell.com/page/4JM41WV27W.jpg)

階層構造のメリット
自分より下の階層は
意識しなくていい！
TCP や UDP で通信するプログラムを作っているとき、
MAC アドレスなんて考えたこともなかったはず。


# Page. 34

![Page Image](https://bcdn.docswell.com/page/PJRWLY2579.jpg)

下の階層がそれ以下の通信をやってくれる
きた♪
“192.168.1.11” さんの
“80” 番ポートへアクセスしよう …
IP: 192.168.1.11
Port: 80
IP:
192.168.1.1
MAC: 8C-7B-9D-34-53-32
この宛先へ
送信お願い︕
このソケット宛に
荷物届きましたよ。
第４層 トランスポート層
第４層
Port: 80
IP: 192.168.1.11
この IP へ
送信お願い︕
第３層 ネットワーク層
この IP 宛に
荷物届きましたよ。
この IP アドレスは
あっちの LAN に居るのか …
第３層
自分より下の階層の動きを
知らなくて済むのがメリット
第２層 データリンク層
第２層
この IP へ
送信お願い︕
電送お願い︕
第１層 物理層
この IP は…
あの MAC の機器が持ってるのか …
Mac アドレスのタグをつけて…と。
あ、うちの
MAC 宛だ︕
Port: 80
8C-7B-9D-34-53-32
IP: MAC:
192.168.1.11
電送︕
あ、
何か来た︕
第１層


# Page. 35

![Page Image](https://bcdn.docswell.com/page/PEXPWGDX7X.jpg)

実際にはもうちょっと複雑
PC
PC
ルーター
第４層
トランスポート層
スイッチング
HUB
第４層
トランスポート層
第３層
ネットワーク層
第３層
ネットワーク層
第３層
ネットワーク層
第２層
データリンク層
第２層
データリンク層
第２層
データリンク層
第２層
データリンク層
第１層
物理層
第１層
物理層
第１層
物理層
第１層
物理層


# Page. 36

![Page Image](https://bcdn.docswell.com/page/3EKDV4X9JD.jpg)

ICMP は第３層の通信だから …
Echo Request
送信♪
IP ネットワークの根本部分が
正常に機能しているか検証するのに役⽴つ
第４層
第４層
トランスポート層
トランスポート層
Echo Reply
しなくちゃ︕
第３層
ネットワーク層
第３層
ネットワーク層
第３層
ネットワーク層
第２層
データリンク層
第２層
データリンク層
第２層
データリンク層
第２層
データリンク層
第１層
物理層
第１層
物理層
第１層
物理層
第１層
物理層


# Page. 37

![Page Image](https://bcdn.docswell.com/page/L73RML59J5.jpg)

ところで、この部分 …
IP: 192.168.1.11
Port: 80
IP:
192.168.1.1
MAC: 8C-7B-9D-34-53-32
この宛先へ
送信お願い︕
第４層なぜ、IP
トランスポート層
第４層
を指定するだけなのに、
第２層で MAC アドレスが判るのでしょう。
第３層 ネットワーク層
第３層
この IP は …
あの MAC の機器が持ってるのか …
Mac アドレスのタグをつけて…と。
第２層 データリンク層
第２層
第１層 物理層
第１層


# Page. 38

![Page Image](https://bcdn.docswell.com/page/87DY6ND87G.jpg)

そこで登場するのが
ARP
Address Resolution Protocol


# Page. 39

![Page Image](https://bcdn.docswell.com/page/VJP6Y5XWE8.jpg)

ARP とは
• IP アドレスを使って、それに対応する
MAC アドレスを検索する仕組み
• 対応する MAC アドレスを取得することで、
その機器がどこに繋がっているかが判る
• OSI 第２層（データリンク層）の機能


# Page. 40

![Page Image](https://bcdn.docswell.com/page/2EV3GPL97Q.jpg)

やることは簡単
第２層 データリンク層
M
あ、私だ！
はい！
M
この IP 持ってる人、
私に返事して！
AC
AC
いた！
違う〜
違うなぁ
• 所属する LAN 全体に、指定した IP アドレス
を持っている⼈が居ないか尋ねる。
• 指定された IP を持っている⼈が返事をする。


# Page. 41

![Page Image](https://bcdn.docswell.com/page/57G38PX4JL.jpg)

居ない場合はもちろん …
第２層 データリンク層
M
この IP 持ってる人、
私に返事して！
違う〜
AC
いない！
違う〜
違うなぁ
• しばらくしても誰も返事を返さないと、
その IP アドレスは存在しないものとされる。
• タイムアウト制。


# Page. 42

![Page Image](https://bcdn.docswell.com/page/4EQ5928RJP.jpg)

今回の発端の問題もここでした
Windows が iPhone 5 を探すけれど …
第２層 データリンク層
M
あ、自分だけど、
知〜らないっと！
この IP 持ってる人、
私に返事して！
AC
いない！
違う〜
違うなぁ
これではどうにもならないですね。


# Page. 43

![Page Image](https://bcdn.docswell.com/page/KJ49XL2Q71.jpg)

そんな致命的な不具合も …
ARP ならソフトウェアの部分だから、
きっと iOS のアップデートで直る日が来るはず。
そう信じていたら、ついに２０１３年１月２９日
iOS 6.1 で解消されました！
たぶん、ですけど。


# Page. 44

![Page Image](https://bcdn.docswell.com/page/LE1KNLMLJG.jpg)

めでたし めでたし


# Page. 45

![Page Image](https://bcdn.docswell.com/page/GEWD4V3QJ2.jpg)

ところで
そもそも同じ LAN 内に居ない相⼿の
MAC アドレスはどうやって探すのでしょう。


# Page. 46

![Page Image](https://bcdn.docswell.com/page/47ZG24V3E3.jpg)

答え
探しません。
ディフォルトゲートウェイに丸投げします。


# Page. 47

![Page Image](https://bcdn.docswell.com/page/YJ6YV35Z7V.jpg)

ディフォルトゲートウェイとは
• IP ネットワークで、宛先が同⼀ネット
ワークではない場合の送信先
• ディフォルトゲートウェイが適切な宛先へ
転送してくれる
• 通常、ディフォルトゲートウェイは
複数の LAN が乗り⼊れるルーター
ネットワーク管理者があらかじめ用意してくれている


# Page. 48

![Page Image](https://bcdn.docswell.com/page/GJ5GDLY9J4.jpg)

こんなとき、ディフォルトゲートウェイ
この IP に送信したいな。
あ、でも同じネットワークじゃないや …
ARP で聞いても無駄だな。
ディフォルトゲートウェイさん、
転送お願い︕
この宛先の IP は、
ここのネットワークのアドレスだな。
承知した。
この IP 宛に
パケット来てるぞ！
では送る。
私宛てだ︕


# Page. 49

![Page Image](https://bcdn.docswell.com/page/LE3RML5275.jpg)

これが無数に集まって、インターネット
送信
OK!


# Page. 50

![Page Image](https://bcdn.docswell.com/page/8EDY6ND6EG.jpg)

ところで
そもそもどうやって、その宛先が
同じネットワークじゃないことを知るの︖


# Page. 51

![Page Image](https://bcdn.docswell.com/page/V7P6Y56ZJ8.jpg)

答え
サブネットマスク
を使います。


# Page. 52

![Page Image](https://bcdn.docswell.com/page/2JV3GP3MEQ.jpg)

サブネットマスクとは
• IP アドレスのクラスを決めるマスク値
• クラスによって、IP アドレスのうちの
どこまでがネットワークアドレスか決まる
• ネットワークアドレス部分が同じ場合、
その IP アドレスは同じネットワークに在る
ネットワーク管理者があらかじめ用意してくれている


# Page. 53

![Page Image](https://bcdn.docswell.com/page/5EG38P3X7L.jpg)

IP アドレスとは
例えば
192.168.100.129
• IP ネットワークで機器を特定するアドレス
• 8 ビットを 4 セットで表現する。
• ネットワーク部とホスト部で構成される。
• 今時は、どこがネットワーク部に当たるかは
サブネットマスクによって決まる。


# Page. 54

![Page Image](https://bcdn.docswell.com/page/4JQ592557P.jpg)

サブネットマスクとは
例えば
255.255.240.0
• IP アドレスのネットワーク部とホスト部の
境⽬を知るのに使うマスク値
• 32 ビットを通して、左から 1 が続き、ある
場所を境に、その右は全て 0 が続く。
• 1 に当たるところがネットワーク部。
0 に当たるところがホスト部。


# Page. 55

![Page Image](https://bcdn.docswell.com/page/K749XL9VE1.jpg)

サブネットマスクの値
サブネットマスクの値は
ネットワーク構築時に既に決まっています。
ネットワーク管理者があらかじめ各機器に設定する


# Page. 56

![Page Image](https://bcdn.docswell.com/page/LJ1KNLK47G.jpg)

サブネットマスクの
使い⽅を⾒て⾏きます。


# Page. 57

![Page Image](https://bcdn.docswell.com/page/GJWD4VDZ72.jpg)

IP アドレスとサブネットマスク
IP アドレス
192.168.100.129
サブネットマスク
255.255.240.0
この IP アドレスの
ネットワーク部とホスト部を計算してみます。


# Page. 58

![Page Image](https://bcdn.docswell.com/page/4EZG24GLJ3.jpg)

IP アドレスを２進数に直すと
IP アドレス 192.168.100.129 は …
1100 0000 1010 1000 0110 0100 1000 0001
サブネットマスク 255.255.240.0 は …
1111 1111 1111 1111 1111 0000 0000 0000
ここがネットワーク部
ネットワーク部は
ここがホスト部
（マスクビット 0 の部分を 0 で埋めて）
1100 0000 1010 1000 0110 0000 0000 0000
ホスト部は
（マスクビット 1 の部分を 0 で埋めて）
0000 0000 0000 0000 0000 0100 1000 0001


# Page. 59

![Page Image](https://bcdn.docswell.com/page/Y76YV3YMEV.jpg)

これを 10 進数に整えると
ネットワーク部は
1100 0000 1010 1000 0110 0000 0000 0000
192
.
168
.
96
.
0
これがネットワークアドレス
ホスト部は
0000 0000 0000 0000 0000 0100 1000 0001
1,153
これがネットワーク内でのホスト番号


# Page. 60

![Page Image](https://bcdn.docswell.com/page/G75GDLGQ74.jpg)

同⼀ネットワーク
同一ネットワークというのは …
ネットワーク部が同じ
IP アドレスのこと
⾃分の IP と、宛先の IP アドレスを、
⾃分のサブネットマスクを使って、
同⼀ネットワークにあるかを判断しています。


# Page. 61

![Page Image](https://bcdn.docswell.com/page/9J2Y8LYWJR.jpg)

サブネットマスクの表記
サブネットマスクには
いくつかの表記⽅法があります。
8 ビット毎の数値を記載する⽅法
192.168.100.129/255.255.240.0
ビットが 1 になっている個数を記載する⽅法
192.168.100.129/20


# Page. 62

![Page Image](https://bcdn.docswell.com/page/DEYG6QG9EM.jpg)

こんな事柄を組み合わせながら、
ネットワークは作られています。
まだまだ、
ネットワークの世界は広いですけど。


# Page. 63

![Page Image](https://bcdn.docswell.com/page/VJNGZKGD78.jpg)

今回の iPhone 5 の Wi-Fi がおかしい原因も
こんな知識を使って追いかけてました。
知っておくと、いつかどこかで
何かのときに役に⽴つかもしれません。


# Page. 64

![Page Image](https://bcdn.docswell.com/page/YE9WZVW8E3.jpg)

以上
ネットワークに関する
基本的な知識でした。


