Exemple #1
0
 def test_send_and_ack2_tahoe(self):
     tcp = TcpProtocol( DEFAULT_SSHTRESH , DEFAULT_MSS , False )
     pack = tcp.next_to_send()
     base = pack[0]
     self.assertEqual( pack[1] , -1 )
     tcp.send( DEFAULT_MSS )
     pack = tcp.next_to_send( )
     self.assertEqual( pack , (base,DEFAULT_MSS) )
     tcp.send( DEFAULT_MSS )
     self.assertEqual( pack , tcp.do_send( ) )
     self.assertEqual( tcp.next_to_send( ) , (base+2*DEFAULT_MSS,-1) )
     tcp.ack( base+DEFAULT_MSS )
     self.assertEqual( tcp.next_to_send( ) , (base+DEFAULT_MSS,DEFAULT_MSS) )
     self.assertEqual( (base+DEFAULT_MSS,DEFAULT_MSS) , tcp.do_send( ) )
     self.assertEqual( tcp.next_to_ack( ) , base+(2*DEFAULT_MSS) )
Exemple #2
0
    def test_send_and_ack_tahoe(self):
        tcp = TcpProtocol( DEFAULT_SSHTRESH , DEFAULT_MSS , False )
        pack = tcp.next_to_send()
        self.assertEqual( pack[1] , -1 )
        tcp.send( DEFAULT_MSS )
        pack = tcp.next_to_send( )
        self.assertEqual( pack[1] , DEFAULT_MSS )
        self.assertEqual( pack , tcp.do_send( ) )
        self.assertEqual( tcp.next_to_send( ) , (pack[0]+pack[1],-1) )
        self.assertEqual( tcp.next_to_ack( ) , pack[0]+pack[1] )
#         tcp.ack( DEFAULT_MSS )
        # attivare per testare il modulo 2 
        tcp.ack( tcp.sendBase + DEFAULT_MSS )
        self.assertEqual( tcp.next_to_ack( ) , -1 )
        self.assertEqual( tcp.get_cwnd( ) , 2*DEFAULT_MSS )
Exemple #3
0
 def test_init_tahoe(self):
     tcp = TcpProtocol( DEFAULT_SSHTRESH , DEFAULT_MSS , False )
     self.assertEqual( tcp.get_ssthresh( ) , DEFAULT_SSHTRESH )
     self.assertEqual( tcp.get_cwnd( ) , DEFAULT_MSS )
     self.assertEqual( tcp.next_to_ack( ) , -1 )
     pack = tcp.next_to_send()
     self.assertEqual( pack[1] , -1 )
     self.assertEqual( tcp.get_duplicated_ack_count( ) , 0 )
Exemple #4
0
 def test_fast_recovery_reno3( self ):        
     packet_size = DEFAULT_MSS/4
     tcp = TcpProtocol( DEFAULT_SSHTRESH , DEFAULT_MSS , True )
     pack = tcp.next_to_send( )
     base = pack[0]
     self.assertEqual( pack[1] , -1 )
     tcp.send( packet_size )
     tcp.send( packet_size )
     tcp.send( packet_size )
     tcp.send( packet_size )
     pack = tcp.next_to_send( )
     self.assertEqual( pack , (base,packet_size) )
     self.assertEqual( tcp.do_send( ) , pack )
     self.assertEqual( tcp.next_to_send( ) , (base+packet_size,packet_size) )
     self.assertEqual( tcp.do_send( ) , (base+packet_size,packet_size) )
     self.assertEqual( tcp.next_to_send( ) , (base+2*packet_size,packet_size) )
     self.assertEqual( tcp.do_send( ) , (base+2*packet_size,packet_size) )
     self.assertEqual( tcp.next_to_send( ) , (base+3*packet_size,packet_size) )
     self.assertEqual( tcp.do_send( ) , (base+3*packet_size,packet_size) )
     tcp.ack( base+packet_size )  
     tcp.ack( base+packet_size )  
     tcp.ack( base+packet_size )  
     self.assertEqual( tcp.get_duplicated_ack_count( ) , 2 )
     tcp.ack( base+packet_size )  
     self.assertEqual( tcp.get_duplicated_ack_count( ) , 3 )
     self.assertEqual( tcp.get_cwnd( ) , DEFAULT_MSS+3*DEFAULT_MSS  )
     self.assertEqual( tcp.next_to_send() , (base+packet_size,packet_size))
     tcp.ack( base+packet_size )  
     tcp.ack( base+4*packet_size )  
     self.assertEqual( tcp.get_cwnd( ) , DEFAULT_MSS ) 
     tcp.do_send( )
     self.assertEqual( tcp.next_to_send( ) , (base+4*packet_size,-1) )
Exemple #5
0
 def test_cumulative_ack_reno(self):
     packet_size = DEFAULT_MSS/2
     tcp = TcpProtocol( DEFAULT_SSHTRESH , DEFAULT_MSS , True )
     pack = tcp.next_to_send()
     base = pack[0]
     self.assertEqual( pack[1] , -1 )
     tcp.send( packet_size )
     tcp.send( packet_size )
     pack = tcp.next_to_send( )
     self.assertEqual( pack , (base,packet_size) )
     tcp.send( packet_size )
     tcp.do_send( )
     self.assertEqual( tcp.next_to_send( ) , (base+packet_size,packet_size) )
     tcp.do_send( )
     self.assertEqual( tcp.next_to_send( ) , (base+3*packet_size,-1) )
     self.assertEqual( tcp.next_to_ack( ) , base+packet_size )
     tcp.ack( base+2*packet_size )
     self.assertEqual( tcp.next_to_ack( ) , -1 )
     self.assertEqual( tcp.get_cwnd( ) , 2*DEFAULT_MSS )
     tcp.ack( base+packet_size )
     self.assertEqual( tcp.get_cwnd( ) , 3*DEFAULT_MSS )