"通信装置であって、前記通信装置でのデータの取りこぼしに関する特定情報を取得する取得部と、前記通信装置と外部装置との間で通信セッションを確立するために前記外部装置に通知されるべきパラメータの値を決定する決定部であって、第1の前記特定情報が取得される場合に、前記第1の特定情報を用いて、第1種の前記パラメータの値として第1の値を決定する前記決定部と、前記第1種のパラメータの値として前記第1の値が決定された後に、前記通信セッションが確立されるべき際に、前記第1種のパラメータの値として前記第1の値を前記外部装置に通知する通知部と、を備える通信装置。前記決定部は、前記第1の特定情報が、前記取りこぼしの発生回数が比較的に多いことを示す場合に、前記第1種のパラメータの値を、現在の値から、前記現在の値よりも小さな前記第1の値に変更し、前記第1の特定情報が、前記取りこぼしの発生回数が比較的に少ないことを示す場合に、前記第1種のパラメータの値を、前記現在の値から、前記現在の値よりも大きな前記第1の値に変更する、請求項1に記載の通信装置。前記第1の特定情報は、前記取りこぼしの発生回数に関する値を含み、前記決定部は、前記第1の特定情報に含まれる前記値を第1の閾値と比較することによって、前記第1種のパラメータの値を、前記現在の値から、前記現在の値よりも小さな前記第1の値に変更するのか否かを判断し、前記第1の特定情報に含まれる前記値を第2の閾値と比較することによって、前記第1種のパラメータの値を、前記現在の値から、前記現在の値よりも大きな前記第1の値に変更するのか否かを判断する、請求項2に記載の通信装置。さらに、前記通信装置と前記外部装置との間で実行された通信の結果に基づいて前記特定情報を生成する生成部を備え、前記取得部は、前記生成部によって生成される前記特定情報を取得する、請求項1から3のいずれか一項に記載の通信装置。前記決定部は、さらに、第2の前記特定情報が取得される場合に、前記第2の特定情報を用いて、前記第1種のパラメータと異なる第2種のパラメータの値として第2の値を決定し、前記通知部は、前記第1種のパラメータの値として前記第1の値が決定された後であり、かつ、前記第2種のパラメータの値として前記第2の値が決定された後に、前記通信セッションが確立されるべき際に、前記第1種のパラメータの値として前記第1の値を前記外部装置に通知すると共に、前記第2種のパラメータの値として前記第2の値を前記外部装置に通知する、請求項1から4のいずれか一項に記載の通信装置。前記第1種のパラメータは、MSSであり、前記第2種のパラメータは、ウィンドウサイズであり、前記決定部は、第1のタイミングで取得される前記第1の特定情報が、前記取りこぼしの発生回数が比較的に多いことを示す場合に、前記第2種のパラメータの値を変更せずに、前記第1種のパラメータの値を、現在の値から、前記現在の値よりも小さな前記第1の値に変更し、前記第1のタイミングの後の第2のタイミングで取得される前記第2の特定情報が、前記取りこぼしの発生回数が比較的に多いことを示す場合に、前記第1種のパラメータの値を変更せずに、前記第2種のパラメータの値を、現在の値から、前記現在の値よりも小さな前記第2の値に変更する、請求項5に記載の通信装置。前記第1種のパラメータは、MSSであり、前記第2種のパラメータは、ウィンドウサイズであり、前記決定部は、第3のタイミングで取得される前記第2の特定情報が、前記取りこぼしの発生回数が比較的に少ないことを示す場合に、前記第1種のパラメータの値を変更せずに、前記第2種のパラメータの値を、現在の値から、前記現在の値よりも大きな前記第2の値に変更し、前記第3のタイミングの後の第4のタイミングで取得される前記第1の特定情報が、前記取りこぼしの発生回数が比較的に少ないことを示す場合に、前記第2種のパラメータの値を変更せずに、前記第1種のパラメータの値を、現在の値から、前記現在の値よりも大きな前記第1の値に変更する、請求項5に記載の通信装置。前記第1種のパラメータは、MSSであり、前記決定部は、前記通信装置が利用可能な複数個の通信プロトコルに共通する前記第1種のパラメータの値として、前記第1の値を決定し、前記通知部は、前記第1種のパラメータの値として前記第1の値が決定された後に、前記複数個の通信プロトコルのいずれに従った通信のための前記通信セッションが確立されるべき際にも、前記第1種のパラメータの値として前記第1の値を前記外部装置に通知する、請求項1から7のいずれか一項に記載の通信装置。前記第1種のパラメータは、ウィンドウサイズであり、前記決定部は、前記通信装置が利用可能な複数個の通信プロトコルのうちの特定の通信プロトコルに対応する前記第1種のパラメータの値として、前記第1の値を決定し、前記通知部は、前記特定の通信プロトコルに対応する前記第1種のパラメータの値として前記第1の値が決定された後に、前記特定の通信プロトコルに従った通信のための前記通信セッションが確立されるべき際に、前記第1種のパラメータの値として前記第1の値を前記外部装置に通知し、前記特定の通信プロトコルに対応する前記第1種のパラメータの値として前記第1の値が決定された後に、前記特定の通信プロトコルと異なる通信プロトコルに従った通信のための前記通信セッションが確立されるべき際に、前記第1種のパラメータの値として前記第1の値と異なる値を前記外部装置に通知する、請求項1から5のいずれか一項に記載の通信装置。通信装置のためのコンピュータプログラムであって、前記通信装置に搭載されるコンピュータに、以下の各処理、即ち、前記通信装置でのデータの取りこぼしに関する特定情報を取得する取得処理と、前記通信装置と外部装置との間で通信セッションを確立するために前記外部装置に通知されるべきパラメータの値を決定する決定処理であって、第1の前記特定情報が取得される場合に、前記第1の特定情報を用いて、第1種の前記パラメータの値として第1の値を決定する前記決定処理と、前記第1種のパラメータの値として前記第1の値が決定された後に、前記通信セッションが確立されるべき際に、前記第1種のパラメータの値として前記第1の値を前記外部装置に通知する通知処理と、を実行させるコンピュータプログラム。ところで、通信装置では、外部装置から送信されるデータの取りこぼしが発生する可能性がある。データの取りこぼしは、例えば、外部装置から通信装置へのデータの送信頻度が高い場合や、通信装置と外部装置との間でいわゆるジャンボフレームJumboFrameの通信が実行される場合等に、発生し得る。通信装置でのデータの取りこぼしが発生すると、外部装置は、通常、当該データを通信装置に再送信する。このような再送信が実行されると、通信装置と外部装置との間でのデータの通信速度が低下する。本明細書では、通信装置と外部装置との間でのデータの通信速度が低下するのを抑制し得る技術を提供する。本明細書によって開示される通信装置は、取得部と、決定部と、通知部と、を備える。取得部は、通信装置でのデータの取りこぼしに関する特定情報を取得する。決定部は、通信装置と外部装置との間で通信セッションを確立するために外部装置に通知されるべきパラメータの値を決定する。決定部は、第1の特定情報が取得される場合に、第1の特定情報を用いて、第1種のパラメータの値として第1の値を決定する。通知部は、第1種のパラメータの値として第1の値が決定された後に、通信セッションが確立されるべき際に、第1種のパラメータの値として第1の値を外部装置に通知する。上記の構成では、通信装置は、通信装置でのデータの取りこぼしに関する特定情報を用いて、外部装置に通知されるべきパラメータの値を決定する。具体的には、通信装置は、第1の特定情報を用いて、第1種のパラメータの値として第1の値を決定する。従って、通信装置は、第1の特定情報の内容に応じて、通信装置でのデータの取りこぼしの発生を抑制し得る第1の値を決定することができる。そして、当該第1の値が外部装置に通知されるために、外部装置は、通常、第1の値に従って、通信装置にデータを送信する。従って、通信装置でのデータの取りこぼしの発生を抑制し得る。即ち、外部装置が通信装置にデータを再送信する事象の発生を抑制し得るために、通信装置と外部装置との間でのデータの通信速度が低下するのを抑制し得る。なお、上記の通信装置を実現するための制御方法、コンピュータプログラム、及び、当該コンピュータプログラムを格納するコンピュータ読取可能記録媒体も、新規で有用である。第1実施例システムの構成図1に示されるように、通信システム2は、プリンタ10PC100の周辺機器と、PC100と、を備える。プリンタ10とPC100とは、LAN4に接続されており、LAN4を介して相互に通信可能である。LAN4は、イーサネット登録商標に準拠するネットワークである。特に、LAN4は、ギガビットイーサネット、即ち、1ギガビット/秒の通信速度を実現可能なネットワークである。なお、ギガビットイーサネットは、1000BASE-SXと、1000BASE-LXと、1000BASE-CXこれらはIEEE802.3zで規定されると、1000BASE-TこれはIEEE802.3abで規定されると、のいずれであってもよい。プリンタ10の構成プリンタ10は、操作部12と、表示部14と、印刷実行部16と、制御部20と、MACチップ40と、PHYチップ50と、を備える。上記の各部12~20は、バス線符号省略に接続されている。操作部12は、複数のキーによって構成される。ユーザは、操作部12を操作することによって、様々な指示をプリンタ10に入力することができる。表示部14は、様々な情報を表示するためのディスプレイである。印刷実行部16は、インクジェット方式、レーザ方式等の印刷機構を備え、制御部20からの指示に従って印刷を実行する。制御部20は、CPU22とメモリ24とを備える。CPU22は、メモリ24に格納されているプログラム図示省略に従って、様々な処理を実行する。CPU22が当該プログラムに従って処理を実行することによって、生成部30、取得部32、決定部34、及び、通知部36の各機能が実現される。メモリ24は、不揮発性メモリ、揮発性メモリ等によって構成される。メモリ24は、複数個の設定値SVSettingValuesを記憶する。複数個の設定値SVは、プリンタ10のMSSMaximumSegmentSizeと、プリンタ10のウィンドウサイズWSWindowSizeと、を含む。なお、以下では、ウィンドウサイズWSのことを単にWSと記載することがある。MSSMSSについて説明する前に、イーサネットフレームについて説明する。イーサネットのデータ通信は、フレームを最小単位として実行される。図1には、1個のフレームの構成が模式的に示されている。TCPのフレームは、イーサネットヘッダと、IPヘッダと、TCPヘッダと、アプリケーションデータと、FCSFrameCheckSequenceと、を含む。イーサネットヘッダ、IPヘッダ、TCPヘッダ、FCSは、それぞれ、14バイト、20バイト、20バイト、4バイトのデータサイズを有する。これらのデータサイズは、イーサネットの規格として予め決められている。これに対し、アプリケーションデータのデータサイズは、フレームの通信を実行する通信装置即ち、プリンタ10、PC100によって決定される。MSSは、1個のフレームに含まれるアプリケーションデータのデータサイズとして許容される最大データサイズである。例えば、ギガビットイーサネットではなく、100BASE又は10BASEのような通常のイーサネットの規格では、1個のフレームの最大データサイズとして、1518バイトが予め決められている。従って、ギガビットイーサネットに対応せずに、通常のイーサネットのみに対応する通信装置は、通常、MSSとして1460=1518-14-20-20-4バイトを利用する。これに対し、ギガビットイーサネットに対応する通信装置は、MSSとして1460バイトを超える値を利用し得る。このように、MSSとして1460バイトを超える値が利用されると、通信対象のフレーム内のアプリケーションデータのデータサイズが、1460バイトよりも大きな値になる。1460バイトよりも大きなデータサイズを有するアプリケーションデータを含むフレームのことをジャンボフレームと呼ぶ。プリンタ10のユーザは、操作部12を操作して、ジャンボフレームを利用した通信が実行されるのを望むのか否かジャンボフレーム設定=ON又はOFFを選択することができる。ユーザは、ジャンボフレーム設定としてONを選択する場合に、さらに、1個のジャンボフレームのデータサイズの値を指定することができる。ユーザは、通常のイーサネットで利用されるフレームのデータサイズである1518バイトよりも大きく、かつ、後述のFIFO受信バッファFRBの容量=FIFO送信バッファFSBの容量よりも小さい値を、1個のジャンボフレームのデータサイズの値として指定することができる。1個のジャンボフレームのデータサイズの値から58=1420204バイトが減算されると、ユーザによって指定されたMSSの値が得られる。なお、以下では、通常のイーサネットで利用されるMSSの値即ち1460バイトのことをMSSの通常値と呼び、ユーザによって指定されたMSSの値例えば4000バイトのことをMSSの指定値と呼ぶ。プリンタ10の決定部34図1参照は、ジャンボフレーム設定としてOFFが選択される場合に、MSSの通常値即ち1460バイトを、メモリ24内の設定値SVとして記憶させる。即ち、決定部34は、プリンタ10のMSSとして、MSSの通常値を決定する。一方において、決定部34は、ジャンボフレーム設定としてONが選択される場合に、通常、MSSの指定値例えば4000バイトを、メモリ24内の設定値SVとして記憶させる。即ち、決定部34は、通常、プリンタ10のMSSとして、MSSの指定値を決定する。ただし、後述するように、決定部34は、ジャンボフレーム設定としてONが選択される場合に、データの取りこぼしの回数に応じて、プリンタ10のMSSの値を変更する図5参照。なお、プリンタ10は、複数個の通信プロトコルを利用して、データの通信を実行可能である。複数個の通信プロトコルは、例えば、印刷データの通信に利用されるLPRLinePRinterdaemonprotocol、ウェブコンテンツの通信に利用されるHTTPHyperTextTransferProtocol等を含む。プリンタ10のMSSは、複数個の通信プロトコルに共通する値である。即ち、プリンタ10は、複数個の通信プロトコルのうちのいずれに従って通信が実行されるべき際にも、MSSの値として共通の値を利用する。従って、後述のウィンドウサイズWSと異なり、プリンタ10には、1個のMSSの値が設定される。ウィンドウサイズWSWSについて説明する前に、メモリバッファMBMemoryBufferについて説明する。プリンタ10の制御部20は、通信相手即ちPC10と通信を実行すべき際に、メモリ24のRAM内にメモリバッファMBを確保する。メモリバッファMBは、LAN4から受信されるフレーム以下では受信フレームと呼ぶを記憶するための受信用バッファである。特に、メモリバッファMBは、後述のFIFO受信バッファFRBからメモリ24に移動させた後の受信フレームを記憶する。なお、プリンタ10の制御部20は、通信相手と通信を実行すべき際に、メモリ24のRAM内に、LAN4に送信されるフレーム以下では送信フレームと呼ぶを記憶するための送信用バッファも確保する。ただし、図1では、当該送信用バッファを図示省略している。プリンタ10のWSは、RAM内に確保されるメモリバッファMBの記憶容量に関係する値である。より具体的に言うと、WSは、メモリバッファMBが同時的に記憶可能な受信データ1個以上の受信フレームのデータサイズである。WSの値は、通信プロトコル毎に異なる。即ち、本実施例では、図1に示されるように、複数個の通信プロトコルに対応する複数個のウィンドウサイズ即ちWSP1、WSP2等が存在する。なお、WSP1は、通信プロトコルP1例えばLPRに対応するウィンドウサイズを意味し、WSP2は、通信プロトコルP2例えばHTTPに対応するウィンドウサイズを意味する。通信プロトコルが異なれば、受信フレームに対する処理の内容が異なる。従って、例えば、比較的に長時間を要する処理が実行される通信プロトコルについては、比較的に大きなWSの値が採用されることが好ましい。本実施例では、このような観点に鑑みて、通信プロトコル毎にWSの値が決められる。プリンタ10の出荷段階では、複数個の通信プロトコルに対応する複数個のWSの値が、プリンタ10のベンダによって予め決められている。以下では、ベンダによって決められたWSの値のことをWSの初期値と呼ぶ。プリンタ10の決定部34図1参照は、通常、WSの初期値を、メモリ24内の設定値SVとして記憶させる。即ち、決定部34は、通常、プリンタ10のWSとして、WSの初期値を決定する。ただし、後述するように、決定部34は、ジャンボフレーム設定としてOFFが選択される場合に、データの取りこぼしの回数に応じて、プリンタ10のWSの値を変更する図3参照。MACチップ40は、OSIOpenSystemsInterconnection参照モデルのデータリンク層の副層であるMAC層の処理を実行する。MACチップ40は、FIFOFirstInFirstOut送信バッファFSBと、FIFO受信バッファFRBと、を備える。FIFO送信バッファFSBは、少なくとも1個の送信フレームを記憶するための記憶容量を有する。FIFO受信バッファFRBは、少なくとも1個の受信フレームを記憶するための記憶容量を有する。2つのバッファFSB,FRBの記憶容量は等しい。この記憶容量は、通常のイーサネットで利用される1個のフレームの最大データサイズである1518バイトよりも大きい。PHYチップ50は、OSI参照モデルの物理層の処理を実行する。PHYチップ50は、LAN4に接続されていると共に、MACチップ40に接続されている。FIFO送信バッファFSBに記憶されている送信フレームは、PHYチップ50を介して、LAN4に送信される。また、LAN4から受信される受信フレームは、PHYチップ50を介して、FIFO受信バッファFRBに記憶される。PC100の構成PC100は、図示省略の操作部、表示部、制御部等を備える。PC100は、プリンタ10のためのプリンタドライバを記憶している。PC100は、プリンタドライバに従って、印刷データをプリンタ10に送信可能である。なお、PC100には、PC100のMSSと、PC100のウィンドウサイズと、が設定される。プリンタ10が実行する通信処理;図2プリンタ10とPC100との間では、TCPTransmissionControlProtocolを利用した通信が実行される。例えば、ユーザは、PC100の操作部図示省略を操作して、印刷対象のデータ以下では印刷データと呼ぶを選択することができる。この場合、PC100は、印刷データをプリンタ10に送信するための通信セッションを確立するために、プリンタ10とネゴシエーションを実行する。具体的に言うと、PC100は、まず、PC100のMSSを含むSYN信号をプリンタ10に送信する。これにより、プリンタ10は、PC100のMSSを取得することができる。なお、SYN信号は、さらに、印刷データの通信に利用されるべき通信プロトコルに対応する情報例えばLPRに対応するポート番号を含む。これにより、プリンタ10は、プリンタ10が利用すべき通信プロトコル以下では対象の通信プロトコルと呼ぶを知ることができる。次いで、プリンタ10の通知部36図1参照は、メモリ24内の設定値SVの中から、MSSと、対象の通信プロトコルに対応するWS以下ではWSPtと表現すると、を取得する。次いで、通知部36は、プリンタ10のMSS及びWSPtを含むSYN/ACK信号をPC100に送信することによって、プリンタ10のMSS及びWSPtをPC100に通知する。これにより、PC100は、プリンタ10のMSS及びWSPtを取得することができる。次いで、PC100は、ACK信号をプリンタ10に送信する。この結果、プリンタ10とPC100との間で、通信セッションが確立される。なお、この際に、プリンタ10の制御部20は、メモリ24のRAM内に、WSPtのデータサイズを有するメモリバッファ受信用バッファMBを確保する。また、プリンタ10とPC100とは、対象の通信プロトコルに従って、以下の通信処理を実行する。まず、PC100は、印刷データを複数個の部分印刷データに分割する。この際に、PC100は、PC100のMSSとプリンタ10のMSSとのうちの小さい方の値を選択して、当該値を、1個の部分印刷データのデータサイズとして決定する。従って、PC100によって選択されるMSSの値が大きい程、分割後の部分印刷データの数が少なくなり、その結果、PC100でのデータ分割に要する処理時間と、プリンタ10でのデータ結合に要する処理時間と、を短くすることができる。即ち、MSSの値として大きな値が利用される場合、即ち、ジャンボフレームが利用される場合には、通常のイーサネットのフレーム1518バイトが利用される場合と比べて、プリンタ10及びPC100の処理時間が少なくて済み、その結果、データの通信速度が向上する。次いで、PC100は、1個の部分印刷データをアプリケーションデータとして含む1個のフレームF1を生成して、プリンタ10に送信する。フレームF1は、プリンタ10のPHYチップ50を介して、MACチップ40内のFIFO受信バッファFRBに記憶される。上述したように、FIFO受信バッファFRBの記憶容量は、通常のイーサネットで利用される1個のフレームの最大データサイズである1518バイトよりも大きく、しかも、ユーザによって指定される1個のジャンボフレームのデータサイズよりも大きい。従って、PC100が、PC100のMSSとプリンタ10のMSSとのうちの小さい方の値を基準として1個のフレームを生成すれば、当該フレームのデータサイズは、必ず、FIFO受信バッファFRBの記憶容量よりも小さくなる。従って、1個のフレームのデータサイズがFIFO受信バッファFRBの記憶容量よりも大きくなり、その結果、プリンタ10が1個のフレームも受信することができないという事象が発生するのを抑制することができる。プリンタ10の制御部20は、FIFO受信バッファFRB内のフレームF1を、メモリバッファMBに移動させる。これにより、FIFO受信バッファFRBが解放される。次いで、制御部20は、メモリバッファMB内のフレームF1に従った処理を実行する。例えば、制御部20は、フレームF1内の部分印刷データに従って、印刷実行部16に印刷を実行させるための処理例えば、印刷実行部16に駆動信号を送信する処理を実行する。制御部20は、フレームF1に従った処理を終えると、フレームF1をメモリバッファMBから消去する。これにより、メモリバッファMBが解放される。上述したように、PC100は、ネゴシエーションを実行する際に、プリンタ10のWSPtを取得する。PC100は、PC100が生成する1個のフレームのデータサイズと、プリンタ10のWSPtと、に基づいて、プリンタ10のメモリバッファMBが何個のフレームを同時的に記憶可能であるのかを算出する。例えば、プリンタ10のWSPtの値が、1個のフレームのデータサイズの2倍に相当する値である場合には、プリンタ10のメモリバッファMBは、2個のフレームを同時的に記憶可能である。この場合、PC100は、プリンタ10からACK即ち受信確認を受信しなくても連続して送信可能なフレームの個数として、2を決定する。PC100が連続して送信可能なフレームの個数が2に決定される例図2の例では、PC100は、フレームF1を送信した後に、プリンタ10からACKを受信しなくても、次のフレームF2を送信する。次いで、PC100は、プリンタ10からACKを受信するまで待機する。PC100は、プリンタ10からACKを受信すると、2個のフレームF3,F4を連続して送信し、次いで、プリンタ10からACKを受信するまで再び待機する。なお、プリンタ10は、PC100と異なり、1個以上のフレームを受信すると、適宜、ACKをPC100に送信する。例えば、PC100が連続して送信可能なフレームの個数が2に決定される場合には、プリンタ10は、1個又は2個のフレームを受信すると、ACKをPC100に送信する。例えば、FIFO受信バッファFRB内のフレームがメモリバッファMBに移動される前に、PC100からプリンタ10に次のフレームが送信されると、FIFO受信バッファFRBの空き容量が足らないために、FIFO受信バッファFRBが上記の次のフレームを記憶することができない事象が発生し得る。この場合、MACチップ40において、上記の次のフレームが破棄される。以下では、このようにして、FIFO受信バッファFRBが、PC100からプリンタ10に送信されるフレーム即ちデータを格納することができない現象のことを、フレームデータの取りこぼしdroppingofframeと呼ぶ。例えば、ギガビットイーサネットのように、PC100からプリンタ10へのフレームの送信頻度が高い環境では、フレームの取りこぼしが発生し易い。PC100からプリンタ10へのフレームの送信頻度即ちPC100のソフトウェア処理の速度が、FIFO受信バッファFRB内のフレームをメモリバッファMBに移動させる頻度即ちプリンタ10のソフトウェア処理の速度を上回ってしまうからである。特に、ギガビットイーサネットの環境において、ジャンボフレームが利用されると、フレームの取りこぼしがより発生し易くなる。ジャンボフレームが利用される場合には、1個のフレームのデータサイズが大きくなるために、FIFO受信バッファFRBは、1個のフレームを記憶するのに多くの記憶容量を必要とするからである。図2の例では、プリンタ10において、フレームF4の取りこぼしが発生している。プリンタ10の生成部30図1参照は、1回の通信セッションが確立されている期間Tの間に発生する取りこぼしの回数をカウントして、メモリ24に記憶させる。従って、生成部30は、フレームF4の取りこぼしが発生すると、取りこぼし回数として1をカウントする。なお、生成部30は、ソフトウェアによって実現されるカウンタである。プリンタ10でのフレームF4の取りこぼしが発生したために、プリンタ10は、フレームF3及びF4の受信確認であるACKをPC100に送信しない。PC100は、フレームF4を送信してから所定時間が経過しても、プリンタ10からACKを受信することができない場合に、フレームF3及びF4をプリンタ10に再び送信する。このような再送信が実行される場合には、プリンタ10とPC100との間でのデータ図2の例では印刷データの通信速度が低下してしまう。従って、本実施例では、プリンタ10は、後述の図3及び図5の処理を実行することにより、フレームの取りこぼしが発生するのを抑制する。なお、PC100は、全ての印刷データをプリンタ10に送信し終えると、FIN信号をプリンタ10に送信する。次いで、プリンタ10とPC100との間で、ACK信号、FIN信号、ACK信号が順に通信される。これにより、プリンタ10とPC100との間で確立されていた通信セッションが切断される。プリンタ10の制御部20は、通信セッションが切断されると、当該通信セッションの次の通信セッションのためのネゴシエーションが実行される前に、パラメータ変更処理を実行するS10。パラメータ変更処理制御部20は、まず、現在のジャンボフレーム設定がONであるのかOFFであるのかを判断する。制御部20は、ジャンボフレーム設定がOFFである場合に、図3のパラメータ変更処理を実行し、ジャンボフレーム設定がONである場合に、図5のパラメータ変更処理を実行する。ジャンボフレーム設定=OFFである場合;図3ジャンボフレーム設定がOFFである場合には、プリンタ10の決定部34は、図3のパラメータ変更処理に従って、プリンタ10のWSPtの値を変更し得る。ただし、この場合、決定部34は、プリンタ10のMSSの値即ちMSSの通常値1460バイトを変更しない。図3のパラメータ変更処理では、S20において、取得部32図1参照は、期間T即ち1回の通信セッションが確立されている期間;図2参照の取りこぼし回数を取得する。上述したように、生成部30は、期間Tの取りこぼし回数をカウントしている。取得部32は、生成部30のカウンタから取りこぼし回数を読み込むことによって、取りこぼし回数を取得する。次いで、S22において、決定部34は、取りこぼし回数が閾値Th1以上であるのか否かを判断する。本実施例では、閾値Th1として1を採用するが、変形例では、他の値2、3等を採用してもよい。取りこぼし回数が閾値Th1以上である場合S22でYESの場合には、S24において、決定部34は、WSPtの現在の値即ち、メモリ24内の設定値SVとして現在記憶されているWSPtの値が下限値よりも大きいのか否かを判断する。WSPtの下限値は、現在のMSS即ち1460バイトと58バイト=1420204図1参照との和即ち1518バイトに相当する値である。即ち、WSPtの下限値は、通常のイーサネットで利用される1個のフレームの最大データサイズである。このような下限値を採用することにより、WSPtの値が1個のフレームのデータサイズよりも小さくなってしまって、メモリバッファMBに1個のフレームも記憶させることができない事象が発生するのを抑制することができる。WSPtの現在の値が下限値よりも大きい場合S24でYESの場合には、S26において、決定部34は、WSPtの新たな値を算出する。具体的に言うと、決定部34は、WSPtの現在の値から所定値を減算することによって、WSPtの新たな値を算出する。本実施例では、上記の所定値として、WSPtの初期値の10に相当する値を採用しているが、変形例では、他の値例えば初期値の5に相当する値を採用してもよい。なお、S26では、決定部34は、WSPtの新たな値が下限値よりも小さくならないように、WSPtの新たな値を算出する。S26では、さらに、決定部34は、メモリ24内の設定値SVとして記憶されているWSPtの現在の値に代えて、算出済みの新たな値を記憶させる。これにより、WSPtが、現在の値から、現在の値よりも小さな新たな値に変更される。S26では、決定部34は、対象の通信プロトコルに対応するウィンドウサイズ例えばWSP1を変更するが、対象の通信プロトコル以外の通信プロトコルに対応するウィンドウサイズ例えばWSP2を変更しない。なお、WSPtの現在の値が下限値に等しい場合S24でNOの場合には、決定部34は、S26を実行せずに、パラメータ変更処理を終了する。一方において、取りこぼし回数が閾値Th1よりも小さい場合S22でNOの場合には、S32において、決定部34は、取りこぼし回数が、閾値Th1と異なる閾値Th2以下であるのか否かを判断する。本実施例では、閾値Th2として0を採用するが、閾値Th2として別の値1、2等を採用してもよい。取りこぼし回数が閾値Th2以下である場合S32でYESの場合には、S34において、決定部34は、WSPtの現在の値が上限値よりも小さいのか否かを判断する。WSPtの上限値は、WSPtの初期値である。このような上限値を採用することにより、WSPtの値が、プリンタ10のベンダによって決められた値よりも大きくなってしまうことを抑制することができる。WSPtの現在の値が上限値よりも小さい場合S34でYESの場合には、S36において、決定部34は、WSPtの新たな値を算出する。具体的に言うと、決定部34は、WSPtの現在の値に所定値を加算することによって、WSPtの新たな値を算出する。本実施例では、S36で利用される所定値は、S26で利用される所定値と同じ値であるが、変形例では、2つの所定値は、異なる値であってもよい。なお、S36では、決定部34は、WSPtの新たな値が上限値よりも大きくならないように、WSPtの新たな値を算出する。S36では、さらに、決定部34は、メモリ24内の設定値SVとして記憶されているWSPtの現在の値に代えて、算出済みの新たな値を記憶させる。これにより、WSPtが、現在の値から、現在の値よりも大きな新たな値に変更される。S26と同様に、S36では、決定部34は、対象の通信プロトコルに対応するウィンドウサイズ例えばWSP1のみを変更する。なお、WSPtの現在の値が上限値に等しい場合S34でNOの場合には、決定部34は、S36を実行せずに、パラメータ変更処理を終了する。図3のフローを利用する具体例;図4例えば、WSP1の初期値が14600バイトであり、メモリ24内の設定値SVとしてWSP1=14600バイトが記憶されている状況を想定する。PC100からプリンタ10に第1の印刷データが送信されるべき際には、プリンタ10の通知部36は、WSP1=14600バイトと、プリンタ10のMSSと、をPC100に通知する。これにより、プリンタ10とPC100との間で、第1の通信プロトコルP1例えばLPRを利用した第1の通信セッションが確立される。仮に、第1の通信セッションが確立されている間に、プリンタ10での取りこぼしが発生したとする。この場合、プリンタ10の決定部34は、第1の通信セッションが切断された後に、メモリ24内の設定値SVとして、WSP1=14600バイトの代わりに、WSP1=13140バイトを新たに記憶させる図3のS26。その後、PC100からプリンタ10に第2の印刷データが送信されるべき際には、プリンタ10の通知部36は、WSP1=13140バイトと、プリンタ10のMSSと、をPC100に通知する。これにより、プリンタ10とPC100との間で、第1の通信プロトコルP1を利用した第2の通信セッションが確立される。第2の通信セッションを利用した通信では、第1の通信セッションを利用した通信と比べて、プリンタ10のWSP1が小さい。従って、PC100が連続して送信可能なフレームの個数が少なくなり得る。この場合、PC100からプリンタ10へのフレームの送信頻度が低くなるために、プリンタ10でのフレームの取りこぼしが発生し難くなる。従って、図4の例では、第2の通信セッションが確立されている間に、プリンタ10での取りこぼしが発生しない。このように、本実施例では、通信対象のデータを受信する側のデバイスであるプリンタ10は、データの取りこぼしが発生する場合に、プリンタ10自身のウィンドウサイズを小さな値に変更する。従って、プリンタ10での取りこぼしの発生を適切に抑制することができる。この結果、PC100がフレームの再送信を実行しなくて済むために、通信速度が低下するのを抑制することができる。なお、第2の通信セッションが確立されている間に、プリンタ10での取りこぼしが発生しないために、プリンタ10の決定部34は、第2の通信セッションが切断された後に、メモリ24内の設定値SVとして、WSP1=13140バイトの代わりに、WSP1=14600バイトを新たに記憶させる図3のS36。このために、その後、、第1の通信プロトコルP1を利用した第3の通信セッションが新たに確立されるべき際には、プリンタ10の通知部36は、WSP1=14600バイトと、プリンタ10のMSSと、をPC100に通知する。このように、本実施例では、通信対象のデータを受信する側のデバイスであるプリンタ10は、データの取りこぼしが発生しない場合に、プリンタ自身のWSを大きな値に変更する。即ち、本実施例では、プリンタ10での取りこぼしの発生を抑制しながら、ある程度大きなWSの値を利用して、高い通信速度を実現することができる。なお、図4の例では、決定部34は、第1及び第2の通信セッションで利用された通信プロトコルP1に対応するウィンドウサイズWSP1を変更するが、他の通信プロトコルに対応するウィンドウサイズ例えばWSP2を変更しない。従って、第2の通信セッションが切断された後に、第2の通信プロトコルP2を利用した通信セッションが確立されるべき際には、通知部36は、第2の通信セッションの通信結果に基づいて設定されるWSP1と異なる値であるWSP2を、PC100に通知する。従って、プリンタ10は、通信プロトコルに応じて、適切なWSの値をPC100に通知することができる。なお、変形例では、MSSと同様に、WSも、複数個の通信プロトコルに共通する値であってもよい。ジャンボフレーム設定=ONである場合;図5ジャンボフレーム設定がONである場合には、プリンタ10の決定部34は、図5のパラメータ変更処理に従って、プリンタ10のMSSの値を変更し得る。ただし、この場合、決定部34は、プリンタ10のWSの値即ちWSの初期値を変更しない。図5のパラメータ変更処理では、S40,S42,S52は、図3のS20,S22,S32と同様である。取りこぼし回数が閾値Th1以上である場合S42でYESの場合には、S44において、決定部34は、MSSの現在の値即ち、メモリ24内の設定値SVとして現在記憶されているMSSが下限値よりも大きいのか否かを判断する。MSSの下限値は、MSSの通常値即ち1460バイトである。このような下限値を採用することにより、プリンタ10のMSSの値がMSSの通常値よりも小さい値になってしまって、通信速度が大幅に低下する事象が発生するのを抑制することができる。MSSの現在の値が下限値よりも大きい場合S44でYESの場合には、S46において、決定部34は、MSSの新たな値を算出する。具体的に言うと、決定部34は、MSSの現在の値から所定値を減算することによって、MSSの新たな値を算出する。本実施例では、上記の所定値として、MSSの指定値の10に相当する値を採用しているが、変形例では、他の値例えば指定値の5に相当する値を採用してもよい。なお、S46では、決定部34は、MSSの新たな値が下限値よりも小さくならないように、MSSの新たな値を算出する。S46では、さらに、決定部34は、メモリ24内の設定値SVとして記憶されているMSSの現在の値に代えて、算出済みの新たな値を記憶させる。これにより、MSSが、現在の値から、現在の値よりも小さな新たな値に変更される。なお、MSSの現在の値が下限値に等しい場合S44でNOの場合には、決定部34は、S46を実行せずに、パラメータ変更処理を終了する。一方において、取りこぼし回数が閾値Th2以下である場合S52でYESの場合には、S54において、決定部34は、MSSの現在の値が上限値よりも小さいのか否かを判断する。MSSの上限値は、MSSの指定値である。このような上限値を採用することにより、MSSの値が、ユーザによって指定された値よりも大きくなってしまうことを抑制することができる。MSSの現在の値が上限値よりも小さい場合S54でYESの場合には、S56において、決定部34は、MSSの新たな値を算出する。具体的に言うと、決定部34は、MSSの現在の値に所定値を加算することによって、MSSの新たな値を算出する。本実施例では、S56で利用される所定値は、S46で利用される所定値と同じ値であるが、、変形例では、2つの所定値は、異なる値であってもよい。なお、S56では、決定部34は、MSSの新たな値が上限値よりも大きくならないように、MSSの新たな値を算出する。S56では、さらに、決定部34は、メモリ24内の設定値SVとして記憶されているMSSの現在の値に代えて、算出済みの新たな値を記憶させる。これにより、MSSが、現在の値から、現在の値よりも大きな新たな値に変更される。なお、MSSの現在の値が上限値に等しい場合S54でNOの場合には、決定部34は、S56を実行せずに、パラメータ変更処理を終了する。図5のフローを利用する具体例;図6例えば、MSSの指定値が4000バイトであり、メモリ24内の設定値SVとしてMSS=4000バイトが記憶されている状況を想定する。図4の具体例と同様の第1の通信セッションが確立されるべき際に、プリンタ10の通知部36は、WSP1と、MSS=4000バイトと、をPC100に通知する。仮に、第1の通信セッションが確立されている間に、プリンタ10での取りこぼしが発生したとする。この場合、プリンタ10の決定部34は、第1の通信セッションが切断された後に、メモリ24内の設定値SVとして、MSS=4000バイトの代わりに、MSS=3600バイトを新たに記憶させる図5のS46。その後、第2の通信セッションが確立されるべき際に、プリンタ10の通知部36は、WSP1と、MSS=3600バイトと、をPC100に通知する。第2の通信セッションを利用した通信では、第1の通信セッションを利用した通信と比べて、プリンタ10のMSSが小さい。従って、PC100は、プリンタ10のMSSを基準として1個のフレームのデータサイズを決定すれば、当該データサイズとして比較的に小さな値を採用し得る。この場合、1個のフレームのデータサイズが小さくなるために、プリンタ10での取りこぼしが発生し難くなる。従って、図6の例では、第2の通信セッションが確立されている間に、プリンタ10での取りこぼしが発生しない。このように、本実施例では、プリンタ10は、データの取りこぼしが発生する場合に、プリンタ10自身のMSSを小さな値に変更する。従って、プリンタ10での取りこぼしの発生を適切に抑制することができ、通信速度が低下するのを抑制することができる。なお、第2の通信セッションが確立されている間に、プリンタ10でのフレームの取りこぼしが発生しないために、プリンタ10の決定部34は、第2の通信セッションが切断された後に、メモリ24内の設定値SVとして、MSS=3600バイトの代わりに、MSS=4000バイトを新たに記憶させる図5のS56。このように、本実施例では、プリンタ10は、データの取りこぼしが発生しない場合に、プリンタ自身のMSSを大きな値に変更する。即ち、本実施例では、プリンタ10での取りこぼしの発生を抑制しながら、ある程度大きなMSSの値を利用して、高い通信速度を実現することができる。なお、WSとは異なり、MSSは、複数個の通信プロトコルに共通する値である。従って、例えば、第1の通信プロトコルP1を利用した第2の通信セッションが切断された後に、第2の通信プロトコルP2を利用した第3の通信セッションが確立されるべき際に、通知部36は、第2の通信セッションの通信結果に基づいて決定されるMSSを、PC100に通知する。従って、本実施例では、プリンタ10は、複数個の通信プロトコルに共通するMSSの値として、取りこぼしの発生を抑制し得る適切な値を通知することができる。対応関係プリンタ10、PC100が、それぞれ、通信装置、外部装置の一例である。期間Tの取りこぼし回数が特定情報の一例である。図4の例では、ウィンドウサイズWS、第1の通信プロトコルP1が、それぞれ、第1種のパラメータ、特定の通信プロトコルの一例である。図4の例において、通信結果取りこぼし回数≧1が第1の特定情報の一例である場合には、13140バイトが現在の値よりも小さな第1の値に対応し、通信結果取りこぼし回数=0が第1の特定情報の一例である場合には、14600バイトが現在の値よりも大きな第1の値に対応する。図6の例では、MSSが第1種のパラメータの一例である。図6の例において、通信結果取りこぼし回数≧1が第1の特定情報の一例である場合には、3600バイトが現在の値よりも小さな第1の値に対応し、通信結果取りこぼし回数=0が第1の特定情報の一例である場合には、4000バイトが現在の値よりも大きな第1の値に対応する。第1実施例の変形例第1実施例では、制御部20は、ジャンボフレーム設定がONである場合に、図5のパラメータ変更処理を実行して、MSSの値を変更するが、WSPtの値を変更しない。これに代えて、制御部20は、ジャンボフレーム設定がONである場合に、1回の通信セッションが切断される毎に、図3のパラメータ変更処理と、図5のパラメータ変更処理と、の両方を実行してもよい。従って、例えば、取りこぼし回数が比較的に大きい場合には、決定部34は、WSPtを、現在の値から、現在の値よりも小さな新たな値に変更すると共に、MSSを、現在の値から、現在の値よりも小さな新たな値に変更してもよい。また、例えば、取りこぼし回数が比較的に小さい場合には、決定部34は、WSPtを、現在の値から、現在の値よりも大きな新たな値に変更すると共に、MSSを、現在の値から、現在の値よりも大きな新たな値に変更してもよい。一般的に言うと、決定部34は、第1の特定情報が取得される場合に、第1の特定情報を用いて、第1種のパラメータの値例えばWSPtの値として第1の値を決定し、第2の特定情報が取得される場合に、第2の特定情報を用いて、第2種のパラメータの値例えばMSSの値として第2の値を決定してもよい。本変形例では、第1の特定情報と第2の特定情報とは、同じ通信セッションが確立されている期間Tの間の取りこぼし回数即ち同じ情報である。第2実施例本実施例では、制御部20は、ジャンボフレーム設定がOFFである場合に、第1実施例と同様に、図3のパラメータ変更処理を実行する。ただし、制御部20は、ジャンボフレーム設定がONである場合に、図5のパラメータ変更処理の代わりに、図7のパラメータ変更処理を実行する。図7のパラメータ変更処理では、決定部34は、取りこぼし回数が比較的に多い場合に、MSSとWSPtのうち、MSSの値を優先的に小さくし、取りこぼし回数が比較的に少ない場合に、MSSとWSPtのうち、WSPtの値を優先的に大きくする。S60,S62,S82は、図3のS20,S22,S32図5のS40,S42,S52と同様である。取りこぼし回数が閾値Th1以上である場合S62でYESの場合には、S64において、決定部34は、MSSの現在の値が閾値Th3よりも大きいのか否かを判断する。閾値Th3は、MSSの指定値例えば4000バイトよりも小さく、かつ、MSSの通常値即ち1460バイトよりも大きい値である。例えば、閾値Th3は、MSSの指定値の50に相当する値である。MSSの現在の値が閾値Th3よりも大きい場合S64でYESの場合には、S72において、決定部34は、MSSの値を、現在の値から、現在の値よりも小さな新たな値に変更する。S72は、図5のS46と同様である。なお、S64でYESの場合のS72では、決定部34は、MSSの新たな値が閾値Th3よりも小さくならないように、MSSの新たな値を算出する。MSSの現在の値が閾値Th3以下である場合S64でNOの場合には、S66において、決定部34は、WSPtの現在の値が閾値Th4よりも大きいのか否かを判断する。閾値Th4は、閾値Th3と58バイト=1420204図2参照との和に相当する値である。WSPtの現在の値が閾値Th4よりも大きい場合S66でYESの場合には、S74において、決定部34は、WSPtの値を、現在の値から、現在の値よりも小さな新たな値に変更する。S74は、図3のS26と同様である。なお、S66でYESの場合のS74では、決定部34は、WSPtの新たな値が閾値Th4よりも小さくならないように、WSPtの新たな値を算出する。これにより、WSPtの値が1個のフレームのデータサイズ即ちMSSの現在の値閾値Th358バイトよりも小さくなってしまう事象が発生するのを抑制することができる。WSPtの現在の値が閾値Th4以下である場合S66でNOの場合には、S68に進む。なお、S68、S70は、それぞれ、図5のS44、図3のS24と同様である。また、S68でYESの場合に実行されるS72、S70でYESの場合に実行されるS74は、それぞれ、図5のS46、図3のS26と同様である。一方において、取りこぼし回数が閾値Th2以下である場合S82でYESの場合には、S84において、決定部34は、WSPtの現在の値が閾値Th4S66で利用される閾値Th4と同じ値以下であるのか否かを判断する。WSPtの現在の値が閾値Th4以下である場合S84でYESの場合には、S92において、決定部34は、WSPtの値を、現在の値から、現在の値よりも大きな新たな値に変更する。S92は、図3のS36と同様である。WSPtの現在の値が閾値Th4よりも大きい場合S84でNOの場合には、S86において、決定部34は、MSSの現在の値が閾値Th3S64で利用される閾値Th3と同じ値以下であるのか否かを判断する。MSSの現在の値が閾値Th3以下である場合S86でYESの場合には、S94において、決定部34は、MSSの値を、現在の値から、現在の値よりも大きな新たな値に変更する。S94は、図5のS56と同様である。MSSの現在の値が閾値Th3よりも大きい場合S86でNOの場合には、S88に進む。なお、S88、S90は、それぞれ、図3のS34、図5のS54と同様である。また、S88でYESの場合に実行されるS92、S90でYESの場合に実行されるS94は、それぞれ、図3のS36、図5のS56と同様である。図7のフローを利用する具体例;図8図8では、メモリ24内の設定値SVとして、WSP1=14600バイト=WSP1の初期値と、MSS=4000バイト=MSSの指定値と、が記憶されている状況を想定している。通信セッションが確立されるべき際に、プリンタ10の通知部36は、WSP1=14600バイトと、MSS=4000バイトと、をPC100に通知する。プリンタ10での取りこぼしが発生すると、プリンタ10の決定部34は、メモリ24内の設定値SVとして、MSS=4000バイトの代わりに、MSS=3600バイトを新たに記憶させる図7のS64でYESの場合のS72。その後の複数回の通信セッションでも、プリンタ10での取りこぼしが発生する状態が続くと、決定部34は、MSSの値を、3200、2800、2000バイト即ち図7のS64の閾値Th3まで順に変更する。MSS=2000バイトである状態で、プリンタ10での取りこぼしが発生すると、決定部34は、図7のS64でNOと判断する。この場合、決定部34は、メモリ24内の設定値SVとして、WSP1=14600バイトの代わりに、WSP1=13140バイトを新たに記憶させる図7のS66でYESの場合のS74。その後の複数回の通信セッション特に通信プロトコルP1が利用される複数回の通信セッションでも、プリンタ10での取りこぼしが発生する状態が続くと、決定部34は、WSP1の値を、11680、10220、2058バイト即ち図7のS66の閾値Th4まで順に変更する。WSP1=2058バイトである状態で、プリンタ10での取りこぼしが発生すると、決定部34は、図7のS66でNOと判断する。この場合、決定部34は、メモリ24内の設定値SVとして、MSS=2000バイトの代わりに、MSS=1600バイトを新たに記憶させる図7のS68でYESの場合のS72。その後の通信セッションでも、プリンタ10での取りこぼしが発生すると、決定部34は、MSSの値を1460バイト即ちMSSの下限値通常値まで変更する。MSS=1460バイトである状態で、プリンタ10での取りこぼしが発生すると、決定部34は、図7のS68でNOと判断する。この場合、決定部34は、メモリ24内の設定値SVとして、WSP1=2058バイトの代わりに、WSP1=1518バイト即ちWSP1の下限値MSSの現在の値58バイトを新たに記憶させる図7のS70でYESの場合のS74。通常、MSSは、ウィンドウサイズと比べて、取りこぼしの発生に大きな影響を与える。例えば、MSSの値を10小さくすると、ウィンドウサイズの値を10小さくするよりも、取りこぼしの発生を効果的に抑制することができる。本実施例によると、プリンタ10は、取りこぼしの発生回数が比較的に多い場合に、MSS及びウィンドウサイズのうち、取りこぼしの発生に影響を与え易いMSSの値を優先的に小さくする。従って、取りこぼしの発生を効果的に抑制することができる。図7のフローを利用する具体例;図9例えば、図8のシーケンスが実行された後、即ち、MSS=1460バイト、WSP1=1518バイトに変更された後に、プリンタ10での取りこぼしが発生しないと、図9に示されるように、プリンタ10の決定部34は、メモリ24内の設定値SVとして、WSP1=1518バイトの代わりに、WSP1=2978バイトを新たに記憶させる図7のS84でYESの場合のS92。WSP1=2978バイトである状態で、プリンタ10での取りこぼしが発生しないと、決定部34は、図7のS84でNOと判断する。この場合、決定部34は、メモリ24内の設定値SVとして、MSS=1460バイトの代わりに、MSS=1860バイトを新たに記憶させる図7のS86でYESの場合のS94。その後の通信セッションでも、プリンタ10での取りこぼしが発生しないと、決定部34は、MSSの値を、2260バイトに変更する。MSS=2260バイトである状態で、プリンタ10での取りこぼしが発生すると、決定部34は、図7のS86でNOと判断する。この場合、決定部34は、メモリ24内の設定値SVとして、WSP1=2978バイトの代わりに、WSP1=4438バイトを新たに記憶させる図7のS88でYESの場合のS92。その後の複数回の通信セッション特に通信プロトコルP1が利用される複数回の通信セッションでも、プリンタ10での取りこぼしが発生しない状態が続くと、決定部34は、WSP1の値を、5898、7358、14600バイト即ちWSP1の上限値初期値まで変更する。WSP1=14600バイトである状態で、プリンタ10での取りこぼしが発生しないと、決定部34は、図7のS88でNOと判断する。この場合、決定部34は、メモリ24内の設定値SVとして、MSS=2260バイトの代わりに、MSS=2660バイトを新たに記憶させる図7のS90でYESの場合のS94。その後の複数回の通信セッションでも、プリンタ10での取りこぼしが発生しない状態が続くと、決定部34は、MSSの値を、3060、3460、4000バイト即ちMSSの上限値指定値まで順に変更する。本実施例によると、プリンタ10は、取りこぼしの発生回数が比較的に少ない場合に、MSS及びウィンドウサイズのうち、取りこぼしの発生に影響を与え難いウィンドウサイズの値を優先的に大きくする。従って、取りこぼしの発生を抑制しながら、通信速度が向上するように、ウィンドウサイズの値を大きくすることができる。対応関係図8及び図9の例では、MSS、WSが、それぞれ、第1種のパラメータ、第2種のパラメータの一例である。図8の最も上の通信結果取りこぼし回数≧1が第1のタイミングで取得される第1の特定情報の一例である場合には、MSS=3600バイトが現在の値よりも小さな第1の値に対応し、図8の上から2番目の通信結果取りこぼし回数≧1が第1のタイミングの後の第2のタイミングで取得される第2の特定情報の一例である場合には、WSP1=13140バイトが現在の値よりも小さな第2の値に対応する。また、図9の最も上の通信結果取りこぼし回数=0が第3のタイミングで取得される第2の特定情報の一例である場合には、WSP1=2978バイトが現在の値よりも大きな第2の値に対応し、図9の上から2番目の通信結果取りこぼし回数=0が第3のタイミングの後の第4のタイミングで取得される第1の特定情報の一例である場合には、MSS=1860バイトが現在の値よりも大きな第1の値に対応する。以上、本発明の具体例を詳細に説明したが、これらは例示にすぎず、特許請求の範囲を限定するものではない。特許請求の範囲に記載の技術には、以上に例示した具体例を様々に変形、変更したものが含まれる。上記の実施例の変形例を以下に列挙する。変形例1上記の各実施例では、WS,MSSの値を決定するために1回の通信セッションの間の取りこぼし回数が利用されているが、これに代えて、1回の通信セッションの間の取りこぼしの有又は無を示す情報、1回の通信セッションの間の取りこぼしの確率取りこぼし回数/受信フレームの数を示す情報、1回の通信セッションの間の単位時間当りの取りこぼし回数を示す情報等が利用されてもよい。一般的に言うと、決定部34は、データの取りこぼしに関する情報を用いて、WS,MSSの値を決定すればよい。変形例2上記の各実施例及び変形例1では、生成部30は、1回の通信セッションを基準として、特定情報を生成する。しかしながら、生成部30は、通信セッションに関係ない所定期間例えば、パラメータ変更処理が実行される直前の所定時間を基準として、特定情報を生成してもよい。変形例3上記の各実施例では、生成部30は、ソフトウェアによって実現されるカウンタである。これに代えて、MACチップ40が取りこぼし回数をカウントする機能を備えていてもよい。この場合、図3のS20等では、取得部32は、MACチップ40から取りこぼし回数を取得してもよい。本変形例では、MACチップが生成部の一例である。変形例4上記の各実施例では、制御部20は、1回の通信セッションが切断された直後に、パラメータ変更処理を実行する図2のS10参照。即ち、制御部20は、通信セッションが切断された後であって、次の通信セッションを確立するためのSYN信号の通信が実行される前に、パラメータ変更処理を実行する。これに代えて、制御部20は、通信セッションを確立するためのSYN信号を受信した後であって、当該通信セッションを確立するためのSYN/ACK信号を送信する前に、パラメータ変更処理を実行してもよい。また、制御部20は、通信セッションとは無関係のタイミングで例えば定期的に、パラメータ変更処理を実行してもよい。即ち、決定部がパラメータの値を決定するタイミングは、上記の各実施例のタイミングに限定されず、適宜変更することができる。変形例5通信装置は、プリンタ10に限られず、他のデバイス例えば、スキャナ装置、FAX装置、コピー機、多機能機、電話機、PC、サーバ、携帯電話、PDA等であってもよい。また、本明細書または図面に説明した技術要素は、単独であるいは各種の組合せによって技術的有用性を発揮するものであり、出願時請求項記載の組合せに限定されるものではない。また、本明細書または図面に例示した技術は複数目的を同時に達成するものであり、そのうちの一つの目的を達成すること自体で技術的有用性を持つものである。"