arashi1977さんの助け合いフォーラム投稿一覧
insertはdepartment_id = 1でないとエラーになるようですが、updataは条件以外のレコードでもよいということなのでしょうか
問題のVIEWのポイントって
SELECT department_id, employee_id, employee_name, salary
FROM employees
WHERE salary > 250000 AND salary < 800000
AND department_id = 1
ですよね。要件としては
- 部署ID(
department_id
)が1 - 給与(
salary
)が250000から800000の間
です。
当たり前ですが、INSERTする時には「この条件に当てはまる行の挿入」となるので、どちらも満たさないと絶対エラーになりますよね。ですがUPDATEは「この条件に当てはまるものを指定した内容に更新」するよう指示しているだけです。改めて後者(UPDATEの方ですよね?)をみると
UPDATE v_emp SET salary = 500000 WHERE department_id = 3;
となっており、「部署IDが3の行のsalaryを一律500000にせよ」という指示なので、部署IDが3のものを見つけて更新しようとしますがVIEWの定義により部署ID:3のレコードはヒットしない(VIEWのWHERE句に含まれない)ので「対象レコードが見つからず更新できない=実行した結果0件更新できたよ」となるだけでエラーにはならないというだけのことです。
INSERT時は範囲外の値をセットすると「範囲外の値は入力できない(エラー)」となりますが、UPDATE時は更新指示自体がエラーになるのではなく「処理を実行した結果0件でした」となるのだよ、という違いですね。
そもそもRouterDをBGPピアに指定する条件
この条件がなくてもこの問題は成立すると思うのですが、何を疑問に思われているのかもう少し補足いただくことは可能でしょうか?
Cisco 機器にはControl Plane Policing(CoPP) という機能があり、
コントロールプレーンでポリシングを行うことが行うことができることを知りました。
ポリシングはQoS の一種だと思いますので、QoS も正解になる可能性があるでは、と思われましたが、いかがでしょうか。
ポリシングはQoSの一種だという点は納得できるのですが、CoPPがQoSだというのはなんかピンと来ないんですよね。おそらくQoS(Quality of Service)のServiceをどう捉えるかという点なのかなとは思っています。
↑で提示したドキュメントでも
CoPP 機能は、不要なトラフィックおよび Denial of Service(DoS)攻撃から CPU を保護することでデバイスのセキュリティを向上させます。
と記載があるようにCoPPは「セキュリティ(コントロールプレーン機能の保護)」の目的のものなんですよね。
では「コントロールプレーンの機能」といったときに「セキュリティ」目的の機能が「QoS」として分類できるものなのか?って言われると、私はなんか違うかなぁと感じてます ^^;
はて?解説には
音声パケットには一般的に以下の値でマーキングを行います。
CoS:5
IPP:5
DSCP:46
とあるので、DCSP:46が正解で間違いないと思うのですが…
#0-63までの「64段階でマーキング」ができることと、音声パケットに「46という値」でマーキングすることは別の話ですよ。
2022年8月15日で配信終了となっているので、もう受験できないはずですね。
https://blogs.oracle.com/oraclemaster/post/om-12c-announce
この設問でACLがvtyに適用されていないというのは、in/outの記載がないからでしょうか。
これは解説の以下の部分のことですかね?
・ACLはどこにも適用されていない
in/outの記載というか、そもそもaccess-class
の設定がないですよね。
Router#conf t
Enter configuration commands, one per line. End with CNTL/Z.
Router(config)#line vty 0 4
Router(config-line)#?
Line configuration commands:
absolute-timeout Set absolute timeout for line disconnection
access-class Filter connections based on an IP access list
activation-character Define the activation character
(略)
Router(config-line)#access-class ?
<1-199> IP access list
<1300-2699> IP expanded access list
WORD Access-list name
Router(config-line)#access-class 1 ?
in Filter incoming connections
out Filter outgoing connections
アクセスコントロールのリストだけが登録されているだけ、という意味でよろしいでしょうか?
そうですね。
- アクセスコントロールリスト(ACL)を「作成」
- 作成されたACLをインターフェース、VTYなど必要な場所に「適用」
という使い方なので、ACLが設定にあるからといってそのACLの通りの動作をするかどうかはどこに適用されているか(そもそも適用されているかどうか)によります。
DHCP snoopingを有効化すると自動でオプション82も付加されますが、デメリットしか感じられません。
もう少しここを明確にしてもらえませんか?
こういう機能を実装する場合は「メリットがある」もしくは「それがないと実現できない」からそうなっているはずなのですが、それはおいておくとしても「デメリット」が具体的に何を意味しているのかわからないのでコメントもできないのです…
こちらのlogの計算は常用対数表なしで可能なのでしょうか。
うーん、できるかなぁと思って考えてみましたが厳しいですね。せめて log10(2) = 0.3
とかあれば計算可能なのですが。
ただ、 0.25 = 1/4
ではあるので、そこから
log10(0.25) = log10(1/4)
= -log10(4)
= -log10(2^2)
= -2log10(2)
= -2 * 0.3
= -0.6
まで持ってきて、10倍してdBmを求める、ならなんとかなるのかなぁ…
それ以外だと、変換表の「1mWで3dBm」を覚えておいて電力側を掛ける(2倍なら3dBmずつ増加)か割る(1/2するたびに3dBmずつ減少)で対応するぐらい?
作成したSVIはスイッチ内部にあるものですが、ではスイッチに接続したPCはどうやってルーティング対象として扱ってもらえば良いのでしょうか?と言う点かと思います。
SVI同士の通信ならL3スイッチ内で完結するので良いですが。
設問では
サーバ上で以下のコマンドを使用して公開鍵認証用の鍵ペアを作成した。
とあるので、「サーバに公開鍵と秘密鍵のペアがある状態」であり、「クライアント(サーバに接続する側)には対応する公開鍵も秘密鍵も "無い"」んですよね。そうすると、公開鍵認証したくてもクライアントの情報をサーバ側は知りませんし、クライアントはサーバに接続するための秘密鍵を持っていないので認証してもらえないんですよね。
なので「サーバで作ったペアのうち、秘密鍵をクライアントに持っていく」必要があるんですね。
file1の方がfile2より更新日時が古いと思うのですがそう思いました。
えっと、設問の出力からすると
Jan 11 23:52 /home/file1
Jan 11 19:21 /home/file2
と、file1の方が約4時間半「後」に作成されているので、新しいはずなのですが…
ある書籍には0126と記載されていました。
「ある書籍」の話についてはその書籍の発行元に聞いてもらうしかないとして。
正しくは0~126がクラスAの範囲でお間違いないのでしょうか?
クラスの定義はRFC 791のSection 3.2に記載があります。
Address Formats:
High Order Bits Format Class
--------------- ------------------------------- -----
0 7 bits of net, 24 bits of host a
そして、127.0.0.0/8についてはRFC 1122のSection 3.2.1.3に記載があります。
3.2.1.3 Addressing: RFC-791 Section 3.2
There are now five classes of IP addresses: Class A through
Class E. Class D addresses are used for IP multicasting
[IP:4], while Class E addresses are reserved for
experimental use.
(略)
We now summarize the important special cases for Class A, B,
and C IP addresses, using the following notation for an IP
address:
(略)
(g) { 127, <any> }
Internal host loopback address. Addresses of this form
MUST NOT appear outside a host.
似た記述としてRFC 6890 Section 2.2.2がありますね。
+----------------------+----------------------------+
| Attribute | Value |
+----------------------+----------------------------+
| Address Block | 127.0.0.0/8 |
| Name | Loopback |
| RFC | [RFC1122], Section 3.2.1.3 |
| Allocation Date | September 1981 |
| Termination Date | N/A |
| Source | False [1] |
| Destination | False [1] |
| Forwardable | False [1] |
| Global | False [1] |
| Reserved-by-Protocol | True |
+----------------------+----------------------------+
[1] Several protocols have been granted exceptions to this
rule. For examples, see [RFC4379] and [RFC5884].
Table 4: Loopback
ざっくりまとめてしまうと「クラスAの最後の8bit分(先頭が10進数で127)となるアドレス範囲はホスト内部のループバックアドレスとして使用する」と規定されているだけで「クラスAに属さない」とはなっていません。(逆に127.0.0.0/8がクラスAではないのであればどのクラスに属するのかが知りたいなと思いますね)
任意の1文字とあるのに99と2文字あるのはなぜでしょうか。
この理屈でいくと、「0123499(1234の後ろに2文字)」だけじゃなくて「123445(1234の後ろに2文字)」も正しくないと言う話になると思うのですが、こちらには疑問はなかったのでしょうか?
dandyleoponさんもおっしゃっている通り「.は任意の1文字であり、 1234{任意の1文字} と言う形が含まれる行がマッチする」ので
1234: マッチしない(1234の次に何もない)
1234a: マッチする(1234の次に1文字=aがある)
01234: マッチしない(1234の次に何もない)
123456: マッチする(1234の次に1文字=5があり、その後ろに1文字=6がある)
0123499: マッチする(1234の次に1文字=9があり、その後ろに1文字=9がある)
と言うだけの話ですよ。
これが全てですが
問題ID : 21585 でコントローラがトラフィック調整できると書いてあり、
【SDNコントローラでトラフィックの状況などに合わせて動的にネットワークトポロジを変更できる】
-> トポロジを変更することでトラフィックを調整していると認識しております。問題ID : 16174 では、増減するトラフィックの調整は無理みたいなことが書いてあり、
【ネットワーク上のトラフィックはコントローラでは直接制御できませんので、誤りです。】
【ただし、SDNであればトラフィックの状況によって迂回ルートにトラフィックを
切り替えるようなプログラムを作成し、柔軟に機器の設定変更を行うことは可能】
コントローラーは制御を担うもの、その制御を受けるものがスイッチやルータなどの「トラフィックを扱う機器」です。
たとえ話をするなら「鉄道の制御室」がコントローラーで、各駅や線路上にある「信号機」がルータやスイッチに該当します。で、トラフィックは「列車」のことです。制御室が直接列車を制御することはありませんが、列車は信号を見て進行したり停止したり減速したりしますよね。
災害や人身事故などでトラフィックをどう裁くかは現場の駅員だけでは判断できないので、制御室でダイヤ(トポロジ)組み直したりしてトラフィックを迂回させたりしますよね。
そんな感じです。
問題文って
以下の実行結果より、時刻同期先になっているアドレスはどれか
のことですよね?この中に
問題文には"”ついてました。
と言うことですか?(それともMarkdown書式で「*
」が消えているだけ?)
もし *
のことを言われているのであれば「*
が(IP)アドレスに含まれるのか」ということかと思いますが、IPアドレスには「*
」は使用できないので付けることで不正解となるのは問題ないと思います。
また、問題IDまでは確認してませんが、「*
は時刻同期先として選択している」と言う意味の識別情報ですので、同期先のアドレス以外の情報も含めているという意味でも不正解になるかなと思います。
「grep -E 'bu?!' test.txt」
のことですかね?
「bu?!
」は「拡張正規表現」を使って記載された文字列なので、grepは「拡張正規表現」として理解している、と言うだけですよ。
ちなみに、
シングルクォートで囲むと全てが文字列扱い
と言うのは、grepにとってではなく「シェル(多くはbash)」にとってなので、「誰がどう扱うことでどう見えるのか」をきっちり理解しておくのが良いと思います。
まず「何を条件に指定できるのか」と言うのが根本にあるのですよね。IPパケットのレベルで考えるのなら「IPヘッダ」ですし、TCP/UDPの場合は「TCP/UDPヘッダ」です。その中に何が情報としてあるのか、と言うのがわかっていればそんなに悩むことはありません。
(まぁ基本として「送信元」「宛先」アドレスが条件に含まれるのでここでは触れません)
IPプロトコルの場合は
Router(config)#access-list 100 deny ip any any ?
dscp Match packets with given dscp value
fragments Check non-initial fragments
log Log matches against this entry
log-input Log matches against this entry, including input interface
option Match packets with given IP Options value
precedence Match packets with given precedence value
time-range Specify a time-range
tos Match packets with given TOS value
ttl Match packets with given TTL value
<cr>
とありますが、これは https://ja.wikipedia.org/wiki/IPv4#%E3%83%91%E3%82%B1%E3%83%83%E3%83%88 にあるようにIPヘッダに含まれている情報にフィルタ条件が指定できることがわかります。
他も同じことですね。上位層プロトコルというかTCP/UDP/ICMPヘッダにある情報がなんでも指定できると言うだけです。
Router(config)#access-list 100 deny tcp any any ?
ack Match on the ACK bit
dscp Match packets with given dscp value
eq Match only packets on a given port number
established Match established connections
fin Match on the FIN bit
fragments Check non-initial fragments
gt Match only packets with a greater port number
log Log matches against this entry
log-input Log matches against this entry, including input interface
lt Match only packets with a lower port number
neq Match only packets not on a given port number
option Match packets with given IP Options value
precedence Match packets with given precedence value
psh Match on the PSH bit
range Match only packets in the range of port numbers
rst Match on the RST bit
syn Match on the SYN bit
time-range Specify a time-range
tos Match packets with given TOS value
ttl Match packets with given TTL value
urg Match on the URG bit
<cr>
Router(config)#access-list 100 deny udp any any ?
dscp Match packets with given dscp value
eq Match only packets on a given port number
fragments Check non-initial fragments
gt Match only packets with a greater port number
log Log matches against this entry
log-input Log matches against this entry, including input interface
lt Match only packets with a lower port number
neq Match only packets not on a given port number
option Match packets with given IP Options value
precedence Match packets with given precedence value
range Match only packets in the range of port numbers
time-range Specify a time-range
tos Match packets with given TOS value
ttl Match packets with given TTL value
<cr>
Router(config)#access-list 100 deny icmp any any ?
<0-255> ICMP message type
administratively-prohibited Administratively prohibited
alternate-address Alternate address
conversion-error Datagram conversion
dod-host-prohibited Host prohibited
dod-net-prohibited Net prohibited
dscp Match packets with given dscp value
echo Echo (ping)
echo-reply Echo reply
fragments Check non-initial fragments
general-parameter-problem Parameter problem
host-isolated Host isolated
host-precedence-unreachable Host unreachable for precedence
host-redirect Host redirect
host-tos-redirect Host redirect for TOS
host-tos-unreachable Host unreachable for TOS
host-unknown Host unknown
host-unreachable Host unreachable
information-reply Information replies
information-request Information requests
log Log matches against this entry
log-input Log matches against this entry, including input
interface
mask-reply Mask replies
mask-request Mask requests
mobile-redirect Mobile host redirect
net-redirect Network redirect
net-tos-redirect Net redirect for TOS
net-tos-unreachable Network unreachable for TOS
net-unreachable Net unreachable
network-unknown Network unknown
no-room-for-option Parameter required but no room
option Match packets with given IP Options value
option-missing Parameter required but not present
packet-too-big Fragmentation needed and DF set
parameter-problem All parameter problems
port-unreachable Port unreachable
precedence Match packets with given precedence value
precedence-unreachable Precedence cutoff
protocol-unreachable Protocol unreachable
reassembly-timeout Reassembly timeout
redirect All redirects
router-advertisement Router discovery advertisements
router-solicitation Router discovery solicitations
source-quench Source quenches
source-route-failed Source route failed
time-exceeded All time exceededs
time-range Specify a time-range
timestamp-reply Timestamp replies
timestamp-request Timestamp requests
tos Match packets with given TOS value
traceroute Traceroute
ttl Match packets with given TTL value
ttl-exceeded TTL exceeded
unreachable All unreachables
<cr>
そして、OSI 7階層モデルで考えると「他のレイヤの情報は見えない」のですから、IP(レイヤ3)のレベルではTCP/UDP(レイヤ4)の情報を識別できない=ACLの条件として利用できない(eq ssh
のような指定はできない)と言うだけのことです。
原則としては「できません」と言うことになりますが、標準/拡張ACLを「名前付きACL」として扱えばできるんですよね。
Router#show access-lists
Standard IP access list 1
10 permit any
Extended IP access list 100
10 permit ip any any
Router#conf t
Enter configuration commands, one per line. End with CNTL/Z.
Router(config)#ip access-list standard 1
Router(config-std-nacl)#5 deny any
Router(config-std-nacl)#ip access-list extended 100
Router(config-ext-nacl)#5 deny tcp any any
Router(config-ext-nacl)#end
Router#show access-lists
Standard IP access list 1
5 deny any
10 permit any
Extended IP access list 100
5 deny tcp any any
10 permit ip any any
Router#