スマートフォンなどで、データ通信を行うときには、基本的に「アクセスポイント名」(Access Point Name。以下APNと略す)を設定する必要があります。このアクセスポイント名とはなんなのでしょうか? また、アンドロイドのアクセスポイントの設定には、いろいろと設定項目がありますが、これらはなんなのでしょうか?

APNとは、もともと、EU圏で利用されていたGSMのパケット通信技術GPRSで、「ゲートウェイ」を指定するために作られたものです。現在国内で使われているW-CDMA(UMTS)では、IMT-2000で国際規格化するときにEU圏と提携し、無線部分をNTTドコモが開発していたW-CDMAとして、ネットワーク部分をGSMのものとすることで合意しました。このため、W-CDMAにAPNが導入されることになったのです。このため、3Gでインターネット接続を行う場合に接続先としてAPNを使ってゲートウェイを指定するわけです。

ゲートウェイとは、TCP/IPなどのコンピュータ系のネットワーク技術では、ルーターと同義の言葉で、2つのネットワークを接続する機器やネットワークノードのことをいいます。たとえば、一般家庭のインターネット接続では、ブロードバンドルーターがこの「ゲートウェイ」に相当します。GPRSのゲートウェイは、インターネット接続や事業者の携帯電話ネットワーク内のさまざまなサブネット、サービスに接続するために利用されています。たとえば、事業者と契約を結んで企業などのネットワークを直接接続するような場合にもAPNで接続先を指定します。

APNは、GSMでは、GPRSやEDGEなどのデータ通信のゲートウェイを指定するだけでなく、MMS(Multi-media Message System。SMSの上位機能として作られた画像などを入れることが可能な電子メール機能。国内ではソフトバンクモバイルのみが事業者メールの方式として採用)のサーバーを指定する場合にも利用されます。

APNは、事業者や契約などによっても違うことがあります。もちろん、簡易には、インターネット接続ですべて同じAPNを使うという事業者もあります。ただ、APNは、同一事業者、同一契約でも違うものを使う可能性があることから、自動的に設定されるようにはなっておらず、指定されたAPNを設定して使うことになっています。

なお、APNは、データ通信の「電話番号」ではありません。パケット通信なので、回線交換のデータ通信のように電話番号を指定して「発信」することはなく、端末が規格で定められた手順でデータ通信を開始し、その上で、インターネット接続などのサービスを使う場合のパケットの送り先としてAPNを使います。

ただし、これを制御するコンピュータ側と携帯電話の標準的なインタフェースには、従来からの習慣でATコマンドが用いられるため、便宜的にTCP/IPによる通信の開始と宛先APNの指定を電話番号のように扱ってダイヤルコマンド(ATD)で通信を開始させるというやり方が使われます。スマートフォンは、モバイル通信機能が組み込みのため、このあたりは、内部的に行われますが、パソコンと携帯電話を接続した場合、従来の「ダイヤルアップ」の仕組みを使うときにATコマンドが使われます。なお、W-CDMAの端末が持つ標準のATコマンドも規格で定められています。

また、Windows 7以降は、携帯電話との接続にネットワークデバイスと同じ制御方法が利用できる「モバイルブロードバンド」機能があります。このため、適切なデバイスドライバ(ネットワークと同じNDIS方式。NDISは、マイクロソフトが定めたネットワークデバイス用のデバイスドライバの仕様)を使うと、無線LANのように通信を開始する前から電波状態などを取得し、アンテナマークなどを表示させることが可能になります。

APNを設定する

APNは事業者ごとに違うため、アンドロイドでは、SIMからの情報を使って、事業者ごとにAPNを管理しています。このため、違う事業者のSIMを入れると、前の事業者で設定したAPNは見ることも編集することもできなくなります。また、最近のアンドロイドでは、SIMを入れるといくつかのAPNが最初から登録された状態になりますが、これは、アンドロイドが内部的に持っている情報を使ってAPNが登録されるため、必ずしも正しいAPNが登録されているとは限りません。

事業者扱いの端末では、事業者の指定するAPNが最初から登録されていることが普通です。本来は、ユーザーが設定するものではなく、事業者が正しい設定を行ってユーザーに販売するのが普通ですが、SIMフリー端末など、必ずしも事業者の手を経ない端末もあるため、スマートフォンではユーザーが簡単に設定できるようになっているのが普通です。いわゆる普通の携帯電話では、そもそもAPNの設定が出来ないようになっているものもあれば、メーカーによっては、SIMを入れるとSMSなどで設定が送信されてくるスマートフォンもあります。

アンドロイドを含め、スマートフォンでは複数のAPNが設定できるようになっています。これは、インターネット接続以外に、MMSや他のサービス用のAPNを設定することが必要だからです。このため、APNは登録したのち、インターネット接続に利用するものを指定するなどの機能があるのが普通です。アンドロイドの場合、最近のバージョンでは、1つのAPNでインターネット接続とMMS接続を指定するようになっていて、インターネット接続は、登録したAPNのうち、選択状態にあるAPNを使って行うようになっています。

アンドロイドのAPN

では、次にアンドロイドのAPN設定を見ていくことにしましょう。まずは「名前」ですが、これは、APNを区別するための表示用の名前なので、どういう名前でもかまいません。しかし、APNが区別できないと困るので、サービス名やAPNをそのまま書くことが多いようです。

「APN」は、実際に使われるアクセスポイント名です。APNは、DNSと同じ仕組みを使ってアドレスに変換されるため、基本的には、アルファベットとピリオドの組み合わせになります。規格上は、使ってはいけない単語などがあるのですが、事業者の指定なので、指定されたものをそのまま登録します。なお、アンドロイドでは、「名前」と「APN」だけが必須項目で、あとの項目は設定しなくてもかまいません。

アンドロイドのアクセスポイント設定のページ(1)。「名前」と「APN」だけは最低限設定する必要がある

「プロキシ」と「ポート」は、指定があれば、登録しますが、最近はほとんど使われることがありません。これは、いわゆるHTTP用のプロキシサーバーとそのポートの指定です。Webアクセスを監視、制限するような場合に指定されます。またプロキシは、DNS名のほかIPアドレスを直接指定することもできます。アンドロイドでは、ユーザー認証を行うプロキシサーバーは利用できなません。後述の「ユーザー名」、「パスワード」はゲートウェイとの接続に使われ、プロキシサーバーの認証では使われません。

「ユーザー名」と「パスワード」は、ゲートウェイとの接続にPPPを使う場合に指定されます。事業者によってはPPPを使わずに接続を行うため、指定しない場合もあります。

「サーバー」は、GSMで使われた「WAP」サーバーの指定です。WAPは、携帯電話用に改良されたWeb技術で、HTMLに似た記述でページを作り、HTTPのようなやり方でアクセスします。数文字程度の表示しかできない携帯電話でWebページのようなものを表示するための技術で、スマートフォンではまず使う必要はありません。

「MMSC」、「MMSプロキシ」、「MMSポート」、「MMSプロトコル」は、MMS用の設定です。これも最近ではあまり使われません。というのは、アンドロイドでは、標準のメールサービスは「Gメール」か、IMAP/POP/SENDMAILを使う「メール」アプリだからです。いわゆる普通の携帯電話では、MMSを使うことが多いのですが、スマートフォンでは、インターネットの電子メールサービスが標準的であるため、これらを設定する必要はあまりありません。事業者が提供するメールサービスを使う場合には、設定する場合があります。

「MCC」(Mobile Country Code)と「MNC」(Mobile Network Code)は自動で設定されるため、基本的には手動で設定する必要はありません。それぞれ携帯電話事業者の所属国やモバイルネットワークを区別するための数字で、事業者に対して割り当てが行われるもので、アンドロイドでは、SIMから事業者を判断して初期値を設定しています。本来はAPNの情報ではありませんが、APNを使ったネットワークアクセスに必要になることがあります。海外だと、事業者の買収などにより、同一の事業者でも地域や契約によって、複数のMNCを持つ事業者があり、これらの指定が違っている場合があるため、設定可能な項目になっています。

アンドロイドのアクセスポイント設定のページ(2)。「MCC」は、事業者の所属国(440は日本)を示す。「MNC」は事業者のネットワークを区別する数字でMCC別に割り当てが行われ、MCC=440の場合10はNTTドコモを示す

「認証タイプ」は、PPP接続を行う場合にユーザー認証をどのプロトコルで行うかを指定するものです。自宅のブロードバンドルーターなどを設定したことがあるユーザーには見覚えのあるものかもしれせん。パスワードを暗号化しないPAP(Password Authentication Protocol)と暗号化により保護するCHAP(Challenge Handshake Authentication Protocol)の片方または両方を指定するものですが、最近ではユーザー名やパスワードが契約者で共通となっていて、「公知」の情報であるため、暗号化はあまり関係なく、どれでも大丈夫(未指定でもかまわない)という場合が少なくありません。ただし、事業者の設定文書などで指定することになっている場合には必ず指定します。このような場合には、前述のユーザー名やパスワードが指定されているはずです。

「APNタイプ」は、APNに対して行う通信のタイプを指定するものですが、ここも指定されることはほとんどありません。また、指定は、文字列ですが、カンマで区切って複数の指定を並べることも可能です。たとえば、MMSで使う場合には「mms」などと指定します。なお、「*」ですべてのタイプを指定したり、「default」でデフォルト値とするような指定も可能なのですが、特に事業者側からの指定がなければ、設定項目は開かないで「未指定」のままにしておきます。

「APNプロトコル」、「APNローミングプロトコル」は、「IPv4」が指定されているはずです。ここも指定がなければそのままです。これは、通信をIPv4で行うか、IPv6とするか、あるいは両方が可能なのかを指定します。この部分は、最近になって追加されたものなので、将来的には指定する必要が出てくるかもしれません。

「ベアラー」は、cdmaOneやcdma2000とLTEを併用する事業者では指定する場合もあるのですが、基本的には、未指定のままでOKです。ベアラーとは、プロトコルを考慮しない通信をいい、データ通信はベアラーサービスの1種になります。ここでは、ベアラー方式としてLTEとeHRPD(Evolved High Rate Packet Data)または、未指定のどちらかを選択します。

最後の「MVNOの種類」は、他社のネットワークを使ってビジネスを行うMVNO(Mobile Virtual Network Oprator)を区別する方法を指定するものです。MVNOの場合、原則利用しているモバイルネットワークを持つ事業者のMCCやMNCがつかわれます。この項目は、同じモバイルネットワーク内で事業者自身と個々のMVNOを区別するための項目のようですが、国内では、これを使うところはないようです。将来的には、MVNOを区別してネットワーク名を変えるなどの使い方がされるかもしれません。設定は未指定のままでOKです。

アンドロイドのアクセスポイント設定のページ(3)。設定が終わったら画面右上のメニューから「保存」を選択しないと、設定が登録されない。「もどる」で設定が有効となる他の設定項目とは、やり方が違うので注意

本連載は、2014年9月16日にAndorid情報のWeb専門誌「AndroWire」に掲載した記事を再構成したものです。