C# と VB.NET の質問掲示板

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト

Ethernet通信のサーバーとクライアントの区別

[トピック内 9 記事 (1 - 9 表示)]  << 0 >>

■83151 / inTopicNo.1)  Ethernet通信のサーバーとクライアントの区別
  
□投稿者/ 橋本 (1回)-(2017/03/08(Wed) 16:47:44)

分類:[.NET 全般] 

EthernetカメラとPCの間Ethernet通信でコマンドとデータのやり取りを行います。
ところが、Ethernet通信の場合、サーバーとクライアントの概念があって、
どっちがクライアントで、どっちがサーバーであるのはどうやって判定するのでしょうか。
そのそも双方向通信を行うもんで、
クライアントとかサーバーというのを区別する意味があるのでしょうか。

引用返信 編集キー/
■83155 / inTopicNo.2)  Re[1]: Ethernet通信のサーバーとクライアントの区別
□投稿者/ shu (973回)-(2017/03/08(Wed) 20:57:17)
No83151 (橋本 さん) に返信

データの流れがわかっていればサーバーとかクライアントとか
意識する必要はないかと思います。
ただ通信を行うのにどちらかが待ち、もう片方がその待ちに対し
繋ぎにいくという動作がないと通信の同期がとりづらいのは確かです。
引用返信 編集キー/
■83157 / inTopicNo.3)  Re[2]: Ethernet通信のサーバーとクライアントの区別
□投稿者/ 774RR (480回)-(2017/03/09(Thu) 08:42:24)
接続が完了してしまえばサーバとかクライアントとか関係ないので
大きく違うのは接続の際の挙動と考えてよい。ってことで実用上の区別としては

サーバ:誰かが接続してくるのを消極的に待つ側、インバウンドコネクション側
クライアント:積極的に接続しに行く側、アウトバウンドコネクション側

パソコン側の事情を言うと、ほぼ 100% のパソコンにはウイルス対策ソフトとかセキュリティソフトが
インストールされていて、インバウンドコネクションを禁じているわけだ。
パソコン側をサーバにしようとするとセキュリティソフト(ファイアウォール)の設定変更が必要。
それを嫌って、パソコンはクライアント側、カメラはサーバ側にするのが普通だろう。

Ether 使うって事は、そもそも接続の前に IP アドレスをどうするかとかの話も発生するけど
その辺は大丈夫だろうか?もし家庭用ルータの DHCP を使うのであれば、
パソコンは DHCP クライアント、カメラも DHCP クライアント、家庭用ルータが DHCP サーバ
ってことで

ひとつの機器が、あるプロトコル上はサーバになるし、別プロトコル上はクライアントになる
なんてのはよくある話。

引用返信 編集キー/
■83165 / inTopicNo.4)  Re[3]: Ethernet通信のサーバーとクライアントの区別
□投稿者/ 橋本 (2回)-(2017/03/09(Thu) 13:00:49)
丁寧で分かり易くご説明いただき本当にありがとうございます。

(774RR さん)が書かれました:

> Ether 使うって事は、そもそも接続の前に IP アドレスをどうするかとかの話も発生するけど
> その辺は大丈夫だろうか?

さすが、そうですね。カメラのIPアドレスについてどう決めば良いのでしょうか。

またどうぞ宜しくお願いします
引用返信 編集キー/
■83171 / inTopicNo.5)  Re[4]: Ethernet通信のサーバーとクライアントの区別
□投稿者/ 774RR (481回)-(2017/03/09(Thu) 14:02:55)
IP アドレスの決め方は運用する現場次第というか、セキュリティポリシー次第というか。

・プライベート IPv4 をイントラネット(家庭内LANや部署内LAN)のみで使う
・グローバル IPv4 をカメラにも振ってインターネット直結する
・ IPv6 アドレスを EUI-64 で自動生成する

では決め方が違う。

そのカメラを今から設計・実装するの? それとも既存のカメラ買ってきて使うの?
前者なら好きにすればよいし、
後者ならそのカメラの機能でできる方法で IP アドレスを決めるしかない。

組み込み機器ではあまり高度なことをしたくないので、この手の IP アドレスを決める方法は
・静的 IPv4 アドレスを機器自体に設定する
・ DHCP サーバが LAN 内にいる前提で DHCP にて決める
・ DHCP に失敗したら APIPA で LINKLOCAL アドレスを決める
くらいのことを実装しているのが一般的だろう。
(オイラの持ってる USB アナライザは上記機能を持ってる。 PPPoE は無かった)

DHCP に成功しても DNS / DDNS 相当の機能がどこかにないと運用上めんどくさいと思う。
静的ローカル IP アドレス決めうちが楽だけど、発展性は無いよね。

引用返信 編集キー/
■83174 / inTopicNo.6)  Re[5]: Ethernet通信のサーバーとクライアントの区別
□投稿者/ 橋本 (3回)-(2017/03/09(Thu) 15:22:25)
774RR 様
お世話になっております

> グローバル IPv4 をカメラにも振ってインターネット直結する

初めてIPをいじるため、幼稚な質問かもしれませんが、
グローバル IPといえば全世界唯一無二的なIDですね、どうやって自分が決められるのでしょうか。

また宜しくお願いします


引用返信 編集キー/
■83175 / inTopicNo.7)  Re[6]: Ethernet通信のサーバーとクライアントの区別
□投稿者/ 魔界の仮面弁士 (1175回)-(2017/03/09(Thu) 15:31:06)
2017/03/09(Thu) 15:32:55 編集(投稿者)

No83174 (橋本 さん) に返信
> グローバル IPといえば全世界唯一無二的なIDですね、どうやって自分が決められるのでしょうか。

新規の取得はできないので、プロバイダ等から
既存の割り当て分を固定的に借用することになります。
都度変化しても良いのならダイナミック DNS という手も。


【固定IPが使えるプロバイダ比較】
http://koteiip.2-d.jp/


【固定IPアドレスをサービス提供している主要各社(OCN等のプロバイダ)を比較してみた】
http://viral-community.com/other-it/static-ip-address-2196/
引用返信 編集キー/
■83176 / inTopicNo.8)  Re[7]: Ethernet通信のサーバーとクライアントの区別
□投稿者/ 774RR (483回)-(2017/03/09(Thu) 15:58:42)
既にコメントあるけど

global IP アドレスが欲しいのなら ISP (Internet Service Provider) から借りるのが普通。
光とか ADSL とかの個人用インターネット接続契約だと PPPoE という手順で ISP の認証を通して、
毎回ランダムな値を借り受けることになる。

クライアント側はランダムな IP アドレスを借りてきても困らないんだけど
サーバ側はそれでは困っちゃう。クライアントが接続したい先が毎回変わっちゃうから。

今回、もしカメラに gIP アドレスを振ってサーバにし、PCから接続する、ってことだと
・固定 IP アドレス契約を結んで DNS (名前から IP アドレスに変換するサービス) に登録するとか
・可変 IP アドレス契約を結んで DDNS (変化する IP アドレスを DNS に登録するサービス) を使うとか
その辺の事柄を理解しておかないといけないよ。

とりあえず LAN 内部にて静的プライベートアドレスを振って使うあたりから始めると良いんぢゃないかな。

引用返信 編集キー/
■83184 / inTopicNo.9)  Re[8]: Ethernet通信のサーバーとクライアントの区別
□投稿者/ 橋本 (4回)-(2017/03/10(Fri) 13:15:25)
774RR 様
素晴らしいご教授有難うございました!

すっきりしたような感じです。



解決済み
引用返信 編集キー/

このトピックをツリーで一括表示


トピック内ページ移動 / << 0 >>

このトピックに書きこむ