タグ

TCPに関するtsuyossiiのブックマーク (17)

  • 調べなきゃ寝れない!と調べたら余計に寝れなくなったソケットの話 - Qiita

    なるほど、最近ソケット通信、ソケット通信と言ってるのはUNIXドメインソケットの事か! UNIXドメインソケットって何がいいの? Performance Analysis of Various Mechanisms for Inter-process Communicationに素晴らしい検証があった。 It was hypothesized that pipes would have the highest throughtput due to its limited functionality, since it is half-duplex, but this was not true. For almost all of the data sizes transferred, Unix domain sockets performed better than both TCP so

    調べなきゃ寝れない!と調べたら余計に寝れなくなったソケットの話 - Qiita
  • HTTPセッションとTCP接続

    ここで、HTTPのセッションとTCP接続との関係について簡単に説明する。TCPはもともと「接続」の概念の無いIPプロトコルの上に、高品質なデータの転送と「接続」という概念を組入れたプロトコルである。クライアントはサーバに対して80や8080といった受け付けポート番号で接続を開始する。いったん両者間の接続が確立されると、その接続のもとで各種のデータの交換が可能となる。データ交換が終了するとどちらかからこのTCP接続の開放をかける。TCP接続の確立と開放には複雑な両者間のIPによる手続きと時間を要する。 HTTP/1.0では通常下図のように要求/応答ごとにTCP接続がなされる。従って多くの要素からなるHTMLページをダウンロードするにはこれが相当のオーバヘッドとなる。 HTTP/1.1ではこれが改善され、どちらかがConnection: CloseをHTTPヘッダで指定しない限りHTTP応答の

  • エフェメラルポート - Wikipedia

    この記事は検証可能な参考文献や出典が全く示されていないか、不十分です。出典を追加して記事の信頼性向上にご協力ください。(このテンプレートの使い方) 出典検索?: "エフェメラルポート" – ニュース · 書籍 · スカラー · CiNii · J-STAGE · NDL · dlib.jp · ジャパンサーチ · TWL(2021年8月) エフェメラルポート(英: ephemeral port)とは、インターネットプロトコル (IP) を用いた通信を行うため、TCP/IPプロトコルスタックが事前に定義されている範囲内から自動的に割り当てるポートである。日語に直訳すると「短命なポート」「一時的なポート」という意味になる。Transmission Control Protocol (TCP)、User Datagram Protocol (UDP)、Stream Control Transm

  • 第10回 IPパケットの構造とIPフラグメンテーション

    前回の説明では、各ルータやコンピュータからIPパケット(IP層でやり取りされるパケット)が送受信される過程を簡単に説明したが、そこでやり取りされるIPパケットの詳細構造は実際には次のようになっている。 IPパケットの詳細構造 IPパケットの構造は、IPヘッダ部分と、IPパケットによって運ばれるデータ部分(図中の赤の部分)の大きく2つに分けられる。そしてIPヘッダはさらに固定長の部分(図中の青色と緑色の部分。先頭の20bytes)と、オプション部分(図中の黄色の部分。最小0byte)の2つで構成される。図中の小さい1目盛りは1bit幅であり、ここでは32bitずつに区切って表現している。IPパケットの詳細については「RFC791―INTERNET PROTOCOL」を参照のこと。 一見すると何やら複雑そうに見えるかもしれないが、あまり難しく考える必要はない。すでに何度も述べているように、ネッ

    第10回 IPパケットの構造とIPフラグメンテーション
  • IPプロトコル番号一覧

    ◆ プロトコル番号 ( IP Protocol Number ) プロトコル番号は、上位層のプロトコルを識別するための番号であり、IPヘッダに 8 ビット情報であります。 例えばプロトコル番号が 6 の場合はTCP、17 の場合はUDPとなります。プロトコル番号の枠は0~255です。 以下は主要なプロトコル番号表です。なお、IANAによるプロトコル番号の最新情報はこちらで確認できます。 ※ プロトコル番号 4 は「IP in IP」のプロトコル番号であり IP のプロトコル番号ではありません。そもそも 以下の一覧情報が、IPの上位層のプロトコル番号を識別するための番号であることを考えれば分かりますよね。 IANAがプロトコル番号 4 のKeywordを「IP」とするから紛らわしい。「IPinIP」とすれば良かったのですが。

  • IP チェックサムの秘密

    注意 これは、山和彦が BSD Magazine に掲載した原稿です。BSD Magazine 編集部の許可を得てここに転載します。図はありません。図が欲しい方は、BSD Magazine を買って下さい。:-) を読んで勉強しているときには気にもとめないのに、いざ実際にプログラムを作成すると疑問に思うことがある。これはやはり理解しようとする姿勢に差があるからだろう。 TCP/IP の仕様を読んでいるときは、IP チェクサムなんて読み飛ばしてしまう。しかし、カーネルの IP に関する部分をハックしていると、IP チェックサムの仕組みが気になって仕方がなくなった。 疑問に思ったら納得するまで調べる。これがハッカーの基だ。このコラムは、IP チェックサムにまつわる冒険譚である。 IP チェックサムは、IP ヘッダや UDP/TCP データグラムに対し、通信時に起ったエラーを検出するために

  • 445/tcpポート(Direct Hosting of SMBに対するアクセスを抑止する

    質問 現在、ファイアウォールの管理を行なっています。ファイルサーバをUNIX上のSamba 2.2.3aで構築しており、137/udp、138/udp、139/tcpポートを許可することで、問題なくファイル共有などは行なえているのですが、ファイアウォールのログに445/tcpポートへのアクセスが大量に記録されているので、調べたところ、Windows 2000やWindows XPクライアントからは、139/tcpポートに接続する前に、必ず445/tcpポートへのアクセスを試行するようです。 とりあえず、実害はないので現状放置していますが、できればこの通信を抑止したいと考えています。何か方法はあるのでしょうか? また、調べたところ、445/tcpポートはWindows 2000から実装されているDirect Hosting of SMBという機能のようですが、これは139/tcpとどういった

  • 「0.0.0.0」や「127.0.0.1」の意味?

    IEのブラウザを起動している最中にnetstat -naで、どのポート開いているのかを調べてみると TCP 192.168.0.3:2597  ×.×.×.×:80 ESTABLISHED という様な表示の他に TCP 0.0.0.0:2597    0.0.0.0:0   LISTENING TCP 0.0.0.0:2598    0.0.0.0:0   LISTENING TCP 0.0.0.0:2600    0.0.0.0:0   LISTENING TCP 0.0.0.0:2602    0.0.0.0:0   LISTENING TCP 127.0.0.1:2470    0.0.0.0:0   LISTENING UDP 127.0.0.1:2470 *:* というような表示が常に出てきます。 IEを起動していないときに同じように調べると、ポートは何一つ開いていません。 自分

    「0.0.0.0」や「127.0.0.1」の意味?
  • Windowsでどのポートが何のアプリケーションで使用されているか確認する - sinsengumi血風録

    Eclipse内のWTPでTomcatを起動したら、以下のようなエラーメッセージが出て、起動できませんでした。 ローカル・ホスト の Tomcat v6.0 サーバー で必要なポート 8009 はすでに使用中です。サーバーはすでに別のプロセスで稼働中であるか、システム・プロセスがそのポートを使用中である可能性があります。このサーバーを始動するには、他のプロセスを停止するか、ポート番号を変更する必要があります。 どうもポートがかぶっていそうな感じだったので、ポートが何のアプリケーションで使用されているかを調べてみました。 方法は以下。 ポートのPIDを確認する 以下のコマンドで、ポートのPIDを確認する。 C:\>netstat -nao アクティブな接続 プロトコル ローカル アドレス 外部アドレス 状態 PID TCP 0.0.0.0:135 0.0.0.0:0 LISTENING 99

  • Transmission Control Protocol - Wikipedia

    送信元ポート(16ビット) – 送信側のポート番号 送信先ポート(16ビット) – 受信側のポート番号 シーケンス番号(32ビット) – 2つの役割がある。 SYNフラグがセットされている場合 (1)、初期シーケンス番号である。実際の先頭データバイトのシーケンス番号と対応する確認応答の確認応答番号は、このシーケンス番号に1を加えた値になる。 SYNフラグがセットされていない場合 (0)、このセッションにおけるこのパケットの先頭データバイトの累積シーケンス番号である。 確認応答番号(32ビット) – ACKフラグがセットされている場合、受信側が期待する次のシーケンス番号を格納している。(もしあれば)それまでの全バイト列の受信を確認済みであることを示す。最初に互いにACKを送る際は、相手側の初期シーケンス番号を確認するだけで、データは含めない。 ヘッダ長(4ビット) – TCPヘッダのサイズを

    Transmission Control Protocol - Wikipedia
  • 「HTTP/2」制定の背景や「HTTP/1」との違い、Akamaiのマーク・ノッティンガム氏が説明 

    「HTTP/2」制定の背景や「HTTP/1」との違い、Akamaiのマーク・ノッティンガム氏が説明 
  • TCPのコネクションとはなんですか? (1/2)

    TCPの高い信頼性は、コネクションと呼ばれる論理的な通信路を基盤として実現されている。コネクションの状態は大きく分けて接続状態と開放(切断)状態がある。ここでは、これらの間を行き来するコネクション確立とコネクション解放のシーケンスを説明する。 コネクションの状態管理 TCPはコネクション型のプロトコルであり、データ転送を始める前に、論理的な通信路(コネクションまたは論理リンク)を設定する。この動作を「コネクション確立」という。また、データ転送が終わったあとで論理的な通信路を抹消することを「コネクション解放」という。このように、コネクションは通信の必要に応じて、動的に生成/消滅を繰り返す。 コネクションの両端はそれぞれのホストのアプリケーションになっており、IPアドレスとポート番号の組である「ソケット」で識別される。それぞれのホストのOSは、自ホスト・相手ホストのソケット番号と順序番号、状態

    TCPのコネクションとはなんですか? (1/2)
  • ソケットとポート

    2つのアプリケーション間でデータのやり取りを行うためには、データを出し入れするための受け口が必要となる(電気製品を利用するための電気の受け口を想像されたい)。 ソケット(socket)とはTCP/IP通信プログラムを作る場合のTCP/IPインターフェースで、TCP/IPをAPI(Application Programming Interface)の形にしたものである。 元来は、TCP/IPソケットはBSD UNIXで開発されたきたが、現在はLinuxやSolarisなどUNIX全般だけでなくWindowsMacintoshでも採用され、ソケットを使って開発されたアプリケーションの移植性は高い。 アプリケーションがソケットを使って通信する場合には、通信する側とされる側の両方でソケットを作成して、それらを接続する必要がある。 Javaの主なソケットには、TCPを使って接続が維持されるコネクシ

  • 株式会社スタイルズ

    AWSアドバンスドコンサルティングパートナーの一員として活動する株式会社スタイルズが、AWS導入、移行、開発、セキュリティ、運用保守など、すべてのご相談に乗らせていただきます。 AWSを導入したいが何から始めたらいいかわからない 既存のベンダーが新技術に弱く、良い提案がもらえない クラウドの導入にセキュリティの不安がある AWSをとりあえず導入したが、さらに活用していきたい 社内にAWSの知見を持っている人がいない AWSならではのシステム開発を詳しく知りたい

    株式会社スタイルズ
  • TCP/UDPポート番号一覧

    ①、②のポート番号はサービスを提供するサーバ側で主に使用されるのに対して、③はクライアント側で主に使用されるポート番号。 ①ウェルノウンポート番号はサーバのアプリケーションに割り当てられます。②登録済みポート番号は独自に 作成されたアプリケーションに割り当てられます。③のダイナミックポート番号はサーバとのプロセスに応じ クライアントのアプリケーションに動的に割り当てられます。②はクライアントに割り当てる時もあります。 TCP/UDPのポート番号について詳しく知りたい方、TCP/IPをはじめから分かりやすく知りたい方はマスタリングTCP/IPがお勧めです。 マスタリングTCP/IPはネットワークエンジニア、サーバエンジニアなど全てのIT技術者が大絶賛しているTCP/IP参考書のバイブル

  • Windowsネットワーク 第16...@IT:連載 基礎から学ぶ

    第16回 信頼性のある通信を実現するTCPプロトコル(3):基礎から学ぶWindowsネットワーク(3/4 ページ) TCP技術を習得するうえで非常に重要な項目として、「TCPの状態遷移図」というものがある。これはTCPプロトコルの規格書であるRFC793(STD0007)に掲載されている、TCPプロトコルの内部ステートを表現した図である。すでに解説したように、TCPでは接続ごとに、それぞれシーケンス番号やACK番号、オープン/クローズなどの処理状態といった「ステート(状態)」を持っている。このようなプロトコルを「ステートフルな(stateful、状態を持つ)」プロトコルという。TCP接続のオープンやクローズ、確立などに伴う、状態の変化を表現した図を「状態遷移図」という。 以下は、RFC793に記載されているTCPの状態遷移図を簡略化したものである(完全な状態遷移図についてはRFC793を

    Windowsネットワーク 第16...@IT:連載 基礎から学ぶ
  • netstatコマンドを使いこなす @IT:Windows TIPS -- Tips:

    TCP/IP関連のトラブルシューティングを行う場合に、必ずといってよいほど使うコマンドとして「netstat」コマンドがある(実行ファイル名はnetstat.exe)。このコマンドは、主にTCPの通信状態を調べるためには必須であり、ぜひともその使い方をマスターしておきたい。 netstatの基――通信中のTCPコネクションの調査 netstatコマンドの最も基的な使い方は、通信中のTCPコネクション(TCP接続)の状態を表示させることである。このコマンドを実行すると、ローカルPCのTCP/IPプロトコルスタック上において、現在アクティブになっているTCP通信の状態を表示できる。 ●「TCP」とは? 「コネクション」とは? TCPとは、2つのアプリケーション間で、信頼性のある通信路(コネクション)を開設し、お互いにデータなどをやりとりするための機能である。通信するアプリケーションは、同一

    netstatコマンドを使いこなす @IT:Windows TIPS -- Tips:
  • 1