Cente TCP/IPv4

Cente TCP/IPv4

Cente TCP/IPv4


改版日 2006.10.13
バージョン Ver1.20

BSDソケットAPI対応

BSDソケットに準拠したAPIに対応した。

マルチキャスト対応

IPマルチキャストパケットの送受信、IGMPクライアント機能を追加した。

ジャンボフレーム対応

ジャンボフレームの送受信が可能になった。

DNSクライアントの脆弱性対応

不正な内容のDNS応答を受信して誤動作する可能性があったので対応した。

チェックサム関数の高速化

IP、UDP、TCPのチェックサム計算を若干高速化した。

IPフラグメントを使った1パケット長以上のUDP送信に対応

IPフラグメントを使って、1パケット長より長いUDPパケット送信ができるようになった。

空いていないTCPポートへの接続応答をTCPRESETに変更

従来icmpportunreachableを返していたが、TCPRESETを返すよう変更した。

ARPキャッシュが削除される瞬間の通信が途切れる問題に対応

ARPキャッシュを削除する少し前に、事前にキャッシュを更新する機能を追加した。

TCPACKを無視することがある

次に期待する番号より以前の番号を持ったACKを受信したとき、再送せずに無視してしまうことがあったので修正した。

CIDR環境で正しく動作しない

クラスCのIPアドレスで23bit以下のサブネットマスクを使用するなどCIDR環境では、ユニキャストパケットがブロードキャストとして扱われてしまっていたので修正した。

TCPウインドウサイズ0の状態でデータパケットを受け取っても無視する

TCPウインドウサイズ0の状態でデータパケットを受信したとき、ウインドウサイズ0のACKを送信する必要があるが、送信されていなかった。これを修正した。

tcp_rcv_buf()、tcp_get_buf()を連続で呼べない

tcp_rcv_buf()やtcp_get_buf()は内部状態が変化しないので本来何度呼んでもかまわないが、2回目に呼んだときブロックされてしまっていた。これを修正した。

tcp_get_buf()が返す送信可能バッファサイズが不正

送信バッファが完全にフルのときや、送信バッファの途中から最後までにデータが入っているときにtcp_get_buf()が不正な値を返していた。これを修正した。

2回目のリンクアップ以降でtcpip_wai_rdy()が使えない

tcpip_wai_rdy()が2回目以降のリンクアップで使用できなかった(無条件に関数から返っていた)ので修正した。

DHCPでIP取得に時間がかかることがある

DHCPサーバが存在しない環境に接続し、その後DHCPサーバが存在する環境に接続しなおしても、直ちにDHCP取得を開始できていなかった。これを修正した。

TCPウインドウサイズ0のACKを受信したとき、不正な送信が発生することがある

TCPウインドウサイズ0のACKを受信したとき、まれに逆に大量にデータを送信してしまうことがあったので修正した。

FTPdバグ修正

・ログインメッセージをカスタマイズ可能にした。

・FTPクライアントからPORTコマンドを受けなかったときに不正なアドレスにアクセスする可能性があった点を修正した。

・ファイルアップロード時にエラーが生じたときに、データポートをすぐに切断するように修正した。

FTPcヘルプの拡充

FTPcのシェルコマンドで詳細なヘルプを表示できるように修正した。

TFTP修正

TFTPでサイズの大きいファイルを扱えなかった点を修正した。