arashi1977さんの助け合いフォーラム投稿一覧

助け合いフォーラムの投稿
2023/06/19 返信
PUTメソッドの意味。「指定したファイルの保存を要求する」だけのものではないのでは?

消去法で考えた方が簡単な気がします。

提示されてるMDMではPOSTについてはこう記載されています。

HTTP の POST メソッドは、サーバーにデータを送信します。リクエストの本文の型は Content-Type ヘッダーで示されます。

PUT と POST との違いは、 PUT がべき等であることです。一度呼び出しても複数回呼び出しても成功すれば同じ効果になる(副作用がない) のに対して、 同じ POST に成功すると、複数回の注文を行うような、追加の効果が出ます。

指定したファイルを保存するリクエストをPOSTで実行すると保存よりも新規追加の動作(指定したファイルではなく新たな別のファイルが作成される)になってしまいますし、それ以外のメソッドは設問に合致しないので、PUTの方がより適切ということなのではないかなと思います。

2023/06/18 返信
コマ問プレミアムLinuC Lv2-202(Ver10.0) nginxの設定と管理

mainはnginx設定全体を意味するコンテキストで、mainの中のhttpコンテキストがHTTPサーバとしての動作を定義するんじゃなかったでしたっけ?
mainの中にはeventsとかmailとかさらに個別の機能ごとのコンテキストがあるので、mainのような一番上のものでは不適切なのではないかと。

コマ問ってWEB問題集の中の問題に対応してるはずなので、nginxの問題について再確認してみると良いかもしれません。

2023/06/17 返信
OSPFのコスト

そうですね。ルーティングテーブル上

172.16.1.0 [110/13] via 192.168.3.2 ...
172.16.2.0 [110/3] via 192.168.3.2 ...

って書いてあるので、

  1. まずネクストホップが192.168.3.0/30の宛先なので RouterD
  2. RouterDへはT3リンクなので、コストが2
  3. 考えやすいように172.16.2.0の方(RouterD直接接続)をみることにする
  4. ルーティングテーブルの [110/3](/の右がコストの合計)から、RouterB-D間のT3分のコスト「2」を引くと残りが「1」
  5. よって172.16.2.0/24へはコスト1(おそらくFastEthernet)で接続していると判断できる。

という話です。172.16.1.0/24のほうも考え方は同じです。

2023/06/17 返信
FIBのネクストホップ情報有無

解説の誤記なんじゃないですかね。

・FIBにはネクストホップのIPアドレスとMACアドレスが載っている
ネクストホップやMACアドレスは隣接テーブルに載っている情報なので誤りです。

選択肢は「Nexthop IP Address AND MAC Address」ですが、MACアドレスは載ってないので間違いとされているのだと思うので、本来は解説は

ネクストホップMACアドレスは隣接テーブルに載っている情報なので誤りです。

としたかったんじゃないかなと。

2023/06/17 返信
SD-Accessのアンダーレイのルーティングプロトコルについて

使用できない場合、それは、どの様な理由からでしょうか。

SD-Access詳しくないので間違ってるかもですが、単にDNA Centerが自動で構成するUnderlayをIS-ISでやるからじゃないでしょうか?
https://www.ciscolive.com/c/dam/r/ciscolive/global-event/docs/2022/pdf/BRKENS-2502a.pdf

2023/06/16 返信
解決と応答の違いについて

こんな感じです。
応答:DNSサーバが生きているかどうかの話
解決:DNSサーバが応答してくれて、でもゼロ回答だった

身近なもので例えるとこんな感じです。

  • 本屋に書籍の取り扱いの有無を問い合わせようと電話したのだが繋がらなかったので、別の書店に電話した(1軒目で応答がないので2軒目に問い合わせた)
  • 繋がった2軒目に問い合わせたが「聞かれたISBNでは該当するものがなかった」と言われたので、問い合わせをやめた(ISBN番号から書籍情報が見つからなかった=解決できなかった)

DNS問い合わせ時のホスト名が上記のISBN番号だと思っていただければ。

2023/06/16 返信
経路の選択

解説のここがポイントですね。

OSPFは帯域幅のみをメトリックの構成要素として使用します。

OSPFは帯域幅が大きいものの優先度をあげ、低いものは優先度を下げてどのリンクを通るのが最適かを選択します。そうすると、「T1=1.544Mbps(1544Kbps)」と比べて56Kbpsでは27倍もの差があるので、「そんな帯域幅の狭いリンクは使えない(正確にいうと、より帯域幅が広いリンクが優先される)」と判断しているだけですね。

2023/06/16 返信
「import A」と「from A import *」の相違有無

違いますねー。Pythonの公式ドキュメントに違いが書いてあります。
https://docs.python.org/ja/3/tutorial/modules.html

この操作は、import の対象となるモジュール名をローカルな名前空間内に取り入れることはありません (従って上の例では、 fibo は定義されません)。
モジュールで定義されている名前を全て import するという変型もあります:

なんのこっちゃ?って感じかもしれませんが単純です。
import したら「importしたパッケージを(パッケージ名指定で)使えるようになる」
from XXX import ZZZ したら「fromのXXXパッケージの中からZZZを自分のものとして使えるようになる」
って違いです。

まだ説明がわかりにくいかもしれませんね。こういうのだとどうでしょう?

$ python3
Python 3.11.4 (main, Jun  7 2023, 00:42:15) [Clang 14.0.3 (clang-1403.0.22.14.1)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
◾️versionというオブジェクトはないので何も表示できない
>>> print(version)
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
NameError: name 'version' is not defined
◾️sysモジュールにはversionが存在するので、importして「sys.version」とすると参照可能になる
>>> import sys
>>> dir(sys)
['__breakpointhook__', '__displayhook__', '__doc__', '__excepthook__', '__interactivehook__', '__loader__', '__name__', '__package__', '__spec__', '__stderr__', '__stdin__', '__stdout__', '__unraisablehook__', '_base_executable', '_clear_type_cache', '_current_exceptions', '_current_frames', '_debugmallocstats', '_framework', '_getframe', '_getquickenedcount', '_git', '_home', '_stdlib_dir', '_xoptions', 'abiflags', 'addaudithook', 'api_version', 'argv', 'audit', 'base_exec_prefix', 'base_prefix', 'breakpointhook', 'builtin_module_names', 'byteorder', 'call_tracing', 'copyright', 'displayhook', 'dont_write_bytecode', 'exc_info', 'excepthook', 'exception', 'exec_prefix', 'executable', 'exit', 'flags', 'float_info', 'float_repr_style', 'get_asyncgen_hooks', 'get_coroutine_origin_tracking_depth', 'get_int_max_str_digits', 'getallocatedblocks', 'getdefaultencoding', 'getdlopenflags', 'getfilesystemencodeerrors', 'getfilesystemencoding', 'getprofile', 'getrecursionlimit', 'getrefcount', 'getsizeof', 'getswitchinterval', 'gettrace', 'hash_info', 'hexversion', 'implementation', 'int_info', 'intern', 'is_finalizing', 'last_traceback', 'last_type', 'last_value', 'maxsize', 'maxunicode', 'meta_path', 'modules', 'orig_argv', 'path', 'path_hooks', 'path_importer_cache', 'platform', 'platlibdir', 'prefix', 'ps1', 'ps2', 'pycache_prefix', 'set_asyncgen_hooks', 'set_coroutine_origin_tracking_depth', 'set_int_max_str_digits', 'setdlopenflags', 'setprofile', 'setrecursionlimit', 'setswitchinterval', 'settrace', 'stderr', 'stdin', 'stdlib_module_names', 'stdout', 'thread_info', 'unraisablehook', 'version', 'version_info', 'warnoptions']
>>> print(sys.version)
3.11.4 (main, Jun  7 2023, 00:42:15) [Clang 14.0.3 (clang-1403.0.22.14.1)]
◾️しかし相変わらずversionというオブジェクトは存在しないので、直接は使えない。
>>> print(version)
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
NameError: name 'version' is not defined
◾️sysモジュールからversionを内部的に使えるように取り込んでしまえば直接参照可能になる
>>> from sys import version
>>> print(version)
3.11.4 (main, Jun  7 2023, 00:42:15) [Clang 14.0.3 (clang-1403.0.22.14.1)]
◾️しかし、取り込んでないオブジェクト(platform)は、importしたsys経由でしか参照できない
>>> print(platform)
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
NameError: name 'platform' is not defined
>>> print(sys.platform)
darwin
◾️めんどくさいのでsysの中身を全部取り込んでしまえ
>>> from sys import *
◾️platformも直接使えるようになった
>>> print(platform)
darwin
◾️取り込んでないversion_infoオブジェクトもワイルドカードでまとめて読み込んだので、指定してないけど参照できるようになった。
>>> print(version_info)
sys.version_info(major=3, minor=11, micro=4, releaselevel='final', serial=0)
2023/06/12 返信
oss-db silver 問題ID 12286について

関数が返す値は変わらない

ってことなので、CREATE OR REPLACE FUNCTION sample_func(TEXT) ... の文の実行についての話ではなく、作成された関数を実行( SELECT sample_func() )した際の話ではないでしょうか?
実行例を見てくださいってことですが、sample_func() のパラメータに同じ「佐藤」を渡して実行した時に、データの状態によっては返ってくる値って変わりますよね。WHERE句の条件が同じでもSELECT文実行時のテーブル状態が変われば異なる値になるのは当然かと。

逆に言えば、この関数は「いちいちSELECT文全体を入力しなくても、渡した引数をWHERE staff=にセットして実行してくれる」関数を作ったと言えるかなと。たとえば「日付」を渡したら指定した日付の売り上げを集計して返してくれる関数作ったとして、日付を「今日」にして実行したら開店直後と閉店間際では同じ日付を指定してるのに返ってくる値って変わりますよね。そういう意味じゃないですかね?

2023/06/12 返信
回答の誤り

以下のコンフィグ行に関する話ですよね。

ip address 192.168.20.18 255.255.255.240

255.255.255.240 ってことは、/28なので16個ずつのアドレス領域に分かれるんですよね。(ここはCCNAのアドレス関連の他の問題の解説や参考をご確認いただければと)
ということは、
0-15, 16-31, 32-47 ...
というかたまりになるのですが、ネットワークアドレスはそのアドレス範囲の先頭が該当するので、↑の例だと「0, 16, 32 ...」がネットワークアドレスになります。なので、192.168.20.16はネットワークアドレスとして適切です。

この選択肢が「ネットワークアドレス→IPアドレス」であればご指摘通りではありますが (^^;

2023/06/12 返信
どこから出てきた!?

CCNAレベルの話ですが、解説の

BとEはTunnel0インターフェースに割り当てるIPアドレスです。直接接続するインターフェースの両端は同じネットワークアドレスに属するアドレスを使用する必要があります。

が理由ですね。ぶっちゃけ 1.1.3.1/241.1.3.3/24 とかでも良いんです。Tunnel0(直接接続になるリンク)の両端に割り当てるのに適切なアドレスがどれかを選ぶだけの話です。

2023/06/06 返信
192.168.0.50が正解の理由について

解説の1行目が全てです。

listen_addressesパラメータは、クライアントからの接続要求を受け付けるPostgreSQLサーバ自身のIPアドレスを指定します。

自分自身のアドレスを指定するわけですが、設問の冒頭に

IPアドレス192.168.0.50のPostgreSQLサーバが、リモートからのTCP/IP接続を受け付けるため

って書いてあるので、「リモートから192.168.0.50(=自分のアドレス)で待ち受ける」設定なので問題ないです。

「待ち受ける=受信に使用する自分のアドレス」であって、「接続してくるクライアント」のアドレスではないですよ。

2023/06/02 コメント
スプリットブレインに関する記述について
なるほど、そういう説明だと「完全に故障ノードを孤立させる」という意味では間違ってはいないと思います。 この問題では「高可用性クラスタ内のノード」としか言われてないのでアクティブノードかどうかもわからないので判断が難しいなとは思うのですが、設問の > このとき、サービスの復旧を最優先と考える場合 を踏まえると、とりあえずスプリットブレインを回避しつつサービスが提供できる状態にするという意味で、 > 故障ノードをクラスタノード間通信用ネットワークから切り離す ではなく > 故障ノードのサービスを他のノードへ振り替える が正解なのかなと思います。 ちなみに、選択肢を3つ選べってなってたら間違いなくフェンシングの目的で「クラスタノード貫通信用ネットワークから切り離す」も選びますね。
2023/06/02 コメント
VLANタグの付け方
補足ですが「普通そんなことはしません」。 やるとしたら、Hyper-VとかESXiとかみたいに「内部にVLANを理解する仮想(ソフトウェア)スイッチが存在していて、さらにその先にVLANを理解しないサーバVMが存在する」って感じなので、最終的には「VLANタグを理解しない(付与しない)」ホストが存在するものとして考えるのが良いです。
2023/06/02 返信
VLANタグの付け方

サーバBのフレームにVLANタグをつけることはそもそも可能でしょうか。

サーバのOSや使用するNIC(と、ドライバ)次第じゃないですか?Windows10ですらこんなことできるんですし。
https://qiita.com/a-hiroyuki/items/edaac161103f2e2cfbc4

2023/06/01 返信
SwitchBの「show spanning-tree」から読み取れる情報について正しい記述はどれか(2つ選択)

問題制作者側のミスなのでしょうか?

ミスだったら解説での解き方も成立しないと思うのですが、解説の説明は確認されてますか?

2023/05/31 コメント
shwo ip ospf neighborコマンドに関して
うーん、「相手を認識している」が違うんじゃないでしょうか。 passive-interfaceってOSPFではHelloを「送受信しない」ので、この設問の状況ではそれぞれのルータが接続されていないのと同じと理解されるのが良いかと思います。 https://www.cisco.com/c/en/us/td/docs/ios-xml/ios/iproute_pi/command/iri-cr-book/iri-cr-a1.html#wp3551876274 > For the Open Shortest Path First (OSPF) protocol, OSPF routing information is **neither sent nor received** through the specified router interface. The specified interface address appears as a stub network in the OSPF domain.
2023/05/30 返信
スプリットブレインに関する記述について

「故障ノードをクラスタノード間通信用ネットワークから切り離す」のは正しい対応と認識しておりました。

この根拠となる資料や情報があると嬉しいです。

故障ノードの故障の仕方にもよりますけど、基本的にクラスタノード間通信用ネットワークを切断すると「対向ノードの状態が確認できない(サービス停止している可能性がある)」と判断してアクティブになるかと思います。その場合、二重アクティブによるスプリットブレインとなるかと思います。
切り離すならサービス提供用ネットワークかなと思います。

2023/05/30 返信
回答間違っているのでは?

そのうちのSPT(送信元ツリー)用のJoinというのはFHRからRPに送られることで送信元ツリーが作成されるという説明が他サイトやChatGPTでありました。

その辺りの詳細(他サイトのURLやChatGPTへの質問と解答の内容とか)があるとよりわかりやすいのですが…

で、ここで言うSPTっていうのが問題の方でもあまりはっきり言及されていないので微妙ですが、初期のツリー構築の話だとすると多分ここのことじゃないですかね。
https://www.cisco.com/c/ja_jp/td/docs/switches/lan/catalyst2960x/software/15_2_6_e/configuration_guide/b_1526e_consolidated_2960x_cg/b_1526e_consolidated_2960x_cg_chapter_01011.html#GUID-F6A7759F-29A2-4264-8031-7E50A10BBBD9

ホストがマルチキャスト グループに加入すると、直接接続されたルータは RP に PIM 加入メッセージを送信します。RP はマルチキャスト グループを追跡します。マルチキャスト パケットを送信するホストは、そのホストのファースト ホップ ルータによって RP に登録されます。その後、RP は、ソースに加入メッセージを送信します。この時点で、パケットが共有配信ツリー上で転送されます。

PIM-SMは

  • IGMP Joinを投げたホストがいるLHRからRPに向けてPIM Joinが飛ぶ(共有ツリーができる)
  • ソース(送信者)がグループにパケットを投げたら、FHRがRPにPIM Registerを投げる
  • PIM Registerを受け取ったRPはソースに向かってJoinを投げる(ソースからRPへのSPTができる)
  • ある程度ソース→レシーバにパケットが流れると、FHR-LHR間のSPTができる(RPからFHRへRegister Stopが飛ぶのでRPを経由しなくなる)

という流れなので、PIM Joinが飛ぶとしたら「LHR→RP」もしくは「RP→FHR」となるかと思います。

もしよければ「他サイト」や「ChatGPT」の情報も共有いただけると(私が間違ってるかもしれないので)助かります。

2023/05/29 コメント
ループバックインターフェースを宛先、または送信元とした場合のTTLの変動について。  eBGPのピア設定で疑問に感じたため。
> つまり、デフォルトでは、eBGPの制御パケットを送信する際、TTL1の場合、参照したルーティングテーブル上でCとなっている場合にしか送信しないという事ですね。 はい、「送信する側が」TTL=1な宛先ではないと判断したら送信しないのです。このチェックを回避するのに使えるのが `disable-connected-check` です。これだと ebgp-multihop 指定しなくても、eBGPピアのLoopbackでもピアリング可能になります。 > 最後に教えて頂きたいのですが、パケットが、同一ルーターの物理インターフェースからLoopbackに対して転送される際にTTLが1減る、といった仕組みはありませんよね? そうですね。考え方としては「パケットを受信したときはそのままの状態」「パケットを転送するときに、TTLを1減らして(パケットの内容を書き換えて)異なるインターフェースから送信する」なのですが、Loopbackは異なるインターフェースと言いつつルータ内部なので、パケットを書き換える必要なく取り扱えるのでTTLは減らないはずです。
2023/05/29 返信
shwo ip ospf neighborコマンドに関して

あれ?OSPFのINIT状態ってHello交換する前だから、show ip ospf neighbor で何も表示されなくてもおかしくないのではないでしょうか?Helloを相互に交換できてない状態ではINITのままなので、表示されないのが自然かと思います。

参考にもこう書いてありますし。

INIT・・・Helloパケットを受信し、相手を認識した状態
2WAY・・・お互いに認識した状態(DROTHER同士は経路情報を直接交換しないので「2WAY」状態でコンバージェンス)

2023/05/27 返信
ループバックインターフェースを宛先、または送信元とした場合のTTLの変動について。  eBGPのピア設定で疑問に感じたため。

もしTTL 1 で疎通可能なのであれば、なぜeBGPでループバックインターフェース間のピア設定をする際にTTL 2以上にする必要があるのか疑問に感じまして。

TTLについて聞きたいのかeBGPピアリング時のTTLをどう設定するのかと、話題が二つあるようなのでコメントの仕方が悩ましいですね。
加えて、どの問題IDに関連するものかがわからないので、解説や参考に疑問の解消ポイントが記載されているかが確認できないのも…

それはそれとして。

単純な話をするとeBGPはデフォルトで「直接接続した相手」とピアを張ることになるので、直接接続していないアドレス(=対向ルータのLoopback)は「TTL=1」以内にいないと言うことでピアリングに失敗するんです。この挙動については以下のドキュメントが参考になるかと思います。
https://community.cisco.com/t5/tkb-%E3%83%8D%E3%83%83%E3%83%88%E3%83%AF%E3%83%BC%E3%82%AF%E3%82%A4%E3%83%B3%E3%83%95%E3%83%A9-%E3%83%89%E3%82%AD%E3%83%A5%E3%83%A1%E3%83%B3%E3%83%88/7-19-webcast-quot-%E5%88%9D%E7%B4%9A%E8%80%85%E5%90%91%E3%81%91-bgp%E3%81%AE%E5%9F%BA%E6%9C%AC%E3%81%A8cisco%E3%83%AB%E3%83%BC%E3%82%BF%E3%81%AE%E5%8B%95%E4%BD%9C-quot-q-a%E3%83%89%E3%82%AD%E3%83%A5%E3%83%A1%E3%83%B3%E3%83%88/ta-p/3163961

TTL=1のパケットを送信しようとするルータは、参照したルートが「C」だったなら、パケットを送信します。それ以外の「S」や「O」を参照したなら、パケットを送信しません。

2023/05/27 コメント
MEDも正解なのでは?
設問が > 優先順位が最も高いものはどれか。 となっているので、MEDより高いLocal_Preferenceが正解なのはおかしくないような気がしますが…
2023/05/26 コメント
ポートプライオリティ値の変更について
あれ?ポートプライオリティ(=優先度)の変更についての話ですよね? 言及されている解説で > CatAのFa0/1でポートプライオリティを変更して VLAN1~3の優先度を上げる となると、「CatAのFa0/1のポートプライオリティを変更して(特定のVLANの)優先度を上げる」のでCatAのFa0/1で以下のコマンドを実行することになると思うのですが。 spanning-tree vlan {特定のVLAN} port-priority {128より小さい値} 日本語的な言い換えをするなら、疑問に思われている選択肢は 「CatAのFa0/1でVLAN1〜3の優先度が高くなるようにポートプライオリティを変更する」 と言う話ではないでしょうか?
2023/05/25 コメント
enabledコマンドは要らない?
> コマンドは例えば > (config-if)#swithport trunk allowed vlan <VLAN番号> > です。 あー、いらないんです。トランク設定入れただけだとその時点でVLAN1-4094までを通すようになってるんです。いちいち許可する必要はないです。 こんな感じですね。 Switch#conf t Switch(config)#interface GigabitEthernet0/1 Switch(config-if)#switchport trunk encapsulation dot1q Switch(config-if)#switchport mode trunk Switch(config-if)#end Switch#show interfaces trunk Port Mode Encapsulation Status Native vlan Gi0/1 on 802.1q trunking 1 Port Vlans allowed on trunk Gi0/1 1-4094 ←最初から全部通す Port Vlans allowed and active in management domain Gi0/1 1 Port Vlans in spanning tree forwarding state and not pruned Gi0/1 1
戻る