اﺻﻮل ﻣﻬﻨﺪﺳﯽ اﯾﻨﺘﺮﻧﺖ ﻻﯾﮥ اﻧﺘﻘﺎل 190 (1ﻻﯾﮥ اﻧﺘﻘﺎل 1در ﺷﺒﮑﮥ اﯾﻨﺘﺮﻧﺖ ﺑﮕﻮﻧﻪای ﮐﻪ در ﻓﺼﻞ ﻗﺒﻞ اﺷﺎره ﺷﺪ ﭘﺮوﺗﮑــﻞ IPوﻇﯿﻔـﮥ ﻫﺪاﯾـﺖ و ﻣﺴـﯿﺮﯾﺎﺑﯽ ﺑﺴـﺘﻪ ﻫـﺎی اﻃﻼﻋﺎﺗﯽ را از ﯾﮏ ﻣﺎﺷﯿﻦ ﻣﯿﺰﺑﺎن ﺑﻪ ﻣﺎﺷﯿﻨﯽ دﯾﮕﺮ ﺑﺮﻋﻬﺪه دارد و ﻣﺸــﮑﻼﺗﯽ ﮐـﻪ در ﻃـﯽ ﻣﺴـﯿﺮ ﻣﻤﮑﻦ اﺳﺖ ﺑﺮای ﯾﮏ ﺑﺴﺘﮥ IPاﺗﻔﺎق ﺑﯿﻔﺘﺪ ،ﺗﻮﺳﻂ اﯾﻦ ﻻﯾﻪ ﻗﺎﺑﻞ ﺣﻞ ﻧﯿﺴﺖ. وﻇﯿﻔﮥ ﻻﯾﮥ اﻧﺘﻘﺎل در ﺷﺒﮑﻪ ” ،ﻓﺮاﻫﻢ آوردن ﺧﺪﻣﺎت ﺳﺎزﻣﺎﻧﺪﻫﯽ ﺷﺪه ،ﻣﻄﻤﺌﻦ و ﻣﺒﺘﻨــﯽ ﺑـﺮ اﺻﻮل ﺳﯿﺴﺘﻢ ﻋﺎﻣﻞ ،ﺑﺮای ﺑﺮﻧﺎﻣﻪ ﻫﺎی ﮐﺎرﺑﺮدی در ﻻﯾﮥ ﺑﺎﻻﺗﺮ اﺳﺖ ،ﺑﮕﻮﻧﻪای ﮐــﻪ ﻣﺸـﮑﻼت و ﻧﺎﮐﺎرآﻣﺪی ﻻﯾﮥ IPﺟﺒﺮان و ﺗﺮﻣﯿﻢ ﺷﻮد “. در ﻣﻘﺎم ﻣﻘﺎﯾﺴﻪ ،وﻇﯿﻔﻪای را ﮐﻪ ﻻﯾﮥ اﻧﺘﻘﺎل ﺑﺮ ﻋﻬﺪه دارد ،ﻣﯽﺗﻮان ﺑﺎ وﻇﺎﯾﻔﯽ ﮐــﻪ ”ﺳﯿﺴـﺘﻢ ﻣﺪﯾﺮﯾﺖ ﻓﺎﯾﻞ“ 2ﺑﻪ ﻋﻨﻮان ﺑﺨﺸﯽ از ﺳﯿﺴﺘﻢ ﻋﺎﻣﻞ ﺑﺮ ﻋﻬﺪه دارد ،ﻗﯿﺎس ﮐــﺮد .ﺳﯿﺴـﺘﻢ ﻣﺪﯾﺮﯾـﺖ ﻓﺎﯾﻞ از ﯾﮏ ﻃﺮف ﺑﺎ اﺑﺰارﻫﺎی ذﺧﯿﺮه ﺳﺎزی اﻃﻼﻋﺎت ﮐﻪ ذاﺗﺎً ﺳﺨﺖ اﻓﺰاری ،ﻣﺘﻨﻮع و ﻧﺎﻫﻤﮕﻮن ﻫﺴﺘﻨﺪ ،ﺳﺮ و ﮐﺎر دارد و از ﻃﺮف دﯾﮕﺮ ﺑﺎ ﺑﺮﻧﺎﻣﻪ ﻫﺎی ﮐﺎرﺑﺮدی در ارﺗﺒﺎط اﺳﺖ ﮐﻪ ﺑﺮای ذﺧﯿﺮه و ﺑﺎزﯾﺎﺑﯽ اﻃﻼﻋﺎت ﻓﻘﻂ ﻣﻔﻬﻮﻣﯽ ﺑﻪ ﻧﺎم ﻓﺎﯾﻞ ،در اﺧﺘﯿﺎر دارد و از دﯾﺪ ﺑﺮﻧﺎﻣﻪ ﻧﻮﯾﺲ ﻧﻮع اﺑـﺰار و ﭼﮕﻮﻧﮕﯽ و ﻣﺤﻞ ﻓﯿﺰﯾﮑﯽ ذﺧﯿﺮۀ داده ﻫﺎﯾﺶ ﻣﻬﻢ ﻧﯿﺴــﺖ ،ﺑﻠﮑـﻪ ﻓﻘـﻂ ﻋﻤﻠﯿـﺎت ﻻزم را ﺑﺮﻧﺎﻣـﻪ رﯾﺰی ﻣﯿﮑﻨﺪ .از دﯾﺪﮔﺎهِ اﺑﺰارﻫﺎی ذﺧﯿﺮه و ﺑﺎزﯾﺎﺑﯽ اﻃﻼﻋﺎت ،ﭼﯿﺰی ﺑــﻪ ﻧـﺎم ﻓـﺎﯾﻞ ،دراﯾﻮﻫـﺎی ﻣﻨﻄﻘﯽ )ﻣﺠﺎزی( و ﺟﺪول 3FATﻣﻌﻨﺎﯾﯽ ﻧﺪارد ،ﺑﻠﮑﻪ اﯾﻦ اﺑﺰار ﻣﯿﺘﻮاﻧﻨــﺪ ﯾـﮏ ﺑﻠـﻮک داده را ﺑـﺎ اﻧﺪازۀ ﺛﺎﺑﺖ ،ﺗﺤﻮﯾﻞ ﮔﺮﻓﺘﻪ و ﺑﺮ روی ﻣﺤﻞ ﻣﺸﺨﺼﯽ از ﻓﻀﺎی ﻓﯿﺰﯾﮑﯽ ذﺧﯿﺮه ﺳﺎزی اﻃﻼﻋــﺎت ﺑﻨﻮﯾﺴﻨﺪ ) ﯾﺎ ﺑﺨﻮاﻧﻨﺪ ( .ﺳﯿﺴﺘﻢ ﻣﺪﯾﺮﯾﺖ ﻓﺎﯾﻞ ﮐﻪ ﺑﯿﻦ اﯾﻦ اﺑﺰار ﻓﯿﺰﯾﮑﯽ و ﺑﺮﻧﺎﻣﻪ ﻫﺎی ﮐــﺎرﺑﺮدی ﻗﺮار ﻣﯿﮕﯿﺮد از ﯾﮏ اﺑﺰار ﻓﯿﺰﯾﮑﯽِ ﺧﺎم ،ﯾﮑﭙﺎرﭼﻪ و ﭘﯿﭽﯿﺪه ،ﺧﺪﻣﺎﺗﯽ را در ﻗﺎﻟﺐ ﻣﻔﻬﻮم ﻓﺎﯾﻞ ﺑــﻪ ﺑﺮﻧﺎﻣﻪ ﻫﺎی ﮐﺎرﺑﺮدی اراﺋﻪ ﻣﯿﮑﻨﺪ ﮐﻪ ﮐﺎﻣﻼً ﻗــﺎﺑﻞ اﻋﺘﻤـﺎد ،ﺷـﻔﺎف ،ﺳـﺎده و ﻋـﺎری از ﻫـﺮﮔﻮﻧـﻪ ﭘﯿﭽﯿﺪﮔﯽ ﺳﺨﺖ اﻓﺰاری اﺳﺖ .ﺳﯿﺴﺘﻢ ﻣﺪﯾﺮﯾﺖ ﻓﺎﯾﻞ ﺑﺮای اراﺋــﮥ ﭼﻨﯿـﻦ ﺧﺪﻣـﺎﺗﯽ ﺑـﺎﯾﺪ ﺟـﺪاول ، FATﺟﺪول دراﯾﻮﻫﺎی ﻣﻨﻄﻘﯽ ، 4ﺳﯿﺴﺘﻢ ﻓﻬﺮﺳﺖ ﻓﺎﯾﻠﻬﺎ 5و … را اﯾﺠﺎد و ﺳــﺎزﻣﺎﻧﺪﻫﯽ ﻧﻤـﺎﯾﺪ. ﺗﻨﻬﺎ ﮐﺎری ﮐﻪ ﺑﺮﻧﺎﻣﻪ ﻧﻮﯾﺲ ﺑﺮای ﺑﻬﺮه ﮔﯿﺮی از ﺧﺪﻣﺎت ﺳﯿﺴﺘﻢ ﻓﺎﯾﻞ ﺑﺎﯾﺪ اﻧﺠﺎم ﺑﺪﻫﺪ آﻧﺴﺖ ﮐــﻪ ﻓﺎﯾﻠﯽ را ﺑﮕﺸﺎﯾﺪ و ﺗﻘﺎﺿﺎی ﺧﻮاﻧﺪن از آن ﯾﺎ ﻧﻮﺷﺘﻦ در آن را ﺑﺪﻫﺪ .ﭘﯿﭽﯿﺪﮔﯽ ﻫﺎﯾﯽ ﮐــﻪ در اﯾـﻦ ﺑﯿﻦ وﺟﻮد دارد ﺗﻮﺳﻂ ﻣﺪﯾﺮ ﻓﺎﯾﻞ ﺣﻞّ و ﻓﺼﻞ ﻣﯽﺷﻮد. وﻇﯿﻔﮥ ﻻﯾﻪ اﻧﺘﻘﺎل ﻫﻤﯿﻦ ﻣﻔﻬﻮم را دﻧﺒﺎل ﻣﯿﮑﻨﺪ ﯾﻌﻨﯽ ” :ﺑﻬﺮه ﮔﯿﺮی از ﺧﺪﻣــﺎت ﻻﯾـﮥ IPﮐـﻪ ﺳﺮﯾﻊ و ﺳﺎده و در ﻋﯿﻦ ﺣﺎل ﻏﯿﺮﻣﻄﻤﺌﻦ و ﻧﺎﮐﺎرآﻣﺪ اﺳﺖ و اراﺋﮥ ﺧﺪﻣﺎﺗﯽ ﻣﻄﻤﺌﻦ ،ﺳـﺎﺧﺘﺎرﯾﺎﻓﺘﻪ Transport Layer File Management System File Allocation Table Partition Table Root Directory 1 2 3 4 5 اﺻﻮل ﻣﻬﻨﺪﺳﯽ اﯾﻨﺘﺮﻧﺖ ﻻﯾﮥ اﻧﺘﻘﺎل 191 و ﺷﻔﺎف ﺑﻪ ﺑﺮﻧﺎﻣﻪ ﻫﺎی ﮐﺎرﺑﺮدی در ﻻﯾﮥ ﺑﺎﻻﺗﺮ ،ﺑﻪ ﮔﻮﻧﻪای ﮐــﻪ ﺑﺮﻧﺎﻣـﻪ ﻧﻮﯾـﺲ از درﮔـﯿﺮی ﺑـﺎ ﺟﺰﯾﯿﺎت زﯾﺮﺷﺒﮑﻪ و ﻣﺸﮑﻼت ﮐﺎﻧﺎﻟﻬﺎی اﻧﺘﻘﺎل و ﻣﺴﺎﯾﻠﯽ از اﯾﻦ ﻗﺒﯿﻞ ﺑﻪ دور ﺑﺎﺷﺪ“. ﺑﺮای ﺗﺸﺮﯾﺢ وﻇﺎﯾﻒ ﻻﯾﮥ اﻧﺘﻘﺎل ﺑﺎﯾﺪ ﮐﺎﺳﺘﯽ ﻫﺎی ﻻﯾﮥ IPرا ﺑﺮرﺳﯽ ﮐﺮده و ﺳﭙﺲ روﺷــﯽ را ﮐﻪ ﻻﯾﮥ اﻧﺘﻘﺎل ﺑﺮای ﺟﺒﺮان آﻧﻬﺎ ﺑﺮﮔﺰﯾﺪه اﺳﺖ ،ﺗﻮﺿﯿﺢ ﺑﺪﻫﯿﻢ .دﻗﺖ ﮐﻨﯿﺪ ﮐﻪ ﻣﻨﺸﺄ ﮐﺎﺳﺘﯽ ﻫــﺎی ﻻﯾﮥ ، IPذاتِ ﮐﺎﻧﺎﻟﻬﺎی اﻧﺘﻘﺎل و ﻣﺸﮑﻼت ﻓﯿﺰﯾﮑﯽ در زﯾﺮﺷﺒﮑﮥ ارﺗﺒﺎﻃﯽ اﺳﺖ .ﻋﻤﺪۀ اﯾﻦ ﮐﺎﺳﺘﯽ ﻫﺎ ﻋﺒﺎرﺗﻨﺪ از: ½ ﺗﻀﻤﯿﻨﯽ وﺟﻮد ﻧﺪارد وﻗﺘﯽ ﺑﺴﺘﻪای ﺑﺮای ﯾﮏ ﻣﺎﺷﯿﻦ ﻣﻘﺼﺪ ارﺳــﺎل ﻣﯿﺸـﻮد آن ﻣﺎﺷـﯿﻦ آﻣـﺎدۀ درﯾﺎﻓﺖ آن ﺑﺴﺘﻪ ﺑﺎﺷﺪ و ﺑﺘﻮاﻧﺪ آﻧﺮا درﯾﺎﻓﺖ ﮐﻨﺪ. ½ ﺗﻀﻤﯿﻨﯽ وﺟﻮد ﻧﺪارد وﻗﺘﯽ ﭼﻨﺪ ﺑﺴﺘﮥ ﻣﺘﻮاﻟﯽ ﺑﺮای ﯾﮏ ﻣﺎﺷﯿﻦ ارﺳﺎل ﻣﯽﺷﻮد ﺑﻪ ﻫﻤﺎن ﺗﺮﺗﯿﺒــﯽ ﮐﻪ ﺑﺮ روی ﺷﺒﮑﻪ ارﺳﺎل ﺷﺪهاﻧﺪ ،در ﻣﻘﺼﺪ درﯾﺎﻓﺖ ﺷﻮﻧﺪ. ½ ﺗﻀﻤﯿﻨﯽ وﺟﻮد ﻧﺪارد ﮐﻪ وﻗﺘﯽ ﺑﺴﺘﻪای ﺑﺮای ﯾﮏ ﻣﻘﺼﺪ ارﺳﺎل ﻣﯽﺷﻮد ،ﺑﻪ دﻟﯿﻞ دﯾــﺮ رﺳـﯿﺪن ﻣﺠﺪداً ارﺳﺎل ﻧﺸﻮد و در ﭼﻨﯿﻦ ﺣﺎﻟﺘﯽ ﻣﻤﮑﻦ اﺳﺖ ﺑﺴﺘﻪای ﺑﻪ اﺷﺘﺒﺎه دو ﺑﺎر 1در ﻣﻘﺼﺪ درﯾـﺎﻓﺖ ﺷﻮد .ﻻﯾﮥ IPﻗﺎدر ﻧﯿﺴﺖ ﺗﻤﺎﯾﺰی ﺑﯿﻦ دو ﺑﺴﺘﮥ ﻋﯿﻦ ﻫﻢ ،ﮐﻪ ﯾﮑﯽ از آﻧﻬﺎ زاﺋﺪ اﺳﺖ ﻗﺎﺋﻞ ﺷــﻮد و ﻫﺮ دو را ﺗﺤﻮﯾﻞ ﻣﺎﺷﯿﻦ ﻣﻘﺼﺪ ﻣﯽدﻫﺪ. ½ ﻻﯾﮥ IPﻫﯿﭻ وﻇﯿﻔﻪای در ﻗﺒﺎل ﺗﻮزﯾﻊ ﺑﺴﺘﻪ ﻫﺎ ﺑﯿﻦ ﭘﺮوﺳﻪ ﻫﺎی ﻣﺨﺘﻠﻔﯽ ﮐﻪ ﺑﺮ روی ﯾﮏ ﻣﺎﺷﯿﻦ واﺣﺪ اﺟﺮا ﺷﺪهاﻧﺪ ﻧﺪارد .در ﯾﮏ ﻣﺤﯿﻂ ”ﭼﻨﺪ ﮐﺎرﺑﺮه“ 2ﯾﺎ ”ﭼﻨﺪ وﻇﯿﻔﻪای“ 3ﻣﻤﮑﻦ اﺳﺖ ﭼﻨﺪﯾﻦ ﭘﺮوﺳﮥ ﻣﺘﻔﺎوت ﺗﻘﺎﺿﺎی ارﺳﺎل ﯾﺎ درﯾﺎﻓﺖ داده داﺷﺘﻪ ﺑﺎﺷﻨﺪ .ﺣﺎل ﻓﺮض ﮐﻨﯿﺪ ﺑﺴﺘﻪای ﺑﻪ ﻻﯾــﮥ IP از ﯾﮏ ﻣﺎﺷﯿﻦ واﺣﺪ ،ﺗﺤﻮﯾﻞ داده ﺷﻮد .داده ﻫﺎی درون اﯾﻦ ﺑﺴﺘﻪ ﻣﺘﻌﻠﻖ ﺑﻪ ﮐﺪاﻣﯿﻦ ﭘﺮوﺳــﮥ در ﺣﺎل اﺟﺮا روی آن ﻣﺎﺷﯿﻦ اﺳﺖ؟ از دﯾﺪﮔﺎه ﻻﯾﮥ IPﻣﻔﻬﻮﻣﯽ ﺑﻪ ﻧﺎم ”ﭘﺮوﺳﻪ ﻫﺎی ﻣﺘﻔﺎوتِ در ﺣﺎل اﺟﺮا“ ،رﺳﻤﯿّﺖ و ﻫﻮﯾّﺖ ﻧﺪارد. ½ ﻻﯾﮥ IPﻫﯿﭻ وﻇﯿﻔﻪای در ﻗﺒﺎل ﺗﻨﻈﯿﻢ ﺳﺮﻋﺖ ﺗﺤﻮﯾﻞ ﺑﺴﺘﻪ ﻫﺎ ﺑﻪ ﯾﮏ ﻣﺎﺷﯿﻦ ﻧﺪارد .ﻣﺜﻼً ﻣﻤﮑــﻦ اﺳﺖ ﯾﮏ ﻣﺎﺷﯿﻦ ﺑﺎ ﺳﺮﻋﺖ ﺑﺴﯿﺎر زﯾﺎد ﺑﺴﺘﻪ ﻫﺎﯾﯽ را ﺗﻮﻟﯿﺪ ﮐﺮده و ﺗﺤﻮﯾــﻞ ﻻﯾـﮥ IPﺑﺪﻫـﺪ وﻟـﯽ ﻣﺎﺷﯿﻦ ﻣﻘﺼﺪ ﻗﺎدر ﻧﺒﺎﺷﺪ ﺑﺴﺘﻪ ﻫﺎ را ﺑﺎ اﯾﻦ ﺳﺮﻋﺖ درﯾﺎﻓﺖ ﮐﻨﺪ و ﺑﺴﺘﻪ ﻫــﺎ در ﻣﻘﺼـﺪ ﺑـﻪ دﻟﯿـﻞ ﻋﺪم ﺗﻮاﻧﺎﯾﯽ در درﯾﺎﻓﺖ ،از ﺑﯿﻦ ﺑﺮوﻧﺪ. در ﻻﯾﮥ اﻧﺘﻘﺎل دو ﭘﺮوﺗﮑﻞ ﺑﻪ ﻧﺎﻣﻬﺎی TCP4و UDP1ﺗﻌﺮﯾﻒ ﺷﺪهاﻧﺪ ﮐﻪ اﺑﺘﺪا ﭘﺮوﺗﮑــﻞ TCPرا ﮐﻪ ﺗﻤﺎم ﮐﺎﺳﺘﯽ ﻫﺎی ﻋﻨﻮان ﺷﺪه را ﺟﺒﺮان ﮐﺮده ﻣﻌﺮﻓــﯽ ﻣﯽﮐﻨﯿـﻢ و ﻧـﻬﺎﯾﺘﺎً ﺑـﻪ ﭘﺮوﺗﮑـﻞ UDPو ﻣﺸﺨﺼﺎت آن ﺧﻮاﻫﯿﻢ ﭘﺮداﺧﺖ. Duplication Problem Multi User Muti Task Transmission Control Protocol 1 2 3 4 اﺻﻮل ﻣﻬﻨﺪﺳﯽ اﯾﻨﺘﺮﻧﺖ ﻻﯾﮥ اﻧﺘﻘﺎل 192 (2راﻫﮑﺎرﻫﺎی ﭘﺮوﺗﮑﻞ TCPﺑﺮای ﺟﺒﺮان ﮐﺎﺳﺘﯽ ﻫﺎی ﻻﯾﮥ IP در اﯾﻦ ﺑﺨﺶ ﻣﻔﻬﻮم ﻋﻤﻠﯿﺎﺗﯽ ﮐﻪ ﭘﺮوﺗﮑﻞ TCPﺑﺮای ﺟﺒﺮان ﮐﺎﺳﺘﯿﻬﺎی ﻻﯾﮥ IPاﻧﺠﺎم ﻣﯿﺪﻫﺪ ، ﺑﺮرﺳﯽ ﻣﯽﺷﻮد و ﺳﭙﺲ ﺟﺰﺋﯿﺎت اﯾﻦ ﻋﻤﻠﯿﺎت را در ﺑﺨﺸﻬﺎی آﺗﯽ اراﺋﻪ ﻣﯽدﻫﯿﻢ. اوﻟﯿﻦ ﮐﺎﺳﺘﯽ در ﻻﯾﮥ ، IPﻋﺪم ﺗﻀﻤﯿﻦ در آﻣﺎده ﺑــﻮدن و ﺗﻮاﻧـﺎﯾﯽ درﯾـﺎﻓﺖ داده ﻫـﺎ ﺗﻮﺳـﻂ ﻣﺎﺷﯿﻦ ﻣﻘﺼﺪ ،ﻋﻨﻮان ﺷﺪ .در ﭘﺮوﺗﮑﻞ TCPراﻫﮑﺎری ﺳﺎده وﮐﺎرآﻣﺪ ﺑــﺮای اﯾـﻦ ﻣﺸـﮑﻞ اﺗﺨـﺎذ ﺷﺪه اﺳﺖ ” :ﺑﺮﻗﺮاری ﯾﮏ ارﺗﺒﺎط و اﻗﺪام ﺑﻪ ﻫﻤﺎﻫﻨﮕﯽ ﺑﯿﻦ ﻣﺒﺪأ و ﻣﻘﺼﺪ ،ﻗﺒﻞ از ارﺳﺎل ﻫﺮﮔﻮﻧﻪ داده“. ﺑﺮای ﺗﺸﺮﯾﺢ اﯾﻦ راه ﺣﻞ ،ﻓﺮض ﮐﻨﯿﺪ ﭘﺮوﺳﮥ Aﺗﻤﺎﯾﻞ داﺷﺘﻪ ﺑﺎﺷﺪ ﺑﺮای ﭘﺮوﺳﮥ Bﺑــﺮ روی ﯾﮏ ﻣﺎﺷﯿﻦ ﻣﺸﺨﺺ ،داده ﻫﺎﯾﯽ را ارﺳﺎل ﮐﻨﺪ؛ ﻗﺒﻞ از اﻗﺪام ﺑﻪ ارﺳﺎل داده ﺑﻪ ﺻﻮرت زﯾﺮ ﻋﻤــﻞ ﻣﯽﮐﻨﺪ: اﻟﻒ( Aﯾﮏ ﺑﺴﺘﮥ ﺧﺎص را ﺑﻪ ﻋﻨﻮان درﺧﻮاﺳﺖ ﺑﺮای ارﺗﺒﺎط ،ﺑﻪ آدرس ﻣﺎﺷﯿﻦ Bﻣﯽﻓﺮﺳﺘﺪ و ﻣﻨﺘﻈﺮ ﻣﯽﻣﺎﻧﺪ. ب ( Bدرﺧﻮاﺳﺖ ارﺗﺒﺎط را درﯾﺎﻓﺖ ﮐﺮده و ﺑﺮ ﺣﺴﺐ ﺷﺮاﯾﻂ ،آﻣﺎدﮔﯽ ﯾﺎ ﻋــﺪم آﻣـﺎدﮔـﯽ ﺧﻮد را ﺑﻪ Aاﻋﻼم ﻣﯿﻨﻤﺎﯾﺪ ) .ﻣﻤﮑﻦ اﺳﺖ Bاﺻﻼً وﺟﻮد ﺧﺎرﺟﯽ ﻧﺪاﺷــﺘﻪ ﺑﺎﺷـﺪ و ﻃﺒﻌـﺎً ﻫﯿـﭻ ﭘﺎﺳﺨﯽ ﺑﺮ ﻧﻤﯿﮕﺮدد( . ج ( در ﺻﻮرﺗﯽ ﮐﻪ Aدر ﯾﮏ ﻣﻬﻠﺖ زﻣﺎن ﻣﺸﺨﺺ ،ﭘﺎﺳﺦ ﻣﺜﺒـﺖ ﻣﺒﻨـﯽ ﺑـﺮ آﻣـﺎده ﺑـﻮدن B درﯾﺎﻓﺖ ﻧﻤﺎﯾﺪ ﻣﯿﺘﻮاﻧﺪ ﺑﻪ ارﺳﺎل داده ﻫﺎ اﻗﺪام ﻧﻤﺎﯾﺪ. ﺑﻪ ﭘﺮوﺗﮑﻠﻬﺎﯾﯽ ﮐﻪ ﻗﺒﻞ از ﻣﺒﺎدﻟﮥ داده ﻫﺎ ﺳﻌﯽ در ﺑﺮﻗﺮاری ﯾــﮏ ارﺗﺒـﺎط و اﯾﺠـﺎد ﻫﻤـﺎﻫﻨﮕﯽ ﻗﺒﻠﯽ ﻣﯽﻧﻤﺎﯾﻨﺪ ﭘﺮوﺗﮑﻠﻬﺎی ”اﺗﺼﺎل ﮔﺮا“ 2ﮔﻔﺘﻪ ﻣﯿﺸﻮد .در اﯾﻦ ﭘﺮوﺗﮑﻠﻬﺎ ﺧﺎﺗﻤﮥ ﻣﺒﺎدﻟﮥ داده ﻫﺎ ﻧـﯿﺰ ﺑﺎﯾﺴﺘﯽ در ﯾﮏ روﻧﺪ ﻫﻤﺎﻫﻨﮓ و ﺑﺎ اﻃﻼع ﻗﺒﻠﯽ اﻧﺠﺎم ﺷﻮد: اﻟﻒ( Aﺧﺎﺗﻤﮥ ارﺳﺎل داده ﻫﺎی ﺧﻮد را اﻋﻼم ﻣﯽﮐﻨﺪ وﻟﯽ ﺑﺎﯾﺪ ﻣﻨﺘﻈــﺮ ﺑﻤـﺎﻧﺪ و ﺑـﻪ درﯾـﺎﻓﺖ داده ﻫﺎی ارﺳﺎﻟﯽ از ﻃﺮف Bاداﻣﻪ ﺑﺪﻫﺪ ﺗﺎ آ ﻧﮑﻪ Bﻧﯿﺰ اﻋﻼم ﺧﺘﻢ ارﺗﺒﺎط را ﺗﺎﯾﯿﺪ ﮐﻨﺪ. ب ( Bﻧﯿﺰ اﻋﻼم ﺧﺘﻢ ارﺗﺒﺎط ﮐﺮده و ارﺗﺒﺎط ،در ﯾﮏ روﻧﺪ ﻫﻤﺎﻫﻨﮓ ﺧﺎﺗﻤﻪ ﻣﯽﯾﺎﺑﺪ. اﻟﺒﺘﻪ ﻣﻤﮑﻦ اﺳﺖ اﺗﻔﺎﻗﺎﺗﯽ در ﺧﻼل ﻣﺒﺎدﻟﮥ داده ﻫﺎ رخ ﺑﺪﻫﺪ ﮐﻪ ﺗﻮﺳﻂ ﻻﯾﮥ TCPﻗــﺎﺑﻞ ﺣـﻞ ﻧﺒﺎﺷﺪ ) ﻣﺜﻞ ﺧﺮاﺑﯽ ﺧﻂ ﯾﺎ ﺧﺎﺗﻤﻪ ﻧﺎﻫﻨﮕﺎم ﯾﮑﯽ از ﺑﺮﻧﺎﻣﻪ ﻫﺎی Aﯾﺎ Bﺗﻮﺳﻂ ﺳﯿﺴﺘﻢ ﻋﺎﻣﻞ در اﺛﺮ 1 User 2 Datagram Protocol Connectuion Oriented اﺻﻮل ﻣﻬﻨﺪﺳﯽ اﯾﻨﺘﺮﻧﺖ ﻻﯾﮥ اﻧﺘﻘﺎل 193 ﺑﺮوز ﯾﮏ ﻣﺸﮑﻞ داﺧﻠﯽ ،1ﯾﺎ ﻫﺮ اﺗﻔﺎق دﯾﮕﺮ ( اﯾﻦ ﻣﺸﮑﻼت در ﭘﺮوﺗﮑﻞ TCPﺗﻮﺳﻂ زﻣﺎن ﺳــﻨﺞ ﻫﺎی ﺧﺎﺻّﯽ ﮐﺸﻒ و ﻣﺪﯾﺮﯾﺖ ﻣﯽﺷﻮﻧﺪ ﮐﻪ در ﺑﺨﺸﯽ ﻣﺠﺰا ﺑﻪ آﻧﻬﺎ ﺧﻮاﻫﯿﻢ ﭘﺮداﺧﺖ. ﻣﻌﻀﻼت ﺑﻌﺪی در ﻻﯾﮥ IPﺗﻀﻤﯿﻦ ﺑﻪ ﺗﺮﺗﯿﺐ رﺳﯿﺪن داده ﻫﺎ و ﺻﺤّﺖ آﻧﻬﺎﺳــﺖ .ﺣـﻞّ اﯾـﻦ ﻣﺴﺎﯾﻞ ﭼﻨﺪان ﻣﺸﮑﻞ ﻧﯿﺴﺖ .ﻣﺠﺪداّ ﻓﺮض ﮐﻨﯿﺪ ﭘﺮوﺳﮥ Aﺗﻤﺎﯾﻞ داﺷﺘﻪ ﺑﺎﺷﺪ ﺑﺮای ﭘﺮوﺳﮥ Bﺑــﺮ روی ﯾﮏ ﻣﺎﺷﯿﻦ ﻣﺸﺨﺺ ،داده ﻫﺎﯾﯽ را ارﺳﺎل ﮐﻨﺪ و ﻗﺒﻞ از اﻗﺪام ﺑﻪ ارﺳﺎل داده ﻫﺎ ﯾﮏ ارﺗﺒﺎط ﻣﻮﻓﻖ ﺑﺮﻗﺮار ﮐﺮده ﺑﺎﺷﺪ .ﺑﺮای ﺗﻀﻤﯿﻦ ﺻﺤّﺖ و ﺗﺮﺗﯿﺐ داده ﻫﺎ روﻧﺪ زﯾﺮ ﻗﺎﺑﻞ اﻧﺠﺎم اﺳﺖ: اﻟﻒ( Aﺑﺨﺸﯽ از داده ﻫﺎﯾﯽ ﮐﻪ ﺑﺎﯾﺪ ارﺳﺎل ﺷﻮﻧﺪ را در ﻗﺎﻟﺐ ﯾﮏ ﺑﺴﺘﻪ ﺳﺎزﻣﺎﻧﺪﻫﯽ ﮐــﺮده و در ﺳﺮآﯾﻨﺪ آن ﯾﮏ ”ﺷﻤﺎرۀ ﺗﺮﺗﯿﺐ“ 2ﺗﻨﻈﯿﻢ ﻣﯽﻧﻤﺎﯾﺪ؛ ﺳﭙﺲ ﺿﻤﻦ ﻧﮕﻬﺪاری آن ﺑﺴﺘﻪ درون ﯾــﮏ ﺑﺎﻓﺮ ،آن را ﺟﻬﺖ ﻫﺪاﯾﺖ ﺑﻪ ﺳﻤﺖ ﻣﻘﺼﺪ ،ﺗﺤﻮﯾﻞ ﻻﯾﮥ IPﻣﯽدﻫﺪ و ﯾﮏ ”زﻣﺎن ﺳــﻨﺞ“ ﺗﻨﻈﯿـﻢ ﻣﯿﻨﻤﺎﯾﺪ .ﻫﻤﭽﻨﯿﻦ ﺑﺮای ﻧﻈﺎرت ﺑﺮ ﺧﻄﺎﻫﺎی اﺣﺘﻤﺎﻟﯽ ﯾﮏ ﮐﺪ 16ﺑﯿﺘــﯽ ﮐﺸـﻒ ﺧﻄـﺎ در ﺳـﺮآﯾﻨﺪ ﺑﺴﺘﻪ ﻗﺮار ﻣﯽدﻫﺪ. ب ( در ﺻﻮرﺗﯽ ﮐﻪ Bﺑﺴﺘﮥ ارﺳﺎﻟﯽ از Aرا ﺳﺎﻟﻢ درﯾﺎﻓﺖ ﮐﺮد ،ﯾــﮏ ”ﭘﯿﻐـﺎم ﺗﺼﺪﯾـﻖ“ ﮐـﻪ 3 اﺧﺘﺼﺎراً Ackﻧﺎﻣﯿﺪه ﻣﯿﺸﻮد ﺑﺮای Aﭘﺲ ﻣﯽﻓﺮﺳﺘﺪ. ج ( اﮔـﺮ Aدر زﻣـﺎن ﻣﻘـﺮّر ﭘﯿﻐـﺎم Ackرا درﯾـﺎﻓﺖ ﮐـﺮد ،ﺑـﺎﻓﺮ ﻣﺮﺑـﻮط ﺑـــﻪ آن ﺑﺴــﺘﻪ را آزاد ﮐﺮده و اﻗــﺪام ﺑـﻪ اداﻣـﮥ ارﺳـﺎل داده ﻫـﺎ ﺑـﻪ ﻫﻤﯿـﻦ روال ﻣﯿﻨﻤـﺎﯾﺪ .اﮔـﺮ ﺑـﻪ دﻟﯿـﻞ ﺧﺮاﺑـﯽ داده ﻫـﺎ ) ﯾـﺎ ﺧﺮاﺑـﯽ ﭘﯿﻐـﺎم Ackدر ﻣﺴـﯿﺮ ﺑـﺮﮔﺸـــﺖ ( در ﻣــﻬﻠﺖ ﻣﻘــﺮر ﭘﯿﻐــﺎم ﺗﺼﺪﯾــﻖ 4 درﯾﺎﻓﺖ ﻧﺸﻮد ،ﺑﺴﺘﻪ ﺑﺎﻓﺮﺷــﺪه از ﻧـﻮ ارﺳـﺎل ﻣﯿﺸـﻮد. ﺑﺎ ﻗــﺮار دادن ﺷـﻤﺎرۀ ﺗﺮﺗﯿـﺐ ﺑـﺮای داده ﻫـﺎ ﻣﯽﺗـﻮان ﺗﻀﻤﯿـﻦ ﮐـﺮد ﮐـﻪ ﺟﺮﯾـﺎن داده ﻫـﺎ ﺑـﻪ ﺗﺮﺗﯿﺐ ﻣﯽرﺳــﻨﺪ و ﺑـﻪ ﻫـﺮ دﻟﯿﻠـﯽ اﮔـﺮ ﺑﺴـﺘﻪای دو ﺑـﺎر درﯾـﺎﻓﺖ ﺷـﻮﻧﺪ ،ﺑـﺎ ﻣﻘﺎﯾﺴـﮥ ﺷـﻤﺎره ﻫﺎی ﺗﺮﺗﯿﺐ ،ﯾﮑــﯽ از آﻧـﻬﺎ دور اﻧﺪاﺧﺘـﻪ ﻣﯽﺷـﻮد. ﺑـﺎ ﺗﻨﻈﯿـﻢ ﯾـﮏ ﮐـﺪ 16ﺑﯿﺘـﯽ ﮐﺸـﻒ ﺧﻄـــﺎ در ﻣﺒــﺪأ و ﺑﺮرﺳــﯽ ﻣﺠــﺪّد آن در ﻣﻘﺼــﺪ ، ﻣﯽﺗـﻮان از ﺻﺤـﺖ داده ﻫـﺎ ﻧـﯿﺰ ﻣﻄﻤﺌـﻦ ﺷـﺪ .ﺟﺰﺋﯿـﺎت اﯾـﻦ ﻋﻤﻠﯿـﺎت ﺑـﺎ ﺗﺸـﺮﯾﺢ ﭘﺮوﺗﮑـــﻞ TCPﻣﺸﺨﺺ ﺧﻮاﻫــﺪ ﺷـﺪ. Bug Sequence Number 1 2 3ارﺳﺎل Ackﻣﻌﻤﻮﻻ ﺑﺼـﻮرت ﻣﺠـﺰا ارﺳـﺎل ﻧﻤﯿﺸـﻮد ﺑﻠﮑـﻪ ﺿﻤﯿﻤـﮥ اﻃﻼﻋـﺎﺗﯽ ﻣﯿﺸـﻮد ﮐـﻪ ﻗـﺮار اﺳـﺖ در ﭘﺎﺳـﺦ ، ارﺳﺎل ﺷﻮد ،ﻣﮕﺮ آﻧﮑﻪ داده ای ﺑﺮای ارﺳﺎل وﺟﻮد ﻧﺪاﺷﺘﻪ ﺑﺎﺷﺪ؛ ﺑﻪ اﯾﻦ روش Piggy Backingﮔﻔﺘﻪ ﻣﯿﺸﻮد. 4ﺑﻪ ﭘﺮوﺗﮑﻬﺎﯾﯽ ﮐﻪ ﻓﻘﻂ در ﻫﻨﮕﺎم درﯾﺎﻓﺖ ﺻﺤﯿﺢ داده ﻫﺎ ﭘﯿﻐﺎم Ackﺑﺮﻣﯿﮕﺮداﻧﻨﺪ و در ﺻﻮرت درﯾﺎﻓﺖ ﺑﺴﺘﮥ ﺧﺮاب ﺳﺎﮐﺖ ﻣﯿﻤﺎﻧﻨﺪ ،ﭘﺮوﺗﮑﻠﻬﺎی -Positive Acknowledgement with Retransmission- PARﮔﻔﺘﻪ ﻣﯿﺸﻮد. ﻻﯾﮥ اﻧﺘﻘﺎل 194 اﺻﻮل ﻣﻬﻨﺪﺳﯽ اﯾﻨﺘﺮﻧﺖ در ﭘﺮوﺗﮑـﻞ TCPﺑـﺮای ﺑـﻪ رﺳـﻤﯿّﺖ ﺷـﻨﺎﺧﺘﻦ ﭘﺮوﺳـﻪ ﻫـﺎی ﻣﺨﺘﻠﻔـﯽ ﮐـﻪ ﺑـــﺮ روی ﯾــﮏ ﻣﺎﺷﯿﻦ در ﺣﺎل اﺟﺮا ﻫﺴﺘﻨﺪ راه ﺣــﻞ زﯾـﺮ اراﺋـﻪ ﺷـﺪه اﺳـﺖ: ﻫـﺮ ﭘﺮوﺳـﻪ ﺑـﺮای ﺗﻘﺎﺿـﺎی ﺑﺮﻗـﺮاری ﯾـﮏ ارﺗﺒـﺎط ﺑـﺎ ﭘﺮوﺳـﻪای دﯾﮕـﺮ روی ﺷـﺒﮑﻪ ،ﯾــﮏ ﺷﻤﺎرۀ ﺷﻨﺎﺳﺎﯾﯽ ﺑــﺮای ﺧـﻮد ﺑﺮﻣـﯽﮔﺰﯾﻨـﺪ .ﺑـﻪ اﯾـﻦ ﺷـﻤﺎرۀ ﺷﻨﺎﺳـﺎﯾﯽ ”آدرس ﭘـﻮرت“ 1ﮔﻔﺘـﻪ ﻣﯽﺷـﻮد .در ﺳـﺮآﯾﻨﺪ ﺑﺴـﺘﻪای ﮐـﻪ ﺗﻮﺳـﻂ ﭘﺮوﺗﮑـﻞ TCPﺳـﺎزﻣﺎﻧﺪﻫﯽ ﻣﯽﺷـﻮد آدرس ﭘــﻮرت ﭘﺮوﺳـﮥ ﻓﺮﺳـﺘﻨﺪه و آدرس ﭘـﻮرت ﭘﺮوﺳـﮥ ﮔـﯿﺮﻧﺪۀ آن درج ﻣﯽﺷـــﻮد .ﯾﮑﺘــﺎ ﺑــﻮدن ﺷــﻤﺎره ﻫـﺎی ﭘـﻮرت ﮐـﻪ ﺑـﻪ ﭘﺮوﺳـﻪ ﻫـﺎ رﺳـﻤﯿﺖ و ﻫﻮﯾـﺖ ﻣﯽﺑﺨﺸـﺪ ،ﺗﻮﺳـﻂ ﭘﺮوﺗﮑـﻞ TCPﺑـــﻪ ﻋﻨـﻮان ﺟﺰﺋـﯽ از ﺳﯿﺴـﺘﻢ ﻋـﺎﻣﻞ ﻧﻈـﺎرت ﺧﻮاﻫـﺪ ﺷـﺪ .ﺳﯿﺴـﺘﻢ ﻋـﺎﻣﻞ ﺟﺪوﻟـﯽ را ﻧﮕـــﻬﺪاری ﻣﯿﮑﻨﺪ ﮐﻪ ﺷــﻤﺎره ﺷﻨﺎﺳـﺎﯾﯽ ﺗﻘﺎﺿـﺎ دﻫﻨـﺪۀ ارﺗﺒـﺎط در آن وﺟـﻮد دارد. ﺑـﻪ ﺷـﮑﻞ ) (5-1دﻗـﺖ ﮐﻨﯿـﺪ .آدرس ، IPﯾـﮏ ﻣﺎﺷـﯿﻦ ﯾﮑﺘـﺎ را در ﮐـﻞ ﺷـــﺒﮑﻪ ﻣﺸــﺨﺺ ﻣﯽﻧﻤﺎﯾﺪ؛ ﺷﻤﺎرۀ ﭘــﻮرت ﻧـﯿﺰ از ﺑﯿـﻦ ﭘﺮوﺳـﻪ ﻫـﺎی اﺟـﺮا ﺷـﺪه ﺑـﺮ روی آن ﻣﺎﺷـﯿﻦ ،ﯾﮑـﯽ از آﻧﻬﺎ را ﺑــﻪ ﻋﻨـﻮان ﻣﺒـﺪأ )ﯾـﺎ ﻣﻘﺼـﺪ( ﺗﻌﯿﯿـﻦ ﻣﯽﮐﻨـﺪ .ﺑﻨـﺎﺑﺮاﯾﻦ زوجِ آدرس IPو آدرس ﭘـﻮرت ﻣﯽﺗﻮاﻧـﺪ ﯾـﮏ ﭘﺮوﺳـﮥ ﯾﮑﺘـﺎ و واﺣـﺪ را ﺑـﺮ روی ﻫـﺮ ﻣﺎﺷـﯿﻦ در دﻧﯿـﺎ ﻣﺸـــﺨﺺ ﻧﻤــﺎﯾﺪ .در ادﺑﯿﺎت ﺷــﺒﮑﻪ ﺑـﻪ اﯾـﻦ زوج آدرس ” ،آدرس ﺳـﻮﮐﺖ“ ﮔﻔﺘـﻪ ﻣﯽﺷـﻮد: ( IP Address : Port Number ) = Socket Address 193.142.22.121:80 ﻣﺜﺎل : ) اﻟﺒﺘـﻪ اﺻﻄـﻼح ”آدرس ﺳـﻮﮐﺖ“ ﻧﺒـﺎﯾﺪ ﺑـﺎ ﻣﻔـﻬﻮم ”ﺑﺮﻧﺎﻣـﻪ ﻧﻮﯾﺴـﯽ ﺳـﻮﮐﺖ“ اﺷـﺘﺒﺎه ﺷــﻮد ، آﻧﺮا در ﻓﺼﻠﯽ ﺟﺪاﮔﺎﻧﻪ ﺑــﻪ ﺗﻔﺼﯿـﻞ ﺑﺮرﺳـﯽ ﺧﻮاﻫﯿـﻢ ﮐـﺮد(. ﺷﮑﻞ ) (5-1آدرس دﻫﯽ ﭘﺮوﺳﻪ ﻫﺎ ﺑﻮﺳﯿﻠﮥ ﺷﻤﺎره ﭘﻮرت روی ﯾﮏ ﻣﺎﺷﯿﻦ واﺣﺪ Port Number 1 ﻻﯾﮥ اﻧﺘﻘﺎل 195 اﺻﻮل ﻣﻬﻨﺪﺳﯽ اﯾﻨﺘﺮﻧﺖ ﺑـﺮای ﺣـﻞ ﻣﺴـﺌﻠﮥ ﻫﻤـﺎﻫﻨﮕﯽ ﺳـﺮﻋﺖ ارﺳـﺎل و درﯾـــﺎﻓﺖ در ﭘﺮوﺗﮑــﻞ TCPاﻟﮕﻮرﯾﺘﻤــﯽ ﭘﻮﯾﺎ ﺑﺮای ﺗﻨﻈﯿﻢ ﻣﺠﻤﻮﻋــﮥ زﻣـﺎن ﺳـﻨﺠﻬﺎﯾﯽ ﮐـﻪ در اﯾـﻦ راﺑﻄـﻪ اﻧﺠـﺎم وﻇﯿﻔـﻪ ﻣﯽﻧﻤـﺎﯾﻨﺪ ﺑﮑـﺎر ﮔﺮﻓﺘﻪ ﺷﺪه اﺳﺖ ﮐﻪ در ﺑﺨﺸــﯽ ﻣﺠـﺰا ﺗﺸـﺮﯾﺢ ﺧﻮاﻫـﺪ ﺷـﺪ. ﻗﺒﻞ از وارد ﺷــﺪن ﺑـﻪ ﺟﺰﺋﯿـﺎت ﭘﺮوﺗﮑـﻞ TCPﺑـﻬﺘﺮ اﺳـﺖ ﺳـﺎﺧﺘﺎر ﺑﺴـﺘﻪ ای را ﮐـﻪ اﯾـﻦ ﭘﺮوﺗﮑﻞ ﺑﺮای ﺗﺤﻮﯾــﻞ ﺑـﻪ ﻻﯾـﮥ IPﺗﻨﻈﯿـﻢ و ﺳـﺎزﻣﺎﻧﺪﻫﯽ ﻣﯿﮑﻨـﺪ ،ﻣـﻮرد ﺑﺮرﺳـﯽ ﻗـﺮار ﺑﺪﻫﯿـﻢ ﭼﺮا ﮐﻪ ﺑﺴﯿﺎری از ﻣﺴﺎﺋﻞ ﺑﺎ ﺑﺮرﺳــﯽ ﺳـﺎﺧﺘﺎر اﯾـﻦ ﺑﺴـﺘﻪ آﺷـﮑﺎر ﺧﻮاﻫـﺪ ﺷـﺪ ) .ﺑﺴـﺘﻪای ﮐـﻪ در ﻻﯾـﮥ اﻧﺘﻘـﺎل ﺗﻮﻟﯿـﺪ و ﺗﻨﻈﯿـﻢ ﻣﯽﺷـﻮد ” ،ﻗﻄﻌـــﮥ 1“TCPﯾــﺎ TPDU2ﻧــﺎم دارد ،ﮐــﻪ ﺑــﻪ اﺧﺘﺼﺎر ﺑﻪ آن ﺑﺴــﺘﮥ TCPﺧﻮاﻫﯿـﻢ ﮔﻔـﺖ( . ﭘﺮوﺗﮑــﻞ TCP (3ﺳـﺎﺧﺘﺎر ﺑﺴـﺘﻪ ﻫـﺎی در اﯾﻦ ﺑﺨﺶ ﯾــﮏ دﯾـﺪ ﮐﻠـﯽ از ﭘﺮوﺗﮑـﻞ TCPاراﺋـﻪ ﻣﯽﻧﻤـﺎﺋﯿﻢ و ﺳـﺎﺧﺘﺎر ﺳـﺮآﯾﻨﺪ ﺑﺴـﺘﻪ ﻫﺎ را در اﯾـﻦ ﭘﺮوﺗﮑـﻞ ،ﺗﻮﺿﯿـﺢ ﺧﻮاﻫﯿـﻢ داد .در ﺷـﮑﻞ ) (5-2ﺳـﺎﺧﺘﺎر ﯾـﮏ ﺑﺴـﺘﮥ TCPﺑـﻪ ﺗﺼﻮﯾﺮ ﮐﺸﯿﺪه ﺷــﺪه اﺳـﺖ. 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 Source Port Destination Port Sequence Number Acknowledgement Number Window Size U A P R S F R C S S Y I G K H T N N Urgent Pointer TCP Header Length Checksum )Options (0 or more 32-bit words )Data (optional ﺷﮑﻞ ) (5-2ﺳﺎﺧﺘﺎر ﯾﮏ ﺑﺴﺘﮥ TCP TCP Segment Transport Protocol Data Unit 1 2 اﺻﻮل ﻣﻬﻨﺪﺳﯽ اﯾﻨﺘﺮﻧﺖ ﻻﯾﮥ اﻧﺘﻘﺎل 196 ♦ ﻓﯿﻠـﺪ : Source Portدر اﯾـﻦ ﻓﯿﻠـﺪ ﯾـﮏ ﺷـﻤﺎرۀ 16ﺑﯿﺘـﯽ ﺑﻌﻨـﻮان آدرس ﭘـﻮرت ﭘﺮوﺳــﮥ ﻣﺒﺪأ ﮐﻪ اﯾﻦ ﺑﺴﺘﻪ را ﺟﻬﺖ ارﺳــﺎل ،ﺗﻮﻟﯿـﺪ ﮐـﺮده ،ﻗـﺮار ﺧﻮاﻫـﺪ ﮔﺮﻓـﺖ. ♦ ﻓﯿﻠـﺪ : Destination Portدر اﯾـﻦ ﻓﯿﻠـﺪ ،آدرس ﭘـﻮرتِ ﭘﺮوﺳـﮥ ﻣﻘﺼـﺪ ﮐـﻪ آﻧـﺮا ﺗﺤﻮﯾــﻞ ﺧﻮاﻫﺪ ﮔﺮﻓﺖ ،ﺗﻌﯿﯿــﻦ ﺧﻮاﻫـﺪ ﺷـﺪ . ﻫﻤﺎﻧﮕﻮﻧﻪ ﮐﻪ در ﺑﺨﺶ ﻗﺒﻠــﯽ اﺷـﺎره ﺷـﺪ اﯾـﻦ دو آدرس ﻣﺸـﺨﺺ ﻣﯽﮐﻨﻨـﺪ ﮐـﻪ اﯾـﻦ ﺑﺴـﺘﮥ از ﭼـﻪ ﺑﺮﻧﺎﻣـﮥ ﮐـﺎرﺑﺮدی در ﻻﯾـﻪ ﺑـﺎﻻﺗﺮ ﺗﻮﻟﯿـﺪ و ﺑـﺎﯾﺪ ﺑـﻪ ﭼـــﻪ ﺑﺮﻧﺎﻣــﻪای در ﻣﺎﺷــﯿﻦ ﻣﻘﺼــﺪ ﺗﺤﻮﯾـﻞ داده ﺷـﻮد .ﺑﺮﺧـﯽ از ﭘﺮوﺳـﻪ ﻫـﺎی ﮐـــﺎرﺑﺮدی و اﺳــﺘﺎﻧﺪارد دارای ﺷــﻤﺎره ﭘــﻮرت اﺳﺘﺎﻧﺪارد و ﺟــﻬﺎﻧﯽ ﻫﺴـﺘﻨﺪ؛ ﻣﺜـﻼًُ ﺳـﺮوﯾﺲ دﻫﻨـﺪه ﭘﺴـﺖ اﻟﮑـﺘﺮوﻧﯿﮑﯽ دارای ﺷـﻤﺎره ﭘـﻮرت 25اﺳﺖ .ﺑﻪ ﺟﺪول ﺷﻤﺎره ﭘﻮرﺗــﻬﺎی اﺳـﺘﺎﻧﺪارد در اﻧﺘـﻬﺎی اﯾـﻦ ﻓﺼـﻞ ﻧﮕـﺎﻫﯽ ﺑﯿﻨﺪازﯾـﺪ. ♦ ﻓﯿﻠـﺪ : Sequence Numberاﯾـﻦ ﻓﯿﻠـﺪ ﺳـﯽ و دو ﺑﯿﺘـﯽ ،ﺷـﻤﺎرۀ ﺗﺮﺗﯿـﺐ آﺧﺮﯾـﻦ ﺑـــﺎﯾﺘﯽ را ﮐﻪ در ”ﻓﯿﻠﺪ داده“ از ﺑﺴــﺘﮥ ﺟـﺎری ﻗـﺮار دارد ،ﻧﺸـﺎن ﻣﯽدﻫـﺪ. در ﭘﺮوﺗﮑﻞ TCPﺷــﻤﺎرۀ ﺗﺮﺗﯿـﺐ ،ﺑـﺮ ﺣﺴـﺐ ﺷـﻤﺎرۀ آﺧﺮﯾـﻦ ﺑـﺎﯾﺘﯽ اﺳـﺖ ﮐـﻪ در ﺑﺴـﺘﮥ ﺟـﺎری ﻗـﺮار ﮔﺮﻓﺘـﻪ و ارﺳـﺎل ﺷـﺪه اﺳـﺖ .ﺑﻌﻨـﻮان ﻣﺜـﺎل اﮔـﺮ در اﯾـﻦ ﻓﯿﻠـﺪ ﻋـﺪدی ﻣﻌــﺎدل 19341ﻗﺮار ﺑﮕــﯿﺮد ﺑـﻪ اﯾـﻦ ﻣﻌﻨﺎﺳـﺖ ﮐـﻪ داده ﻫـﺎ ﺗـﺎ ﺑـﺎﯾﺖ ﺷـﻤﺎرۀ 19341درون ﻓﯿﻠـﺪ داده ﻗﺮار دارد .دﻗﺖ ﮐﻨﯿﺪ ﮐــﻪ اﯾـﻦ ﻋـﺪد ﺑﻤﻌﻨـﺎی آن ﻧﯿﺴـﺖ ﮐـﻪ ﺑـﻪ ﺗﻌـﺪادِ 19341ﺑـﺎﯾﺖ ،درون ﻗﺴـﻤﺖ داده ﻗـﺮار دارد ،ﺑﻠﮑـﻪ ﻫﻤﯿﺸـﻪ ﺑـــﻪ ﺷــﻤﺎرۀ ﺗﺮﺗﯿــﺐ آﺧﺮﯾــﻦ ﺑــﺎﯾﺖ داده ،اﺷــﺎره ﻣﯿﻨﻤﺎﯾﺪ .ﯾﻌﻨﯽ ﻣﻤﮑﻦ اﺳــﺖ ﮐـﻪ ﮐـﻼً درون ﻓﯿﻠـﺪ داده ﻓﻘـﻂ ﯾـﮏ ﺑـﺎﯾﺖ ﻗـﺮار داﺷـﺘﻪ ﺑﺎﺷـﺪ در ﺣﺎﻟﯽ ﮐــﻪ در ﻓﯿﻠـﺪ ﺷـﻤﺎرۀ ﺗﺮﺗﯿـﺐ ﻋـﺪد 19341ﻗـﺮار داﺷـﺘﻪ ﺑﺎﺷـﺪ .دﻗّـﺖ ﺷـﻮد ﮐـﻪ ﺷـﻤﺎرۀ ﺗﺮﺗﯿﺐِ اوﻟﯿــﻦ ﺑـﺎﯾﺖ ،از ﺻﻔـﺮ ﺷـﺮوع ﻧﻤﯽﺷـﻮد ﺑﻠﮑـﻪ از ﯾـﮏ ﻋـﺪد ﺗﺼـﺎدﻓﯽ ﮐـﻪ در ﻫﻨﮕـﺎم ﺑﺮﻗﺮاری ارﺗﺒﺎط ﺑﻪ اﻃﻼع ﻃﺮﻓﯿــﻦ ﻣﯿﺮﺳـﺪ ،ﺷـﺮوع ﺧﻮاﻫـﺪ ﺷـﺪ. ♦ ﻓﯿﻠـﺪ : Acknawledgement Numberاﯾـﻦ ﻓﯿﻠـﺪ 32ﺑﯿﺘـﯽ ﻧـﯿﺰ ﺷـﻤﺎرۀ ﺗﺮﺗﯿـﺐ ﺑـﺎﯾﺘﯽ ﮐــﻪ ﻓﺮﺳـﺘﻨﺪۀ ﺑﺴـﺘﻪ ﻣﻨﺘﻈـﺮِ درﯾـﺎﻓﺖ آن اﺳـﺖ را ﺗﻌﯿﯿـﻦ ﻣﯽﮐﻨـﺪ .ﺑﻌﻨـﻮان ﻣﺜـﺎل اﮔـﺮ دراﯾـﻦ ﻓﯿﻠـــﺪ ﻋـﺪدی ﻣﻌـﺎدل 342310ﻗـﺮار ﮔﺮﻓﺘـﻪ ﺑﺎﺷـﺪ ﺑﺪﯾـﻦ ﻣﻌﻨﺎﺳـــﺖ ﮐــﻪ از رﺷــﺘﻪ داده ﻫــﺎ )ﮐــﻪ ﻣﺸـﺨﺺ ﻧﯿﺴـﺖ ﭼﻨـﺪ ﺑـﺎﯾﺖ اﺳـﺖ( ﺗـﺎ ﺷـﻤﺎره 342310ﺻﺤﯿـﺢ و ﮐـﺎﻣﻞ درﯾـــﺎﻓﺖ ﺷــﺪه اﺳﺖ و ﻣﻨﺘﻈﺮ ﺑﺎﯾﺘــﻬﺎی از 342311ﺑـﻪ ﺑﻌـﺪ ﻣﯽﺑﺎﺷـﺪ . ♦ ﻓﯿﻠـﺪ : TCP Header Lengthﻋـﺪدی ﮐـﻪ در اﯾـﻦ ﻓﯿﻠـﺪ ﻗـﺮار ﻣـﯽﮔـﯿﺮد ،ﻃـﻮل ﺳـﺮآﯾﻨﺪ ﺑﺴـﺘﮥ TCPرا ﺑـﺮ ﻣﺒﻨـﺎی ﮐﻠﻤـﺎت 32ﺑﯿﺘـﯽ ﺗﻌﯿﯿـﻦ ﻣﯽﮐﻨـﺪ .ﺑﻌﻨـﻮان ﻣﺜـﺎل اﮔـﺮ در اﯾـﻦ ﻓﯿﻠــﺪ ﻋﺪد 7ﻗﺮار ﺑﮕﯿﺮد ﻃﻮل ﺳــﺮآﯾﻨﺪ ﻣﻘـﺪار 4×7=28ﺑـﺎﯾﺖ ﺧﻮاﻫـﺪ ﺑـﻮد ) .اﯾـﻦ ﻓﯿﻠـﺪ ﮐـﻼً ﭼـﻬﺎر ﺑﯿﺘﯽ اﺳﺖ ( دﻗّﺖ ﮐﻨﯿــﺪ ﮐـﻪ ﻗﺴـﻤﺖ ﺛـﺎﺑﺖ و اﺟﺒـﺎری در ﯾـﮏ ﺑﺴـﺘﮥ TCPﺣﺪاﻗـﻞ 20ﺑـﺎﯾﺖ اﺳـﺖ وﻟـﯽ در ﻓﯿﻠـﺪ اﺧﺘﯿـﺎری Optionsﻣﯽﺗﻮاﻧـﺪ اﻃﻼﻋـﺎﺗﯽ ﻗـﺮار و ﺑﻨـــﺎﺑﺮاﯾﻦ ﮔــﯿﺮﻧﺪۀ ﯾــﮏ ﻻﯾﮥ اﻧﺘﻘﺎل 197 اﺻﻮل ﻣﻬﻨﺪﺳﯽ اﯾﻨﺘﺮﻧﺖ ﺑﺴـﺘﮥ TCPﺑـﺎﯾﺪ ﺑﺘﻮاﻧـﺪ ﻣـﺮز ﺑﯿـﻦ ﺳـﺮآﯾﻨﺪِ ﺑﺴـﺘﻪ و ﻗﺴـﻤﺖ داده را ﺗﺸـﺨﯿﺺ ﺑﺪﻫـﺪ .ﭘـــﺲ ﻋﺪدی ﮐﻪ در اﯾــﻦ ﻓﯿﻠـﺪ ﻗـﺮار ﻣـﯽﮔـﯿﺮد ﻣﯽﺗﻮاﻧـﺪ ﺑﻌﻨـﻮان ﯾـﮏ ”اﺷـﺎره ﮔـﺮ“ ، 1ﻣﺤـﻞ ﺷـﺮوع داده ﻫـﺎ را در ﯾـﮏ ﺑﺴـﺘﮥ TCPﺗﻌﯿﯿـﻦ ﮐﻨـﺪ )ﺗﻮﺟـﻪ دارﯾـﺪ ﮐـﻪ ﻣﺒﻨـﺎی اﯾـﻦ ﻋـﺪد ﮐﻠﻤــﺎت 32 ﺑﯿﺘﯽ ) ﭼﻬﺎر ﺑــﺎﯾﺘﯽ ( ﻫﺴـﺘﻨﺪ( ♦ 6ﺑﯿﺖ ﺑــﻼ اﺳـﺘﻔﺎده :ﭘـﺲ از ﻓﯿﻠـﺪ TCP Header Lengthﺷـﺶ ﺑﯿـﺖ ﺑـﻼ اﺳـﺘﻔﺎده رﻫـﺎ ﺷﺪه اﺳﺖ ﮐﻪ ﺷــﺎﯾﺪ ﺑـﺮای اﺳـﺘﻔﺎده در آﯾﻨـﺪه رزرو ﺷـﺪهاﻧﺪ . ♦ ﺑﯿﺘﻬﺎی : Flagﺷﺶ ﺑﯿﺖ ﺑﻌــﺪی در ﺑﺴـﺘﮥ TCPﻫـﺮ ﮐـﺪام ﻧﻘـﺶ ﯾـﮏ ﺑﯿـﺖ ﭘـﺮﭼـﻢ را ﮐـﻪ ﻣﻌﻨﺎ و ﮐﺎرﺑﺮد ﻣﺨﺘﻠﻔــﯽ دارﻧـﺪ را ﺑـﺎزی ﻣﯿﮑﻨﻨـﺪ. F I N S Y N R S T U A P R C S G K H ﺗﮏ ﺗﮏ اﯾﻦ ﺑﯿﺘﻬﺎ و ﻣﻌﻨﺎی آﻧﻬﺎ را ﺑﻪ ﺗﺮﺗﯿﺐ ﺑﺮرﺳﯽ ﻣﯽﮐﻨﯿﻢ: • ﺑﯿﺖ : URGدر ﺻﻮرﺗﯽ ﮐﻪ اﯾﻦ ﺑﯿﺖ ﻣﻘﺪار 1داﺷﺘﻪ ﺑﺎﺷﺪ ،ﻣﻌﯿﻦ ﻣﯽﮐﻨــﺪ ﮐـﻪ در ﻓﯿﻠـﺪ Urgent Pointerﮐﻪ در اداﻣﻪ ﻣﻌﺮﻓﯽ ﺧﻮاﻫﺪ ﺷﺪ ﻣﻘﺪاری ﻗــﺎﺑﻞ اﺳـﺘﻨﺎد و ﻣﻌﺘـﺒﺮ ﻗـﺮار دارد و ﺑﺎﯾﺴﺘﯽ ﻣﻮرد ﭘﺮدازش ﻗﺮار ﮔﯿﺮد .درﺻﻮرﺗﯽ ﮐﻪ اﯾﻦ ﺑﯿﺖ ﺻﻔﺮ ﺑﺎﺷﺪ ﻓﯿﻠــﺪ Urgent Pointer ﺷﺎﻣﻞ ﻣﻘﺪار ﻣﻌﺘﺒﺮ و ﻗﺎﺑﻞ اﺳﺘﻨﺎدی ﻧﯿﺴﺖ و از آن ﭼﺸﻤﭙﻮﺷﯽ ﻣﯽﺷﻮد. • ﺑﯿﺖ : ACKاﮔﺮ در اﯾﻦ ﺑﯿﺖ ﻣﻘﺪار 1ﻗﺮار ﮔﺮﻓﺘﻪ ﺑﺎﺷﺪ ،ﻧﺸﺎن ﻣﯽدﻫﺪ ﮐـﻪ ﻋـﺪدی ﮐـﻪ در ﻓﯿﻠﺪ Acknowledgement Numberﻗﺮار ﮔﺮﻓﺘﻪ اﺳﺖ ،دارای ﻣﻘﺪاری ﻣﻌﺘﺒﺮ و ﻗﺎﺑﻞ اﺳﺘﻨﺎد اﺳﺖ .ﺑﯿﺖ ACKو ﺑﯿﺖ SYNﻧﻘﺶ دﯾﮕﺮی ﻧﯿﺰ دارﻧﺪ ﮐﻪ در اداﻣﻪ ﺑﺪان اﺷﺎره ﺧﻮاﻫﺪ ﺷﺪ. • ﺑﯿﺖ : PSH2اﮔﺮ در اﯾﻦ ﺑﯿﺖ ﻣﻘﺪار 1ﻗﺮار ﮔﺮﻓﺘﻪ ﺑﺎﺷــﺪ ﻓﺮﺳـﺘﻨﺪۀ اﻃﻼﻋـﺎت از ﮔـﯿﺮﻧﺪه ﺗﻘﺎﺿﺎ ﻣﯽﮐﻨﺪ ﮐﻪ داده ﻫﺎی ﻣﻮﺟﻮد در اﯾﻦ ﺑﺴﺘﻪ را ﺑﺎﻓﺮ ﻧﮑﻨﺪ و در اﺳﺮع وﻗــﺖ آﻧـﺮا ﺟـﻬﺖ ﭘﺮدازﺷﻬﺎی ﺑﻌﺪی ﺗﺤﻮﯾﻞ ﺑﺮﻧﺎﻣﮥ ﮐﺎرﺑﺮدی ﺻﺎﺣﺐ آن ﺑﺪﻫﺪ .اﯾﻦ ﻋﻤﻞ ﮔــﺎﻫﯽ ﺑـﺮای ﺑﺮﻧﺎﻣـﻪ ﻫﺎﺋﯽ ﻣﺸﺎﺑﻪ Telnetﺿﺮوری اﺳﺖ؛ ﺑﻌﻨﻮان ﻣﺜﺎل ﻓﺮض ﮐﻨﯿﺪ ﯾﮏ ﮐﺎرﺑﺮ ﺑﺎ ﮐــﺎﻣﭙﯿﻮﺗﺮ ﺷـﺨﺼﯽ ﺧﻮد از ﻧﻮع ﺳﺎزﮔﺎر ﺑﺎ IBMﺑﻪ ﮐﺎﻣﭙﯿﻮﺗﺮی در ﻓﺎﺻﻠﻪ ﻫﺰاران ﮐﯿﻠﻮﻣﺘﺮی ﺧﻮد وﺻــﻞ ﺷـﺪه و ﺗﺼﻤﯿﻢ دارد از ﻃﺮﯾﻖ ﯾﮏ ﻣﺤﯿﻂ ﺷﺒﯿﻪ ﺳﺎزی ﺷﺪه ﺑﺎ ﮐﺎﻣﭙﯿﻮﺗﺮ ﺳﺮوﯾﺲ دﻫﻨﺪه ارﺗﺒﺎط ﺑﺮﻗﺮار ﮐﺮده و دﺳﺘﻮرات ﺳﯿﺴﺘﻢ ﻋﺎﻣﻞ UNIXرا ﺗﻤﺮﯾﻦ ﻧﻤﺎﯾﺪ .ﻓﺮض ﮐﻨﯿﺪ ﮐﺎرﺑﺮ دﺳﺘﻮر ) lsﻣﻌــﺎدل dirدر ( DOSرا اﺟﺮا ﻣﯽﮐﻨﺪ و ﺑﺎﻟﻄﺒﻊ ﺗﻮﻗﻊ دارد ﭘﺲ از ارﺳﺎل اﯾﻦ دو ﮐــﺎراﮐﺘﺮ و ﺗﺤﻮﯾـﻞ آن ﺑﻪ ﺑﺮﻧﺎﻣﻪ Telnetﺳﺮﯾﻌﺎً ﭘﺎﺳﺦ ﻻزم را روی ﺻﻔﺤﮥ ﻧﻤﺎﯾﺸﺶ ﺑﺒﯿﻨﺪ وﻟــﯽ ﻧـﺮم اﻓـﺰار TCP 1 Pointer 2 Push اﺻﻮل ﻣﻬﻨﺪﺳﯽ اﯾﻨﺘﺮﻧﺖ ﻻﯾﮥ اﻧﺘﻘﺎل 198 ﻣﻌﻤﻮﻻً در ﻫﻨﮕﺎم درﯾﺎﻓﺖ ﺑﺴﺘﻪ ﻫﺎی ﮐﻮﭼﮏ ،آﻧﻬﺎ را ﺑﺎﻓﺮ ﮐﺮده ﺗﺎ وﻗﺘﯽ ﺣﺠﻢ ﺑﺎﻓﺮ ﺑﻪ اﻧﺪازۀ ﻣﺸﺨﺼﯽ ﭘﺮ ﺷﺪ ،آﻧﺮا ﯾﮑﺠﺎ ﺗﺤﻮﯾﻞ ﺑﺮﻧﺎﻣﻪ ﮐﺎرﺑﺮدی ﺑﺪﻫﺪ .در ﭼﻨﯿﻦ ﺣﺎﻟﺘﯽ ﻓﺮﺳﺘﻨﺪۀ ﺑﺴﺘﻪ ﺑﺎ 1ﮐﺮدن ﺑﯿﺖ ، PSHاز ﮔﯿﺮﻧﺪۀ آن ﻣﯽﺧﻮاﻫﺪ ﮐﻪ آﻧﺮا ﺑﺎﻓﺮ ﻧﮑﻨﺪ. • ﺑﯿﺖ : RSTاﮔﺮ در اﯾﻦ ﺑﯿﺖ ﻣﻘﺪار 1ﻗﺮار ﺑﮕﯿﺮد ارﺗﺒﺎط ﺑﺼﻮرت ﯾﮑﻄﺮﻓﻪ و ﻧﺎﺗﻤﺎم ﻗﻄــﻊ ﺧﻮاﻫﺪ ﺷﺪ ،1ﺑﺪﯾﻦ ﻣﻌﻨﺎ ﮐﻪ ﺑﻪ ﻫﺮ دﻟﯿﻠﯽ ) اﻋﻢ از ﻧﻘــﺺ ﺳـﺨﺖ اﻓـﺰاری ﯾـﺎ ﻧـﺮم اﻓـﺰاری( اﺷﮑﺎﻟﯽ ﺑﻮﺟﻮد آﻣﺪه ﮐﻪ ﯾﮑﯽ از ﻃﺮﻓﯿﻦ ارﺗﺒﺎط ﻣﺠﺒﻮر ﺑﻪ ﺧﺎﺗﻤﻪ ارﺗﺒﺎط ﻓﻌﻠــﯽ ﺷـﺪه اﺳـﺖ. ﻫﻤﭽﻨﯿﻦ ﺑﯿﺖ RSTﻣﯽﺗﻮاﻧﺪ ﺑﻌﻨﻮان ﻋﻼﻣﺖ ﻋﺪم ﭘﺬﯾﺮش ﺑﺮﻗﺮاری ارﺗﺒــﺎط ﺑﮑـﺎر ﺑـﺮود.اﮔـﺮ ﯾﮑﯽ از ﻃﺮﻓﯿﻦ ارﺗﺒﺎط ﯾﮏ ﺑﺴﺘﻪ درﯾﺎﻓﺖ ﮐﻨﺪ ﮐﻪ در آن ﺑﯿــﺖ RSTﻣﻘـﺪار 1داﺷـﺘﻪ ﺑﺎﺷـﺪ ، ارﺗﺒﺎط ﺑﺼﻮرت ﻧﺎﻫﻤﺎﻫﻨﮓ و ﻧﺎﻣﺘﻌﺎدل ،ﻗﻄﻊ ﺧﻮاﻫﺪ ﺷﺪ. • ﺑﯿﺖ : SYNاﯾﻦ ﺑﯿﺖ ﻧﻘﺶ اﺳﺎﺳﯽ در ﺑﺮﻗﺮاری ﯾﮏ ارﺗﺒﺎط ﺑﺎزی ﻣﯽﮐﻨﺪ .ﺑﺮﻗﺮاریِ ﯾﮏ ارﺗﺒﺎطِ TCPاز روﻧﺪ زﯾﺮ ﺗﺒﻌﯿﺖ ﻣﯿﮑﻨﺪ: اﻟـﻒ( ﺷـﺮوع ﮐﻨﻨـﺪه ارﺗﺒـﺎط ﯾـﮏ ﺑﺴـﺘﮥ TCPﺑـﺪون ﻫﯿﭽﮕﻮﻧـﻪ داده و ﺑـﺎ ﺗﻨﻈﯿـﻢ ﺑﯿﺘـــﻬﺎی ) ، (ACK=0, SYN=1ﺑـﺮای ﻃـﺮف ﻣﻘـﺎﺑﻞ ارﺳـﺎل ﻣﯽﮐﻨـﺪ .در ﺣﻘﯿﻘـــﺖ ارﺳــﺎل ﭼﻨﯿــﻦ ﺑﺴﺘﻪ ای ﺑﻪ ﻣﻌﻨﺎی ”ﺗﻘﺎﺿــﺎی ﺑﺮﻗـﺮاری ارﺗﺒـﺎط“ 2ﺗﻠﻘـﯽ ﻣﯽﺷـﻮد. ب( در ﭘﺎﺳـﺦ ﺑـﻪ درﺧﻮاﺳـﺖ ارﺗﺒـﺎط ،در ﺻﻮرﺗﯿﮑـﻪ ﻃـﺮف ﻣﻘـﺎﺑﻞ ﺑـﻪ ﺑﺮﻗـﺮاری ارﺗﺒــﺎط ﺗﻤـﺎﯾﻞ داﺷـﺘﻪ ﺑﺎﺷـﺪ ﺑﺴـﺘﻪ ای ﺑـﺮ ﻣـﯽﮔﺮداﻧـﺪ ﮐـﻪ در آن ﺑﯿـﺖ SYN=1و ﺑﯿـــﺖ ACK=1 اﺳﺖ .اﯾﻦ ﺑﺴﺘﻪ ﻧﻘﺶ ”ﭘﺬﯾــﺮش ﯾـﮏ ارﺗﺒـﺎط“ 3را ﺑـﺎزی ﻣﯽﮐﻨـﺪ. ﺑﺮﻗﺮاری ارﺗﺒــﺎط را ﺑﯿﺸـﺘﺮ ﺗﻮﺿﯿـﺢ ﺧﻮاﻫﯿـﻢ داد. • ﺑﯿـﺖ : FINاﮔـﺮ ﯾﮑـﯽ از ﻃﺮﻓﯿـﻦ ارﺗﺒـﺎط ،داده دﯾﮕـﺮی ﺑـﺮای ارﺳـﺎل ﻧﺪاﺷـﺘﻪ ﺑﺎﺷــﺪ در ﻫﻨﮕـﺎم ارﺳـﺎل آﺧﺮﯾـﻦ ﺑﺴـﺘﮥ ﺧـﻮد اﯾـﻦ ﺑﯿـــﺖ را 1ﻣﯽﮐﻨــﺪ و در ﺣﻘﯿﻘــﺖ ارﺳــﺎل اﻃﻼﻋـﺎت ﺧـﻮدش را ﯾﮑﻄﺮﻓـﻪ ﻗﻄـﻊ ﻣﯽﮐﻨـﺪ .در اﯾـﻦ ﺣـﺎﻟﺖ اﮔـﺮ ﭼـﻪ ارﺳـﺎل اﻃﻼﻋــﺎت ﻗﻄﻊ ﺷﺪه و ﻟﯿﮑﻦ ﻃﺮف ﻣﻘــﺎﺑﻞ ﻫﻨـﻮز ﻣﻤﮑـﻦ اﺳـﺖ ﺑـﻪ ارﺳـﺎل اﻃﻼﻋـﺎت ﻣﺸـﻐﻮل ﺑﺎﺷـﺪ. زﻣﺎﻧﯽ ارﺗﺒﺎط ﮐﺎﻣﻼً ﺧﺎﺗﻤﻪ ﻣﯽﯾـﺎﺑﺪ ﮐـﻪ ﻃـﺮف ﻣﻘـﺎﺑﻞ ﻧـﯿﺰ در ﯾـﮏ ﺑﺴـﺘﻪ ﺑـﺎ 1ﮐـﺮدن ﺑﯿـﺖ ، FINارﺳﺎل اﻃﻼﻋــﺎت را ﺧﺎﺗﻤـﻪ ﺑﺪﻫـﺪ. ♦ ﻓﯿﻠـﺪ : Windows Sizeﻣﻘـﺪار ﻗـﺮار ﮔﺮﻓﺘـﻪ در اﯾـﻦ ﻓﯿﻠـﺪ ﻣﺸـﺨﺺ ﻣﯽﮐﻨـﺪ ﮐـﻪ ﻓﻀـــﺎی ﺑﺎﻓﺮِ ﮔﯿﺮﻧﺪه ﭼﻨﺪ ﺑﺎﯾﺖ دﯾﮕــﺮ ﻇﺮﻓﯿـﺖ ﺧـﺎﻟﯽ دارد .ﯾﻌﻨـﯽ ﺑـﻪ ﻃـﺮف ﻣﻘـﺎﺑﻞ اﻋـﻼم ﻣﯽﮐﻨـﺪ ﮐـﻪ ﻣﺠـﺎز اﺳـﺖ از ﺑـﺎﯾﺖ ﺑـﺎ ﺷـﻤﺎرۀ ﺗﺮﺗﯿﺒـﯽ ﮐـﻪ در ﻓﯿﻠـﺪ Acknowledgementﻣﺸـــﺨﺺ ﺷــﺪه 1 Abnormaly 2 Connection 3 Ended Request Connection Accept ﻻﯾﮥ اﻧﺘﻘﺎل 199 اﺻﻮل ﻣﻬﻨﺪﺳﯽ اﯾﻨﺘﺮﻧﺖ اﺳﺖ ،ﺣﺪاﮐــﺜﺮ ﺑـﻪ اﻧـﺪازۀ ﻣﻘـﺪاری ﮐـﻪ در اﯾـﻦ ﻓﯿﻠـﺪ درج ﺷـﺪه ،ارﺳـﺎل داﺷـﺘﻪ ﺑﺎﺷـﺪ و در ﻏﯿﺮ اﯾﻨﺼــﻮرت ﻓﻀـﺎی ﮐـﺎﻓﯽ ﺑـﺮای درﯾـﺎﻓﺖ داده ﻫـﺎ وﺟـﻮد ﻧﺪاﺷـﺘﻪ و ﻧـﺎﮔﺰﯾـﺮ دور رﯾﺨﺘـﻪ ﺧﻮاﻫﺪ ﺷﺪ .اﮔﺮ ﻣﻘﺪار اﯾﻦ ﻓﯿﻠﺪ ﺻﻔﺮ ﺑﺎﺷــﺪ ﺑﺪﯾـﻦ ﻣﻌﻨﺎﺳـﺖ ﮐـﻪ ﺑـﺎﻓﺮ ﮔـﯿﺮﻧﺪه ﺗﻤﺎﻣـﺎً ﭘـﺮ ﺷـﺪه اﺳﺖ و اﻣﮑــﺎن درﯾـﺎﻓﺖ داده ﻫـﺎی ﺑﻌـﺪی وﺟـﻮد ﻧـﺪارد و ﭘﺮوﺳـﮥ ﻓﺮﺳـﺘﻨﺪه ﻣﺘﻮﻗـﻒ ﺧﻮاﻫـﺪ ﺷﺪ؛ در اﯾﻦ ﻣﻮرد ﻧــﯿﺰ ﺑﯿﺸـﺘﺮ ﺗﻮﺿﯿـﺢ ﺧﻮاﻫﯿـﻢ داد. ♦ ﻓﯿﻠـﺪ : Checksumدر اﯾـﻦ ﻓﯿﻠـﺪ 16ﺑﯿﺘـﯽ ،ﮐـﺪ ﮐﺸـﻒ ﺧﻄـﺎ ﻗـﺮار ﻣـﯽﮔـــﯿﺮد .ﻃﺮﯾﻘــﻪ ﻣﺤﺎﺳﺒﻪ اﯾﻦ ﮐﺪ اﻧﺪﮐــﯽ ﻣﺘﻔـﺎوت از روﺷـﻬﺎی ﻣﻌﻤـﻮل اﺳـﺖ: اﻟـﻒ( ﮐـﻞّ ﺑﺴـﺘﮥ TCPﺷـﺎﻣﻞ ﻗﺴـﻤﺖ ﺳـﺮآﯾﻨﺪ ﺑﺴـﺘﻪ و ﻗﺴـﻤﺖ داده ،در ﻗـﺎﻟﺐ ﮐﻠﻤــﺎت 16 ﺑﯿﺘﯽ در ﻧﻈــﺮ ﮔﺮﻓﺘـﻪ ﻣﯽﺷـﻮد ) .ﻣﻨـﻬﺎی ﻗﺴـﻤﺖ ( Checkum ب ( ﯾﮏ ”ﺳﺮآﯾﻨﺪ ﻓﺮﺿﯽ“ 1ﮐــﻪ در ﺑﺴـﺘﮥ TCPوﺟـﻮد ﻧـﺪارد ،ﺑـﺎ ﻗـﺎﻟﺐ زﯾـﺮ ﺳـﺎﺧﺘﻪ ﺷـﺪه و ﺑﺼﻮرت ﮐﻠﻤﺎت 16ﺑﯿﺘــﯽ در ﻧﻈـﺮ ﮔﺮﻓﺘـﻪ ﻣﯽﺷـﻮد. ج ( ﺗﻤﺎﻣﯽ ﮐﻠﻤــﺎت در ”ﻣﺒﻨـﺎی ﻣﮑﻤـﻞ 2“1ﺑـﺎ ﻫـﻢ ﺟﻤـﻊ ﺷـﺪه و ﺳـﭙﺲ ﻋـﺪد ﺑﺪﺳـﺖ آﻣـﺪه در ﻣﺒﻨﺎی ﻣﮑﻤﻞ 1ﻣﻨﻔﯽ ﻣﯽﺷﻮد .اﯾــﻦ ﻋـﺪد ﻧـﻬﺎﯾﺘﺎً در ﻓﯿﻠـﺪ Checksumﻗـﺮار ﻣـﯽﮔـﯿﺮد. اﮔﺮ در ﺣﯿﻦ ارﺳﺎل داده ﻫــﺎ ﺧﻄـﺎﺋﯽ ﺑـﺮوز ﻧﮑﻨـﺪ ،ﭘـﺲ از درﯾـﺎﻓﺖ ﺑﺴـﺘﻪ در ﻣﻘﺼـﺪ ،ﺟﻤـﻊ ﮐـﻞ ﮐﻠﻤـﺎت 16ﺑﯿﺘـﯽ ﻣﻮﺟـﻮد در ﯾـﮏ ﺑﺴـﺘﮥ TCPﺑـﻪ اﻧﻀﻤـﺎم ”ﺳـﺮآﯾﻨﺪ ﻓﺮﺿـﯽ“ ﺑﺎﯾﺴــﺘﯽ ﺻﻔﺮ ﺷﻮد ،در ﻏــﯿﺮ اﯾﻨﺼـﻮرت داده ﻫـﺎی ﻏﯿﺮﻣﻌﺘـﺒﺮ و ﺧـﺮاب ﻫﺴـﺘﻨﺪ. ﺳﺎﺧﺘﺎر ”ﺳﺮآﯾﻨﺪ ﻓﺮﺿﯽ“ ﮐﻪ ﺑﺼــﻮرت ﺳـﺎﺧﺘﮕﯽ ﺗﻮﻟﯿـﺪ ﻣﯽﺷـﻮد ﺑﺼـﻮرت زﯾـﺮ اﺳـﺖ: 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 Source IP Address Destination IP Address TCP Segment Length 00000110 00000000 ﻫﻤﺎﻧﮕﻮﻧﻪ ﮐﻪ دﯾﺪه ﻣﯽﺷﻮد اﯾــﻦ ﺳـﺮآﯾﻨﺪ ﺳـﺎﺧﺘﮕﯽ ﺷـﺎﻣﻞ ﻓﯿﻠﺪﻫـﺎی زﯾـﺮ اﺳـﺖ: • 32ﺑﯿﺖ آدرس IPﻣﺮﺑــﻮط ﺑـﻪ ﻣﺎﺷـﯿﻦ ﻣﺒـﺪأ • 32ﺑﯿﺖ آدرس IPﻣﺮﺑــﻮط ﺑـﻪ ﻣﺎﺷـﯿﻦ ﻣﻘﺼـﺪ • ﯾﮏ ﻓﯿﻠﺪ ﻫﺸﺖ ﺑﯿﺘــﯽ ﮐـﺎﻣﻼً ﺻﻔـﺮ • ﻓﯿﻠﺪ ﻫﺸﺖ ﺑﯿﺘﯽ ﭘﺮوﺗﮑــﻞ ﮐـﻪ ﺑـﺮای ﭘﺮوﺗﮑـﻞ TCPﯾﻘﯿﻨـﺎً ﻣﻘـﺪار 6دارد. Pseudo Header 1’s Compelement 1 2 اﺻﻮل ﻣﻬﻨﺪﺳﯽ اﯾﻨﺘﺮﻧﺖ ﻻﯾﮥ اﻧﺘﻘﺎل 200 • ﻓﯿﻠﺪ TCP Segment Lengthﮐـﻪ در آن ﻃـﻮل ﮐـﻞ ﺑﺴـﺘﮥ TCPﻣﺸـﺨﺺ ﻣﯽﺷـﻮد. ♦ ﻓﯿﻠـﺪ : Urgent Pointerدر اﯾـﻦ ﻓﯿﻠـﺪ ﯾـﮏ ﻋـﺪد ﺑﻌﻨـﻮان اﺷـﺎره ﮔـﺮ ﻗـﺮار ﻣـﯽﮔـﯿﺮد ﮐــﻪ ﻣﻮﻗﻌﯿـﺖ داده ﻫـﺎی اﺿﻄـﺮاری را درون ﺑﺴـﺘﮥ TCPﻣﻌﯿـﻦ ﻣﯽﮐﻨـﺪ .اﯾـــﻦ داده ﻫــﺎ ،زﻣــﺎﻧﯽ اﺗﻔﺎق ﻣﯽاﻓﺘﻨﺪ و ارﺳــﺎل ﻣﯽﺷـﻮﻧﺪ ﮐـﻪ ﻋﻤﻠـﯽ ﺷـﺒﯿﻪ وﻗـﻮع وﻗﻔـﻪ ﻫـﺎ در ﻫﻨﮕـﺎم اﺟـﺮای ﯾـﮏ ﺑﺮﻧﺎﻣـﮥ ﮐـﺎرﺑﺮدی رخ ﺑﺪﻫـﺪ .ﺑـﺪون آﻧﮑـﻪ ارﺗﺒـﺎط ﻗﻄـﻊ ﺷـﻮد داده ﻫـﺎی ﻻزم در ﻫﻤﯿـﻦ ﺑﺴــﺘﮥ ﺟﺎری ارﺳﺎل ﺧﻮاﻫﺪ ﺷــﺪ .دﻗّـﺖ ﮐﻨﯿـﺪ ﮐـﻪ داده ﻫـﺎی اﺿﻄـﺮاری ﺗﻮﺳـﻂ ﺑﺮﻧﺎﻣـﮥ ﮐـﺎرﺑﺮدی در ﻻﯾﮥ ﺑﺎﻻﺗﺮ ﭘﺮدازش ﺧﻮاﻫــﺪ ﺷـﺪ و ﺑـﺮای ﭘﺮوﺗﮑـﻞ TCPﮐـﺎرﺑﺮدی ﻧـﺪارد. ♦ ﻓﯿﻠـﺪ : Optionsدر اﯾـﻦ ﻓﯿﻠـﺪ اﺧﺘﯿـﺎری اﺳـﺖ و ﻣﻘـﺪاری ﻧﻈـﯿﺮ ﺣﺪاﮐـــﺜﺮ ﻃــﻮل ﺑﺴــﺘﮥ TCPدر آن ﻗﺮار ﻣﯿﮕــﯿﺮد .ﺑـﺮای آﻧﮑـﻪ ﻃـﻮل ﺑﺴـﺘﻪ ﺿﺮﯾﺒـﯽ از 4ﺑـﺎﻗﯽ ﺑﻤـﺎﻧﺪ از اﯾـﻦ ﻓﯿﻠـﺪ ﺑـﺎ ﮐﺪﻫـﺎی ﺑـﯽ ارزش اﺳـﺘﻔﺎده ﻣﯽﺷـﻮد .ﮔﺰﯾﻨـﮥ ﺧـﺎص دﯾﮕـﺮی در اﯾـﻦ ﻓﯿﻠـﺪ ﺗﻌﺮﯾـــﻒ ﻧﺸــﺪه اﺳـﺖ. (4روش ﺑﺮﻗـﺮاری ارﺗﺒـﺎط در ﭘﺮوﺗﮑـــﻞ TCP ﺑـﺮای ﺑﺮﻗـﺮاری ارﺗﺒـــﺎط در ﭘﺮوﺗﮑــﻞ TCPاز روش ”دﺳــﺖ ﺗﮑــﺎﻧﯽ ﺳــﻪ ﻣﺮﺣﻠــﻪ ای“ اﺳﺘﻔﺎده ﻣﯽﺷﻮد .اﻟﺒﺘﻪ ﺑﺮﻗﺮاری ارﺗﺒﺎط ﻣﻨــﻮط ﺑـﻪ اﯾـﻦ ﻗﻀﯿـﻪ اﺳـﺖ ﮐـﻪ ﻃﺮﻓﯿـﻦ ارﺗﺒـﺎط آﻣـﺎدۀ ﺑﺮﻗﺮاری ﯾــﮏ ارﺗﺒـﺎط ﺑﺎﺷـﻨﺪ ﯾﻌﻨـﯽ ﯾﮑﻄـﺮف ﮐـﻪ ﻓﻌـﻼً آﻧـﺮا ﺳـﺮوﯾﺲ دﻫﻨـﺪه ﻣﯽﻧـﺎﻣﯿﻢ ﺑـﺮای ﺑﺮﻗـﺮاری ارﺗﺒـﺎط از ﻃﺮﯾـﻖ ﺗﻮاﺑـﻊ ﺳﯿﺴـﺘﻤﯽ )( listenو )( acceptاﻋـﻼم آﻣـﺎدﮔـﯽ ﮐـﺮده ﺑﺎﺷــﺪ و ﻃـﺮف ﻣﻘـﺎﺑﻞ ﻧـﯿﺰ ﯾﻌﻨـﯽ ﻣﺸـﺘﺮی ﺑـﺎ ﻓﺮاﺧﻮاﻧـﯽ ﺗـﺎﺑﻊ ﺳﯿﺴـﺘﻤﯽ )( connectو ﺗﻌﯿﯿـــﻦ آدرس IPو آدرس ﭘﻮرت ﭘﺮوﺳــﮥ ﻣﻘﺼـﺪ ،ﺗﻤـﺎﯾﻞ ﺧـﻮد را ﺑـﺮای ارﺗﺒـﺎط ،اﺑـﺮاز ﻧﻤـﺎﯾﺪ .اﯾـﻦ ﺗﻮاﺑـﻊ در ﻓﺼـﻞ ﺑﺮﻧﺎﻣـﻪ ﻧﻮﯾﺴـﯽ ﺗﺤـﺖ ﺷـﺒﮑﻪ ﺑﻄـﻮر ﻣﺒﺴـﻮط ﺗﻮﺿﯿـﺢ داده ﺧﻮاﻫـﺪ ﺷـﺪ .در ﭼﻨﯿــﻦ ﺣﺎﻟﺘﯽ ﺑﯿﻦ ﻃﺮﻓﯿﻦ اﺗﻔﺎﻗــﺎت 3ﻣﺮﺣﻠـﻪ ای زﯾـﺮ ﺧﻮاﻫـﺪ اﻓﺘـﺎد )در ﺣـﺎﻟﺖ ﻃﺒﯿﻌـﯽ(. در ﺷﮑﻞ ) (5-3اﯾﻦ ﻣﺮاﺣﻞ ﺑــﻪ ﺗﺼﻮﯾـﺮ ﮐﺸـﯿﺪه ﺷـﺪه اﺳـﺖ. در ﻣﺮﺣﻠﻪ اوّل ،از ﻃﺮف ﺷﺮوع ﮐﻨﻨــﺪۀ ارﺗﺒـﺎط ،ﯾـﮏ ﺑﺴـﺘﮥ ) TCPﺧـﺎﻟﯽ از داده ( ارﺳـﺎل ﺧﻮاﻫﺪ ﺷﺪ ﮐﻪ در آن ﺑﯿﺖ SYN=1و ﺑﯿﺖ ACK=0اﺳﺖ و درون ﻓﯿﻠــﺪ ﺷـﻤﺎره ﺗﺮﺗﯿـﺐ ﻋـﺪد x ﻗﺮار داده ﺷﺪه ﮐﻪ در آن xﯾﮏ ﻋﺪد ﺗﺼﺎدﻓﯽ اﺳﺖ .در ﺣﻘﯿﻘﺖ ﺑﺎ اﯾﻦ ﺷﻤﺎره ﺑــﻪ ﻃـﺮف ﻣﻘـﺎﺑﻞ اﻃﻼع داده ﻣﯽﺷﻮد ﮐﻪ ﺗﺮﺗﯿﺐ داده ﻫﺎی ارﺳﺎﻟﯽ از ﺷﻤﺎره x+1ﺷﺮوع ﻣﯽﺷﻮد .در ﭘﺮوﺗﮑﻞ TCP ﺷﻤﺎره ﺗﺮﺗﯿﺐ 32ﺑﯿﺘﯽ اﺳﺖ ﻟﺬا ﺑﺮای ﭘﯿﺸﮕﯿﺮی از ﻣﺸﮑﻼت اﺣﺘﻤــﺎﻟﯽ ﻧﺎﺷـﯽ از ﻣﺴـﺎوی ﺑـﻮدن ﺷﻤﺎرۀ ﺗﺮﺗﯿﺐ ﺑﺴﺘﻪ ﻫﺎی ارﺳﺎﻟﯽ ،داده ﻫﺎ از ﺷــﻤﺎره 0ﺷـﺮوع ﻧﻤﯽﺷـﻮﻧﺪ ،ﺑﻠﮑـﻪ از ﯾـﮏ ﻋـﺪد ﺗﺼﺎدﻓﯽ )ﮐﻪ ﺑﺼﻮرت ﺧﻮدﮐﺎر ﺗﻮﻟﯿﺪ ﻣﯽﺷﻮد( ،ﺷﺮوع ﻣﯽﮔﺮدد و در ﻫﻤﺎن ﻣﺮﺣﻠﮥ اول ،اﯾﻦ ﻻﯾﮥ اﻧﺘﻘﺎل 201 اﺻﻮل ﻣﻬﻨﺪﺳﯽ اﯾﻨﺘﺮﻧﺖ 1 SYN=1 Sequence Number=x SYN=1, ACK=1 Sequence Number=y Sequence Number=x+1 SYN=1, ACK=1 Sequence Number=y+1 Sequence Number=x+1 2 3 ﺷﮑﻞ ) (5-3ﻣﺮاﺣﻞ دﺳﺖ ﺗﮑﺎﻧﯽ ﺳﻪ ﻣﺮﺣﻠﻪ ای ﺑﺮای ﺑﺮﻗﺮاری ارﺗﺒﺎط در ﭘﺮوﺗﮑﻞ TCP ﺷﻤﺎرۀ ﺗﺮﺗﯿــﺐ ﺑـﻪ ﻃـﺮف ﻣﻘـﺎﺑﻞ اﻋـﻼم ﺧﻮاﻫـﺪ ﺷـﺪ .ﺑﻌﻨـﻮان ﻣﺜـﺎل اﮔـﺮ SEQ=145500ﺑﺎﺷـﺪ ﺑﺪﯾﻦ ﻣﻌﻨﺎﺳﺖ ﮐﻪ داده ﻫــﺎﺋﯽ ﮐـﻪ ﻗـﺮار اﺳـﺖ ارﺳـﺎل ﺷـﻮﻧﺪ ﺷـﻤﺎره ﺗﺮﺗﯿـﺐ آﻧـﻬﺎ از 145501 آﻏﺎز ﺧﻮاﻫﺪ ﺷﺪ .ﻃﺮف ﻣﻘﺎﺑﻞ ﺣﺘﻤــﺎً ﺑـﺎﯾﺪ از اﯾـﻦ ﻣﻮﺿـﻮع ﺑـﺎﺧﺒﺮ ﺑﺎﺷـﺪ. در ﻣﺮﺣﻠـﮥدوم ،ﻃـﺮف ﻣﻘـﺎﺑﻞ ﺑـﺎ درﯾـﺎﻓﺖ ﺑﺴـﺘﻪ ای ﺑـﺎ ﻣﺸـــﺨﺼﺎت ﻓــﻮق اﻟﺬﮐــﺮ اﮔــﺮ ﺗﻤﺎﯾﻞ ﺑﻪ ﺑﺮﻗﺮاری ارﺗﺒﺎط ﻧﺪاﺷﺘﻪ ﺑﺎﺷــﺪ ﺑـﺎ ارﺳـﺎل ﯾـﮏ ﺑﺴـﺘﮥ ﺧـﺎﻟﯽ ﮐـﻪ در آن ﺑﯿـﺖ RSTﺑـﻪ 1ﺗﻨﻈﯿﻢ ﺷــﺪه ،اﯾـﻦ ﺗﻘﺎﺿـﺎ را ردّ ﻣﯽﮐﻨـﺪ وﻟـﯽ اﮔـﺮ ﻣﺘﻤـﺎﯾﻞ ﺑـﻪ ﺑﺮﻗـﺮاری ارﺗﺒـﺎط ﺑـﻮد ﯾـﮏ ﺑﺴﺘﮥ ﺧﺎﻟﯽ از داده ﺑﺎ ﻣﺸــﺨﺼﺎت زﯾـﺮ ﺗﻮﻟﯿـﺪ ﻣﯽﮐﻨـﺪ: ♦ ﺑﯿﺖ SYNرا ﯾﮏ ﻣﯽﮐﻨﺪ. ♦ ﺑﯿـﺖ ACKرا ﯾـﮏ ﻣﯽﮐﻨــﺪ. ﻻﯾﮥ اﻧﺘﻘﺎل 202 اﺻﻮل ﻣﻬﻨﺪﺳﯽ اﯾﻨﺘﺮﻧﺖ ♦ ﻣﻘﺪار ﻓﯿﻠﺪ Acknowledgement Numberرا x+1ﻗﺮار ♦ ﻣﻘﺪار ﻓﯿﻠﺪ Sequence Numberرا ﻣﻘﺪار ﺗﺼﺎدﻓﯽ yﻗﺮار ﻣﯽدﻫﺪ. در اﯾﻦ ﻣﺮﺣﻠــﻪ ﮐـﻪ ﺑـﻪ ﻣﻌﻨـﺎی ﭘﺬﯾـﺮش ارﺗﺒـﺎط اﺳـﺖ ﻃـﺮف ﻣﻘـﺎﺑﻞ ﺑـﺎ ﻗـﺮار دادن ﻣﻘـﺪار ﻓﯿﻠـﺪ Ack=x+1ﻧﺸـﺎن ﻣﯽدﻫـﺪ ﮐـﻪ ﺷـﻤﺎره ﺗﺮﺗﯿـﺐ xرا ﭘﺬﯾﺮﻓﺘـﻪ و ﻣﻨﺘﻈـﺮداده ﻫـﺎ از ﺷـــﻤﺎره ﺗﺮﺗﯿـﺐ x+1ﺑـﻪ ﺑﻌـﺪ اﺳـﺖ .در ﺿﻤـﻦ ﺧـﻮدش ﻋـﺪد ﺗﺼـﺎدﻓﯽ yرا در ﻓﯿﻠـﺪ Seq.No.ﻗــﺮار ﻣﯽدﻫﺪ و ﺑﻪ ﻃﺮف ﻣﻘــﺎﺑﻞ اﻋـﻼم ﻣﯽﮐﻨـﺪ ﮐـﻪ ﺷـﻤﺎره ﺗﺮﺗﯿـﺐ داده ﻫـﺎی ارﺳـﺎﻟﯽ از yﺧﻮاﻫـﺪ ﺑـﻮد. در ﻣﺮﺣﻠـﮥ ﺳـﻮّم ،ﺷـﺮوع ﮐﻨﻨـﺪه ارﺗﺒـﺎط ﺑـﺎ ﻗـﺮار دادن ﻣﻘـﺎدﯾﺮ زﯾـــﺮ ﺷــﺮوع ارﺗﺒــﺎط را ﺗﺼﺪﯾﻖ ﻣﯽﮐﻨــﺪ : ♦ ﺑﯿﺖ SYNرا ﯾﮏ ﻣﯽﮐﻨﺪ. ♦ ﺑﯿﺖ ACKرا ﯾــﮏ ﻣﯽﮐﻨـﺪ. ♦ ﻓﯿﻠﺪ Seq. No.=x+1را ﻗﺮار ﻣﯽدﻫﺪ. ♦ ﻓﯿﻠﺪ Ackرا y+1ﻗﺮار ﻣﯽدﻫﺪ. ﻣﯽدﻫﺪ. ﺑـﺎ ﻗـﺮار دادن Seq.No.=x+1و Ack=y+1ﺷـﺮوع ﮐﻨﻨـﺪۀ ارﺗﺒـﺎط اﻋـﻼم ﻣﯽﮐﻨـﺪ ﮐـــﻪ ﺑــﺮ روی ﭘﺎراﻣﺘﺮﻫـﺎی ﺷـﻤﺎره ﺗﺮﺗﯿـﺐ ﺗﻮاﻓـﻖ ﺷـﺪه اﺳـﺖ و او ﭘﺬﯾﺮﻓﺘـــﻪ ﮐــﻪ داده ﻫــﺎی ﻃــﺮف ﻣﻘـــﺎﺑﻞ را از ﺷـــﻤﺎره y+1ﺑﭙﺬﯾـــﺮد .ﭘـــﺲ از اﯾـــﻦ ﻣﺮﺣﻠـــــﻪ ارﺳــــﺎل و درﯾــــﺎﻓﺖ داده ﻫـﺎ ﺗﻮﺳـﻂ ﻃﺮﻓﯿـﻦ ﺗـﺎ ﻫﻨﮕـﺎﻣﯽ ﮐـﻪ ارﺗﺒـﺎط ﺑـﺎ اﻃـﻼع ﻃﺮﻓﯿـﻦ ﺧﺎﺗﻤـﻪ داده ﻧﺸـﺪه اﺳـﺖ آزاد اﺳــﺖ. ﺑﺮای ﺧﺎﺗﻤﻪ ارﺗﺒﺎط روﻧﺪ زﯾــﺮ ﺻـﻮرت ﻣـﯽﮔـﯿﺮد: ﻃﺮﻓﯽ ﮐﻪ داده ﻫــﺎﯾﺶ ﺑـﺮای ارﺳـﺎل ﺗﻤـﺎم ﺷـﺪه اﺳـﺖ ﯾـﮏ ﺑﺴـﺘﮥ TCPارﺳـﺎل ﻣﯽﻧﻤـﺎﯾﺪ ﮐـﻪ در ﺳـﺮآﯾﻨﺪ آن ﺑﯿـﺖ FINرا ﯾـﮏ ﻗـﺮار داده اﺳـﺖ .ﻃـﺮف ﻣﻘـــﺎﺑﻞ اﯾــﻦ درﺧﻮاﺳــﺖ را درﯾـﺎﻓﺖ ﻣﯽﮐﻨـﺪ و ﺑـﺎ ﺧﺘـﻢ ﯾـﮏ ﻃﺮﻓـﮥ آن ﻣﻮاﻓﻘـﺖ ﻣﯽﮐﻨـﺪ .وﻟـﯽ ﭼـﻮن ارﺗﺒـﺎط ﺑﺼـــﻮرت ﯾﮑﻄﺮﻓﻪ ﺧﺘــﻢ ﻣﯽﺷـﻮد ﻃـﺮف ﻣﻘـﺎﺑﻞ ﻣﯽﺗﻮاﻧـﺪ ﺗـﺎ ﺟﺎﺋﯿﮑـﻪ داده دارد ،آﻧـﻬﺎ را ارﺳـﺎل ﮐﻨـﺪ و ﻧـﻬﺎﯾﺘﺎً در آﺧﺮﯾـﻦ ﺑﺴـﺘﻪ ،ﺑﯿـﺖ FINرا ﯾـﮏ ﺑﮕـﺬارد ﺗـﺎ ﭘـﺲ از ﺗﺼﺪﯾـــﻖِ آن ،ارﺗﺒــﺎط ﺑــﻪ ﺻﻮرت دو ﻃﺮﻓﻪ ﺧﺘــﻢ ﺷـﻮد. ﻧﮑﺘﻪ ای ﮐــﻪ وﺟـﻮد دارد آﻧﺴـﺖ ﮐـﻪ اﮔـﺮ ﯾﮑـﯽ از ﻃﺮﻓﯿـﻦ ارﺗﺒـﺎط در اﺛـﺮ ﺑـﺮوز ﻣﺸـﮑﻠﯽ ﺳـﺨﺖ اﻓـﺰاری ﯾـﺎ ﻧـﺮم اﻓـﺰاری ارﺗﺒـﺎط را ﺑـﺪون ﻫﻤـﺎﻫﻨﮕﯽ ﻗﻄـﻊ ﮐﻨـﺪ ﺣـﻖ ﻧـﺪارد ﺗــﺎ 120 ﺛﺎﻧﯿﻪ ﺑﻪ ارﺗﺒﺎط ﻣﺠﺪد ﺑﺎ ﻫﻤﺎن ﭘﺮوﺳــﻪ اﻗـﺪام ﮐﻨـﺪ و اﯾـﻦ ﻧﮑﺘـﻪ ﻧﺎﺷـﯽ از آن اﺳـﺖ ﮐـﻪ ﻣﻄﻤﺌـﻦ ﻻﯾﮥ اﻧﺘﻘﺎل 203 اﺻﻮل ﻣﻬﻨﺪﺳﯽ اﯾﻨﺘﺮﻧﺖ ﺑﺎﺷﺪ ﺑﺴﺘﻪ ﻫــﺎی ﻗﺒﻠـﯽ ﮐـﻪ ارﺳـﺎل ﮐـﺮده ﯾـﺎ آﻧﮑـﻪ ﺑﺮاﯾـﺶ ارﺳـﺎل ﺷـﺪه از زﯾﺮﺷـﺒﮑﻪ ﺣـﺬف ﺷـﺪهاﻧﺪ . (5ﮐﻨﺘﺮل ﺟﺮﯾﺎن در ﭘﺮوﺗﮑﻞ TCP در اﯾﻨﺠـﺎ ﺑـﺪ ﻧﯿﺴـﺖ ﮐـﻪ اﻧﺪﮐـﯽ در ﻣـــﻮرد ﻧﻘــﺶ ﻓﯿﻠــﺪ Window sizeﺑﺤــﺚ ﮐﻨﯿــﻢ . ﻫﻤﺎﻧﮕﻮﻧـﻪ ﮐـﻪ ﻗﺒـﻼً اﺷـﺎره ﺷـﺪ در ﭘﺮوﺗﮑـﻞ TCPﺑـﺮای ﮐﻨـــﺘﺮل ﺟﺮﯾــﺎن داده ﻫــﺎ از ﺑــﺎﻓﺮ اﺳـﺘﻔﺎده ﻣﯽﺷـﻮد و داده ﻫـﺎ ﻗﺒـﻞ از ارﺳـﺎل ﺑـﻪ ﺑﺮﻧﺎﻣـﻪ ﮐـﺎرﺑﺮدی ﻻﯾـﻪ ﺑـﺎﻻﺗﺮ ﺑـــﺎﻓﺮ ﺷــﺪه و ﺑﺼـﻮرت دﺳـﺘﻪ ای ﺗﺤﻮﯾـﻞ ﺧﻮاﻫـﺪ ﺷـﺪ و ﮔﺎﻫـﺎً ﻣﻤﮑـﻦ اﺳـﺖ ﺑﺮﻧﺎﻣـﮥ ﮐـﺎرﺑﺮدی اﻗـﺪام ﺑـــﻪ درﯾﺎﻓﺖ داده ﻫﺎی ﺑﺎﻓﺮ ﺷــﺪۀ ﺧـﻮد در ﻣـﻬﻠﺖ ﻣﻘـﺮر ﻧﮑـﺮده و ﺑـﺎﻓﺮ ﭘـﺮ ﺷـﻮد .در اﯾـﻦ ﺣـﺎﻟﺖ ﮔﯿﺮﻧﺪه دﯾﮕﺮ ﻗﺎدر ﺑــﻪ درﯾـﺎﻓﺖ و ذﺧـﯿﺮۀ داده ﻫـﺎ در ﺑـﺎﻓﺮش ﻧﺨﻮاﻫـﺪ ﺑـﻮد ،ﺑـﻬﻤﯿﻦ دﻟﯿـﻞ در ﻫﺮ ﺑﺴﺘﮥ TCPﮐــﻪ ﺑـﻪ ﻃـﺮف دﯾﮕـﺮ ارﺳـﺎل ﻣﯽﺷـﻮد ﺣﺠـﻢ ﻓﻀـﺎی آزاد ﺑـﺎﻓﺮ ،در اﯾـﻦ ﻓﯿﻠـﺪ اﻋـﻼم ﺧﻮاﻫـﺪ ﺷـﺪ .ﺑﻌﻨـﻮان ﻣﺜـﺎل اﮔـﺮ در ﯾـﮏ ﺑﺴـﺘﮥ درﯾـﺎﻓﺘﯽ ﻣﻘـﺪار ﻓﯿﻠـــﺪ Window Size ﻣﻘﺪار 4096ﺑﺎﺷﺪ ﺑﺪﯾــﻦ ﻣﻌﻨﺎﺳـﺖ ﮐـﻪ از ﮐـﻞ ﻓﻀـﺎی ﺑـﺎﻓﺮ ﻣﻮﺟـﻮد ،ﻓﻌـﻼً ﭼـﻬﺎر ﮐﯿﻠﻮﺑـﺎﯾﺖ از آن ﺧﺎﻟﯽ اﺳﺖ .ﺑﺮای روﺷﻦ ﺷــﺪن ﻗﻀﯿـﻪ ﺑـﻪ ﺷـﮑﻞ ) (5-5ﺗﻮﺟـﻪ ﮐﻨﯿـﺪ. ﻧﺎم ﻣﺘﻐﯿﺮ ﺗﻮﺿﯿﺢ ﻣﺘﻐﯿﺮﻫﺎی ﻧﻈﺎرت ﺑﺮ ارﺳﺎل داده ﻫﺎ ﺷﻤﺎرۀ ﺗﺮﺗﯿﺐ آﺧﺮﯾﻦ ﺑﺴﺘﻪ ای ﮐﻪ ارﺳﺎل ﺷﺪه وﻟﯽ ﻫﻨﻮز ﭘﯿﻐﺎم Ackآن ﺑﺮﻧﮕﺸﺘﻪ اﺳﺖ. ﺷﻤﺎرۀ ﺗﺮﺗﯿﺐ آﺧﺮﯾﻦ ﺑﺎﯾﺖ ﮐﻪ داده ﻫﺎ از آن ﺷﻤﺎره ﺑﻪ ﺑﻌﺪ در ﺑﺴﺘﮥ ﺑﻌﺪی ﮐﻪ ﺑﺎﯾﺪ ارﺳﺎل ﺷﻮد. ﻣﯿﺰان ﻓﻀﺎی آزاد در ﺑﺎﻓﺮ ارﺳﺎل ﺷﻤﺎرۀ ﺗﺮﺗﯿﺐ آﺧﺮﯾﻦ داده ﻫﺎی اﺿﻄﺮاری ﮐﻪ ﺗﺤﻮﯾﻞ ﺑﺮﻧﺎﻣﮥ ﮐﺎرﺑﺮدی ﺷﺪه اﺳﺖ. ﺷﻤﺎرۀ ﺗﺮﺗﯿﺐ آﺧﺮﯾﻦ داده ﻫﺎﯾﯽ ﮐﻪ ﺑﺎﯾﺪ آﻧﯽ ﺑﻪ ﺑﺮﻧﺎﻣﮥ ﮐﺎرﺑﺮدی ﮔﺴﯿﻞ ) (Pushﺷﻮد. ﻣﻘﺪار اوﻟﯿﮥ ﺷﻤﺎرﻧﺪۀ ﺗﺮﺗﯿﺐ داده ﻫﺎی درﯾﺎﻓﺘﯽ ﮐﻪ در ﺣﯿﻦ ارﺗﺒﺎط ﺑﺮ روی آن ﺗﻮاﻓﻖ ﻣﯽﺷﻮد. ﻣﺘﻐﯿﺮﻫﺎی ﻧﻈﺎرت ﺑﺮ درﯾﺎﻓﺖ داده ﻫﺎ ﺷﻤﺎرۀ ﺗﺮﺗﯿﺐ آﺧﺮﯾﻦ ﺑﺎﯾﺖ در ﺑﺴﺘﮥ ﺑﻌﺪی ﮐﻪ از آن ﺷﻤﺎره ﺑﻪ ﺑﻌﺪ اﻧﺘﻈﺎر درﯾﺎﻓﺖ آﻧﺮا دارد. ﻣﯿﺰان ﻓﻀﺎی آزاد در ﺑﺎﻓﺮ درﯾﺎﻓﺖ ﺷﻤﺎرۀ ﺗﺮﺗﯿﺐ آﺧﺮﯾﻦ داده ﻫﺎی اﺿﻄﺮاری ﮐﻪ ﺑﺮای ﺑﺮﻧﺎﻣﮥ ﻃﺮف ﻣﻘﺎﺑﻞ ارﺳﺎل ﺷﺪه اﺳﺖ. ﻣﻘﺪار اوﻟﯿﮥ ﺷﻤﺎرﻧﺪۀ ﺗﺮﺗﯿﺐ داده ﻫﺎی ارﺳﺎﻟﯽ ﮐﻪ در ﺣﯿﻦ ارﺗﺒﺎط ﺑﺮ روی آن ﺗﻮاﻓﻖ ﻣﯽﺷﻮد. ﺟﺪول ) (5-4ﺑﺮﺧﯽ از ﻣﺘﻐﯿﺮﻫﺎی ﺳﺎﺧﺘﻤﺎن دادۀ SND.UNA SND.NXT SND.WND SND.UP SND .WL1 SND.WL2 SND.PUSH SND.ISS RCV.NXT RCV.WND RCV.UP RCV.IRS TCB ﻻﯾﮥ اﻧﺘﻘﺎل 204 اﺻﻮل ﻣﻬﻨﺪﺳﯽ اﯾﻨﺘﺮﻧﺖ ﻓﻀﺎی ﺑﺎﻓﺮﮔﯿﺮﻧﺪه ﮔﯿﺮﻧﺪه ﻓﺮﺳﺘﻨﺪه 4 Kbyte ارﺳﺎل 2 Kbyteداده Window Size=2048 ارﺳﺎل 2 Kbyteداده ﮔﯿﺮﻧﺪه 2KBاز ﺑﺎﻓﺮ ﻣﯿﺨﻮاﻧﺪ Window Size=0 ﻓﺮﺳﺘﻨﺪه ﻣﺘﻮﻗﻒ ﻣﯿﺸﻮد Window Size=2048 ﻓﺮﺳﺘﻨﺪه ﻣﺠﺪدآ اﺣﯿﺎ ﻣﯿﺸﻮد ارﺳﺎل 1 Kbyteداده ﺷﮑﻞ ) (5-5ﻣﺜﺎﻟﯽ از روﻧﺪ ﮐﻨﺘﺮل ﺟﺮﯾﺎن در ﭘﺮوﺗﮑﻞ TCP در اﯾﻦ ﭘﺮوﺗﮑﻞ ﺑﻪ ازای ﻫﺮ ارﺗﺒﺎط TCPﮐﻪ ﻣﻮﻓﻘﯿﺖ آﻣﯿﺰ ﺑﺮﻗﺮار ﺷﻮد ،ﯾــﮏ ”ﺳـﺎﺧﺘﻤﺎن دادۀ“ ﺧﺎص ﺑﺮای آن اﯾﺠﺎد ﺧﻮاﻫﺪ ﺷﺪ ﮐﻪ اﻃﻼﻋﺎﺗﯽ از آﺧﺮﯾﻦ وﺿﻌﯿﺖ ارﺳﺎل ﯾﺎ درﯾﺎﻓﺖ ﺟﺮﯾﺎن داده ﻫﺎ در آن ﻧﮕﻬﺪاری ﻣﯽﺷﻮد .اﯾﻦ ﺳﺎﺧﺘﻤﺎن داده ” ،ﺑﻠﻮک ﻧﻈﺎرت ﺑــﺮ اﻧﺘﻘـﺎل“ 1ﯾـﺎ اﺧﺘﺼـﺎراً TCB ﻧﺎﻣﯿﺪه ﻣﯽﺷﻮد .ﺑﺮﺧﯽ از ﻣﺘﻐﯿﺮﻫﺎی ﺗﻌﺮﯾﻒ ﺷــﺪه درون ﺳـﺎﺧﺘﻤﺎن دادۀ TCBدر ﺟـﺪول )(5-4 ﻣﻌﺮﻓﯽ ﺷﺪه اﺳﺖ. ﻋﻤﻠﮑﺮد اﯾﻦ ﻣﺘﻐﯿﺮﻫﺎ ﺑﺎ ﺗﻌﺮﯾﻔﯽ ﮐﻪ از ﻓﯿﻠﺪﻫﺎی ﯾﮏ ﺑﺴﺘﮥ TCPداﺷﺘﯿﻢ واﺿﺢ و ﻣﺸﺨﺺ اﺳﺖ. Transmission Control Block 1 ﻻﯾﮥ اﻧﺘﻘﺎل 205 اﺻﻮل ﻣﻬﻨﺪﺳﯽ اﯾﻨﺘﺮﻧﺖ 1 TCP (6زﻣﺎن ﺳﻨﺠﻬﺎ در ﭘﺮوﺗﮑﻞ ﻋﻤﻠﮑﺮد ﺻﺤﯿﺢ ﭘﺮوﺗﮑﻞ TCPواﺑﺴﺘﮕﯽ ﺷﺪﯾﺪی ﺑﻪ اﺳﺘﻔﺎدۀ درﺳﺖ و ﻣﻨﻄﻘﯽ از زﻣــﺎن ﺳـﻨﺠﻬﺎ دارد .در اﯾﻦ ﺑﺨﺶ ﻣﻬﻤﺘﺮﯾﻦ زﻣﺎن ﺳﻨﺠﻬﺎی ﺑﮑﺎر رﻓﺘﻪ در اﯾﻦ ﭘﺮوﺗﮑﻞ را ﺑﺮرﺳﯽ ﻣﯽﻧﻤﺎﯾﯿﻢ : ½ : Retransmission Timerﺑﻪ ﮔﻮﻧﻪ ای ﮐﻪ اﺷﺎره ﺷﺪ ﭘﺲ از ﺑﺮﻗﺮاری ﯾﮏ ارﺗﺒــﺎط ،وﻗﺘـﯽ ﺑﺴﺘﻪ ای ﺑﺮای ﭘﺮوﺳﮥ ﻣﻘﺼﺪ ارﺳﺎل ﻣﯿﺸﻮد ،ﺿﻤﻦ ﻧﮕﻬﺪاری ﻣﻮﻗﺖ آن در ﯾــﮏ ﺑـﺎﻓﺮ ،ﺑـﺮای آن ﯾﮏ زﻣﺎن ﺳﻨﺞ ﺗﻨﻈﯿﻢ و ﻓﻌّﺎل ﻣﯿﺸﻮد و اﮔﺮ در ﻣﻬﻠﺖ ﻣﻘﺮّر ﭘﯿﻐﺎم درﯾــﺎﻓﺖ آن ) (Ackﻧﺮﺳـﯿﺪ ،آن ﺑﺴﺘﻪ از ﻧﻮ ﺑﺮای ﻣﻘﺼﺪ ارﺳﺎل ﺧﻮاﻫﺪ ﺷﺪ .اﯾﻦ زﻣﺎن ﺳﻨﺞ ﮐﻪ اﺧﺘﺼــﺎراً RTﻧـﺎﻣﯿﺪه ﻣﯿﺸـﻮد ﺑـﻪ ﯾﮏ ﻣﻘﺪار ﭘﯿﺶ ﻓﺮض ،ﻣﻘﺪاردﻫﯽ ﻣﯿﺸﻮد و ﺷﺮوع ﺑﻪ ﺷﻤﺎرش ﻣﻌﮑﻮس زﻣﺎن ﻣﯽﻧﻤﺎﯾﺪ؛ ﻫــﺮﮔـﺎه ﻣﻘﺪار آن زﻣﺎن ﺳﻨﺞ ﺑﻪ ﺻﻔﺮ ﺑﺮﺳﺪ وﻟﯽ ﭘﯿﻐﺎم درﯾﺎﻓﺖ ﺑﺴﺘﻪ ﺑﺮﻧﮕــﺮدد ” ،رﺧـﺪاد اﻧﻘﻀـﺎی زﻣـﺎنِ ﺗﮑﺮار“ 2ﺣﺎدث ﺷﺪه و ﭘﺮوﺳﮥ TCPرا وادار ﺑﻪ ارﺳﺎل ﻣﺠﺪد آن ﺑﺴﺘﻪ ﻣﯽﮐﻨﺪ و ﻣﺮاﺣــﻞ ﻗﺒﻠـﯽ از ﻧﻮ ﺗﮑﺮار ﻣﯽﺷﻮد. ﻋﻤﻠﮑﺮد اﯾﻦ زﻣﺎن ﺳﻨﺞ ﺑﺴﯿﺎر ﺳﺎده اﺳﺖ وﻟﯽ ﻣﺴــﺌﻠﮥ ﺑﻐﺮﻧـﺞ در ﺷـﺒﮑﻪ آﻧﺴـﺖ ﮐـﻪ :اوﻻً ﭘﯿـﺶ ﻓﺮض اﯾﻦ زﻣﺎن ﺳﻨﺞ ﭼﻪ ﻣﻘﺪاری ﺑﺎﺷﺪ؟ ﺛﺎﻧﯿﺎً ﻋﻤﻞ ارﺳﺎلِ ﻣﺠﺪّد ﯾﮏ ﺑﺴﺘﻪ ﭼﻨﺪ ﺑﺎر ﺗﮑﺮار ﺷﻮد؟ در ﺷﺒﮑﻪ ﻫﺎی ﻣﺤﻠﯽ ﺳﺮﯾﻊ ،زﻣﺎن رﻓﺖ ﯾﮏ ﺑﺴﺘﻪ و ﺑﺮﮔﺸﺖ ﭘﯿﻐــﺎم درﯾـﺎﻓﺖِ آن ،ﺣـﺪود ﭼﻨـﺪ ﻫﺰارم ﺛﺎﻧﯿﻪ ﻃﻮل ﺧﻮاﻫﺪ ﮐﺸﯿﺪ در ﺣﺎﻟﯽ ﮐﻪ در ﺷﺒﮑﮥ WANاﯾﻦ زﻣﺎن رﻓﺖ و ﺑﺮﮔﺸﺖ ﻣﯿﺘﻮاﻧﺪ ﺗﺎ ﭼﻨﺪﯾﻦ ﺛﺎﻧﯿﻪ ﻃﻮل ﺑﮑﺸﺪ. اﮔﺮ ﻗﺮار ﺑﺎﺷﺪ زﻣﺎن ﭘﯿﺶ ﻓﺮض زﻣﺎن ﺳﻨﺞ RTﺑﻪ ﻣﻘﺪاری ﮐﻢ ﺗﻨﻈﯿﻢ ﺷﻮد ،آﻧﮕــﺎه وﻗﺘـﯽ ﻣﻘﺼـﺪ روی ﯾﮏ ﺷﺒﮑﮥ راه دور واﻗﻊ اﺳﺖ ،ﻗﺒﻞ از آﻧﮑﻪ ﺑﺴﺘﻪ ﺑﺘﻮاﻧﺪ ﺑﻪ ﻣﻘﺼﺪ ﺑﺮﺳﺪ ،ﻣﻬﻠﺖ اﯾﻦ زﻣــﺎن ﺳﻨﺞ ﻣﻨﻘﻀﯽ ﺷﺪه و ﺑﺴﺘﻪ ﻣﺠﺪداً ارﺳﺎل ﻣﯿﺸﻮد و اﯾﻦ ﮐﺎر ﺑﺮای ﻫــﺮ ﺑﺴـﺘﻪ ﺑﻄـﻮر ﻣﺘﻮاﻟـﯽ ﺗﮑـﺮار ﻣﯽﺷﻮد و ﺗﺮاﻓﯿﮏ زاﺋﺪ و ﺑﯿﻬﻮده ای را ﺑﻪ ﺷﺒﮑﻪ ﺗﺤﻤﯿﻞ ﻣﯿﮑﻨﺪ. از ﻃﺮف دﯾﮕﺮ اﮔﺮ ﻗﺮار ﺑﺎﺷﺪ زﻣﺎن ﭘﯿﺶ ﻓﺮض اﯾﻦ زﻣﺎن ﺳﻨﺞ ﺑﺎ ﻣﻘﺪاری ﺑﺰرگ ﺗﻨﻈﯿــﻢ ﺷـﻮد در ﺷﺒﮑﻪ ﻫﺎی ﻣﺤﻠﯽ و ﺳﺮﯾﻊ ،ﻫﻨﮕﺎم ﺑﺮوز ﯾﮏ ﺧﻄﺎ ﺗﺎﺧﯿﺮ زﯾﺎدی ﺑﻮﺟﻮد ﺧﻮاﻫﺪ آﻣﺪ. ﺑﻬﺘﺮﯾﻦ راه ﺗﻨﻈﯿﻢ زﻣﺎن ﺳﻨﺞ اﺳﺘﻔﺎده از روﺷﻬﺎی وﻓﻘﯽ و ﭘﻮﯾﺎ اﺳﺖ ﭼﺮاﮐﻪ راﻧﺪﻣﺎن ﭘﺮوﺗﮑﻞ TCP ﺑﻪ ﺷﺪت ﺑﻪ آن واﺑﺴﺘﻪ اﺳﺖ .اﻟﮕﻮرﯾﺘﻢ ﭘﻮﯾﺎﯾﯽ ﮐﻪ ﻣﻌﻤﻮﻻً در ﭘﯿﺎده ﺳﺎزی TCPﺑﮑﺎرﮔﺮﻓﺘﻪ ﻣﯿﺸﻮد در زﯾﺮ ﻣﻌﺮﻓﯽ ﺷﺪه اﺳﺖ: 3 3اﯾــﻦ اﻟﮕﻮرﯾﺘــﻢ در ﺳــﺎل 1988ﺗﻮﺳــﻂ Jacobsonﻣﻌﺮﻓــﯽ ﺷــــﺪ. TCP Timers Retransmission Timeout Event 1 2 ﻻﯾﮥ اﻧﺘﻘﺎل 206 اﺻﻮل ﻣﻬﻨﺪﺳﯽ اﯾﻨﺘﺮﻧﺖ اﻟﻒ( وﻗﺘﯽ ﯾﮏ ارﺗﺒﺎط TCPﺑﺮﻗﺮار ﻣﯿﺸﻮد ﯾﮏ ﻣﺘﻐﯿﺮ ﺣﺎﻓﻈﻪ ﺑﻪ ﻧــﺎم RTTﻣﺘﻨـﺎﻇﺮ ﺑـﺎ آن اﯾﺠـﺎد ﺷﺪه و ﺑﻪ ﯾﮏ ﻣﻘﺪار ﭘﯿﺶ ﻓﺮض ﻣﻘﺪاردﻫﯽ ﻣﯿﺸﻮد .اﯾﻦ ﻣﻘﺪار ﮐــﻪ ﺣﺪﮐـﺜﺮ زﻣـﺎن اﻧﺘﻈـﺎر ﺑـﺮای ﺑﺮﮔﺸﺖ ﭘﯿﻐﺎم درﯾﺎﻓﺖ ﺑﺴﺘﻪ ﻣﺤﺴﻮب ﻣﯿﺸﻮد ﻣﻤﮑﻦ اﺳﺖ اﺻﻼً ﺑﻬﯿﻨﻪ و ﻣﻨﺎﺳﺐ ﻧﺒﺎﺷﺪ. ب ( ﺑﻪ ازای ﻫﺮ ﺑﺴﺘﻪ ﮐﻪ ارﺳﺎل ﻣﯿﺸﻮد ﯾﮏ زﻣﺎن ﺳﻨﺞ ﻣﺘﻨﺎﻇﺮ ﺑﺎ آن ﺑﺴﺘﻪ ﺗﻨﻈﯿﻢ ﻣﯽﺷﻮد ﮐﻪ زﻣﺎن رﻓﺖ ﺑﺴﺘﻪ و ﺑﺮﮔﺸﺖ ﭘﯿﻐﺎم درﯾﺎﻓﺖ آﻧﺮا اﻧﺪازه ﻣﯿﮕﯿﺮد؛ ﻓﺮض ﮐﻨﯿﺪ ﺑﺮای ﯾــﮏ ﺑﺴـﺘﻪ اﯾـﻦ زﻣـﺎن ﻣﻘﺪار Mﻣﺤﺎﺳﺒﻪ ﺷﺪه ﺑﺎﺷﺪ. ج ( ﻣﻘﺪار ﭘﯿﺶ ﻓﺮض زﻣﺎن ﺳﻨﺞ ﻃﺒﻖ راﺑﻄﮥ زﯾﺮ ﺑﻬﻨﮕﺎم ﻣﯿﺸﻮد: RTTnew=RTTold+4*Dnew )Dnew=α.Dold+(1-α).(RTTold-M ، α=7/8ﻣﻘﺪار اوﻟﯿﮥ Dﻣﯽﺗﻮاﻧﺪ ﺻﻔﺮ ﺑﺎﺷﺪ. ﺗﺒﺼﺮه :ﻣﻘﺪار ﺟﺪﯾﺪ ﺑﺮای زﻣﺎن ﺳﻨﺞ ﻓﻘﻂ ﺑﻪ ﺷﺮﻃﯽ اﻋﻤﺎل ﻣﯽﺷﻮد ﮐﻪ ارﺳﺎل ﺑﺴﺘﮥ TCPﺗﮑــﺮار ﻧﺸﺪه ﺑﺎﺷﺪ و ﻓﻘﻂ ﯾﮑﺒﺎر ارﺳﺎل ﺷﺪه ﺑﺎﺷﺪ.1 ½ : Keep-Alive Timerﻣﻤﮑﻦ اﺳﺖ ﻃﺮﻓﯿﻦ ﯾﮏ ارﺗﺒﺎط ﺑﻪ ﻫﺮ دﻟﯿﻠﯽ ارﺳﺎل اﻃﻼﻋﺎت را ﻣﻮﻗﺘ ًﺎ ﻣﺘﻮﻗﻒ ﮐﻨﻨﺪ و ﻫﯿﭻ دادﻫﺎی ﻣﺒﺎدﻟﻪ ﻧﺸﻮد ،ﻫﺮﭼﻨﺪ ارﺗﺒﺎط TCPﻓﻌّﺎل و ﺑﺎز ﺑﺎﺷﺪ .از ﺳﻮی دﯾﮕــﺮ ﻣﻤﮑﻦ اﺳﺖ ﯾﮑﯽ از ﻃﺮﻓﯿﻦ ﺑﻪ دﻟﯿﻠﯽ ﻣﺜﻞ ﺧﺮاﺑﯽ ﺳﺨﺖ اﻓﺰاری ﯾﺎ ﻧﺮم اﻓــﺰاری ،ﺑـﺪون اﻃـﻼع ، ارﺗﺒﺎط را رﻫﺎ ﮐﺮده ﺑﺎﺷﺪ .ﺑﺮای ﺗﻤﺎﯾﺰ ﺑﯿﻦ اﯾﻦ دو ﺣﺎﻟﺖ ،ﻓﺮﺳﺘﻨﺪۀ اﻃﻼﻋﺎت ﺑــﺎ اﺳـﺘﻔﺎده از اﯾـﻦ زﻣﺎن ﺳﻨﺞ در ﺑﺎزﻫﻬﺎی زﻣﺎﻧﯽ ﻣﻨﻈﻢ ﯾﮏ ﺑﺴﺘﮥ TCPﮐﻪ ﺧﺎﻟﯽ از ﻫﺮﮔﻮﻧــﻪ دادﻫﺎی ﻣﯽﺑﺎﺷـﺪ ﺑـﺮای ﻣﻘﺼﺪ ارﺳﺎل ﻣﯽﺷﻮد و در ﺻﻮرﺗﯽ ﮐﻪ ﭘﯿﻐﺎم درﯾﺎﻓﺖ آن ﺑﺎز ﮔﺸــﺖ ،ﻧﺸـﺎن دﻫﻨـﺪۀ آﻧﺴـﺖ ﮐـﻪ ارﺗﺒﺎط TCPﻓﻌﺎل و ﺑﺎز اﺳﺖ؛ در ﻏﯿﺮ اﯾﻦ ﺻﻮرت ارﺗﺒﺎط TCPﺑﺼﻮرت ﯾﮑﻄﺮﻓﻪ ﻗﻄــﻊ ﺷـﺪه و ﺗﻤﺎم ﺑﺎﻓﺮﻫﺎ و ﻓﻀﺎی اﯾﺠﺎد ﺷﺪه آزاد ﻣﯽﺷﻮﻧﺪ .زﻣﺎن ﭘﯿﺶ ﻓﺮض اﯾﻦ زﻣﺎن ﺳﻨﺞ ﻣﻘﺪاری ﺑﯿﻦ 5ﺗﺎ 45ﺛﺎﻧﯿﻪ ﻣﯽﺑﺎﺷﺪ. ½ : Persistence Timerدر ﭘﺮوﺗﮑﻞ TCPوﻗﺘﯽ ﯾﮑﯽ از ﻃﺮﻓﯿﻦ ارﺗﺒﺎط ،ﻣﻘﺪار ﻓﻀﺎی ﺑـﺎﻓﺮ آزاد ﺧﻮد را در ﻓﯿﻠﺪ Window Sizeﺻﻔﺮ اﻋﻼم ﮐﻨﺪ ،ﻧﺎﮔﺰﯾﺮ ﭘﺮوﺳﮥ ﻃــﺮف ﻣﻘـﺎﺑﻞ ﻣﺘﻮﻗـﻒ )ﺑﻠﻮﮐـﻪ( ﺧﻮاﻫﺪ ﺷﺪ .در ﭼﻨﯿﻦ ﺣﺎﻟﺘﯽ ﭘﺲ از آﻧﮑﻪ ﻣﻘﺪاری از ﻓﻀــﺎی ﺑـﺎﻓﺮ ﭘـﺮ ﺷـﺪه ﺗﺨﻠﯿـﻪ ﺷـﺪ ،اﯾـﻦ ﻣﻮﺿﻮع ﺑﺎﯾﺪ ﺑﻪ ﻃﺮف ﻣﻘﺎﺑﻞ ﮔﺰارش ﺷﻮد ﺗﺎ ﺳﯿﺴﺘﻢ ﻋﺎﻣﻞ ،ﭘﺮوﺳﮥ ﺑﻠﻮﮐﻪ ﺷــﺪه را اﺣﯿـﺎ ﮐـﺮده و اداﻣﮥ ارﺳﺎل ﻣﻤﮑﻦ ﺑﺎﺷﺪ .در ﻏﯿﺮ اﯾﻨﺼﻮرت ”ﺑﻦ ﺑﺴﺖ“ 2و ﺗﺎﺧﯿﺮ ﺑﯿﻨﻬﺎﯾﺖ ﺑــﺮای ﭘﺮوﺳـﻪ ﺑﻮﺟـﻮد ﺧﻮاﻫﺪ آﻣﺪ. Karn’s Algorithm Deadlock 1 2 اﺻﻮل ﻣﻬﻨﺪﺳﯽ اﯾﻨﺘﺮﻧﺖ ﻻﯾﮥ اﻧﺘﻘﺎل 207 ﺑﺎ اﺳﺘﻔﺎده از اﯾﻦ زﻣﺎن ﺳﻨﺞ ﭘﺲ از آزاد ﺷﺪن ﻓﻀﺎی ﺑﺎﻓﺮ ،در ﻓﻮاﺻﻞ زﻣــﺎﻧﯽ ﻣﻨﻈـﻢ ﯾـﮏ ﺑﺴـﺘﮥ TCPﺑﺮای ﭘﺮوﺳﮥ ﺑﻠﻮﮐﻪ ﺷﺪه ارﺳﺎل ﻣﯽﺷﻮد ﺗﺎ ﺿﻤﻦ آﮔﺎﻫﯽ از آﺧﺮﯾﻦ وﺿﻌﯿــﺖ ﻓﻀـﺎی ﺑـﺎﻓﺮ ﭘﺮوﺳﻪ ﺑﺘﻮاﻧﺪ اﺣﯿﺎ ﺷﻮد. ½ : Quiet Timerﻣﻤﮑﻦ اﺳﺖ ﯾﮏ ارﺗﺒﺎط TCPﺑﺴﺘﻪ ﺷﻮد وﻟﯽ ﻫﻨﻮز ﺑﺴﺘﻬﻬﺎﯾﯽ ﺳﺮﮔــﺮدان ﺑـﺮ روی ﺷﺒﮑﻪ وﺟﻮد داﺷﺘﻪ ﺑﺎﺷﺪ ﮐﻪ ﭘﺲ از ﺑﺴﺘﻪ ﺷﺪن ارﺗﺒﺎط TCPﺑﻪ ﻣﻘﺼﺪ ﺑﺮﺳﻨﺪ ،ﻟــﺬا در اﯾـﻦ ﭘﺮوﺗﮑﻞ ﭘﺲ از ﺑﺴﺘﻪ ﺷﺪن ﯾﮏ ارﺗﺒﺎط ﺑﺎ ﺷﻤﺎرۀ ﭘﻮرت ﺧﺎص ،ﺑﻘﯿﮥ ﭘﺮوﺳﻪ ﻫﺎ ﺣــﻖ اﺳـﺘﻔﺎده از ﺷﻤﺎرۀ ﭘﻮرﺗﯽ ﮐﻪ اﺧﯿﺮاً ﺑﺴﺘﻪ ﺷﺪه را ﻧﺪارﻧﺪ .ﻣﻘﺪار ﭘﯿﺶ ﻓﺮض اﯾﻦ زﻣــﺎن ﺳـﻨﺞ دﻗﯿﻘـﺎً دو ﺑﺮاﺑـﺮ ﻣﻘﺪار ﭘﯿﺶ ﻓﺮض زﻣﺎن ﺣﯿﺎت ﺑﺴﺘﮥ IPﺑﺮ ﺣﺴﺐ ﺛﺎﻧﯿﻪ اﺳﺖ ) .ﭼﯿﺰی ﺑﯿﻦ 30ﺗﺎ 120ﺛﺎﻧﯿﻪ ( ½ : Idle Timerاﯾﻦ زﻣﺎن ﺳﻨﺞ ﺑﺮای آن اﺳﺖ ﮐﻪ اﮔﺮ ﺗﻼش ﺑﺮای ﺗﮑﺮار ارﺳﺎل ﯾﮏ ﺑﺴﺘﻪ ﺑﯿــﺶ از ﺣﺪ ﻣﺘﻌﺎرف اﻧﺠﺎم ﺷﻮد ارﺗﺒﺎط TCPرا ﺑﺼﻮرت ﯾﮑﻄﺮﻓﻪ رﻫﺎ و ﻗﻄﻊ ﻧﻤﺎﯾﺪ .ﻣﻘﺪار ﻣﻌﻤﻮل اﯾـﻦ زﻣﺎن ﺳﻨﺞ 360ﺛﺎﻧﯿﻪ ) 6دﻗﯿﻘﻪ ( اﺳﺖ. (7ﭘﺮوﺗﮑﻞ UDP ﭘﺮوﺗﮑﻞ TCPﭘﺮوﺗﮑﻠﯽ ”اﺗﺼﺎﻟﮕﺮا“ اﺳﺖ و ﻟﺰوم ﺑﺮﻗﺮاری ﯾﮏ ارﺗﺒﺎط ﻗﺒﻞ از ﻫﺮﮔﻮﻧـﻪ ﻣﺒﺎدﻟـﮥ داده ،ﻣﯽﺗﻮاﻧﺪ ﺑﯿﻦ ﭼﻨﺪ ﻣﯿﻠﯽ ﺛﺎﻧﯿﻪ ) ﺑﺮای ﺷﺒﮑﻪ ﻫﺎی ﻣﺤﻠﯽ ﺳــﺮﯾﻊ ( ﺗـﺎ ﭼﻨﺪﯾـﻦ ﺛﺎﻧﯿـﻪ ) ﺑـﺮای ﺷﺒﮑﻪ ﻫﺎی ( WANﻃﻮل ﺑﮑﺸﺪ؛ در ﺿﻤﻦ ﺗﺎﻣﻞ ﺑﺮای ﺑﺎزﮔﺸــﺖ ﭘﯿﻐﺎﻣـﻬﺎی ، Ackﯾـﮏ ﭘﺮوﺳـﮥ ﮐﺎرﺑﺮدی را ﺑﺎ ﺗﺎﺧﯿﺮ ﻣﻮاﺟﻪ ﺧﻮاﻫﺪ ﮐﺮد .ﺑﺮای ﺑﺮﺧﯽ از ﮐﺎرﺑﺮدﻫﺎ اﯾﻦ زﻣﺎن ﻗﺎﺑﻞ ﺗﺤﻤﻞ ﻧﯿﺴــﺖ و ﺳﺮﻋﺖ در رﺳﯿﺪن ﯾﮏ ﺑﺴﺘﻪ ﺑﻪ ﻣﻘﺼﺪ ،ﺿﺮورﯾﺘﺮ از ﭘﺮداﺧﺘﻦ ﺑﻪ ﻣﺴﺎﺋﻠﯽ از ﻗﺒﯿﻞ ﺑﺮرﺳﯽ ﺷــﻤﺎرۀ ﺗﺮﺗﯿﺐ و ارﺳﺎل ﭘﯿﻐﺎﻣﻬﺎی ﮐﻨﺘﺮﻟﯽ ﻣﺤﺴﻮب ﻣﯿﺸﻮد ) .ﮐﺎرﺑﺮدﻫﺎﯾﯽ ﻣﺜﻞ ﺳﯿﺴﺘﻢ DNSﯾﺎ TFTPﮐـﻪ در ﺑﺨﺸﻬﺎی آﺗﯽ ﺑﺮرﺳﯽ ﻣﯿﺸﻮﻧﺪ(. در ﻻﯾﮥ اﻧﺘﻘﺎل از ﻣﺪل TCP/IPﺑﺮای ﭼﻨﯿﻦ ﮐﺎرﺑﺮدﻫﺎﯾﯽ ﯾﮏ ﭘﺮوﺗﮑﻞ ﺳــﺎده و ﺳـﺮﯾﻊ ﺑـﻪ ﻧـﺎم UDPﻣﻌﺮﻓﯽ ﺷﺪه اﺳﺖ ﮐﻪ ﺑﻪ ﺻﻮرت ذاﺗﯽ ”ﺑﺪون اﺗﺼﺎل“ 1اﺳﺖ ،ﯾﻌﻨﯽ ﺑﺪون ﻫﯿﭻ اﻃﻼﻋــﯽ از ﺳﺮﻧﻮﺷﺘﯽ ﮐﻪ در اﻧﺘﻈﺎر ﯾﮏ ﺑﺴﺘﻪ اﺳﺖ ،ﺑﻪ ﺳﻤﺖ ﻣﻘﺼﺪ ارﺳــﺎل ﻣﯿﺸـﻮد .ﻫـﺮﮔﻮﻧـﻪ اﻃﻼﻋـﯽ از رﺳﯿﺪن ﯾﺎ ﻧﺮﺳﯿﺪن داده ﻫﺎ ﺑﺎﯾﺪ در ﻻﯾﻪ ﺑﺎﻻﺗﺮ ﺑﺮرﺳﯽ و ﻣﺪﯾﺮﯾﺖ ﺷﻮد. ﭘﺮوﺗﮑﻞ ، UDPﺗﻤﺎم ﮐﺎﺳﺘﯽ ﻫﺎی ﻻﯾﮥ IPرا دارد ) ﺑﻪ ﻏﯿﺮ از ﻧﻈــﺎرت ﺑـﺮ ﺧﻄـﺎی ﮐﺎﻧـﺎل ﮐـﻪ ﻣﯿﺘﻮاﻧﺪ وﺟﻮد داﺷﺘﻪ ﺑﺎﺷﺪ ( و ﺗﻨﻬﺎ ارﻣﻐﺎن اﯾﻦ ﭘﺮوﺗﮑﻞ ﺑﺮای ﭘﺮوﺳــﻪ ﻫـﺎ ﺳـﺮﻋﺖ ارﺳـﺎل و ﮐـﻢ ﺷﺪن ﺗﺄﺧﯿﺮات ﻧﺎﺷﯽ از ﻧﻈﺎرت ﺑﺮ ﺟﺮﯾﺎن ﺑﺴﺘﻪ ﻫﺎﺳﺖ. Connectionless 1 ﻻﯾﮥ اﻧﺘﻘﺎل 208 اﺻﻮل ﻣﻬﻨﺪﺳﯽ اﯾﻨﺘﺮﻧﺖ در اداﻣـﻪ ﺳـﺎﺧﺘﺎر ﺑﺴـﯿﺎر ﺳـﺎدۀ ﯾـﮏ ﺑﺴـﺘﮥ UDPرا ﺑﺮرﺳـــﯽ ﻣﯿﮑﻨﯿــﻢ .در ﺷــﮑﻞ )(5-6 ﺳﺎﺧﺘﺎر ﯾﮏ ﺑﺴﺘﮥ UDPﺑﻪ ﺗﺼﻮﯾــﺮ ﮐﺸـﯿﺪه ﺷـﺪه اﺳـﺖ. 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 Destination Port Source Port UDP checksum UDP Length Data ﺷﮑﻞ ) (5-6ﺳﺎﺧﺘﺎر ﯾﮏ ﺑﺴﺘﮥ UDP ♦ ﻓﯿﻠﺪ : Source Portدر اﯾـﻦ ﻓﯿﻠـﺪ ،ﯾـﮏ ﺷـﻤﺎرۀ 16ﺑﯿﺘـﯽ ﺑﻌﻨـﻮان آدرس ﭘـﻮرت ﭘﺮوﺳـﮥ ﻣﺒﺪأ ﮐﻪ اﯾﻦ ﺑﺴﺘﻪ را ﺟﻬﺖ ارﺳــﺎل ،ﺗﻮﻟﯿـﺪ ﮐـﺮده ،ﻗـﺮار ﺧﻮاﻫـﺪ ﮔﺮﻓـﺖ. ♦ ﻓﯿﻠـﺪ : Destination Portدر اﯾـﻦ ﻓﯿﻠـﺪ ،آدرس ﭘـﻮرتِ ﭘﺮوﺳـﮥ ﻣﻘﺼـﺪ ﮐـﻪ آﻧـﺮا ﺗﺤﻮﯾــﻞ ﺧﻮاﻫﺪ ﮔﺮﻓﺖ ،ﺗﻌﯿﯿــﻦ ﺧﻮاﻫـﺪ ﺷـﺪ . ﻫﻤﺎﻧﮕﻮﻧﻪ ﮐﻪ در ﺑﺨﺶ ﻗﺒﻠــﯽ اﺷـﺎره ﺷـﺪ اﯾـﻦ دو آدرس ﻣﺸـﺨﺺ ﻣﯽﮐﻨﻨـﺪ ﮐـﻪ اﯾـﻦ ﺑﺴـﺘﻪ از ﮐـﺪام ﺑﺮﻧﺎﻣـﮥ ﮐـﺎرﺑﺮدی در ﻻﯾـﻪ ﺑـﺎﻻﺗﺮ ﺗﻮﻟﯿـﺪ و ﺑـﺎﯾﺪ ﺑـﻪ ﭼـﻪ ﺑﺮﻧﺎﻣـﻪ ای در ﻣﺎﺷـــﯿﻦ ﻣﻘﺼــﺪ ﺗﺤﻮﯾﻞ داده ﺷــﻮد. ♦ ﻓﯿﻠﺪ : UDP Lengthدر اﯾﻦ ﻓﯿﻠﺪ ﻃﻮل ﺑﺴﺘﮥ UDPﺑﺮﺣﺴﺐ ﺑﺎﯾﺖ ،ﺷﺎﻣﻞ ﺳﺮآﯾﻨﺪ و داده ﻫﺎ ،درج ﻣﯿﺸﻮد. ♦ ﻓﯿﻠﺪ : UDP Checksumدر اﯾﻦ ﻓﯿﻠﺪِ 16ﺑﯿﺘﯽ ﮐﺪ ﮐﺸﻒ ﺧﻄــﺎ درج ﻣﯿﺸـﻮد .روش ﻣﺤﺎﺳـﺒﮥ اﯾﻦ ﮐﺪ دﻗﯿﻘﺎً ﻫﻤﺎﻧﻨﺪ روﺷﯽ اﺳﺖ ﮐﻪ در ﭘﺮوﺗﮑﻞ TCPﻣﻌﺮﻓﯽ ﺷﺪ .ﺗﻨﻬﺎ ﺗﻔــﺎوت در آﻧﺴـﺖ ﮐـﻪ ﺑﮑﺎرﮔﯿﺮی اﯾﻦ ﻓﯿﻠﺪ اﺧﺘﯿﺎری اﺳﺖ و در ﺻﻮرت ﻋﺪم ﻧﯿﺎز ﺑﻪ آن ،ﺗﻤﺎم ﺑﯿﺘﻬﺎی آن ﺑﻪ ﺻﻔﺮ ﺗﻨﻈﯿــﻢ ﻣﯽﺷﻮد ) .ﺑﺮای ﮐﺎرﺑﺮدﻫﺎﯾﯽ ﻣﺜﻞ ارﺳﺎل دﯾﺠﯿﺘﺎل ﺻﺪا ﯾﺎ ﺗﺼﻮﯾﺮ ( ﻣﻨﺎﺳﺒﺘﺮﯾﻦ ﮐﺎرﺑﺮدِ ﭘﺮوﺗﮑﻞ UDPﺑﺮای ﭘﺮوﺳﻪ ﻫﺎﯾﯽ اﺳﺖ ﮐﻪ ﻋﻤﻠﯿﺎﺗﺸﺎن ﻣﺒﺘﻨﯽ ﺑﺮ ﯾﮏ ﺗﻘﺎﺿــﺎ و ﯾﮏ ﭘﺎﺳﺦ اﺳﺖ) .ﺳﯿﺴﺘﻢ (DNS ﻧﮑﺎت ﺑﮑﺎرﮔﯿﺮی و ﻇﺮاﺋﻒ ﭘﺮوﺗﮑﻠﻬﺎی TCPو UDPدر ﻓﺼﻞ ﺑﺮﻧﺎﻣﻪ ﻧﻮﯾﺴــﯽ ﺗﺤـﺖ ﺷـﺒﮑﻪ ﻣﺠﺪداً ﺑﺮرﺳﯽ ﻣﯽﺷﻮﻧﺪ. ﻻﯾﮥ اﻧﺘﻘﺎل 209 اﺻﻮل ﻣﻬﻨﺪﺳﯽ اﯾﻨﺘﺮﻧﺖ (8ﻣﺎﺷﯿﻨﻬﺎی Big Endianو Little Endian ﺳﺎﺧﺘﺎر ﺑﺴﺘﻪﻫﺎی IPو TCPدر ﻗــﺎﻟﺐ ﮐﻠﻤـﺎت 32ﺑﯿﺘـﯽ ﺳـﺎزﻣﺎﻧﺪﻫﯽ ﻣﯽﺷـﻮﻧﺪ .ﻣﺎﺷـﯿﻨﻬﺎی ﻣﺘﻔﺎوﺗﯽ ﮐﻪ در دﻧﯿﺎ وﺟﻮد دارد ﮐﻠﻤﺎت دوﺑﺎﯾﺘﯽ و ﭼﻬﺎرﺑﺎﯾﺘﯽ ) 32ﺑﯿﺘــﯽ( را ﺑـﻪ ﯾـﮏ ﻧﺤـﻮ درون ﺣﺎﻓﻈﻪ ذﺧﯿﺮه ﻧﻤﯽﮐﻨﻨﺪ .در ﺑﺮﺧﯽ از ﻣﺎﺷﯿﻨﻬﺎ ﺑﺮای ذﺧﯿﺮه ﯾﮏ ﮐﻠﻤﻪ در ﺣﺎﻓﻈﻪ اﺑﺘــﺪا ﺑـﺎﯾﺖ ﮐـﻢ ارزش در ﺣﺎﻓﻈﻪ ذﺧﯿﺮه ﺷﺪه و ﭘﺸﺖ ﺳﺮ آن ﺑﺎﯾﺖ ﭘﺮارزش ذﺧﯿﺮه ﻣﯽﺷــﻮد ،در ﺣـﺎﻟﯽ ﮐـﻪ در ﺑﺮﺧﯽ دﯾﮕﺮ دﻗﯿﻘﺎً ﺑﺮﻋﮑﺲ اﺳﺖ .ﺑﻌﻨﻮان ﻣﺜﺎل ﻓﺮض ﮐﻨﯿــﺪ ﮐﻠﻤـﮥ 2ﺑـﺎﯾﺘﯽ ) (0x1A48ﺑـﺎ دﺳـﺘﻮر Movﺑﻪ ﺣﺎﻓﻈﮥ اﺻﻠﯽ ﻣﻨﺘﻘﻞ ﺷﻮد .ﻣﺎﺷﯿﻨﻬﺎ ﺑﻪ دو روش آﻧﺮا در ﺣﺎﻓﻈﮥ ﺧﻮد ذﺧﯿﺮه ﻣﯽﮐﻨﻨﺪ : ½ ﻣﺎﺷﯿﻨﻬﺎﯾﯽ ﮐﻪ اﺑﺘﺪا ﺑﺎﯾﺖ ﮐﻢ ارزش و ﺳﭙﺲ ﺑﺎﯾﺖ ﭘﺮارزش را ذﺧﯿﺮه ﻣﯽﮐﻨﻨﺪ ،ﻣﺎﺷﯿﻨﻬﺎی Little Endianﻧﺎﻣﯿﺪه ﻣﯽﺷﻮﻧﺪ .ﮐﺎﻣﭙﯿﻮﺗﺮﻫﺎی ﺷﺨﺼﯽ ﺑﺎ ﭘﺮدازﻧﺪه ﺳــﺮی 80X86و ﭘﻨﺘﯿـﻮم از اﯾﻦ دﺳﺘﻪ ﻫﺴﺘﻨﺪ .در ﻣﺜﺎل زﯾﺮ ﻃﺮﯾﻘﮥ ذﺧﯿﺮهﺳﺎزی ﯾﮏ ﮐﻠﻤﮥ 16ﺑﯿﺘﯽ در ﻓﻀﺎی ﺣﺎﻓﻈﮥ ﯾـﮏ ﻣﺎﺷﯿﻦ L.E.ﺑﻪ ﺗﺼﻮﯾﺮ ﮐﺸﯿﺪه ﺷﺪه اﺳﺖ. 0001101001001000 ﺑﺎﯾﺖ ﮐﻢارزش ﺑﺎﯾﺖ ﭘﺮارزش آدرس ﺣﺎﻓﻈﻪ 0A5F1319 01001000 0A5F1320 00011010 0A5F1321 0A5F1322 ½ ﻣﺎﺷﯿﻨﻬﺎﯾﯽ ﮐﻪ اﺑﺘﺪا ﺑﺎﯾﺖ ﭘﺮارزش و ﺳﭙﺲ ﺑﺎﯾﺖ ﮐﻢارزش را ذﺧﯿﺮه ﻣﯽﮐﻨﻨﺪ ،ﻣﺎﺷــﯿﻨﻬﺎی Big Endianﻧﺎﻣﯿﺪه ﻣﯽﺷﻮد .ﮐﺎﻣﭙﯿﻮﺗﺮﻫﺎی ﺳﺮی SUNاز اﯾــﻦ دﺳـﺘﻪ ﻫﺴـﺘﻨﺪ .در ﻣﺜـﺎل زﯾـﺮ ﻃﺮﯾﻘﮥ ذﺧﯿﺮهﺳﺎزی ﯾﮏ ﮐﻠﻤﮥ 16ﺑﯿﺘﯽ در ﻓﻀﺎی ﺣﺎﻓﻈﮥ ﯾﮏ ﻣﺎﺷﯿﻦ B.E.ﺑﻪ ﺗﺼﻮﯾﺮ ﮐﺸــﯿﺪه ﺷﺪه اﺳﺖ. 0001101001001000 ﺑﺎﯾﺖ ﮐﻢارزش آدرس ﺣﺎﻓﻈﻪ 0A5F1319 00011010 0A5F1320 01001000 0A5F1321 0A5F1322 ﺑﺎﯾﺖ ﭘﺮارزش ﻻﯾﮥ اﻧﺘﻘﺎل 210 اﺻﻮل ﻣﻬﻨﺪﺳﯽ اﯾﻨﺘﺮﻧﺖ از آﻧﺠﺎﯾﯽ ﮐﻪ ﺑﺴﺘﻪﻫﺎی IPاﺑﺘﺪا در ﺣﺎﻓﻈﻪ ﺗﺸﮑﯿﻞ و ﺳﭙﺲ از ﻃﺮﯾﻖ ﺳﺨﺖاﻓﺰار ﮐﺎرتِ ﺷﺒﮑﻪ ارﺳﺎل ﻣﯽﺷﻮﻧﺪ ﻟﺬا اﮔﺮ ﺑﺴﺘﻪ IPﮐﻪ ﺑﺼﻮرت ﺳﺮﯾﺎل روی ﺧﻂ ارﺳــﺎل ﻣﯽﺷـﻮد از ﯾـﮏ ﻣﺎﺷـﯿﻦ Little Endianﺗﻮﻟﯿﺪ و ﺗﻮﺳﻂ ﯾﮏ ﻣﺎﺷﯿﻦ Big Endianدرﯾﺎﻓﺖ ﺷﻮد ،ﻣﻤﮑﻦ اﺳــﺖ ﺟـﺎی ﺑﺎﯾﺘـﻬﺎ ﻋﻮض ﺷﺪه و ﻣﺤﺘﻮی ﺑﺴﺘﻪﻫﺎ اﺷﺘﺒﺎه و ﻓﺎﻗﺪ ارزش درﯾﺎﻓﺖ ﺷﻮﻧﺪ. ﭘﺮوﺗﮑـﻞ ، TCP/IPاﺳـﺘﺎﻧﺪارد ﻣﺎﺷـﯿﻨﻬﺎی Big Endianرا ﻣﺒﻨـﺎ ﻗـﺮار داده اﺳـﺖ ،ﻟـﺬا در ﺗﻤــﺎم ﻣﺎﺷﯿﻨﻬﺎی ، Little Endianﻗﺒﻞ از ارﺳﺎل ﺑﺴﺘﻪﻫﺎی IPﺑﺎﯾﺪ ﻓﯿﻠﺪﻫﺎی دوﺑــﺎﯾﺘﯽ و ﭼـﻬﺎرﺑﺎﯾﺘﯽ درون ﺣﺎﻓﻈﻪ ،ﺑﮕﻮﻧﻪای ﺗﻨﻈﯿﻢ و ﻣﻘﺪاردﻫﯽ ﺷﻮﻧﺪ ﺗﺎ در ﻫﻨﮕﺎم ارﺳــﺎل ﺑﺴـﺘﻪ روی ﺧـﻂ ،اﺑﺘـﺪا ﺑـﺎﯾﺖ ﭘﺮارزش ارﺳﺎل ﺷﺪه و اﺳﺘﺎﻧﺪارد ﻣﺎﺷﯿﻨﻬﺎی B.E.رﻋﺎﯾﺖ ﺷﻮد. (9ﺷﻤﺎرۀ ﭘﻮرﺗﻬﺎی اﺳﺘﺎﻧﺪارد در ﺟﺪول ) (5-7ﺷﻤﺎرۀ ﭘﻮرﺗﻬﺎی اﺳﺘﺎﻧﺪارد ﮐﻪ ﺗﻮﺳﻂ IETFﺑــﻪ ﻋﻨـﻮان اﺳـﺘﺎﻧﺪارد ﭘﺬﯾﺮﻓﺘـﻪ ﺷﺪهاﻧﺪ ،اراﺋﻪ ﺷﺪه اﺳﺖ. ﻧﺎم ﭘﺮوﺳﻪ TCP Port Service Multiplexer Remote Job Entry Echo Discard Active Users Daytime Quote of the Day Character Generator )File Transfer (Data Channel )File Transfer (Control Channel TELNET Simple Mail Transfer NSW User System FE MSG-ICP MSG Authentication Display Support Protocol Private Printer Server Time Resource Location Protocol Graphics Host Name Server Who Is Login Host Protocol Domain Name Server ﻧﺎم اﺧﺘﺼﺎری TCPMUX RJE ECHO DISCARD USERS DAYTIME Quote CHARGEN FTP-DATA FTP TELNET SMTP NSW-FE MSG-ICP MSG-AUTH DSP PPS TIME RLP GRAPHICS NAMESERVER NICNAME LOGIN DOMAIN ﭘﻮرت 1 5 7 9 11 13 17 19 20 21 23 25 27 29 31 33 35 37 39 41 42 43 49 53 211 ﻻﯾﮥ اﻧﺘﻘﺎل 67 68 69 79 101 102 103 104 105 109 110 111 137 138 139 146 147 150 153 156 160 161 162 163 164 165 179 اﺻﻮل ﻣﻬﻨﺪﺳﯽ اﯾﻨﺘﺮﻧﺖ BOOTPS BOOTPC TFTP FINGER HOSTNAMENIC ISO-TSAP X400 X400SND CSNET-NSCSNET POP2 POP3 SUNRPC NETBIOS-NS NETBIOS-DGMNET NETBIOS-SSNNET ISO-TP0 ISO-IP SQL-NET SGMP SQLSRV SGMP-TRAP5 SNMP SNMPTRAP CMIP-MANAGE CMIP-AGENT XNS-COURIER BGP Bootstrap Protocol Server Bootstrap Protocol Client Trivial File Transfer Protocol Finger Host Name Server ISO TSAP X.400 X.400 SND Mailbox Name Server Post Office Protocol v2 Post Office Protocol v3 SUN RPC Portmap NETBIOS Name Service BIOS Datagram Service BIOS Session Service ISO TP0 ISO IP SQL-NET SGMP SQL Service SGMP TRAPS SNMP SNMPTRAP CMIP/TCP Manager CMIP/TCP Agent Xerox Network Border Gateway Protocol ( ﺷﻤﺎرۀ ﭘﻮرﺗﻬﺎی اﺳﺘﺎﻧﺪارد5-7) ( ﻣﺮاﺟﻊ اﯾﻦ ﻓﺼﻞ10 ﻣﺠﻤﻮﻋﮥ ﻣﺮاﺟــﻊ زﯾـﺮ ﻣﯽﺗﻮاﻧﻨـﺪ ﺑـﺮای دﺳـﺖ آوردن ﺟﺰﯾﯿـﺎت دﻗﯿـﻖ و ﺗﺤﻘﯿـﻖ ﺟـﺎﻣﻊ در .ﻣﻮرد ﻣﻔﺎﻫﯿﻢ ﻣﻌﺮﻓﯽ ﺷﺪه در اﯾــﻦ ﻓﺼـﻞ ﻣﻔﯿـﺪ واﻗـﻊ ﺷـﻮﻧﺪ RFC 1072 RFC 896 RFC 879 RFC 813 RFC 793 RFC 768 "TCP Extensions for Long-Delay Paths," Jacobson, V.; Braden, R.T.; 1988 "Congestion Control in IP/TCP Internetworks," Nagle, J.; 1984 "TCP Maximum Segment Size and Related Topics," Postel, J.B.; 1983 "Window and Acknowledgment Strategy in TCP," Clark, D.D.; 1982 "Transmission Control Protocol," Postel, J.B.; 1981 "User Datagram Protocol," Postel, J.B.; 1980
© Copyright 2025 Paperzz