Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
プログラミングじゃない技術講座 その3
Search
stonriver
November 06, 2017
0
180
プログラミングじゃない技術講座 その3
stonriver
November 06, 2017
Tweet
Share
More Decks by stonriver
See All by stonriver
中規模イベントに急造で変なネットワークを構築する
strvworks
1
750
並行処理入門 -Goで遊ぶ-
strvworks
0
220
ターミナル雑記
strvworks
2
1.2k
お手軽金盾体験
strvworks
1
690
Kosen_LT_ONLINEのおしらせ
strvworks
0
72
Minecraft概論
strvworks
0
300
日本列島の移動速度に関する考察
strvworks
1
120
PythonにおけるGUIフレームワークのはなし
strvworks
0
310
快適な読書環境のご提案
strvworks
0
110
Featured
See All Featured
StorybookのUI Testing Handbookを読んだ
zakiyama
27
5.3k
Building a Modern Day E-commerce SEO Strategy
aleyda
38
7k
Building a Scalable Design System with Sketch
lauravandoore
460
33k
Mobile First: as difficult as doing things right
swwweet
222
9k
Why Our Code Smells
bkeepers
PRO
335
57k
Build your cross-platform service in a week with App Engine
jlugia
229
18k
YesSQL, Process and Tooling at Scale
rocio
169
14k
Docker and Python
trallard
42
3.1k
How to train your dragon (web standard)
notwaldorf
88
5.7k
GitHub's CSS Performance
jonrohan
1030
460k
Thoughts on Productivity
jonyablonski
67
4.4k
How to Think Like a Performance Engineer
csswizardry
22
1.2k
Transcript
プログラミングじゃない 技術講座 その3
前回と今回
ー実習室環境ー 済 済 1.仮想マシン作成 2.OSインストール 3.サーバー準備 4.各種ソフトセットアップ 5.接続
サーバーとは?
サーバーは、サー ビスを提供する コンピュータで す。 〜サーバーとは〜
〜サーバーとは〜 クライアント サーバー リクエスト(要求) レスポンス(応答)
具体例
HTTPサーバー
〜HTTP/HTTPSサーバー〜 HTTP/HTTPSサーバーは、クラ イアントであるブラウザのリ クエストを受けて、Webペー ジの標示情報を提供するサー バー。 例を示します。
〜HTTP/HTTPSサーバー〜 ブラウザを起動するとGoogleの検索 ページが表示された。 ↓実際の動き↓ 起動されたブラウザがクライアントとし てGoogleのサーバーに検索トップページ の情報をリクエストし、Googleのサー バーが適切な情報を提供、提供された情 報を表示した。
〜HTTP/HTTPSサーバー〜 検索ボックスにワードを入力して検索ボ タンを押した。検索結果が出た。 ↓実際の動き↓ ブラウザが、表示している検索ボタンを 押されたのに反応して、検索ボックスに 入力されている文字をGoogleのサーバー に送信した。それをGoogleのサーバーが 処理し、検索結果のページ情報を提供。 表示された。
FTPサーバ
〜FTPサーバー〜 FTPサーバーは、クライアン トソフトのリクエストを受け て、サーバー内にあるディレ クトリ情報を提供するサー バー。
〜FTPサーバー〜 次に示すのはクライアント をGoogleChromeとしてFTP サーバーに接続した例
linuxの ディストロ のファイル を置いてい るファイル サーバーの 表示画面
ほかにも
〜いろんなサーバ〜 ・SSHサーバー (シェル) ・Telenetサーバ (シェル) ・POP3サーバー (メール) ・APOPサーバー (メール) etc...
通信について
〜通信について〜 いくつかサーバーを紹介して きましたが、そのサーバーか ら提供されるサービスを利用 するためにクライアントとど うやって通信しているのか表 面で理解しましょう。 情報処理技術者試験に出るよ
IPアドレス
〜通信について〜 IPアドレスとは、インター ネット空間において接続して いるコンピュータに割り振ら れている識別番号のこと。 要するに住所のようなもの。
〜通信について〜 IPアドレスには主に、IPv4アドレ スとIPv6アドレスの2種類が存在 します。(理由は口頭) Ipv4 xxx.xxx.xxx.xxx Ipv6 xxxx:xxxx:xxxx:xxxx: xxxx:xxxx:xxxx:xxxx (23bit
10進数表記) (128bit 16進数表記) ↓2の96乗倍種!!
〜通信について〜 006.987.65.56 123.456.789.000 指定アドレスへ通信 指定アドレスへ通信 ※現実では一般的でないアドレスです
〜通信について〜 これで相手の住所がわかるか ら各種サーバーはクライアン トと通信できる!! >わけでもない<
〜通信について〜 サーバーサイド クライアントサイド HTTP SSH FTP POP3 HTTP SSH FTP
POP3 006.987.65.56 123.456.789.000 通信 アドレスだけ書いた通信が来ても、 アドレスだけ書いた通信が来ても、 誰が誰に宛てた通信かわからない 誰が誰に宛てた通信かわからない
例えるならば
〜通信について〜 沢山の部屋があるマンションに部屋番号を指定 せず手紙を送りつけるようなもの
暴挙
これを避けるためにマン ションには何があるか?
集団郵便受け 部屋番号 部屋番号
部屋番号が サーバー・クライアント にも存在します
ポート番号
〜通信について〜 HTTP HTTP HTTPS HTTPS FTP FTP SSH SSH POP3
POP3 SMTP SMTP 80 443 20/2122 110 587 各サーバー 各サーバー( (通信プロトコル 通信プロトコル) )が、決め が、決め られたポート番号をアドレスとセット られたポート番号をアドレスとセット で通信に用いる で通信に用いる
〜通信について〜 ポートとアドレスをセットで 表記する時の記法(の1例) 123.456.789.000:22 123.456.789.000/22 アドレス部 ポート部
〜通信について〜 サーバーサイド クライアントサイド HTTP SSH FTP POP3 HTTP SSH FTP
POP3 006.987.65.56 123.456.789.000 通信 ポート番号によって、指定したアドレスのコ ポート番号によって、指定したアドレスのコ ンピュータの何と通信するかわかる ンピュータの何と通信するかわかる 80 80 22 22 110 110 20/21 20/21
〜通信について〜 サーバーとクライアントとの 通信にIPアドレスとポートと いうものが使われていること を理解できたでしょうか。
〜通信について〜 サーバーとクライアントと の通信にIPアドレスとポー トというものが使われてい ることを理解できたでしょ うか。
〜通信について〜 原理と言いますか、存在自体 は理解していただけたと思い ますが、実際に使ってみない と感覚的にわかりにくいと思 います。
〜通信について〜 ということで、前回作成し た仮想環境にSSHサーバー を構築して、自分のPCから 接続できるようにしてみま しょう。
作業!!
〜作業〜 それでは早速、前回作 成した仮想環境を起動 してみてください。
〜作業〜 大体の人がFedoraを選択し ていたと思います。Fedora の場合、ターミナルウィン ドウを起動するショート カットが無効になっている ので、有効にしましょう。
〜作業〜 SSHサーバーの場合、OpenSSH というソフトをインストール することで、クライアントと サーバー両方の機能を果たし てくれます。
〜作業〜 Fedoraには初めから OpenSSHがインストールさ れているのですが、ここは 練習も兼ねて一度アンイン ストールしてしまいましょ う!
〜作業〜 yumコマンド: Fedoraのパッケージマネージャ、 パッケージ名を指定するだけでソフ トウェアの管理が行える。一般ユー ザーの場合管理者権限が必要となる ので、sudoコマンドと併用すること となる。
〜作業〜 まず、OpenSSHをアンインストール。 $yum remove openssh 次に、OpenSSHをインストール。 $yum install openssh
〜重要な戯言〜 (Linuxには、AのソフトはBの ソフトを利用すると言った、 依存関係がよく存在し、パッ ケージマネージャを使って1 つのソフトをアンインストー ルすると大量のソフトが消え ることがあります。)
〜重要な戯言〜 (OpenSSHを消したことで大量 のソフトウェアが道連れに なっていったと思いますが、 今後そのソフトが必要になっ たときは自分で調べてインス トールできるようになってく ださい。)
〜作業〜 SSHサーバーを起動する。 $systemctl start sshd 自動起動設定する。 $systemctl enable sshd
つづく