【ネットワーク】お勉強6
【第12回】Datalink層 概要
Datalink層の機能:データの伝送制御
IEEEのLAN仕様ではレイヤ2を更に2つに分けている.
論理リンク制御副層(LLC)とメディアアクセス制御副層(MAC)
LLC副層では実際の危機に依存しない部分を取り決めている.
エラー制御(レイヤ4でも行うがここではビットのチェックなど)や上位サービスの指定など.
MACHINE副層ではメディアの接続を取り決める.
どのように共有メディアでデータを送信するかという点を決める.
これにはメディアアクセス制御などがある.
メディアアクセス制御とはどのように共有メディアにアクセスするかということ.
誰が送信を行うかを制御する.
MAC副層でどのように送るかを決定しLLC副層でどのように扱うかを決定する.
実際のLAN機器はレイヤ1とレイヤ2をまたがった機能を持ち合わせていることが多い.
「イーサネット」とはレイヤ2とレイヤ1にまたがる規格である.
イーサネットとIEEE802.3はほぼ同一,相互互換.
レイヤ2でのカプセル化
パケット→フレーム
レイヤ3から流れてきたパケットをレイヤ2のLLC副層でアドレス,エラー制御情報などのリンク制御用の情報が付け加えられる.
次にMAC副層でメディアアクセス用の制御情報を更に付加する.この状態のデータをフレームという.
3 Minutes Networking No.12
【ネットワーク】お勉強5
【第10回】Physical層リピータ・ハブ
大まかな説明:信号を増幅したり分配する役割
リピータは弱まったりノイズが入った信号を増幅や整形をして元の信号と同じ強さ,同じ形に直す役割をする.
信号を増幅するだけで制御はしない.
ハブは別名マルチポートリピータという.
多くのケーブルを差し込むことのできるリピータのこと.
来たデータをすべての機器に増幅して流す.
信号がぶつかってしまう(コリジョン)可能性のある範囲のことを衝突ドメインという.
ハブは信号を流すだけなのでこの衝突ドメインを広げてしまう.
衝突ドメインを狭くするにはスイッチやルータを用いる.
ハブ,リピータは時間のロスがあるので途中経由してよい数が決められている.
10BASE-Tなら4つ
【第11回】Physical層 ネットワークトポロジ
実際の危機とメディアの配置を物理トポロジという.
ノードとリンクを使って表現する.
ノードはコンピュータやネットワーキングデバイス,リンクはメディアと考える.
【ネットワーク】お勉強4
【第8回】Physical層,信号と回線について
信号には2種類ありデジタルとアナログである.
電話はアナログ信号でやり取りを行う.
信号は回線の種類に依存する.
一般電話回線を使用して通信する場合はMODEMを要する.
デジタル回線ではISDNが有名.
電気信号には障害が起こる.
減衰,ノイズ,衝突が主なもの.
減衰はケーブルの抵抗から信号が弱まること.
ノイズは電気信号の形が崩れてしまうことである.
衝突(コリジョン)は2つのデータが同時に流れた場合発生し信号がぶるカルト電圧が変になり元の信号と違う形になること.
【第9回】Physical層ネットワーキングメディア
ネットワーキングメディアの企画団体,IEEE,EIA/TIA,UL
3種類のケーブルがあり,同軸ケーブル,ツイストペアケーブル,光ファイバケーブル
- 同軸ケーブル
- 長所
- 鑑賞に強い
- 長距離まで信号が届く
- 短所
- 硬い
- 高価
- 長所
- ツイストペアケーブル
現在のLANケーブルの主流
-
- 長所
- 2本*4束の銅線が入っている,銅線から発生する磁場を互いに打ち消し合って消滅する働きを持つ(キャンセレーション)
- シールドがないので柔らかい
- 安価
- 短所
- 長距離まで信号が届かない.
- 長所
- 光ファイバケーブル
- 長所
- 一切の電磁的な干渉を受けない.
- 高速
- 短所
- 高価
- 長所
特徴 | 同軸 | UTP | 光ファイバ |
干渉 | 強い | キャンセレーションで防ぐが弱い | 光信号のため影響なし |
値段 | 中 | 安 | 高 |
敷設 | 難 | 易 | 難 |
速度 | 中 | 速 | 遅 |
コネクタ | BNCコネクタ | RJコネクタ | マルチモードコネクタ |
ネットワーキングメディアの規格
10BASESの頭の10はデータ転送量を表し1秒間に10Mbits運べるということ.
BASEはデータ伝送方式でベースバンド伝送のこと.信号を直接多重化しないで送る方式.
【ネットワーク】お勉強3
【ネットワーク】お勉強2
【第6回】OSI参照モデルのデータの流れ
送信元から宛先へ送るとき,運びたいものをデータ,それを入れたダンボール全体をデータユニットという.
送信処理(宛先を書いたり,ダンボールに入れたりする)の理由はデータを守ったり,運びたい場所を指定するため.つまり運びたいもの(データ)以外のものも必要.
OSI参照モデルでは上の層から順番に制御データをつけていく,最下層のレイヤ1までいくと電気信号化されて相手に送られる.
Transport層で制御データを付加し,これをセグメントという.
Network層でさらに制御データを付加しこれをパケットという.
Datalink層でさらに制御データをつけ,これをフレームという.
Physical層でビット列に変換し,電気信号に変換しケーブルに流す.
このように制御データをくっつけてデータグラムに仕上げることをカプセル化という.
データユニットはデータ,セグメント,パケット,フレームの総称.
受信側は受け取ったカプセルを剥がしていく.
【ネットワーク】お勉強1
【第3回】
- プロトコル ネットワークの約束事
- TCP/IP プロトコルの一種で最も有名
- 帯域幅 毛0ブルの性能規格を説明するときに使う言葉で本来の意味は使用できる周波数,最近はデータ転送速度を指す
- bps 一秒間に何ビット送れるかの単位
【第4回】
第7層 | Application Layer |
第6層 | Presentation Layer |
第5層 | Sessiion Layer |
第4層 | Transport Layer |
第3層 | Network Layer |
第2層 | Data-Link Layer |
第1層 | Physical Layer |
【第5回】
各レイヤでは機能が違い,独立している.
特定の機能を理解するためにはそのレイヤだけを考えればよい.
機能変更があってもそのレイヤ以外に影響が及ばない.
- Application Layer
ネットワークサービスを提供
ネットワークが可能かどうか判断する.
- Presentation Layer
データの形式を決定する.
- Session Layer
セッションを管理する.
会話(通信)の行き違いがないように会話の流れを管理する.
- Transport Layer
信頼性の高い通信サービスを保証する.
信頼性の高いとは相手に確実に届けるなど.
- Network Layer
離れた場所とのデータの伝送,運ぶルートの決定,宛先の決定などを行う.
- Datalink Layer
近くの機器とのデータの伝送制御を行う.
- Physical Layer
電気,機械的なルールを決める.
電気信号をやり取りする.
【環境設定】Ctrl + Spaceで日本語入力
「定義済みのキーマップからインポートで好きなものをインポート(任意)」と書いてあったがMS-IMEでないとうまくいかなかった.
また設定後新しいアプリケーションから設定が有効になるので注意.
d.hatena.ne.jp
【GIMP】画像サイズ変更
拡大縮小ツールを使う
画像をクリックして,したい画像のサイズを入力
synclogue-navi.com
【GIMP】トリミング
切り抜きツールを用いて画像から切り取りたい範囲を選択
Enterでトリミングされる
www.gimp2.net
【GIMP】背景透過
1.ファジー選択ツールで選びたい範囲を選択
2.Ctrl+Delで選択範囲を切り取る
synclogue-navi.com
【Python】ループ中の要素の削除
for element in LIST: if ---: LIST.remove(element) for i,enumerate in LIST: if ---: del LIST[i]
上でValueErrorが出たが下で書きなおしたら出なくなった.
全体の処理的には同じ位置を削除するようにしたつもりだけど何故だろう.
k-means法 準備
k-means法で理想的な結果が出せるようにデータを予めプロットしておく方法
# -*- coding: utf-8 -*- impo from sklearn.datasets import make_blobs import matplotlib.pyplot as plt X,y = make_blobs(n_samples=150, #サンプル点の総数 n_features=2, #特徴量の個数 centers=5, #クラスタの個数 cluster_std=0.5,#クラスタの標準偏差 shuffle=True, #サンプルをシャッフル random_state=0) #乱数生成器の状態を指定 plt.scatter(X[:,0],X[:,1],c='blue',marker='o',s=30) plt.grid() plt.show()
plt.scatter()の色指定はcolorはcでもイイらしい.
横軸にX[:,0],縦軸にX[:,1]をセット
X[:,0]はXの全ての要素の1つ目の要素という意味
plt.scatter(X[:,0],X[:,1],c='blue',marker='o',s=30)
Irisのデータプロット
# -*- coding: utf-8 -*- impo import pandas as pd import matplotlib.pyplot as plt import numpy as np #データの取得 df = pd.read_csv("https://archive.ics.uci.edu/ml/machine-learning-databases/iris/iris.data",header=None) df.tail() #1-100行目の目的変数の抽出 y = df.iloc[0:100,4].values #Iris-setosaを-1,Iris-virginicaを1に変換 y = np.where(y=="Iris-setosa",-1,1) #1-100行目の1,3列目の抽出 X = df.iloc[0:100,[0,2]].values #品種setosaのプロット(赤の○) plt.scatter(X[:50,0],X[:50,1],color='red',marker='o',label='setosa') #品種versicolorのプロット(青のx) plt.scatter(X[50:100,0],X[50:100,1],color='blue',marker='x',label='varsicolor') #軸のラベルの設定 plt.xlabel('sepal length [cm]') plt.ylabel('pepal length [cm]') #判例の設定 plt.legend(loc='upper left') #図の表示 plt.show()
ラベルの変換方法
名前(文字列)を数値に変換
y = np.where(y == 'Iris-setosa',-1,1)
1-100行目の1,3列目の抽出をする.
X = df.iloc[0:100,[0,2]].values
1-50行目の1つ目の要素をX軸に2つ目の要素をY軸とし青xをプロット
plt.scatter(X[:50,0],X[:50,1],color='blue',marker='x',label='varsicolor')
Tweepy
#!/usr/bin/env python # -*- coding:utf-8 -*- import tweepy CONSUMER_KEY = '-----------------------' # Consumer Key CONSUMER_SECRET = '-----------------------' # Consumer Secret auth = tweepy.OAuthHandler(CONSUMER_KEY, CONSUMER_SECRET) ACCESS_TOKEN = '-----------------------' # Access Token ACCESS_SECRET = '-----------------------' # Accesss Token Secert auth.set_access_token(ACCESS_TOKEN, ACCESS_SECRET) #APIインスタンスを作成 api = tweepy.API(auth) # これだけで、Twitter APIをPythonから操作するための準備は完了。 print('Done!') #タイムライン上の最新ツイートを参照する print api.home_timeline()[0].text #自分のアカウントでつぶやく api.update_status(status='test from Tweepy') #ツイート検索 #エラー出た search_result = api.search(q='もふもふ') for result in search_result: print result.text